---
ancestor: null
releases:
  1.0.0:
    changes:
      breaking_changes:
        - firewall - now requires the `ipaddress <https://pypi.org/project/ipaddress/>`_
          library (https://github.com/ansible-collections/community.hrobot/pull/2).
      release_summary: 'The ``community.hrobot`` continues the work on the Hetzner
        Robot modules from their state in ``community.general`` 1.2.0. The changes
        listed here are thus relative to the modules ``community.general.hetzner_*``.

        '
    fragments:
      - 1.0.0.yml
      - firewall-add-ipaddress.yml
    release_date: '2020-11-23'
  1.1.0:
    changes:
      release_summary: Release with a new inventory plugin.
    fragments:
      - 1.1.0.yml
    plugins:
      inventory:
        - description: Hetzner Robot inventory source
          name: robot
          namespace: null
    release_date: '2020-12-11'
  1.1.1:
    changes:
      bugfixes:
        - robot - force HTTP basic authentication to reduce number of HTTPS requests
          (https://github.com/ansible-collections/community.hrobot/pull/9).
      release_summary: Bugfix release which reduces the number of HTTPS queries for
        the modules and plugins.
    fragments:
      - 1.1.1.yml
      - 9-force-basic-auth.yaml
    release_date: '2021-02-24'
  1.2.0:
    changes:
      minor_changes:
        - Avoid internal ansible-core module_utils in favor of equivalent public API
          available since at least Ansible 2.9 (https://github.com/ansible-collections/community.hrobot/pull/18).
        - firewall - rename option ``whitelist_hos`` to ``allowlist_hos``, keep old
          name as alias (https://github.com/ansible-collections/community.hrobot/pull/15).
        - firewall, firewall_info - add return value ``allowlist_hos``, which contains
          the same value as ``whitelist_hos``. The old name ``whitelist_hos`` will
          be removed eventually (https://github.com/ansible-collections/community.hrobot/pull/15).
        - robot module utils - add ``allow_empty_result`` parameter to ``plugin_open_url_json``
          and ``fetch_url_json`` (https://github.com/ansible-collections/community.hrobot/pull/16).
      release_summary: Feature release with multiple new modules.
    fragments:
      - 1.2.0.yml
      - 15-firewall-allowlist_hos.yml
      - 16-module_utils-allow_empty_result.yml
      - ansible-core-_text.yml
    modules:
      - description: Set boot configuration
        name: boot
        namespace: ''
      - description: Reset a dedicated server
        name: reset
        namespace: ''
      - description: Set or remove reverse DNS entry for IP
        name: reverse_dns
        namespace: ''
      - description: Update server information
        name: server
        namespace: ''
      - description: Query information on one or more servers
        name: server_info
        namespace: ''
      - description: Add, remove or update SSH key
        name: ssh_key
        namespace: ''
      - description: Query information on SSH keys
        name: ssh_key_info
        namespace: ''
    release_date: '2021-10-20'
  1.2.1:
    changes:
      minor_changes:
        - Generic module HTTP support code - fix usage of ``fetch_url`` with changes
          in latest ansible-core ``devel`` branch (https://github.com/ansible-collections/community.hrobot/pull/30).
      release_summary: Maintenance release.
    fragments:
      - 1.2.1.yml
      - fetch_url-devel.yml
    release_date: '2021-11-17'
  1.2.2:
    changes:
      bugfixes:
        - boot - fix incorrect handling of SSH authorized keys (https://github.com/ansible-collections/community.hrobot/issues/32,
          https://github.com/ansible-collections/community.hrobot/pull/33).
      release_summary: Bugfix release.
    fragments:
      - 1.2.2.yml
      - 33-fix-boot-ssh-key-setting.yaml
    release_date: '2022-01-04'
  1.2.3:
    changes:
      release_summary: Docs update release.
    fragments:
      - 1.2.3.yml
    release_date: '2022-03-22'
  1.3.0:
    changes:
      bugfixes:
        - robot inventory plugin - do not crash if a server neither has name or primary
          IP set. Instead, fall back to using the server's number as the name. This
          can happen if unnamed rack reservations show up in your server list (https://github.com/ansible-collections/community.hrobot/issues/40,
          https://github.com/ansible-collections/community.hrobot/pull/47).
      minor_changes:
        - Prepare collection for inclusion in an Execution Environment by declaring
          its dependencies (https://github.com/ansible-collections/community.hrobot/pull/45).
      release_summary: Feature and bugfix release.
    fragments:
      - 1.3.0.yml
      - 45-ee.yml
      - 47-inventory-crash.yml
    release_date: '2022-04-21'
  1.3.1:
    changes:
      bugfixes:
        - Include ``simplified_bsd.txt`` license file for the ``robot`` and ``failover``
          module utils.
      release_summary: Maintenance release.
    fragments:
      - 1.3.1.yml
      - simplified-bsd-license.yml
    release_date: '2022-06-02'
  1.4.0:
    changes:
      minor_changes:
        - robot inventory plugin - allow to template ``hetzner_user`` and ``hetzner_password``
          (https://github.com/ansible-collections/community.hrobot/pull/49).
      release_summary: Feature release.
    fragments:
      - 1.4.0.yml
      - 49-inventory-templated.yml
    release_date: '2022-06-03'
  1.5.0:
    changes:
      minor_changes:
        - All software licenses are now in the ``LICENSES/`` directory of the collection
          root. Moreover, ``SPDX-License-Identifier:`` is used to declare the applicable
          license for every file that is not automatically generated (https://github.com/ansible-collections/community.hrobot/pull/52).
      release_summary: Maintenance release changing the way licenses are declared.
        No functional changes.
    fragments:
      - 1.5.0.yml
      - 52-licenses.yml
    release_date: '2022-07-23'
  1.5.1:
    changes:
      release_summary: Maintenance release with small documentation fixes.
    fragments:
      - 1.5.1.yml
    release_date: '2022-08-04'
  1.5.2:
    changes:
      minor_changes:
        - The collection repository conforms to the `REUSE specification <https://reuse.software/spec/>`__
          except for the changelog fragments (https://github.com/ansible-collections/community.hrobot/pull/60).
      release_summary: Maintenance release with a documentation improvement.
    fragments:
      - 1.5.2.yml
      - licenses.yml
    release_date: '2022-08-21'
  1.6.0:
    changes:
      minor_changes:
        - Added a ``community.hrobot.robot`` module defaults group / action group.
          Use with ``group/community.hrobot.robot`` to provide options for all Hetzner
          Robot modules (https://github.com/ansible-collections/community.hrobot/pull/65).
      release_summary: Feature release with improved documentation.
    fragments:
      - 1.6.0.yml
      - action_group.yml
    release_date: '2022-11-06'
  1.7.0:
    changes:
      release_summary: Feature release.
    fragments:
      - 1.7.0.yml
    modules:
      - description: Manage Hetzner's vSwitch
        name: v_switch
        namespace: ''
    release_date: '2023-01-27'
  1.8.0:
    changes:
      major_changes:
        - firewall - Hetzner added output rules support to the firewall. This change
          unfortunately means that using old versions of the firewall module will
          always set the output rule list to empty, thus disallowing the server to
          send out packets (https://github.com/ansible-collections/community.hrobot/issues/75,
          https://github.com/ansible-collections/community.hrobot/pull/76).
      minor_changes:
        - firewall, firewall_info - add ``filter_ipv6`` and ``rules.output`` output
          to support the new IPv6 filtering and output rules features (https://github.com/ansible-collections/community.hrobot/issues/75,
          https://github.com/ansible-collections/community.hrobot/pull/76).
        - firewall, firewall_info - add ``server_number`` option that can be used
          instead of ``server_ip`` to identify the server. Hetzner deprecated configuring
          the firewall by ``server_ip``, so using ``server_ip`` will stop at some
          point in the future (https://github.com/ansible-collections/community.hrobot/pull/77).
      release_summary: Feature release for the Hetzner firewall changes.
    fragments:
      - 1.8.0.yml
      - 76-firewall-ipv6-output.yml
      - 77-firewall-server_number.yml
    release_date: '2023-03-15'
  1.8.1:
    changes:
      known_issues:
        - Ansible markup will show up in raw form on ansible-doc text output for ansible-core
          before 2.15. If you have trouble deciphering the documentation markup, please
          upgrade to ansible-core 2.15 (or newer), or read the HTML documentation
          on https://docs.ansible.com/ansible/devel/collections/community/hrobot/.
      release_summary: 'Maintenance release with updated documentation.


        From this version on, community.hrobot is using the new `Ansible semantic
        markup

        <https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_documenting.html#semantic-markup-within-module-documentation>`__

        in its documentation. If you look at documentation with the ansible-doc CLI
        tool

        from ansible-core before 2.15, please note that it does not render the markup

        correctly. You should be still able to read it in most cases, but you need

        ansible-core 2.15 or later to see it as it is intended. Alternatively you
        can

        look at `the devel docsite <https://docs.ansible.com/ansible/devel/collections/community/hrobot/>`__

        for the rendered HTML version of the documentation of the latest release.

        '
    fragments:
      - 1.8.1.yml
      - semantic-markup.yml
    release_date: '2023-06-27'
  1.8.2:
    changes:
      bugfixes:
        - Show more information (if available) from error messages (https://github.com/ansible-collections/community.hrobot/pull/89).
      release_summary: Maintenance release with updated documentation.
    fragments:
      - 1.8.2.yml
      - 89-firewall.yml
    release_date: '2023-11-11'
  1.9.0:
    changes:
      deprecated_features:
        - robot inventory plugin - the ``filters`` option has been renamed to ``simple_filters``.
          The old name will stop working in community.hrobot 2.0.0 (https://github.com/ansible-collections/community.hrobot/pull/94).
      minor_changes:
        - robot inventory plugin - the ``filters`` option has been renamed to ``simple_filters``.
          The old name still works until community.hrobot 2.0.0. Then it will change
          to allow more complex filtering with the ``community.library_inventory_filtering_v1``
          collection's functionality (https://github.com/ansible-collections/community.hrobot/pull/94).
      release_summary: Feature and maintenance release.
    fragments:
      - 1.9.0.yml
      - 94-inventory-filters.yml
    release_date: '2024-01-21'
  1.9.1:
    changes:
      release_summary: Bugfix release.
      security_fixes:
        - robot inventory plugin - make sure all data received from the Hetzner robot
          service server is marked as unsafe, so remote code execution by obtaining
          texts that can be evaluated as templates is not possible (https://www.die-welt.net/2024/03/remote-code-execution-in-ansible-dynamic-inventory-plugins/,
          https://github.com/ansible-collections/community.hrobot/pull/99).
    fragments:
      - 1.9.1.yml
      - inventory-rce.yml
    release_date: '2024-03-16'
  1.9.2:
    changes:
      bugfixes:
        - inventory plugins - add unsafe wrapper to avoid marking strings that do
          not contain ``{`` or ``}`` as unsafe, to work around a bug in AWX (https://github.com/ansible-collections/community.hrobot/pull/102).
      release_summary: Bugfix release.
    fragments:
      - 1.9.2.yml
      - 102-unsafe.yml
    release_date: '2024-04-16'
  2.0.0:
    changes:
      breaking_changes:
        - robot inventory plugin - ``filters`` is now no longer an alias of ``simple_filters``,
          but a new, different option (https://github.com/ansible-collections/community.hrobot/pull/101).
      major_changes:
        - The ``community.hrobot`` collection now depends on the ``community.library_inventory_filtering_v1``
          collection. This utility collection provides host filtering functionality
          for inventory plugins. If you use the Ansible community package, both collections
          are included and you do not have to do anything special. If you install
          the collection with ``ansible-galaxy collection install``, it will be installed
          automatically. If you install the collection by copying the files of the
          collection to a place where ansible-core can find it, for example by cloning
          the git repository, you need to make sure that you also have to install
          the dependency if you are using the inventory plugin (https://github.com/ansible-collections/community.hrobot/pull/101).
      minor_changes:
        - robot inventory plugin - add ``filter`` option which allows to include and
          exclude hosts based on Jinja2 conditions (https://github.com/ansible-collections/community.hrobot/pull/101).
      release_summary: New major release 2.0.0.
      removed_features:
        - The collection no longer supports Ansible, ansible-base, and ansible-core
          releases that are currently End of Life at the time of the 2.0.0 release.
          This means that Ansible 2.9, ansible-base 2.10, ansible-core 2.11, ansible-core
          2.12, and ansible-core 2.13 are no longer supported. The collection might
          still work with these versions, but it can stop working at any moment without
          advance notice, and this will not be considered a bug (https://github.com/ansible-collections/community.hrobot/pull/101).
    fragments:
      - 2.0.0.yml
    release_date: '2024-05-11'
  2.0.1:
    changes:
      bugfixes:
        - boot - use PHP array form encoding when sending multiple ``authorized_key``
          (https://github.com/ansible-collections/community.hrobot/issues/112, https://github.com/ansible-collections/community.hrobot/pull/113).
      release_summary: Bugfix release.
    fragments:
      - 2.0.1.yml
      - fix-authorized_key-php-array-form-encoding.yml
    release_date: '2024-06-17'
  2.0.2:
    changes:
      release_summary: Maintenance release with updated documentation.
    fragments:
      - 0-readme.yml
      - 2.0.2.yml
    release_date: '2024-10-04'
  2.0.3:
    changes:
      release_summary: Maintenance release with updated documentation.
    fragments:
      - 2.0.3.yml
    release_date: '2024-12-30'
  2.1.0:
    changes:
      deprecated_features:
        - boot - the various ``arch`` suboptions have been deprecated and will be
          removed from community.hrobot 3.0.0 (https://github.com/ansible-collections/community.hrobot/pull/134).
      minor_changes:
        - All modules and plugins now have a ``rate_limit_retry_timeout`` option,
          which allows to configure for how long to wait in case of rate limiting
          errors. By default, the modules wait indefinitely. Setting the option to
          ``0`` does not retry (this was the behavior in previous versions), and a
          positive value sets a number of seconds to wait at most (https://github.com/ansible-collections/community.hrobot/pull/140).
        - boot - it is now possible to specify SSH public keys in ``authorized_keys``.
          The fingerprint needed by the Robot API will be extracted automatically
          (https://github.com/ansible-collections/community.hrobot/pull/134).
        - v_switch - the module is now part of the ``community.hrobot.robot`` action
          group, despite already being documented as part of it (https://github.com/ansible-collections/community.hrobot/pull/136).
      release_summary: Feature release with several new modules and a deprecation.
    fragments:
      - 134-boot-arch.yml
      - 134-boot-fingerprints.yml
      - 136-v_switch-action-group.yml
      - 140-rate_limit_retry_timeout.yml
      - 2.1.0.yml
    modules:
      - description: Modify a storage box's basic configuration.
        name: storagebox
        namespace: ''
      - description: Query information on one or more storage boxes.
        name: storagebox_info
        namespace: ''
      - description: (Re)set the password for a storage box.
        name: storagebox_set_password
        namespace: ''
      - description: Modify a storage box's snapshot plans.
        name: storagebox_snapshot_plan
        namespace: ''
      - description: Query the snapshot plans for a storage box.
        name: storagebox_snapshot_plan_info
        namespace: ''
    release_date: '2025-01-18'
  2.2.0:
    changes:
      release_summary: Feature release.
    fragments:
      - 2.2.0.yml
    modules:
      - description: Query information on the resetter of a dedicated server.
        name: reset_info
        namespace: ''
    release_date: '2025-03-03'
  2.3.0:
    changes:
      release_summary: Feature release.
    fragments:
      - 2.3.0.yml
    modules:
      - description: Create, update, or delete a snapshot of a storage box.
        name: storagebox_snapshot
        namespace: ''
    release_date: '2025-05-02'
  2.4.0:
    changes:
      bugfixes:
        - storagebox - make sure that changes of boolean parameters are sent correctly
          to the Robot service (https://github.com/ansible-collections/community.hrobot/issues/160,
          https://github.com/ansible-collections/community.hrobot/pull/161).
      release_summary: 'Bugfix and feature release.

        This release contains three new modules that support the remaining aspects
        of Hetzner Storage Boxes that were not covered so far.

        '
    fragments:
      - 161-storagebox-edit.yml
      - 2.4.0.yml
    modules:
      - description: Query the snapshots for a storage box.
        name: storagebox_snapshot_info
        namespace: ''
      - description: Create, update, or delete a subaccount for a storage box.
        name: storagebox_subaccount
        namespace: ''
      - description: Query the subaccounts for a storage box.
        name: storagebox_subaccount_info
        namespace: ''
    release_date: '2025-06-06'
