ancestor: null
releases:
  1.0.0:
    changes:
      bugfixes:
        - linting and formatting for CI
      minor_changes:
        - Add cli_parse module and plugins (https://github.com/ansible-collections/ansible.utils/pull/28)
        - Added fact_diff plugin and sub plugin
        - Added validate module/lookup/filter/test plugin to validate data based on
          given criteria
    fragments:
      - 23 linting and formatting.yaml
      - 28_cli_parse_plugins_add.yaml
      - 29-add_docs_for_Cli_parse.yaml
      - add_fact_diff.yaml
      - docs_copyedit.yaml
      - validate.yaml
    modules:
      - description: Parse cli output or text using a variety of parsers
        name: cli_parse
        namespace: ""
      - description: Find the difference between currently set facts
        name: fact_diff
        namespace: ""
      - description: Update currently set facts
        name: update_fact
        namespace: ""
      - description: Validate data with provided criteria
        name: validate
        namespace: ""
    plugins:
      lookup:
        - description: Retrieve the value in a variable using a path
          name: get_path
          namespace: null
        - description: Find the indices of items in a list matching some criteria
          name: index_of
          namespace: null
        - description: Flatten a complex object into a dictionary of paths and values
          name: to_paths
          namespace: null
        - description: Validate data with provided criteria
          name: validate
          namespace: null
    release_date: "2020-12-08"
  1.0.1:
    changes:
      minor_changes:
        - Move CHANGELOG.rst file under changelogs folder as required
    fragments:
      - fix_changelog_file_location.yaml
    release_date: "2020-12-08"
  2.0.0:
    changes:
      breaking_changes:
        - If added custom sub plugins in your collection move from old location `plugins/<sub-plugin-name>`
          to the new location `plugins/sub_plugins/<sub-plugin-name>` and update the
          imports as required
        - Move sub plugins cli_parsers, fact_diff and validate to `plugins/sub_plugins`
          folder
        - The `cli_parsers` sub plugins folder name is changed to `cli_parse` to have
          consistent naming convention, that is all the cli_parse subplugins will now
          be in `plugins/sub_plugins/cli_parse` folder
    fragments:
      - 32_doc_updates.yaml
      - sub_plugins_dir_change.yaml
      - upcap_ansible.yaml
    release_date: "2021-01-29"
  2.0.1:
    changes:
      bugfixes:
        - Fix ansible.utils.cli_parse action plugin to support old cli_parse sub-plugin
          structure in ansible.netcommon collection.
    fragments:
      - ansible-doc.yaml
      - cli_parse_fix.yaml
    release_date: "2021-02-25"
  2.0.2:
    changes:
      bugfixes:
        - Fix cli_parse template_path read error (https://github.com/ansible-collections/ansible.utils/pull/51).
        - Fix jsonschema input data format checking (https://github.com/ansible-collections/ansible.utils/pull/50).
    fragments:
      - cli_parse_errors_return.yaml
      - jsonschema_data_validation_fix.yaml
    release_date: "2021-03-29"
  2.1.0:
    changes:
      bugfixes:
        - Add missing test requirements (https://github.com/ansible-collections/ansible.utils/pull/57).
      minor_changes:
        - Add from_xml and to_xml fiter plugin (https://github.com/ansible-collections/ansible.utils/pull/56).
    fragments:
      - 63-add_ignore_txt.yml
      - add-xmltojson-and-jsontoxml-filter.yaml
      - add_missing_test_requirements.yml
      - fix_tests.yaml
    release_date: "2021-04-27"
  2.10.0:
    release_date: "2023-05-11"
  2.10.1:
    release_date: "2023-05-12"
  2.10.2:
    changes:
      minor_changes:
        - validate - Add option `check_format` for the jsonschema engine to disable
          JSON Schema format checking.
        - validate - Add support for JSON Schema draft 2019-09 and 2020-12 as well as
          automatically choosing the draft from the `$schema` field of the criteria.
    fragments:
      - netaddr_error.yml
      - pre-commit.yaml
      - validate_jsonschema_update.yaml
    release_date: "2023-05-13"
  2.10.3:
    fragments:
      - fix_workflow_names.yml
    release_date: "2023-05-17"
  2.10.4:
    release_date: "2023-05-19"
  2.11.0:
    changes:
      bugfixes:
        - Validate input for ipv4_hex(https://github.com/ansible-collections/ansible.utils/issues/281)
      minor_changes:
        - Add ipcut filter plugin.(https://github.com/ansible-collections/ansible.utils/issues/251)
        - Add ipv6form filter plugin.(https://github.com/ansible-collections/ansible.utils/issues/230)
    fragments:
      - Bugfix_ipv4_hex.yaml
      - ipcut.yaml
      - ipv6form.yaml
    plugins:
      filter:
        - description: This filter is designed to get 1st or last few bits of IP address.
          name: ipcut
          namespace: null
        - description:
            This filter is designed to convert ipv6 address in different
            formats. For example expand, compressetc.
          name: ipv6form
          namespace: null
    release_date: "2023-09-07"
  2.12.0:
    changes:
      minor_changes:
        - Fact_diff filter plugin - Add fact_diff filter plugin. (https://github.com/ansible-collections/ansible.utils/issues/78).
    fragments:
      - fact_diff_filter_plugin.yaml
    plugins:
      filter:
        - description: Find the difference between currently set facts
          name: fact_diff
          namespace: null
    release_date: "2023-11-27"
  2.2.0:
    changes:
      minor_changes:
        - Add in_any_network, in_network, in_one_network test plugins
        - Add ip, ip_address test plugins
        - Add ipv4, ipv4_address, ipv4_hostmask, ipv4_netmask test plugins
        - Add ipv6, ipv6_address, ipv6_ipv4_mapped, ipv6_sixtofour, ipv6_teredo test
          plugins
        - Add loopback, mac, multicast test plugins
        - Add private, public, reserved test plugins
        - Add resolvable test plugins
        - Add subnet_of, supernet_of, unspecified test plugins
    fragments:
      - add_netaddr_test_plugins_1.yml
      - add_netaddr_test_plugins_2.yml
      - add_netaddr_test_plugins_3.yml
      - add_netaddr_test_plugins_4.yml
      - add_netaddr_test_plugins_5.yml
      - add_netaddr_test_plugins_6.yml
      - add_netaddr_test_plugins_7.yml
      - add_netaddr_test_plugins_8.yml
    release_date: "2021-05-17"
  2.3.0:
    changes:
      bugfixes:
        - Also include empty lists and mappings into the output dictionary (https://github.com/ansible-collections/ansible.utils/pull/58).
      doc_changes:
        - Update doc for usable_range filter plugin
      minor_changes:
        - Add usable_range test plugin
    fragments:
      - add_usable_range_filter_plugin.yml
      - empty_list_mapping.yml
      - improve_coverage_for_filter_plugins.yaml
      - update_doc_for_usable_range_filter_plugin.yml
    release_date: "2021-06-22"
  2.3.1:
    changes:
      bugfixes:
        - Add support for the validation of formats to the jsonschema validator.
        - Improve test coverage
    fragments:
      - 81_add_support_for_format.yaml
    release_date: "2021-07-26"
  2.4.0:
    changes:
      bugfixes:
        - Update validate to use 2.11 ArgumentSpecValidator if available.
      minor_changes:
        - Add new plugin param_list_compare that generates the final param list after
          comparing base and provided/target param list.
    fragments:
      - 85_update_validate_plugin.yaml
      - 88_compare_resource_list_filter_plugin.yaml
      - param_list_compare_docs_added.yaml
    release_date: "2021-08-28"
  2.4.1:
    changes:
      release_summary: Rereleased 2.4.0 with trivial changes.
    fragments:
      - 2.4.1.yaml
      - fix_network_ee.yaml
    release_date: "2021-09-24"
  2.4.2:
    changes:
      release_summary: Rereleased 2.4.1 with valid requirement.txt.
    fragments:
      - 2.4.2.yaml
      - add_ignore_2.13.yaml
      - bugfix_100.yaml
    release_date: "2021-10-07"
  2.4.3:
    changes:
      release_summary: Rereleased 2.4.2 with fix of network ee tests.
    fragments:
      - 2.4.3.yaml
      - fix_network_ee.yaml
    release_date: "2021-12-07"
  2.5.0:
    changes:
      doc_changes:
        - Enhancement in documentation and docstring.
      minor_changes:
        - "'keep_keys' filter plugin added."
        - "'remove_keys' filter plugin added."
        - "'replace_keys' filter plugin added."
        - Add cli_merge ipaddr filter plugin.
        - Add ip4_hex filter plugin.
        - Add ipaddr filter plugin.
        - Add ipmath filter plugin.
        - Add ipsubnet filter plugin.
        - Add ipv4 filter plugin.
        - Add ipv6 filter plugin.
        - Add ipwrap filter plugin.
        - Add network_in_network filter plugin.
        - Add network_in_usable filter plugin.
        - Add next_nth_usable filter plugin.
        - Add nthhost filter plugin.
        - Add previous_nth_usable filter plugin.
        - Add reduce_on_network filter plugin.
        - Add slaac,hwaddr,mac filter plugin.
        - New validate sub-plugin "config" to validate device configuration against
          user-defined rules (https://github.com/ansible-collections/ansible.network/issues/15).
    fragments:
      - 112-validate-config-plugin.yaml
      - add_cli_merge_filter_plugin.yaml
      - add_ip4_hex_filter.yaml
      - add_ipaddr_filter_plugin.yaml
      - add_ipmath_filter.yaml
      - add_ipsubnet_filter_plugin.yaml
      - add_ipv4_filter_plugin.yaml
      - add_ipv6_filter_plugin.yaml
      - add_ipwrap_filter_plugin.yaml
      - add_network_in_network_filter.yaml
      - add_network_in_usable_filter.yaml
      - add_next_nth_usable_filter.yaml
      - add_nthhost_filter.yaml
      - add_previous_nth_usable_filter.yaml
      - add_reduce_on_network_filter.yaml
      - add_slaac_mac_hwaddr_filter.yaml
      - docfix_minor_corrections.yaml
      - recursive_filter_plugins.yaml
    release_date: "2022-01-31"
  2.5.1:
    changes:
      doc_changes:
        - "`in_any_network` - plugin doc fix for redundant line."
    fragments:
      - Improve_test_covrage.yaml
      - minor_doc_update.yaml
      - unit_test_container_venv.yaml
    release_date: "2022-03-01"
  2.5.2:
    changes:
      bugfixes:
        - Fix issue in ipaddr,ipv4,ipv6,ipwrap filters.(https://github.com/ansible-collections/ansible.utils/issues/148).
        - ipaddr - Add valid network for link-local (https://github.com/ansible-collections/ansible.netcommon/issues/350).
        - ipaddr - Fix issue of breaking ipaddr filter with netcommon 2.6.0(https://github.com/ansible-collections/ansible.netcommon/issues/375).
    fragments:
      - bugfix_ipaddr_filter.yaml
    release_date: "2022-03-04"
  2.6.0:
    changes:
      minor_changes:
        - "'consolidate' filter plugin added."
    fragments:
      - 0-ignore.yml
      - consolidate_filter_plugin.yml
      - enable_upgrade_black.yml
      - pre-commit-enable.yml
      - pre-commit-skip.yml
    release_date: "2022-04-12"
  2.6.1:
    changes:
      release_summary: Rereleased 2.6.0 with fixes for internal testing.
    fragments:
      - 2.6.1-notes.yaml
      - check_mode.yaml
      - pylint-black-flake.yml
      - sanity_fix.yaml
      - test inits.yml
    release_date: "2022-04-25"
  2.7.0:
    changes:
      bugfixes:
        - Fix filters to only raise AnsibleFilterError exceptions (https://github.com/ansible-collections/ansible.utils/issues/209).
        - ipsubnet - interacting with large subnets could cause performance constraints.
          the result would be the system would appear to hang while it built out a list
          of all possible subnets or stepped through all possible subnets one at a time.
          when sending a prefix that is a supernet of the passed in network the behavior
          wasn't consistent. this now returns an AnsibleFilterError in that scenario
          across all python releases. (https://github.com/ansible-collections/ansible.utils/issues/132)
      minor_changes:
        - Add support for content template parser
        - Added new connection base class similar to ansible.netcommon's NetworkConnectionBase
          without the network-specific option masking (https://github.com/ansible-collections/ansible.utils/pull/213).
        - ipsubnet - the index parameter should only ever be an integer if it is provided.
          this changes the argument type from str to int.
    fragments:
      - 172.yaml
      - 179.yaml
      - 180.yaml
      - 183.yaml
      - 184.yaml
      - 185.yaml
      - 186.yaml
      - 187.yaml
      - 188.yaml
      - 189.yaml
      - 190.yaml
      - 207-trivial.yaml
      - 209.yaml
      - 217-test-filter-docs.yaml
      - ccontent_template_parser.yaml
      - ipsubnet_performance.yaml
      - persistent.yaml
      - tests.yaml
      - use-before.yaml
    release_date: "2022-11-03"
  2.8.0:
    changes:
      bugfixes:
        - Accept int input for ipaddr filters.
      minor_changes:
        - to_xml - Added support for using spaces to indent an XML doc via a new `indent`
          parameter.
    fragments:
      - Ansible_lint_fix1.yaml
      - Bugfix_162_accept_int_input.yaml
      - pre-commit.yaml
      - to_xml_indent_with_spaces.yaml
    release_date: "2022-11-30"
  2.9.0:
    changes:
      bugfixes:
        - mac - reorganize regexes to work around 3.11 regex changes. (https://github.com/ansible-collections/ansible.utils/pull/231)
      minor_changes:
        - to_xml - Added support to disable xml declartion with full_document flag.
    fragments:
      - 3.11_fixes.yaml
      - add_ipfilter_doc_ut.yaml
      - fix_ansible_lint.yaml
      - fix_pre_commit.yaml
      - to_xml_disable_xml_declaration.yaml
    release_date: "2023-01-30"
  3.0.0:
    changes:
      major_changes:
        - Bumping `requires_ansible` to `>=2.14.0`, since previous ansible-core versions
          are EoL now.
      release_summary:
        Starting from this release, the minimum `ansible-core` version
        this collection requires is `2.14.0`. That last known version compatible with
        ansible-core<2.14 is `v2.12.0`.
    fragments:
      - update_requires_ansible.yaml
    release_date: "2023-11-30"
  3.1.0:
    changes:
      bugfixes:
        - Avoid unnecessary use of persistent connection in `cli_parse`, `fact_diff`,
          `update_fact` and `validate` as this action does not require a connection.
      doc_changes:
        - ipv6form filter plugin - Fix to be displayed correctly.
        - validate lookup plugin - Fix syntax in EXAMPLES.
        - validate module - Fix syntax in EXAMPLES.
      minor_changes:
        - Add support in fact_diff filter plugin to show common lines.(https://github.com/ansible-collections/ansible.utils/issues/311)
    fragments:
      - Fre_fact_diff.yaml
      - add_require_Connection.yaml
      - ipv6form-doc.yaml
      - validate-doc.yaml
    release_date: "2024-01-30"
  4.0.0:
    changes:
      major_changes:
        - Bumping `netaddr` to `>=0.10.1`, means that starting from this release, the
          minimum `netaddr` version this collection requires is `>=0.10.1`.
        - This release mainly addresses the breaking changes in the `netaddr` library.
        - With the new release of `netaddr` 1.0.0, the `IPAddress.is_private()` method
          has been removed and instead, the `IPAddress.is_global()` method has been
          extended to support the same functionality. This change has been reflected
          in the `ipaddr` filter plugin.
      release_summary:
        Starting from this release, the minimum `netaddr` version this
        collection requires is `>=0.10.1`.
    fragments:
      - netaddr_is_private_deprecation.yaml
      - trivial_tests_updates.yaml
    release_date: "2024-03-28"
  4.1.0:
    changes:
      release_summary:
        In the last release (`v4.0.0`), we bumped the minimum required
        `netaddr` version to be `>=0.10.1`. However, since `netaddr>=0.10.1` is not
        yet available in many sources other than PyPI, we have temporarily added a
        fallback method to support the `ipaddr` filter with older `netaddr` versions
        with this release. Once the latest `netaddr` is available in all major sources,
        we will deprecate this support and eventually remove it.
    fragments:
      - ipaddress_is_global_fallback.yaml
    release_date: "2024-04-15"
