ancestor: null
releases:
  0.1.0:
    changes:
      release_summary: Initial public release.
    fragments:
    - 0.1.0.yml
    - domain_suffix.yml
    modules:
    - description: Add or delete entries in Hosttech DNS service
      name: hosttech_dns_record
      namespace: ''
    - description: Retrieve entries in Hosttech DNS service
      name: hosttech_dns_record_info
      namespace: ''
    - description: Wait for TXT entries to be available on all authoritative nameservers
      name: wait_for_txt
      namespace: ''
    plugins:
      filter:
      - description: Returns the public suffix of a DNS name
        name: get_public_suffix
        namespace: null
      - description: Returns the registrable domain name of a DNS name
        name: get_registrable_domain
        namespace: null
      - description: Removes the public suffix from a DNS name
        name: remove_public_suffix
        namespace: null
      - description: Removes the registrable domain name from a DNS name
        name: remove_registrable_domain
        namespace: null
    release_date: '2021-04-07'
  0.2.0:
    changes:
      breaking_changes:
      - hosttech_* module_utils - completely rewrite and refactor to support new JSON
        API and allow to re-use provider-independent module logic (https://github.com/ansible-collections/community.dns/pull/4).
      bugfixes:
      - Update Public Suffix List.
      - hosttech_record - fix diff mode for ``state=absent`` (https://github.com/ansible-collections/community.dns/pull/4).
      - hosttech_record_info - fix authentication error handling (https://github.com/ansible-collections/community.dns/pull/4).
      major_changes:
      - hosttech_* modules - support the new JSON API at https://api.ns1.hosttech.eu/api/documentation/
        (https://github.com/ansible-collections/community.dns/pull/4).
      minor_changes:
      - hosttech_dns_record* modules - allow to specify ``prefix`` instead of ``record``
        (https://github.com/ansible-collections/community.dns/pull/8).
      - hosttech_dns_record* modules - allow to specify zone by ID with the ``zone_id``
        parameter, alternatively to the ``zone`` parameter (https://github.com/ansible-collections/community.dns/pull/7).
      - hosttech_dns_record* modules - return ``zone_id`` on success (https://github.com/ansible-collections/community.dns/pull/7).
      - hosttech_dns_record* modules - support IDN domain names and prefixes (https://github.com/ansible-collections/community.dns/pull/9).
      - hosttech_dns_record_info - also return ``prefix`` for a record set (https://github.com/ansible-collections/community.dns/pull/8).
      - hosttech_record - allow to delete records without querying their content first
        by specifying ``overwrite=true`` (https://github.com/ansible-collections/community.dns/pull/4).
      release_summary: Major refactoring release, which adds a zone information module
        and supports HostTech's new REST API.
    fragments:
    - 0.2.0.yml
    - 7-hosttech-zone_id.yml
    - 8-hosttech-prefix.yml
    - 9-idn.yml
    - rewrite.yml
    - update-psl.yml
    modules:
    - description: Retrieve zone information in Hosttech DNS service
      name: hosttech_dns_zone_info
      namespace: ''
    release_date: '2021-04-25'
  0.3.0:
    changes:
      bugfixes:
      - Avoid converting ASCII labels which contain underscores or other printable
        ASCII characters outside ``[a-zA-Z0-9-]`` to alabels during normalization
        (https://github.com/ansible-collections/community.dns/pull/13).
      - Updated Public Suffix List.
      minor_changes:
      - hosttech_dns_* - handle ``419 Too Many Requests`` with proper rate limiting
        for JSON API (https://github.com/ansible-collections/community.dns/pull/14).
      release_summary: Fixes bugs, adds rate limiting for Hosttech JSON API, and adds
        a new bulk synchronization module.
    fragments:
    - 0.3.0.yml
    - 13-alabel-confusion.yml
    - 14-hosttech-json-rate-limiting.yml
    - psl.yml
    modules:
    - description: Bulk synchronize DNS records in Hosttech DNS service
      name: hosttech_dns_records
      namespace: ''
    release_date: '2021-05-02'
  1.0.0:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: First stable release.
    fragments:
    - 1.0.0.yml
    - update-psl.yml
    release_date: '2021-05-09'
  1.0.1:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Regular maintenance release.
    fragments:
    - 1.0.1.yml
    - update-psl.yml
    release_date: '2021-06-05'
  1.1.0:
    changes:
      bugfixes:
      - Update Public Suffix List.
      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.dns/pull/24).
      release_summary: Regular maintenance release.
    fragments:
    - 1.1.0.yml
    - ansible-core-_text.yml
    - update-psl.yml
    release_date: '2021-07-06'
  1.2.0:
    changes:
      bugfixes:
      - Update Public Suffix List.
      - hosttech_dns_record - correctly handle quoting in CAA records for JSON API
        (https://github.com/ansible-collections/community.dns/pull/30).
      minor_changes:
      - hosttech modules - add ``api_token`` alias for ``hosttech_token`` (https://github.com/ansible-collections/community.dns/pull/26).
      - hosttech_dns_record - in ``diff`` mode, also return ``diff`` data structure
        when ``changed`` is ``false`` (https://github.com/ansible-collections/community.dns/pull/28).
      - module utils - add default implementation for some zone/record API functions,
        and move common JSON API code to helper class (https://github.com/ansible-collections/community.dns/pull/26).
      release_summary: 'Last minor 1.x.0 version. The 2.0.0 version will have some
        backwards incompatible changes to the ``hosttech_dns_record`` and ``hosttech_dns_records``
        modules which will require user intervention. These changes should result
        in a better UX.

        '
    fragments:
    - 1.2.0.yml
    - 26-refactoring.yml
    - 28-record-diff.yml
    - 30-caa-records-quoting.yml
    - update-psl.yml
    release_date: '2021-07-12'
  2.0.0:
    changes:
      bugfixes:
      - Update Public Suffix List.
      - wait_for_txt - fix handling of too long TXT values (https://github.com/ansible-collections/community.dns/pull/65).
      - wait_for_txt - resolving nameservers sometimes resulted in an empty list,
        yielding wrong results (https://github.com/ansible-collections/community.dns/pull/64).
      release_summary: This release contains many new features, modules and plugins,
        but also has several breaking changes to the 1.x.y versions. Please read the
        changelog carefully to determine what to change if you used an earlier version
        of this collection.
    fragments:
    - 2.0.0.yml
    - 65-wait_for_txt-ns.yml
    - 66-wait_for_txt.yml
    - update-psl.yml
    release_date: '2021-09-22'
  2.0.0-a1:
    changes:
      breaking_changes:
      - Hosttech API creation - now requires a ``ModuleOptionProvider`` object instead
        of an ``AnsibleModule`` object. Alternatively an Ansible plugin instance can
        be passed (https://github.com/ansible-collections/community.dns/pull/37).
      - The hosttech_dns_record module has been renamed to hosttech_dns_record_set
        (https://github.com/ansible-collections/community.dns/pull/31).
      - When using the internal modules API, now a zone ID type and a provider information
        object must be passed (https://github.com/ansible-collections/community.dns/pull/27).
      - hosttech_dns_record_set - the option ``overwrite`` was replaced by a new option
        ``on_existing``. Specifying ``overwrite=true`` is equivalent to ``on_existing=replace``
        (the new default). Specifying ``overwrite=false`` with ``state=present`` is
        equivalent to ``on_existing=keep_and_fail``, and specifying ``overwrite=false``
        with ``state=absent`` is equivalent to ``on_existing=keep`` (https://github.com/ansible-collections/community.dns/pull/31).
      deprecated_features:
      - The hosttech_dns_records module has been renamed to hosttech_dns_record_sets.
        The old name will stop working in community.dns 3.0.0 (https://github.com/ansible-collections/community.dns/pull/31).
      minor_changes:
      - Add support for Hetzner DNS (https://github.com/ansible-collections/community.dns/pull/27).
      - The hosttech_dns_records module has been renamed to hosttech_dns_record_sets
        (https://github.com/ansible-collections/community.dns/pull/31).
      - The internal API now supports bulk DNS record changes, if supported by the
        API (https://github.com/ansible-collections/community.dns/pull/39).
      - Use HTTP helper class to make API implementations work for both plugins and
        modules. Make WSDL API use ``fetch_url`` instead of ``open_url`` for modules
        (https://github.com/ansible-collections/community.dns/pull/36).
      - hosttech_dns_* modules - rename ``zone`` parameter to ``zone_name``. The old
        name ``zone`` can still be used as an alias (https://github.com/ansible-collections/community.dns/pull/32).
      - hosttech_dns_record_set - ``value`` is no longer required when ``state=absent``
        and ``overwrite=true`` (https://github.com/ansible-collections/community.dns/pull/31).
      - hosttech_dns_record_sets - ``records`` has been renamed to ``record_sets``.
        The old name ``records`` can still be used as an alias (https://github.com/ansible-collections/community.dns/pull/31).
      - hosttech_dns_zone_info - return extra information as ``zone_info`` (https://github.com/ansible-collections/community.dns/pull/38).
      release_summary: First alpha release of 2.0.0.
    fragments:
    - 2.0.0-a1.yml
    - 27-hetzner-support.yml
    - 27-provider-info.yml
    - 31-record-set.yml
    - 32-aliases.yml
    - 36-http.yml
    - 37-module-option-provider.yml
    - 38-zone-extra-info.yml
    - 39-bulk-changes.yml
    modules:
    - description: Add or delete a single record in Hetzner DNS service
      name: hetzner_dns_record
      namespace: ''
    - description: Add or delete record sets in Hetzner DNS service
      name: hetzner_dns_record_set
      namespace: ''
    - description: Bulk synchronize DNS record sets in Hetzner DNS service
      name: hetzner_dns_record_sets
      namespace: ''
    - description: Retrieve zone information in Hetzner DNS service
      name: hetzner_dns_zone_info
      namespace: ''
    - description: Add or delete a single record in Hosttech DNS service
      name: hosttech_dns_record
      namespace: ''
    - description: Add or delete record sets in Hosttech DNS service
      name: hosttech_dns_record_set
      namespace: ''
    - description: Bulk synchronize DNS record sets in Hosttech DNS service
      name: hosttech_dns_record_sets
      namespace: ''
    plugins:
      inventory:
      - description: Create inventory from Hetzner DNS records
        name: hetzner_dns_records
        namespace: null
      - description: Create inventory from Hosttech DNS records
        name: hosttech_dns_records
        namespace: null
    release_date: '2021-07-17'
  2.0.0-a2:
    changes:
      breaking_changes:
      - All Hetzner modules and plugins which handle DNS records now work with unquoted
        TXT values by default. The old behavior can be obtained by setting ``txt_transformation=api``
        (https://github.com/ansible-collections/community.dns/issues/48, https://github.com/ansible-collections/community.dns/pull/57,
        https://github.com/ansible-collections/community.dns/pull/60).
      - The hetzner_dns_record_info and hosttech_dns_record_info modules have been
        renamed to hetzner_dns_record_set_info and hosttech_dns_record_set_info, respectively
        (https://github.com/ansible-collections/community.dns/pull/54).
      - hetzner_dns_record* modules - implement correct handling of default TTL. The
        value ``none`` is now accepted and returned in this case (https://github.com/ansible-collections/community.dns/pull/52,
        https://github.com/ansible-collections/community.dns/issues/50).
      - hetzner_dns_record, hetzner_dns_record_set, hetzner_dns_record_sets - the
        default TTL is now 300 and no longer 3600, which equals the default in the
        web console (https://github.com/ansible-collections/community.dns/pull/43).
      bugfixes:
      - Hetzner API - interpret missing TTL as 300, which is what the web console
        also does (https://github.com/ansible-collections/community.dns/pull/42).
      - Update Public Suffix List.
      - hetzner API code - make sure to also handle errors returned by the API if
        the HTTP status code indicates success. This sometimes happens for 500 Internal
        Server Error (https://github.com/ansible-collections/community.dns/pull/58).
      - hosttech_dns_zone_info - make sure that full information is returned both
        when requesting a zone by ID or by name (https://github.com/ansible-collections/community.dns/pull/56).
      minor_changes:
      - Added a ``txt_transformation`` option to all modules and plugins working with
        DNS records (https://github.com/ansible-collections/community.dns/issues/48,
        https://github.com/ansible-collections/community.dns/pull/57, https://github.com/ansible-collections/community.dns/pull/60).
      - hetzner_dns_zone_info - the ``legacy_ns`` return value is now sorted, since
        its order is unstable (https://github.com/ansible-collections/community.dns/pull/46).
      release_summary: Second alpha release of 2.0.0.
    fragments:
    - 2.0.0-a2.yml
    - 42-hetzner-ttl-300.yml
    - 43-hetzner-default-ttl-300.yml
    - 45-cleanup.yml
    - 46-hetzner-legacy_ns-sorting.yml
    - 52-hetzner-default-ttl.yml
    - 54-info-rename.yml
    - 56-tests-fixes.yml
    - 57-60-txt_transformation.yml
    - 58-hetzner-api-errors.yml
    - update-psl.yml
    modules:
    - description: Retrieve record sets in Hetzner DNS service
      name: hetzner_dns_record_set_info
      namespace: ''
    release_date: '2021-08-15'
  2.0.0-a3:
    changes:
      breaking_changes:
      - The internal bulk record updating helper (``bulk_apply_changes``) now also
        returns the records that were deleted, created or updated (https://github.com/ansible-collections/community.dns/pull/63).
      - The internal record API no longer allows to manage comments explicitly (https://github.com/ansible-collections/community.dns/pull/63).
      bugfixes:
      - Update Public Suffix List.
      minor_changes:
      - The internal record API allows to manage extra data (https://github.com/ansible-collections/community.dns/pull/63).
      - hetzner_dns_record and hosttech_dns_record - when not using check mode, use
        actual return data for diff, instead of input data, so that extra data can
        be shown (https://github.com/ansible-collections/community.dns/pull/63).
      release_summary: Third alpha release of 2.0.0.
    fragments:
    - 2.0.0-a3.yml
    - 63-records-extra-info.yml
    - update-psl.yml
    modules:
    - description: Retrieve records in Hetzner DNS service
      name: hetzner_dns_record_info
      namespace: ''
    - description: Retrieve records in Hosttech DNS service
      name: hosttech_dns_record_info
      namespace: ''
    release_date: '2021-09-11'
  2.0.1:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with Public Suffix List updates.
    fragments:
    - 2.0.1.yml
    - update-psl.yml
    release_date: '2021-10-13'
  2.0.2:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Regular maintenance release.
    fragments:
    - 2.0.2.yml
    - update-psl.yml
    release_date: '2021-11-14'
  2.0.3:
    changes:
      minor_changes:
      - HTTP API module utils - fix usage of ``fetch_url`` with changes in latest
        ansible-core ``devel`` branch (https://github.com/ansible-collections/community.dns/pull/73).
      release_summary: Bugfix release.
    fragments:
    - 2.0.3.yml
    - fetch_url-devel.yml
    release_date: '2021-11-21'
  2.0.4:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with updated Public Suffix List.
    fragments:
    - 2.0.4.yml
    - update-psl.yml
    release_date: '2022-01-08'
  2.0.5:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with updated Public Suffix List.
    fragments:
    - 2.0.5.yml
    - update-psl.yml
    release_date: '2022-01-31'
  2.0.6:
    changes:
      bugfixes:
      - Update Public Suffix List.
      - wait_for_txt - do not fail if ``NXDOMAIN`` result is returned. Also do not
        succeed if no nameserver can be found (https://github.com/ansible-collections/community.dns/issues/81,
        https://github.com/ansible-collections/community.dns/pull/82).
      release_summary: Bugfix release.
    fragments:
    - 2.0.6.yml
    - 82-wait_for_txt.yml
    - update-psl.yml
    release_date: '2022-02-01'
  2.0.7:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with updated Public Suffix List.
    fragments:
    - 2.0.7.yml
    - update-psl.yml
    release_date: '2022-02-21'
  2.0.8:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with updated Public Suffix List.
    fragments:
    - 2.0.8.yml
    - update-psl.yml
    release_date: '2022-03-14'
  2.0.9:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with updated Public Suffix List and added
        collection links file.
    fragments:
    - 2.0.9.yml
    - update-psl.yml
    release_date: '2022-03-22'
  2.1.0:
    changes:
      bugfixes:
      - Update Public Suffix List.
      minor_changes:
      - Prepare collection for inclusion in an Execution Environment by declaring
        its dependencies (https://github.com/ansible-collections/community.dns/pull/93).
      release_summary: Feature and maintenance release with updated PSL.
    fragments:
    - 2.1.0.yml
    - 93-ee.yml
    - update-psl.yml
    release_date: '2022-04-25'
  2.1.1:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with updated Public Suffix List.
    fragments:
    - 2.1.1.yml
    - update-psl.yml
    release_date: '2022-05-16'
  2.2.0:
    changes:
      bugfixes:
      - Update Public Suffix List.
      minor_changes:
      - hetzner_dns_records and hosttech_dns_records inventory plugins - allow to
        template provider-specific credentials and the ``zone_name``, ``zone_id``
        options (https://github.com/ansible-collections/community.dns/pull/106).
      - wait_for_txt - improve error messages so that in case of SERVFAILs or other
        DNS errors it is clear which record was queried from which DNS server (https://github.com/ansible-collections/community.dns/pull/105).
      release_summary: Feature release.
    fragments:
    - 105-wait_for_txt-improve-error-msg.yml
    - 106-inventory-templating.yml
    - 2.2.0.yml
    - update-psl.yml
    release_date: '2022-06-03'
  2.2.1:
    changes:
      bugfixes:
      - Update Public Suffix List.
      release_summary: Maintenance release with updated Public Suffix List.
    fragments:
    - 2.2.1.yml
    - update-psl.yml
    release_date: '2022-07-11'
  2.3.0:
    changes:
      bugfixes:
      - Update Public Suffix List.
      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.dns/pull/109).
      release_summary: Maintenance release including an updated Public Suffix List.
    fragments:
    - 109-licenses.yml
    - 2.3.0.yml
    - update-psl.yml
    release_date: '2022-07-31'
