==================================
Cisco Ios Collection Release Notes
==================================

.. contents:: Topics


v8.0.0
======

Major Changes
-------------

- Update the netcommon base version 6.1.0 to support cli_restore plugin.

Minor Changes
-------------

- Add support for cli_restore functionality.
- Please refer the PR to know more about core changes (https://github.com/ansible-collections/ansible.netcommon/pull/618).
- cli_restore module is part of netcommon.

v7.0.0
======

Major Changes
-------------

- ios_ntp - Remove deprecated ntp legacy module

Removed Features (previously deprecated)
----------------------------------------

- Deprecated ios_ntp module in favor of ios_ntp_global.

v6.1.4
======

Bugfixes
--------

- ios_acls - update module to apply remarks entry with sequence numbers.
- ios_bgp_address_family - description attribute, evalutated as complex object casted to string.
- ios_bgp_global - description attribute, evalutated as complex object casted to string.
- ios_interfaces - description attribute, evalutated as complex object casted to string.
- ios_prefix_lists - description attribute, evalutated as complex object casted to string.
- ios_route_maps - description attribute, evalutated as complex object casted to string.

v6.1.3
======

Bugfixes
--------

- ios_acls - Adds back existing remarks for an ace entry when updated with replaced or overridden state, as all remarks for a specific sequence gets removed when ace entry is updated.
- ios_bgp_global - Shutdown attributes generates negate command on set as false.
- ios_vrf - Update and add missing argspec keys that define the attributes.

Documentation Changes
---------------------

- ios_vrf - Update and add missing documentation for ios_vrf module.

v6.1.2
======

Bugfixes
--------

- ios_acls - Fix replaced state to consider remarks and ace entries while comparing configuration.
- ios_acls - correctly match the different line for ACL without sequence number
- ios_acls - take correctly in case where we want to push an ACL from a different type
- ios_ospfv2 - Fix improper rendering of admin_distance attribute.
- ios_snmp_server - fixed config issue with snmp user password update being idempotent on consecutive runs.
- ios_user - Fix configuration of hashed passwords and secrets.

v6.1.1
======

Bugfixes
--------

- Prevents module_defaults from were being incorrectly applied to the platform action, instead of the concerned module.
- ios_vlans - fixes behaviour of shutdown attribute with action states.

v6.1.0
======

Minor Changes
-------------

- ios_bgp_global - added 'bgp.default.ipv4_unicast' and 'bgp.default.route_target.filter' key
- ios_l3_interfaces - added 'autostate', 'mac_address', 'ipv4.source_interface', and 'ipv6.enable' key
- ios_vlans - Add purged state to deal with toplevel vlan and vlan configuration config.

Bugfixes
--------

- ios_bgp_global - fix template attribute to generate configuration commands.
- ios_l3_interfaces - remove validation from ipv6 address parameter.
- ios_snmp_server - fix group and user IPv6 ACL commands.
- ios_user - fix configuration of user with hashed password.
- ios_user - fixed configuration removal of ssh users using purge.
- ios_vlans - Make behaviour of the action states consistent.
- ios_vlans - Top level configuration attribute is not required, the module works with vlan and vlan configuration both.

v6.0.0
======

Release Summary
---------------

Starting from this release, the minimum `ansible-core` version this collection requires is `2.14.0`. The last known version compatible with ansible-core<2.14 is `v5.3.0`.

Major Changes
-------------

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

Removed Features (previously deprecated)
----------------------------------------

- Removed previously deprecated ios_bgp module in favor of ios_bgp_global and ios_bgp_address_family.

v5.3.0
======

Minor Changes
-------------

- Added ios_evpn_evi resource module.
- Added ios_evpn_global resource module.
- Added ios_vxlan_vtep resource module.
- Fixed ios_evpn_evi resource module integration test failure - code to remove VLAN config.
- ios_bgp_address_family - Fixed an issue with inherit peer-policy CLI
- ios_bgp_address_family - added 'advertise' key
- ios_vlans - added vlan config CLI feature.
- ios_vrf - added MDT related keys

Bugfixes
--------

- Updated the ios_ping ping module to support size param.
- ios_acls - make sequence optional for rendering of standard acls.
- ios_bgp_global - Explicitly add neighbor address to every parser.
- ios_bgp_global - remote_as not mendatory for neighbors.
- ios_vrf - added MDT related keys

New Modules
-----------

- ios_evpn_evi - Resource module to configure L2VPN EVPN EVI.
- ios_evpn_global - Resource module to configure L2VPN EVPN.
- ios_vxlan_vtep - Resource module to configure VXLAN VTEP interface.

v5.2.0
======

Minor Changes
-------------

- ios_acls - make remarks ordered and to be applied per ace basis.
- ios_acls - remarks in replaced and overridden state to be negated once per ace.
- ios_config - Relax restrictions on I(src) parameter so it can be used more like I(lines).
- ios_snmp_server - Fix an issue with cbgp2 to take in count correctly the bgp traps
- ios_snmp_server - Update the module to manage correctly a lot of traps not take in count

Deprecated Features
-------------------

- ios_snmp_server - deprecate traps.envmon.fan with traps.envmon.fan_enable
- ios_snmp_server - deprecate traps.mpls_vpn with traps.mpls

Bugfixes
--------

- Fix invalid password length not being recognized by the error parser.

v5.1.0
======

Minor Changes
-------------

- Fixe an issue with some files that doesn't pass the PEP8 sanity check because `type(<obj>) == <type>` is not allowed. We need to use `isinstance(<obj>,<type>)` function in place
- ios_snmp_user - update the user part to compare correctly the auth and privacy parts.
- ospfv2 - added more tests to improve coverage for the rm_template
- ospfv2 - aliased passive_interface to passive_interfaces that supports a list of interfaces
- ospfv2 - fix area ranges rendering
- ospfv2 - fix passive interfaces rendering
- ospfv2 - optimized all the regex to perform better
- ospfv2 - optimized the config side code for quicker comparison and execution

Deprecated Features
-------------------

- ospfv2 - removed passive_interface to passive_interfaces that supports a list of interfaces

Bugfixes
--------

- The regex looking for errors in the terminal output was matching anything with '\S+ Error:'. Caused issues with 'show runnning-config' if this string appeared in the output. Updated the regex to require the % anchor.
- bgp_address_family - fix deleted string with int concat issue in bgp_address_family.
- ios_acls - Fix protocol_options rendering corrects processing of overridden/ replaced state.
- ios_acls - Fix standard acls rendering.
- ios_bgp_address_family - fix rendering of remote_as configuration with period.
- ios_logging_global - fix configuration order to configure discriminator before buffer.
- ios_prefix_lists - fix deleted state to remove exisiting prefix lists from configuration.
- ios_service - Put condition to add `private_config_encryption` in default services

Documentation Changes
---------------------

- Fix prefix_lists docs.
- Update examples for ospf_interfaces
- Update examples for ospfv2
- Update examples for ospfv3
- ios_acls - update examples and use YAML output in them for better readibility.
- ios_command - Fix formatting of examples.

v5.0.0
======

Major Changes
-------------

- This release removes a previously deprecated modules, and a few attributes from this collection. Refer to **Removed Features** section for details.

Minor Changes
-------------

- ios_facts - Add CPU utilization. (https://github.com/ansible-collections/cisco.ios/issues/779)

Removed Features (previously deprecated)
----------------------------------------

- Deprecated ios_logging module in favor of ios_logging_global.
- Deprecated next_hop_self attribute for bgp_address_family with nexthop_self.

Bugfixes
--------

- ios_facts - Fix facts gathering when memory statistics head is not hexadecimal. (https://github.com/ansible-collections/cisco.ios/issues/776)
- ios_snmp_server - Fixes error handling for snmp user when snmp agent is not enabled
- ios_static_routes - Fix non vlan entries to have unique group identifier.
- ios_static_routes - Fix parsers to parse interface attribute correctly.

Documentation Changes
---------------------

- ios_facts - Add ansible_net_cpu_utilization.

v4.6.1
======

Bugfixes
--------

- ios_l3_interfaces - account for secondary/primary when comparing ipv4 addresses. (https://github.com/ansible-collections/cisco.ios/issues/826)
- ios_lag_interfaces - Fix empty facts to be a list.
- ios_ospf_interface - Fix configuration rendering for ipv4 and ipv6 configurations.
- ios_ospf_interface - Fix replaced and overridden state, action to negate superfluous configuration.
- ios_snmp_server - Add default versions to version 3 users.
- snmp_server - update module to get snmp_server user configuration.

Documentation Changes
---------------------

- Lint examples as per ansible-lint.

v4.6.0
======

Minor Changes
-------------

- ios_interfaces - Add template attribute to provide support for cisco ios templates.
- ios_service - Create module to manage service configuration on IOS switches

Bugfixes
--------

- ios_facts - fix calculation of memory from bytes to megabytes; grab correct output element for free memory (https://github.com/ansible-collections/cisco.ios/issues/763)
- ospfv2 - Fixed rendering of capability command with vrf_lite.
- ospfv3 - Fixed rendering of capability command with vrf_lite.

Documentation Changes
---------------------

- ios_bgp_address_family - Fixed examples formatting.
- ios_bgp_global - Fixed examples formatting.
- ios_interfaces - Corrected inteface names in documentation.
- ios_interfaces - Fixed module documentation and examples.
- ios_l2_interfaces - Fixed module documentation and examples.
- ios_l3_interfaces - Fixed module documentation and examples.
- ios_l3_interfaces - Fixed module examples, update tasks to generate address and not network interface.
- ios_static_routes - Corrected static routes before state in documentation.
- ios_static_routes - Fixed examples formatting.

New Modules
-----------

- ios_service - Resource module to configure service.

v4.5.0
======

Minor Changes
-------------

- ios_bgp_address_family - add option redistribute.ospf.include_connected when redistributing OSPF in IPv6 AFI
- ios_bgp_address_family - add option redistribute.ospf.match.externals.type_1 to allow
- ios_bgp_address_family - add option redistribute.ospf.match.externals.type_2 to allow
- specification of OSPF E1 routes
- specification of OSPF E2 routes

Deprecated Features
-------------------

- ios_bgp_address_family - deprecate redistribute.ospf.match.external with redistribute.ospf.match.externals which enables attributes for OSPF type E1 and E2 routes
- ios_bgp_address_family - deprecate redistribute.ospf.match.nssa_external with redistribute.ospf.match.nssa_externals which enables attributes for OSPF type N1 and N2 routes
- ios_bgp_address_family - deprecate redistribute.ospf.match.type_1 with redistribute.ospf.match.nssa_externals.type_1
- ios_bgp_address_family - deprecate redistribute.ospf.match.type_2 with redistribute.ospf.match.nssa_externals.type_2

Bugfixes
--------

- ios_bgp_address_family - fix issue where no commands are generated when redistributing OSPFv2 and OSPFv3
- ios_bgp_address_family - fix missing negations in overridden and replaced states when redistributing OSPF
- ios_bgp_address_family - fix option and syntax for OSPF E1 and E2 routes
- ios_bgp_address_family - fix option and syntax for OSPF N1 and N2 routes
- ios_bgp_address_family - fix order of generated OSPF redistribution command options to achieve idempotency
- ios_bgp_global - fix configuration of timers under neighbor. (https://github.com/ansible-collections/cisco.ios/issues/794)
- ios_l3_interfaces - prevent configuration line generation when enable is false.
- ios_logging_global - logging history configuration command fixed for supported appliance versions.

Documentation Changes
---------------------

- Update examples for bgp_address family.
- bgp_global - Updated documentation with examples and task output.

v4.4.1
======

Bugfixes
--------

- Fix parser to read groups in snmp-server.
- Fix parser to read transceiver in snmp-server.
- ios_acls - fix processing of source information on extended acls entries.
- ios_acls - prevent rendering of mac access-lists in facts.
- ios_static_routes - fix configure generation order for ipv4 and ipv6 routes.
- ios_static_routes - fix module to be idempotent with replaced and overridden state.

Documentation Changes
---------------------

- ios_banner - Enhance example with comment.

v4.4.0
======

Minor Changes
-------------

- ios_facts - Add ip value to ansible_net_neighbors dictionary for cdp neighbours. (https://github.com/ansible-collections/cisco.ios/pull/748)
- ios_facts - Add ip value to ansible_net_neighbors dictionary for lldp neighbours. (https://github.com/ansible-collections/cisco.ios/pull/760)
- ios_interfaces - Add mode attribute in ios_interfaces, which supports layer2 and layer3 as options.

Bugfixes
--------

- ios_acls - fix rendering of object-groups in source and destination at ace level.
- ios_bgp_address_family - fix facts generation of default originate option.
- ios_bgp_global - fix neighbor shutdown command on set value being false.
- ios_command - Run & evaluate commands at least once even when retries is set to 0 (https://github.com/ansible-collections/cisco.nxos/issues/607).
- ios_ospf_interfaces - fix dead-interval rendering wrong facts when hello-multiplier is configured.

Documentation Changes
---------------------

- ospfv2 - fix documentation for ospfv2 module (networks parameter).

v4.3.1
======

Bugfixes
--------

- ios_bgp_address_family - Reorder parsers to generate correct oder of configuration lines.

v4.3.0
======

Minor Changes
-------------

- ios_route_maps - added 32-bit number support (https://github.com/ansible-collections/cisco.ios/pull/692)

Bugfixes
--------

- ios_acls - fix parsers to accept precedence value in correct format.
- ios_acls - fix precedence attribute to take a string value as input.
- ios_route_maos - fix replaced state support. (https://github.com/ansible-collections/cisco.ios/issues/680)
- ios_route_maps - fix idempotency for `set community` operations. (https://github.com/ansible-collections/cisco.ios/issues/635)
- ios_vrf - fix issue where assigning interfaces to existing vrfs doesn't work (https://github.com/ansible-collections/cisco.ios/issues/707)

v4.2.0
======

Minor Changes
-------------

- cliconf - Added support for commit confirm functionality and rollback based on timeout.
- ios_facts - default facts to show operating state data autonomous or controller mode.
- ios_l2_interfaces - more options for modes attribute added.

Bugfixes
--------

- ios_acls - fix acl commands order on replaced and overridden state.
- ios_acls - fix eq to process protocol number as protocol name.
- ios_acls - fix object group for extended acls.
- ios_l2_interfaces - fix command to remove allowed_vlans and pruning_vlans from configuration.
- ios_l2_interfaces - fix dynamic option for mode attribute.
- ios_l2_interfaces - fix state operation for existing vlans.
- ios_l3_interfaces - fix command generation on attribute value being false.
- ios_vlans - Added support for private VLAN configuration

Documentation Changes
---------------------

- ios_command - add examples for complex variables while using command module.

v4.1.0
======

Deprecated Features
-------------------

- ios_bgp_address_family - deprecate neighbors.address/tag/ipv6_adddress with neighbor_address which enables common attributes for facts rendering
- ios_bgp_address_family - deprecate neighbors.password with password_options which allows encryption and password
- ios_bgp_address_family - deprecate slow_peer with slow_peer_options which supports a dict attribute

Bugfixes
--------

- ios_bgp_address_family - aliased aggregate_address to aggregate_addresses that supports a list of dict attributes
- ios_bgp_address_family - aliased neighbor to neighbors that supports a list of dict attributes
- ios_bgp_address_family - aliased network to networks that supports a list of dict attributes
- ios_bgp_address_family - fix facts rendering with optimal parsers
- ios_bgp_address_family - fix fliter_list rendering
- ios_bgp_address_family - fix path_attribute to support float parameter
- ios_lag_interfaces - fix deleted state to delete only sub attribute values.
- ios_route_maps - fix idempotency issues with as-path prepend (https://github.com/ansible-collections/cisco.ios/issues/678)
- ios_route_maps - fix idempotency issues with set community none (https://github.com/ansible-collections/cisco.ios/issues/679
- ios_route_maps - fix merge issues with route-maps where wanted config is not deployed if route map has existing sequence numbers (https://github.com/ansible-collections/cisco.ios/issues/641)

Documentation Changes
---------------------

- ios_acls - fix documentation with proper description.

v4.0.0
======

Major Changes
-------------

- Only valid connection types for this collection is network_cli.
- This release drops support for `connection: local` and provider dictionary.

Removed Features (previously deprecated)
----------------------------------------

- ios_interface - use ios_interfaces instead.
- ios_l2_interface - use ios_l2_interfaces instead.
- ios_l3_interface - use ios_l3_interfaces instead.
- ios_static_route - use ios_static_routes instead.
- ios_vlan - use ios_vlans instead.

Bugfixes
--------

- facts - fix operstatus having a white space after value.
- ios_static_routes - fix vrf for ipv6 static routes (https://github.com/ansible-collections/cisco.ios/issues/660).

Documentation Changes
---------------------

- Update supported IOSXE version for modules.

v3.3.2
======

Bugfixes
--------

- cliconf - get_device_info now tries to exit config mode if necessary before requesting device info. (https://github.com/ansible-collections/cisco.ios/pull/654)
- prefix_lists - fix prefix list facts generation to handle empty configuration correctly.

v3.3.1
======

Bugfixes
--------

- l2_interfaces - vlan_tag options fix.
- snmp_server - add envmon options for traps.

v3.3.0
======

Minor Changes
-------------

- ios_l2_interfaces - Add vlan_name attribute to access.
- ios_l2_interfaces - Add vlan_name, vlan_tag attribute to voice.

Bugfixes
--------

- ios_acls - Fix regex to parse echo-reply command.
- ios_route_maps - Fix route maps failing on config parsed with tailing space.
- ios_snmp_server - Fix parsers for views and host + acl doc

v3.2.0
======

Minor Changes
-------------

- ios_ping - Add ipv6 options.

Bugfixes
--------

- ios_interfaces - Fix enable attribute.

v3.1.0
======

Minor Changes
-------------

- Also collect a list of serial numbers comprised in a vss system as virtual_switch_serialnums
- Fixing Detection of Virtual Switch System to facts (https://github.com/ansible-collections/cisco.ios/pull/471)
- ios_interfaces - Add purged state to ios_interfaces.

Deprecated Features
-------------------

- Deprecated ios_linkagg_module in favor of ios_lag_interfaces.

Bugfixes
--------

- ios_acl - Handle ACL config parsing when match/matches are present.
- ios_bgp_global - Parse local_as commands correctly.
- ios_interfaces - Parse interface shutdown config correctly.
- ios_lag_interfaces - Fix commands generation on action states.
- ios_lag_interfaces - Module functionality not restricted to GigabitEthernet.
- ios_logging_global - Parse monitor and buffered config correctly.
- ios_ntp - Handle regex matching server attributes gracefully.
- ios_snmp_server - Render group and views commands correctly when having common names.

v3.0.0
======

Major Changes
-------------

- Minimum required ansible.netcommon version is 2.5.1.
- Updated base plugin references to ansible.netcommon.
- facts - default value for gather_subset is changed to min instead of !config.

Bugfixes
--------

- Fix become raises error when exec prompt timestamp is configured.
- acl_interfaces - optimization and bugfixes.
- acls parser didn't only checked if the proto_options variable existed without validating that it was a dictionary before trying to use it as one.
- ios_l3_interface - config code to generate proper ordering of commands on action states.
- ios_logging_global - Added alias to render host under hosts not hostname.

v2.8.1
======

Deprecated Features
-------------------

- Deprecates lldp module.

Bugfixes
--------

- Add symlink of modules under plugins/action.
- ios_acls - Fix commands sequencing for replaced state.
- ios_acls - Fix remarks breaking idempotent behavior.
- ios_bgp_address_family - Fix multiple bgp_address_family issues. Add set option in send_community to allow backwards compatibility with older configs. Add set option in redistribute.connected to allow ospf redistribution. Fix issue with ipv6 and peer-group neighbor identification. Add ability to pull redistribute information for address families to conform to argspec. Fix issue with not pulling local_as when defined for neighbors.
- ios_facts - Fix Line protocol parser for legacy facts where state information per interface is present.
- ios_route_maps - Fix parsers for correct rendering of as_number as list.
- ios_snmp_server - Fix parsers for views facts collection.

v2.8.0
======

Minor Changes
-------------

- ios_bgp_global - Deprecate aggregate_address with aggregate_address which supports list of dict attributes.
- ios_bgp_global - Deprecate bestpath with bestpath_options which supports a dict attribute.
- ios_bgp_global - Deprecate distribute_list with distributes which supports list of dict attributes.
- ios_bgp_global - Deprecate inject_map with inject_maps which supports list of dict attributes.
- ios_bgp_global - Deprecate listen.ipv4_with_subnet/ipv6_with_subnet with host_with_subnet which enables common attribute for facts rendering.
- ios_bgp_global - Deprecate neighbors.address/tag/ipv6_adddress with neighbor_address which enables common attribute for facts rendering.
- ios_bgp_global - Deprecate neighbors.password with password_options which allows encryption and password.
- ios_bgp_global - Deprecate neighbors.route_map with route_maps which supports list of dict attributes.
- ios_bgp_global - Deprecate nopeerup_delay with nopeerup_delay_options which supports a dict attribute.
- ios_bgp_global - Deprecates route_server_context, scope, template as they were not implemented with the scope of the module.

Bugfixes
--------

- ios_bgp_global - Added bmp.server_options.
- ios_bgp_global - Added capability of configure network options.
- ios_bgp_global - Added community and local_preference for route_reflector_client.
- ios_bgp_global - Added update_source for neighbors.
- ios_bgp_global - Correct misspelled attributes with alternates/alias.
- ios_bgp_global - Facts and config code optimized for using rm_templates.
- ios_bgp_global - Parsers added for non-implemented attributes.
- ios_bgp_global - client_to_client.cluster_id corrected to take string input.
- ios_bgp_global - neighbors.path_attribute to support float format.
- ios_static_routes - Consider only config containing routes to render facts.

v2.7.2
======

Bugfixes
--------

- 'ios_acls'- filters out dynamically generated reflexive type acls.

v2.7.1
======

Release Summary
---------------

Re-releasing 2.7.0 due to Automation Hub uploading issue.

v2.7.0
======

Minor Changes
-------------

- ios_acls - Added enable_fragment attribute to enable fragments under ace.
- ios_hostname - New Resource module added.
- ios_snmp_server - Enables configuration of v3 auth and encryption password for each user.

Deprecated Features
-------------------

- ios_acls - Deprecated fragment attribute added boolean alternate as enable_fragment.

Bugfixes
--------

- ios_acls - Fixes protocol_options not rendering command properly when range is specified.
- ios_acls - Fixes standard acls getting wrongly parsed in v2.6.0
- ios_l2_interfaces - fix unable to identify FiveGigabitEthernet names on facts gathering.
- ios_snmp_server - Change key from users to views in rm template to fix failure when collecting snmp server facts from devices that have a view defined in the configuration (https://github.com/ansible-collections/cisco.ios/issues/491).
- ios_static_routes - Fixes static routes unable to identify interface names when supplied with destination attribute.
- ios_vlans - fix parsing of VLAN names with spaces.
- ios_vlans - fix parsing of VLAN ranges under remote span.

Documentation Changes
---------------------

- fixes fqcn in older module documentation.
- ios_acls - Documentation updated with commands used for fetching remarks data under aces.

New Modules
-----------

- ios_hostname - Resource module to configure hostname.

v2.6.0
======

Minor Changes
-------------

- ios_acls - feature: Remarks can be configured for ACLs.
- ios_snmp_server - New Resource module added.

Bugfixes
--------

- 'ios_banner' - Bugfix for presence of multiple delimitation chars in the banner's declaration and idempotence improvement.
- Fix ntp_global - remove no_log for key_id under peer and server attributes.
- Fix ntp_global - to handle when attribute value is false.
- ios_acls - bugfixes and optimization for ACLs.
- ios_l2_interfaces - fix unable to set switchport mode properly.
- ios_logging_global - fix host ipv6 commands not parsed correctly.
- ios_logging_global - fix wrong ordering of commands fired on replaced state.

Documentation Changes
---------------------

- Added connection network_cli in note for missing modules.
- Fixed ios_commands module example as per documentation.

New Modules
-----------

- ios_snmp_server - Resource module to configure snmp server.

v2.5.0
======

Minor Changes
-------------

- Added ios_ntp_global resource module.
- Terminal plugin to support IOS device running in SD-WAN mode.

Deprecated Features
-------------------

- Deprecated ios_ntp modules.

Bugfixes
--------

- Fixed bgp_address_family, for rendering multiple neighbors when available in config.
- fixed become functionality on privilege level not 15.
- ios_facts - fix for devices which have no support for VLANs, such as L3 devices.
- ios_vlans - for playbook execution module fails with an error when target device does not support VLANs, The offline states rendered and parsed will work as expected.

Documentation Changes
---------------------

- Doc fix for ios_acl_interfaces.
- Doc fix for ios_logging_global.

New Modules
-----------

- ios_ntp_global - Resource module to configure NTP.

v2.4.0
======

Minor Changes
-------------

- Add support for VRF configuration under NTP server.

Deprecated Features
-------------------

- Deprecated ios_bgp in favor of ios_bgp_global and ios_bgp_address_family.
- Remove testing with provider for ansible-test integration jobs. This helps prepare us to move to network-ee integration tests.

Bugfixes
--------

- Logging command template fixed supporting Jinja version for centos-8 EEs.
- Updated ios_l3_interface as the newer Resource Module implementation and added features.

Documentation Changes
---------------------

- Sample commands added for l3_interfaces.
- Updated ios_logging_global Resource Module documentation with proper examples.

v2.3.1
======

Bugfixes
--------

- Updated ios_command module doc example section with appropriate punctuation.
- ios_user fails to add password when configured in separate task with update_password.

Documentation Changes
---------------------

- Broken link in documentation fixed.

v2.3.0
======

Minor Changes
-------------

- Deprecated next_hop_self type bool and introduced nexthop_self as dict under bgp_address_family.
- Move ios_config idempotent warning message with the task response under warnings key if changed is True
- PR adds the implementation of object group param to acls source and destination parameters (https://github.com/ansible-collections/cisco.ios/issues/339).
- PR to fix the bgp global activate rendering and fix bgp address family round trip failure (https://github.com/ansible-collections/cisco.ios/issues/353).
- To add ospfv2 passive_interfaces param with added functionality (https://github.com/ansible-collections/cisco.ios/issues/336).
- To add updated prefix lists and route maps params to Bgp AF RM (https://github.com/ansible-collections/cisco.ios/issues/267).
- To update prefix list and acls merge behaviour and update prefix list description position in model (https://github.com/ansible-collections/cisco.ios/issues/345).

Bugfixes
--------

- Add support for autoconfig and dhcp keywords for IPv6 addresses in l3_interfaces (https://github.com/ansible-collections/cisco.ios/pull/269).
- Reordering names of interface for proper value assignment
- fixes Serial interface configuration for l3_interfaces module and Unit Test cases added.
- fixes banner module with new attribute introduced
- fixes soft_reconfiguration and prefix_list command formation.

v2.2.0
======

Minor Changes
-------------

- Add ios_logging_global module.
- IOS Prefix list resource module.

Bugfixes
--------

- Fix IOS bgp global RM tracback while there's no bestpath/nopeerup_delay configured.
- Fix logging commands for v12 versions (https://github.com/ansible-collections/cisco.ios/issues/207).
- To fix IOS vlans RM where traceback was thrown if show vlan wasn't supported on the device and also fix replace and overridden state behaviour.
- To fix Spelling glitch.
- To fix ios acls overridden and replaced state of their inconsistent behaviour (https://github.com/ansible-collections/cisco.ios/issues/250).
- To fix ios_bgp_address_family neighbor next_hop_self param (https://github.com/ansible-collections/cisco.ios/issues/319).

New Modules
-----------

- ios_logging_global - Resource module to configure logging.
- ios_prefix_lists - Resource module to configure prefix lists.

v2.1.0
======

Minor Changes
-------------

- Add ios_route_maps Resource Module (https://github.com/ansible-collections/cisco.ios/pull/297).
- Add support for ansible_network_resources key allows to fetch the available resources for a platform (https://github.com/ansible-collections/cisco.ios/pull/292).

Security Fixes
--------------

- To fix Cisco IOS no log issue and add ignore txt for 2.12 (https://github.com/ansible-collections/cisco.ios/pull/304).

Bugfixes
--------

- To fix the wrong arg being passed in acls template function (https://github.com/ansible-collections/cisco.ios/pull/305).

New Modules
-----------

- ios_route_maps - Resource module to configure route maps.

v2.0.1
======

Minor Changes
-------------

- Remove tests/sanity/requirements.txt (https://github.com/ansible-collections/cisco.ios/pull/261).

Bugfixes
--------

- Doc update to update users WRT to idempotence issue in ios_logging when logging is ON (https://github.com/ansible-collections/cisco.ios/pull/287).
- PR to fix ios_l2_interfaces issue where it wasn't working with range of vlans as expected (https://github.com/ansible-collections/cisco.ios/pull/264).
- To add support for TwoGigabitEthernet interface option from IOS standpoint (https://github.com/ansible-collections/cisco.ios/pull/262).
- To fix ios_acls Nonetype error when aces are empty (https://github.com/ansible-collections/cisco.ios/pull/260).
- To fix ios_acls log and log_input params (https://github.com/ansible-collections/cisco.ios/pull/265).
- To fix ios_acls resource module acl_name traceback over some switches (https://github.com/ansible-collections/cisco.ios/pull/285).
- To fix ios_vlans traceback error when empty line with just Ports information is available in config (https://github.com/ansible-collections/cisco.ios/pull/273).

v2.0.0
======

Major Changes
-------------

- Please refer to ansible.netcommon `changelog <https://github.com/ansible-collections/ansible.netcommon/blob/main/changelogs/CHANGELOG.rst#ansible-netcommon-collection-release-notes>`_ for more details.
- Requires ansible.netcommon v2.0.0+ to support ansible_network_single_user_mode and ansible_network_import_modules.

Minor Changes
-------------

- Add ios_bgp_address_family Resource Module. (https://github.com/ansible-collections/cisco.ios/pull/219).
- Adds support for single_user_mode command output caching. (https://github.com/ansible-collections/cisco.ios/pull/204).

Bugfixes
--------

- To fix ios_acls parsed state example under module doc (https://github.com/ansible-collections/cisco.ios/pull/244).
- fix error when comparing two vlan using string instead of the int value (https://github.com/ansible-collections/cisco.ios/pull/249).

New Modules
-----------

- ios_bgp_address_family - Resource module to configure BGP Address family.

v1.3.0
======

Minor Changes
-------------

- Add ios_bgp_global module.

Bugfixes
--------

- Add support size and df_bit options for ios_ping (https://github.com/ansible-collections/cisco.ios/pull/228).
- IOS resource modules minor doc updates (https://github.com/ansible-collections/cisco.ios/pull/233).
- IOS_CONFIG, incorrectly claims success when Command Rejected (https://github.com/ansible-collections/cisco.ios/pull/215).
- To fix ios_static_routes facts parsing in presence of interface (https://github.com/ansible-collections/cisco.ios/pull/225).
- Update doc to clarify on input config pattern (https://github.com/ansible-collections/cisco.ios/pull/220).
- Updating ios acls module to use newer CLI RM approach to resolve all of the ACL related bugs (https://github.com/ansible-collections/cisco.ios/pull/211).

New Modules
-----------

- ios_bgp_global - Resource module to configure BGP.

v1.2.1
======

Bugfixes
--------

- Add version key to galaxy.yaml to work around ansible-galaxy bug.
- To fix ios_ospf_interfaces resource module authentication param behaviour (https://github.com/ansible-collections/cisco.ios/issues/209).

v1.2.0
======

Minor Changes
-------------

- Add ios_ospf_interfaces module.

Bugfixes
--------

- To enable ios ospfv3 integration tests (https://github.com/ansible-collections/cisco.ios/pull/165).
- To fix IOS static routes idempotency issue coz of netmask to cidr conversion (https://github.com/ansible-collections/cisco.ios/pull/177).
- To fix ios_static_routes where interface ip route-cache config was being parsed and resulted traceback (https://github.com/ansible-collections/cisco.ios/pull/176).
- To fix ios_vlans traceback bug when the name had Remote in it and added unit TC for the module (https://github.com/ansible-collections/cisco.ios/pull/179).
- To fix the traceback issue for longer vlan name having more than 32 characters (https://github.com/ansible-collections/cisco.ios/pull/182).

New Modules
-----------

- ios_ospf_interfaces - Resource module to configure OSPF interfaces.

v1.1.0
======

Minor Changes
-------------

- Add ios_ospfv3 module.

Bugfixes
--------

- Add support for interface type Virtual-Template (https://github.com/ansible-collections/cisco.ios/pull/154).
- Added support for interface Tunnel (https://github.com/ansible-collections/cisco.ios/pull/145).
- Fix element type of ios_command's command parameter (https://github.com/ansible-collections/cisco.ios/pull/151).
- To fix the incorrect command displayed under ios_l3_interfaces resource module docs (https://github.com/ansible-collections/cisco.ios/pull/149).

New Modules
-----------

- ios_ospfv3 - Resource module to configure OSPFv3.

v1.0.3
======

Release Summary
---------------

Releasing 1.0.3 with updated readme with changelog link, galaxy description, and bugfix.

Bugfixes
--------

- To fix IOS l2 interfaces for traceback error and merge operation not working as expected (https://github.com/ansible-collections/cisco.ios/pull/103).
- To fix the issue where ios acls was complaining in absence of protocol option value (https://github.com/ansible-collections/cisco.ios/pull/124).

v1.0.2
======

Release Summary
---------------

Re-releasing 1.0.1 with updated changelog.

v1.0.1
======

Minor Changes
-------------

- Removes IOS sanity ignores and sync for argspec and docstring (https://github.com/ansible-collections/cisco.ios/pull/114).
- Updated docs.

Bugfixes
--------

- Make src, backup and backup_options in ios_config work when module alias is used (https://github.com/ansible-collections/cisco.ios/pull/107).

v1.0.0
======

New Plugins
-----------

Cliconf
~~~~~~~

- ios - Use ios cliconf to run command on Cisco IOS platform

New Modules
-----------

- ios_acl_interfaces - Resource module to configure ACL interfaces.
- ios_acls - Resource module to configure ACLs.
- ios_banner - Module to configure multiline banners.
- ios_command - Module to run commands on remote devices.
- ios_config - Module to manage configuration sections.
- ios_facts - Module to collect facts from remote devices.
- ios_interfaces - Resource module to configure interfaces.
- ios_l2_interfaces - Resource module to configure L2 interfaces.
- ios_l3_interfaces - Resource module to configure L3 interfaces.
- ios_lacp - Resource module to configure LACP.
- ios_lacp_interfaces - Resource module to configure LACP interfaces.
- ios_lag_interfaces - Resource module to configure LAG interfaces.
- ios_linkagg - Module to configure link aggregation groups.
- ios_lldp - (deprecated, removed after 2024-06-01) Manage LLDP configuration on Cisco IOS network devices.
- ios_lldp_global - Resource module to configure LLDP.
- ios_lldp_interfaces - Resource module to configure LLDP interfaces.
- ios_ospfv2 - Resource module to configure OSPFv2.
- ios_ping - Tests reachability using ping from IOS switch.
- ios_static_routes - Resource module to configure static routes.
- ios_system - Module to manage the system attributes.
- ios_user - Module to manage the aggregates of local users.
- ios_vlans - Resource module to configure VLANs.
- ios_vrf - Module to configure VRF definitions.
