Skip to content

Latest commit

 

History

History
419 lines (281 loc) · 11.1 KB

CHANGELOG.rst

File metadata and controls

419 lines (281 loc) · 11.1 KB

Ansible Utils Collection Release Notes

  • 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.
  • Add a wildcard mask/hostmask documentation to ipaddr filter doc page to obtain an IP address's wildcard mask/hostmask.

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.

  • Bumping requires_ansible to >=2.15.0, since previous ansible-core versions are EoL now.

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.

Starting from this release, the minimum netaddr version this collection requires is >=0.10.1.

  • 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.
  • Avoid unnecessary use of persistent connection in cli_parse, fact_diff, update_fact and validate as this action does not require a connection.
  • ipv6form filter plugin - Fix to be displayed correctly.
  • validate lookup plugin - Fix syntax in EXAMPLES.
  • validate module - Fix syntax in EXAMPLES.

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.

  • Bumping requires_ansible to >=2.14.0, since previous ansible-core versions are EoL now.
  • fact_diff - Find the difference between currently set facts
  • ipcut - This filter is designed to get 1st or last few bits of IP address.
  • ipv6form - This filter is designed to convert ipv6 address in different formats. For example expand, compressetc.
  • 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.
  • to_xml - Added support to disable xml declartion with full_document flag.
  • to_xml - Added support for using spaces to indent an XML doc via a new indent parameter.
  • Accept int input for ipaddr filters.
  • Add support for content template parser
  • Added new connection base class similar to ansible.netcommon's NetworkConnectionBase without the network-specific option masking (ansible-collections#213).
  • ipsubnet - the index parameter should only ever be an integer if it is provided. this changes the argument type from str to int.
  • Fix filters to only raise AnsibleFilterError exceptions (ansible-collections#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. (ansible-collections#132)

Rereleased 2.6.0 with fixes for internal testing.

  • 'consolidate' filter plugin added.
  • in_any_network - plugin doc fix for redundant line.
  • '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 (ansible-collections/ansible.network#15).
  • Enhancement in documentation and docstring.

Rereleased 2.4.2 with fix of network ee tests.

Rereleased 2.4.1 with valid requirement.txt.

Rereleased 2.4.0 with trivial changes.

  • Add new plugin param_list_compare that generates the final param list after comparing base and provided/target param list.
  • Update validate to use 2.11 ArgumentSpecValidator if available.
  • Add support for the validation of formats to the jsonschema validator.
  • Improve test coverage
  • Add usable_range test plugin
  • Update doc for usable_range filter plugin
  • 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
  • Fix ansible.utils.cli_parse action plugin to support old cli_parse sub-plugin structure in ansible.netcommon collection.
  • 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
  • Move CHANGELOG.rst file under changelogs folder as required
  • Add cli_parse module and plugins (ansible-collections#28)
  • Added fact_diff plugin and sub plugin
  • Added validate module/lookup/filter/test plugin to validate data based on given criteria
  • linting and formatting for CI
  • get_path - Retrieve the value in a variable using a path
  • index_of - Find the indices of items in a list matching some criteria
  • to_paths - Flatten a complex object into a dictionary of paths and values
  • validate - Validate data with provided criteria
  • cli_parse - Parse cli output or text using a variety of parsers
  • fact_diff - Find the difference between currently set facts
  • update_fact - Update currently set facts
  • validate - Validate data with provided criteria