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/` to the new location `plugins/sub_plugins/` 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" 5.0.0: changes: major_changes: - Bumping `requires_ansible` to `>=2.15.0`, since previous ansible-core versions are EoL now. release_summary: With this release, the minimum required version of `ansible-core` for this collection is `2.15.0`. The last version known to be compatible with `ansible-core` versions below `2.15` is v4.1.0. fragments: - bump_215.yaml release_date: "2024-06-10" 5.1.0: changes: doc_changes: - Add a wildcard mask/hostmask documentation to ipaddr filter doc page to obtain an IP address's wildcard mask/hostmask. minor_changes: - Allows the cli_parse module to find parser.template_path inside roles or collections when a path relative to the role/collection directory is provided. - Fix cli_parse module to require a connection. - Previously, the ansible.utils.ipcut filter only supported IPv6 addresses, leading to confusing error messages when used with IPv4 addresses. This fix ensures that the filter now appropriately handles both IPv4 and IPv6 addresses. - Removed conditional check for deprecated ansible.netcommon.cli_parse from ansible.utils.cli_parse - The from_xml filter returns a python dictionary instead of a json string. fragments: - 200.yaml - 203.yaml - 204.yaml - 324.yaml - 358_ipcut.yaml - add_template_path.yaml - fix_cli_parse.yaml - fix_from_xml.yaml - todo_condition.yml release_date: "2024-08-05" 5.1.1: changes: bugfixes: - keep_keys - Fixes issue where all keys are removed when data is passed in as a dict. fragments: - 0-readme.yml - keep_keys.yaml release_date: "2024-09-05"