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.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_pre_commit.yaml
      - fix_ansible_lint.yaml
      - to_xml_disable_xml_declaration.yaml
    release_date: "2023-01-30"
