diff --git a/9/CHANGELOG-v9.md b/9/CHANGELOG-v9.md new file mode 100644 index 0000000000..889df1ad67 --- /dev/null +++ b/9/CHANGELOG-v9.md @@ -0,0 +1,5275 @@ +# Ansible 9 Release Notes + +This changelog describes changes since Ansible 8\.0\.0\. + +- v9\.2\.0 + - Release Summary + - Added Collections + - Ansible\-core + - Changed Collections + - Major Changes + - Minor Changes + - Deprecated Features + - Security Fixes + - Bugfixes + - Known Issues + - New Plugins + - New Modules + - Unchanged Collections +- v9\.1\.0 + - Release Summary + - Ansible\-core + - Changed Collections + - Minor Changes + - Breaking Changes / Porting Guide + - Security Fixes + - Bugfixes + - Known Issues + - New Plugins + - New Modules + - Unchanged Collections +- v9\.0\.1 + - Release Summary + - Ansible\-core + - Bugfixes + - Unchanged Collections +- v9\.0\.0 + - Release Summary + - Removed Collections + - Added Collections + - Ansible\-core + - Included Collections + - Major Changes + - Minor Changes + - Breaking Changes / Porting Guide + - Deprecated Features + - Removed Features \(previously deprecated\) + - Security Fixes + - Bugfixes + - Known Issues + - New Plugins + - New Modules + - New Roles + - Unchanged Collections + + +## v9\.2\.0 + +- Release Summary +- Added Collections +- Ansible\-core +- Changed Collections +- Major Changes + - community\.docker + - community\.hashi\_vault + - dellemc\.openmanage + - infoblox\.nios\_modules +- Minor Changes + - amazon\.aws + - check\_point\.mgmt + - cisco\.ise + - cisco\.meraki + - community\.aws + - community\.crypto + - community\.digitalocean + - community\.dns + - community\.docker + - community\.general + - community\.hrobot + - community\.postgresql + - community\.routeros + - community\.vmware + - community\.zabbix + - dellemc\.enterprise\_sonic + - dellemc\.openmanage + - grafana\.grafana + - ibm\.storage\_virtualize + - netapp\.ontap + - netbox\.netbox + - purestorage\.flasharray + - purestorage\.flashblade + - vultr\.cloud +- Deprecated Features + - community\.dns + - community\.docker + - community\.general + - community\.hrobot +- Security Fixes + - Ansible\-core +- Bugfixes + - Ansible\-core + - amazon\.aws + - check\_point\.mgmt + - cisco\.meraki + - community\.aws + - community\.crypto + - community\.digitalocean + - community\.dns + - community\.docker + - community\.general + - community\.postgresql + - community\.sap\_libs + - community\.vmware + - community\.zabbix + - dellemc\.enterprise\_sonic + - dellemc\.openmanage + - fortinet\.fortimanager + - infoblox\.nios\_modules + - netapp\.ontap + - netbox\.netbox + - purestorage\.flasharray + - purestorage\.flashblade + - vultr\.cloud +- Known Issues + - dellemc\.openmanage +- New Plugins + - Connection + - Filter + - Lookup +- New Modules + - check\_point\.mgmt + - community\.digitalocean + - community\.docker + - community\.general + - dellemc\.enterprise\_sonic + - dellemc\.openmanage + - infoblox\.nios\_modules + - netapp\.ontap + - purestorage\.flashblade + - vultr\.cloud +- Unchanged Collections + + +### Release Summary + +Release Date\: 2024\-01\-30 + +[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html) + + +### Added Collections + +* community\.library\_inventory\_filtering\_v1 \(version 1\.0\.0\) + + +### Ansible\-core + +Ansible 9\.2\.0 contains ansible\-core version 2\.16\.3\. +This is a newer version than version 2\.16\.1 contained in the previous Ansible release\. + +The changes are reported in the combined changelog below\. + + +### Changed Collections + +If not mentioned explicitly\, the changes are reported in the combined changelog below\. + +| Collection | Ansible 9.1.0 | Ansible 9.2.0 | Notes | +| ---------------------------------------- | ------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| amazon.aws | 7.0.0 | 7.2.0 | | +| awx.awx | 23.5.0 | 23.6.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| check_point.mgmt | 5.1.1 | 5.2.2 | | +| cisco.dnac | 6.8.1 | 6.10.2 | The collection did not have a changelog in this version. | +| cisco.intersight | 2.0.3 | 2.0.7 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| cisco.ise | 2.6.2 | 2.7.0 | | +| cisco.meraki | 2.16.16 | 2.17.2 | | +| community.aws | 7.0.0 | 7.1.0 | | +| community.crypto | 2.16.1 | 2.17.1 | | +| community.digitalocean | 1.24.0 | 1.26.0 | | +| community.dns | 2.6.4 | 2.8.0 | | +| community.docker | 3.4.11 | 3.7.0 | | +| community.general | 8.1.0 | 8.3.0 | | +| community.grafana | 1.6.1 | 1.7.0 | The collection did not have a changelog in this version. | +| community.hashi_vault | 6.0.0 | 6.1.0 | | +| community.hrobot | 1.8.2 | 1.9.0 | | +| community.library_inventory_filtering_v1 | | 1.0.0 | The collection was added to Ansible | +| community.postgresql | 3.2.0 | 3.3.0 | | +| community.routeros | 2.11.0 | 2.12.0 | | +| community.sap_libs | 1.4.1 | 1.4.2 | | +| community.vmware | 4.0.1 | 4.1.0 | | +| community.zabbix | 2.2.0 | 2.3.1 | | +| cyberark.pas | 1.0.23 | 1.0.25 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| dellemc.enterprise_sonic | 2.2.0 | 2.4.0 | | +| dellemc.openmanage | 8.5.0 | 8.7.0 | | +| fortinet.fortimanager | 2.3.0 | 2.3.1 | | +| grafana.grafana | 2.2.3 | 2.2.4 | | +| ibm.storage_virtualize | 2.1.0 | 2.2.0 | | +| infoblox.nios_modules | 1.5.0 | 1.6.1 | | +| netapp.ontap | 22.8.3 | 22.9.0 | | +| netbox.netbox | 3.15.0 | 3.16.0 | | +| purestorage.flasharray | 1.24.0 | 1.26.0 | | +| purestorage.flashblade | 1.14.0 | 1.15.0 | | +| vultr.cloud | 1.10.1 | 1.12.1 | | + + +### Major Changes + + +#### community\.docker + +* The community\.docker collection now depends on the community\.library\_inventory\_filtering\_v1 collection\. This utility collection provides host filtering functionality for inventory plugins\. If you use the Ansible community package\, both collections are included and you do not have to do anything special\. If you install the collection with ansible\-galaxy collection install\, it will be installed automatically\. If you install the collection by copying the files of the collection to a place where ansible\-core can find it\, for example by cloning the git repository\, you need to make sure that you also have to install the dependency if you are using the inventory plugins \([https\://github\.com/ansible\-collections/community\.docker/pull/698](https\://github\.com/ansible\-collections/community\.docker/pull/698)\)\. + + +#### community\.hashi\_vault + +* requirements \- the requests package which is required by hvac now has a more restrictive range for this collection in certain use cases due to breaking security changes in ansible\-core that were backported \([https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/416](https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/416)\)\. + + +#### dellemc\.openmanage + +* All OME modules are enhanced to support the environment variables OME\_USERNAME and OME\_PASSWORD as fallback for credentials\. +* All iDRAC and Redfish modules are enhanced to support the environment variables IDRAC\_USERNAME and IDRAC\_PASSWORD as fallback for credentials\. +* idrac\_certificates \- The module is enhanced to support the import and export of CUSTOMCERTIFICATE\. +* idrac\_gather\_facts \- This role is enhanced to support secure boot\. +* idrac\_license \- The module is introduced to configure iDRAC licenses\. + + +#### infoblox\.nios\_modules + +* Upgrade Ansible version support from 2\.13 to 2\.16\. +* Upgrade Python version support from 3\.8 to 3\.10\. + + +### Minor Changes + + +#### amazon\.aws + +* autoscaling\_group \- minor PEP8 whitespace sanity fixes \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1846](https\://github\.com/ansible\-collections/amazon\.aws/pull/1846)\)\. +* ec2\_ami\_info \- simplify parameters to get\_image\_attribute to only pass ID of image \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1846](https\://github\.com/ansible\-collections/amazon\.aws/pull/1846)\)\. +* ec2\_eip \- use ResourceTags to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\) +* ec2\_instance \- Add support for modifying metadata options of an existing instance \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1918](https\://github\.com/ansible\-collections/amazon\.aws/pull/1918)\)\. +* ec2\_instance \- add support for AdditionalInfo option when creating an instance \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1828](https\://github\.com/ansible\-collections/amazon\.aws/pull/1828)\)\. +* ec2\_security\_group \- use ResourceTags to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1844](https\://github\.com/ansible\-collections/amazon\.aws/pull/1844)\) +* ec2\_vpc\_igw \- use ResourceTags to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\) +* ec2\_vpc\_route\_table \- use ResourceTags to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\) +* ec2\_vpc\_subnet \- the default value for tags has been changed from \{\} to None\, to remove tags from a subnet an empty map must be explicitly passed to the module \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1876](https\://github\.com/ansible\-collections/amazon\.aws/pull/1876)\)\. +* ec2\_vpc\_subnet \- use ResourceTags to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\) +* ec2\_vpc\_subnet \- use wait\_timeout to also control maximum time to wait for initial creation of subnets \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1848](https\://github\.com/ansible\-collections/amazon\.aws/pull/1848)\)\. +* iam\_group \- Basic testing of name and path has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_group \- group\_name has been added as an alias to name for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_group \- add support for setting group path \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1892](https\://github\.com/ansible\-collections/amazon\.aws/pull/1892)\)\. +* iam\_group \- adds attached\_policies return value \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1892](https\://github\.com/ansible\-collections/amazon\.aws/pull/1892)\)\. +* iam\_group \- code refactored to avoid single long function \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1892](https\://github\.com/ansible\-collections/amazon\.aws/pull/1892)\)\. +* iam\_instance\_profile \- Basic testing of name and path has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_instance\_profile \- attempting to change the path for an existing profile will now generate a warning\, previously this was silently ignored \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_instance\_profile \- the prefix parameter has been renamed path for consistency with other IAM modules\, prefix remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_instance\_profile \- the default value for path has been removed\. New instances will still be created with a default path of /\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_managed\_policy \- Basic testing of name and path has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_managed\_policy \- description attempting to update the description now results in a warning\, previously it was simply ignored \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\. +* iam\_managed\_policy \- policy is no longer a required parameter \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\. +* iam\_managed\_policy \- added support for tagging managed policies \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\. +* iam\_managed\_policy \- more consistently perform retries on rate limiting errors \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\. +* iam\_managed\_policy \- support for setting path \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\. +* iam\_managed\_policy \- the policy\_description parameter has been renamed description for consistency with other IAM modules\, policy\_description remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_managed\_policy \- the policy\_name parameter has been renamed name for consistency with other IAM modules\, policy\_name remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_role \- Basic testing of name and path has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_role \- prefix and path\_prefix have been added as aliases to path for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_role \- role\_name has been added as an alias to name for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_role \- attempting to change the path for an existing profile will now generate a warning\, previously this was silently ignored \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_role \- the default value for path has been removed\. New roles will still be created with a default path of /\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_role\_info \- path and prefix have been added as aliases to path\_prefix for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_user \- Basic testing of name and path has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_user \- user\_name has been added as an alias to name for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_user \- add boundary parameter to support managing boundary policy on users \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\. +* iam\_user \- add path parameter to support managing user path \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\. +* iam\_user \- added attached\_policies to return value \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\. +* iam\_user \- refactored code to reduce complexity \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\. +* iam\_user\_info \- prefix has been added as an alias to path\_prefix for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* iam\_user\_info \- the path parameter has been renamed path\_prefix for consistency with other IAM modules\, path remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\. +* rds\_instance\_snapshot \- minor PEP8 whitespace sanity fixes \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1846](https\://github\.com/ansible\-collections/amazon\.aws/pull/1846)\)\. + + +#### check\_point\.mgmt + +* New resource modules for R81\.20 JHF Take 43 +* meta/runtime\.yml \- update minimum Ansible version required to 2\.14\.0\. + + +#### cisco\.ise + +* cisco\.ise collection now supports ansible\.utils v3 + + +#### cisco\.meraki + +* Adding support to ansible\.utils \"\>\=2\.0\.0\, \<4\.00\"\. + + +#### community\.aws + +* aws\_ssm \- Updated the documentation to explicitly state that an S3 bucket is required\, the behavior of the files in that bucket\, and requirements around that\. \([https\://github\.com/ansible\-collections/community\.aws/issues/1775](https\://github\.com/ansible\-collections/community\.aws/issues/1775)\)\. +* cloudfront\_distribution \- added support for cache\_policy\_id and origin\_request\_policy\_id for behaviors \([https\://github\.com/ansible\-collections/community\.aws/pull/1589](https\://github\.com/ansible\-collections/community\.aws/pull/1589)\) +* mq\_broker \- add support to wait for broker state via wait and wait\_timeout parameter values \([https\://github\.com/ansible\-collections/community\.aws/pull/1879](https\://github\.com/ansible\-collections/community\.aws/pull/1879)\)\. + + +#### community\.crypto + +* luks\_device \- add allow discards option \([https\://github\.com/ansible\-collections/community\.crypto/pull/693](https\://github\.com/ansible\-collections/community\.crypto/pull/693)\)\. + + +#### community\.digitalocean + +* digital\_ocean\_kubernetes \- add project\_name parameter \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/264](https\://github\.com/ansible\-collections/community\.digitalocean/issues/264)\)\. +* fix sanity tests \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/323](https\://github\.com/ansible\-collections/community\.digitalocean/issues/323)\)\. + + +#### community\.dns + +* hetzner\_dns\_records and hosttech\_dns\_records inventory plugins \- the filters option has been renamed to simple\_filters\. The old name still works until community\.hrobot 2\.0\.0\. Then it will change to allow more complex filtering with the community\.library\_inventory\_filtering\_v1 collection\'s functionality \([https\://github\.com/ansible\-collections/community\.dns/pull/181](https\://github\.com/ansible\-collections/community\.dns/pull/181)\)\. +* nameserver\_info and nameserver\_record\_info \- add server parameter to specify custom DNS servers \([https\://github\.com/ansible\-collections/community\.dns/pull/168](https\://github\.com/ansible\-collections/community\.dns/pull/168)\, [https\://github\.com/ansible\-collections/community\.dns/pull/178](https\://github\.com/ansible\-collections/community\.dns/pull/178)\)\. +* wait\_for\_txt \- add server parameter to specify custom DNS servers \([https\://github\.com/ansible\-collections/community\.dns/pull/178](https\://github\.com/ansible\-collections/community\.dns/pull/178)\)\. + + +#### community\.docker + +* The ca\_cert option available to almost all modules and plugins has been renamed to ca\_path\. The name ca\_path is also used for similar options in ansible\-core and other collections\. The old name has been added as an alias and can still be used \([https\://github\.com/ansible\-collections/community\.docker/pull/744](https\://github\.com/ansible\-collections/community\.docker/pull/744)\)\. +* The docker\_stack\* modules now use the common CLI\-based module code added for the docker\_image\_build and docker\_compose\_v2 modules\. This means that the modules now have various more configuration options with respect to talking to the Docker Daemon\, and now also are part of the community\.docker\.docker and docker module default groups \([https\://github\.com/ansible\-collections/community\.docker/pull/745](https\://github\.com/ansible\-collections/community\.docker/pull/745)\)\. +* docker\_compose\_v2 \- add scale option to allow to explicitly scale services \([https\://github\.com/ansible\-collections/community\.docker/pull/776](https\://github\.com/ansible\-collections/community\.docker/pull/776)\)\. +* docker\_compose\_v2\, docker\_compose\_v2\_pull \- support files parameter to specify multiple Compose files \([https\://github\.com/ansible\-collections/community\.docker/issues/772](https\://github\.com/ansible\-collections/community\.docker/issues/772)\, [https\://github\.com/ansible\-collections/community\.docker/pull/775](https\://github\.com/ansible\-collections/community\.docker/pull/775)\)\. +* docker\_container \- add networks\[\]\.mac\_address option for Docker API 1\.44\+\. Note that Docker API 1\.44 no longer uses the global mac\_address option\, this new option is the only way to set the MAC address for a container \([https\://github\.com/ansible\-collections/community\.docker/pull/763](https\://github\.com/ansible\-collections/community\.docker/pull/763)\)\. +* docker\_container \- implement better platform string comparisons to improve idempotency \([https\://github\.com/ansible\-collections/community\.docker/issues/654](https\://github\.com/ansible\-collections/community\.docker/issues/654)\, [https\://github\.com/ansible\-collections/community\.docker/pull/705](https\://github\.com/ansible\-collections/community\.docker/pull/705)\)\. +* docker\_container \- internal refactorings which allow comparisons to use more information like details of the current image or the Docker host config \([https\://github\.com/ansible\-collections/community\.docker/pull/713](https\://github\.com/ansible\-collections/community\.docker/pull/713)\)\. +* docker\_image \- allow to specify labels and /dev/shm size when building images \([https\://github\.com/ansible\-collections/community\.docker/issues/726](https\://github\.com/ansible\-collections/community\.docker/issues/726)\, [https\://github\.com/ansible\-collections/community\.docker/pull/727](https\://github\.com/ansible\-collections/community\.docker/pull/727)\)\. +* docker\_image \- allow to specify memory size and swap memory size in other units than bytes \([https\://github\.com/ansible\-collections/community\.docker/pull/727](https\://github\.com/ansible\-collections/community\.docker/pull/727)\)\. +* inventory plugins \- add filter option which allows to include and exclude hosts based on Jinja2 conditions \([https\://github\.com/ansible\-collections/community\.docker/pull/698](https\://github\.com/ansible\-collections/community\.docker/pull/698)\, [https\://github\.com/ansible\-collections/community\.docker/issues/610](https\://github\.com/ansible\-collections/community\.docker/issues/610)\)\. + + +#### community\.general + +* consul\_auth\_method\, consul\_binding\_rule\, consul\_policy\, consul\_role\, consul\_session\, consul\_token \- added action group community\.general\.consul \([https\://github\.com/ansible\-collections/community\.general/pull/7897](https\://github\.com/ansible\-collections/community\.general/pull/7897)\)\. +* consul\_policy \- added support for diff and check mode \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\. +* consul\_policy\, consul\_role\, consul\_session \- removed dependency on requests and factored out common parts \([https\://github\.com/ansible\-collections/community\.general/pull/7826](https\://github\.com/ansible\-collections/community\.general/pull/7826)\, [https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\. +* consul\_role \- node\_identities now expects a node\_name option to match the Consul API\, the old name is still supported as alias \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\. +* consul\_role \- service\_identities now expects a service\_name option to match the Consul API\, the old name is still supported as alias \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\. +* consul\_role \- added support for diff mode \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\. +* consul\_role \- added support for templated policies \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\. +* ipa\_dnsrecord \- adds ability to manage NS record types \([https\://github\.com/ansible\-collections/community\.general/pull/7737](https\://github\.com/ansible\-collections/community\.general/pull/7737)\)\. +* ipa\_pwpolicy \- refactor module and exchange a sequence if statements with a for loop \([https\://github\.com/ansible\-collections/community\.general/pull/7723](https\://github\.com/ansible\-collections/community\.general/pull/7723)\)\. +* ipa\_pwpolicy \- update module to support maxrepeat\, maxsequence\, dictcheck\, usercheck\, gracelimit parameters in FreeIPA password policies \([https\://github\.com/ansible\-collections/community\.general/pull/7723](https\://github\.com/ansible\-collections/community\.general/pull/7723)\)\. +* keycloak\_realm\_key \- the config\.algorithm option now supports 8 additional key algorithms \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\. +* keycloak\_realm\_key \- the config\.certificate option value is no longer defined with no\_log\=True \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\. +* keycloak\_realm\_key \- the provider\_id option now supports RSA encryption key usage \(value rsa\-enc\) \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\. +* keycloak\_user\_federation \- allow custom user storage providers to be set through provider\_id \([https\://github\.com/ansible\-collections/community\.general/pull/7789](https\://github\.com/ansible\-collections/community\.general/pull/7789)\)\. +* mail \- add Message\-ID header\; which is required by some mail servers \([https\://github\.com/ansible\-collections/community\.general/pull/7740](https\://github\.com/ansible\-collections/community\.general/pull/7740)\)\. +* mail module\, mail callback plugin \- allow to configure the domain name of the Message\-ID header with a new message\_id\_domain option \([https\://github\.com/ansible\-collections/community\.general/pull/7765](https\://github\.com/ansible\-collections/community\.general/pull/7765)\)\. +* redfish\_info \- add command GetServiceIdentification to get service identification \([https\://github\.com/ansible\-collections/community\.general/issues/7882](https\://github\.com/ansible\-collections/community\.general/issues/7882)\)\. +* ssh\_config \- new feature to set AddKeysToAgent option to yes or no \([https\://github\.com/ansible\-collections/community\.general/pull/7703](https\://github\.com/ansible\-collections/community\.general/pull/7703)\)\. +* ssh\_config \- new feature to set IdentitiesOnly option to yes or no \([https\://github\.com/ansible\-collections/community\.general/pull/7704](https\://github\.com/ansible\-collections/community\.general/pull/7704)\)\. +* terraform \- add support for diff\_mode for terraform resource\_changes \([https\://github\.com/ansible\-collections/community\.general/pull/7896](https\://github\.com/ansible\-collections/community\.general/pull/7896)\)\. +* xcc\_redfish\_command \- added support for raw POSTs \(command\=PostResource in category\=Raw\) without a specific action info \([https\://github\.com/ansible\-collections/community\.general/pull/7746](https\://github\.com/ansible\-collections/community\.general/pull/7746)\)\. + + +#### community\.hrobot + +* robot inventory plugin \- the filters option has been renamed to simple\_filters\. The old name still works until community\.hrobot 2\.0\.0\. Then it will change to allow more complex filtering with the community\.library\_inventory\_filtering\_v1 collection\'s functionality \([https\://github\.com/ansible\-collections/community\.hrobot/pull/94](https\://github\.com/ansible\-collections/community\.hrobot/pull/94)\)\. + + +#### community\.postgresql + +* postgresql\_db \- add the comment argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/614](https\://github\.com/ansible\-collections/community\.postgresql/issues/614)\)\. +* postgresql\_ext \- add the comment argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\. +* postgresql\_publication \- add the comment argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\. +* postgresql\_schema \- add the comment argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\. +* postgresql\_subscription \- add the comment argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\. +* postgresql\_tablespace \- add the comment argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\. + + +#### community\.routeros + +* api\_info\, api\_modify \- add interface ovpn\-client path \([https\://github\.com/ansible\-collections/community\.routeros/issues/242](https\://github\.com/ansible\-collections/community\.routeros/issues/242)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/244](https\://github\.com/ansible\-collections/community\.routeros/pull/244)\)\. +* api\_info\, api\_modify \- add radius path \([https\://github\.com/ansible\-collections/community\.routeros/issues/241](https\://github\.com/ansible\-collections/community\.routeros/issues/241)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/245](https\://github\.com/ansible\-collections/community\.routeros/pull/245)\)\. +* api\_info\, api\_modify \- add routing rule path \([https\://github\.com/ansible\-collections/community\.routeros/issues/162](https\://github\.com/ansible\-collections/community\.routeros/issues/162)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/246](https\://github\.com/ansible\-collections/community\.routeros/pull/246)\)\. +* api\_info\, api\_modify \- add missing path routing bgp template \([https\://github\.com/ansible\-collections/community\.routeros/pull/243](https\://github\.com/ansible\-collections/community\.routeros/pull/243)\)\. +* api\_info\, api\_modify \- add support for the tx\-power attribute in interface wireless \([https\://github\.com/ansible\-collections/community\.routeros/pull/239](https\://github\.com/ansible\-collections/community\.routeros/pull/239)\)\. +* api\_info\, api\_modify \- removed host primary key in tool netwatch path \([https\://github\.com/ansible\-collections/community\.routeros/pull/248](https\://github\.com/ansible\-collections/community\.routeros/pull/248)\)\. +* api\_modify\, api\_info \- added support for interface wifiwave2 \([https\://github\.com/ansible\-collections/community\.routeros/pull/226](https\://github\.com/ansible\-collections/community\.routeros/pull/226)\)\. + + +#### community\.vmware + +* vmware\_guest \- Add IPv6 support for VM network interfaces \([https\://github\.com/ansible\-collections/community\.vmware/pull/1937](https\://github\.com/ansible\-collections/community\.vmware/pull/1937)\)\. +* vmware\_guest\_sendkey \- Add Windows key \([https\://github\.com/ansible\-collections/community\.vmware/issues/1959](https\://github\.com/ansible\-collections/community\.vmware/issues/1959)\)\. +* vmware\_guest\_tools\_upgrade \- Add parameter installer\_options to pass command line options to the installer to modify the installation procedure for tools \([https\://github\.com/ansible\-collections/community\.vmware/pull/1059](https\://github\.com/ansible\-collections/community\.vmware/pull/1059)\)\. + + +#### community\.zabbix + +* api\_requests \- Handled error from depricated CertificateError class +* multiple roles \- Removed unneeded Apt Clean commands\. +* proxy role \- Updated MariaDB version for Centos 7 to 10\.11 +* zabbix web \- Allowed the independent configuration of php\-fpm without creating vhost\. +* zabbix\_host\_info \- added ability to get all the hosts configured in Zabbix +* zabbix\_proxy role \- Add variable zabbix\_proxy\_dbpassword\_hash\_method to control whether you want postgresql user password to be hashed with md5 or want to use db default\. When zabbix\_proxy\_dbpassword\_hash\_method is set to anything other than md5 then do not hash the password with md5 so you could use postgresql scram\-sha\-256 hashing method\. +* zabbix\_server role \- Add variable zabbix\_server\_dbpassword\_hash\_method to control whether you want postgresql user password to be hashed with md5 or want to use db default\. When zabbix\_server\_dbpassword\_hash\_method is set to anything other than md5 then do not hash the password with md5 so you could use postgresql scram\-sha\-256 hashing method\. +* zabbix\_templategroup module added + + +#### dellemc\.enterprise\_sonic + +* sonic\_aaa \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304)\)\. +* sonic\_aaa \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_acl\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306)\)\. +* sonic\_acl\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_bgp\_as\_paths \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/290](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/290)\)\. +* sonic\_bgp\_communities \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/251](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/251)\)\. +* sonic\_bgp\_ext\_communities \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/252](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/252)\)\. +* sonic\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301)\)\. +* sonic\_interfaces \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\. +* sonic\_interfaces \- Change deleted design for interfaces module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/310](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/310)\)\. +* sonic\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_ip\_neighbor \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285)\)\. +* sonic\_ip\_neighbor \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_l2\_acls \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306)\)\. +* sonic\_l2\_acls \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_l2\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303)\)\. +* sonic\_l2\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_l3\_acls \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306)\)\. +* sonic\_l3\_acls \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_l3\_interfaces \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/241](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/241)\)\. +* sonic\_lag\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303)\)\. +* sonic\_lag\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_logging \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285)\)\. +* sonic\_logging \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_mclag \- Add VLAN range support for \'unique\_ip\' and \'peer\_gateway\' options \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288)\)\. +* sonic\_mclag \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288)\)\. +* sonic\_ntp \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281)\)\. +* sonic\_ntp \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_port\_breakout \- Add Ansible support for all port breakout modes now allowed in Enterprise SONiC \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/276](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/276)\)\. +* sonic\_port\_breakout \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/291](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/291)\)\. +* sonic\_port\_group \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284)\)\. +* sonic\_port\_group \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_radius\_server \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/279](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/279)\)\. +* sonic\_radius\_server \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_static\_routes \- Add playbook check and diff modes support for static routes resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/313](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/313)\)\. +* sonic\_static\_routes \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_system \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284)\)\. +* sonic\_system \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_tacacs\_server \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281)\)\. +* sonic\_tacacs\_server \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_users \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304)\)\. +* sonic\_users \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_vlans \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301)\)\. +* sonic\_vlans \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* sonic\_vrfs \- Add mgmt VRF replaced state handling to sonic\_vrfs module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/298](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/298)\)\. +* sonic\_vrfs \- Add mgmt VRF support to sonic\_vrfs module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/293](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/293)\)\. +* sonic\_vrfs \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285)\)\. +* sonic\_vrfs \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\. +* tests \- Add UTs for BFD\, COPP\, and MAC modules \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/287](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/287)\)\. +* tests \- Enable contiguous execution of all regression integration tests on an S5296f \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/277](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/277)\)\. +* tests \- Fix the bgp CLI test base\_cfg\_path derivation of the bgp role\_path by avoiding relative pathing from the possibly external playbook\_dir \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/283](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/283)\)\. + + +#### dellemc\.openmanage + +* For idrac\_certificate role\, added support for import operation of HTTPS certificate with the SSL key\. +* For idrac\_certificates module\, below enhancements are made\: Added support for import operation of HTTPS certificate with the SSL key\. The email\_address has been made as an optional parameter\. +* For idrac\_gather\_facts role\, added storage controller details in the role output\. + + +#### grafana\.grafana + +* Bump cryptography from 41\.0\.4 to 41\.0\.6 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/126](https\://github\.com/grafana/grafana\-ansible\-collection/pull/126) +* Drop curl check by \@v\-zhuravlev in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/120](https\://github\.com/grafana/grafana\-ansible\-collection/pull/120) +* Fix check mode for grafana role by \@Boschung\-Mecatronic\-AG\-Infrastructure in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/125](https\://github\.com/grafana/grafana\-ansible\-collection/pull/125) +* Fix check mode in Grafana Agent by \@AmandaCameron in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/124](https\://github\.com/grafana/grafana\-ansible\-collection/pull/124) +* Update tags in README by \@ishanjainn in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/121](https\://github\.com/grafana/grafana\-ansible\-collection/pull/121) + + +#### ibm\.storage\_virtualize + +* ibm\_sv\_manage\_replication\_policy \- Added support to configure a 2\-site\-ha policy\. +* ibm\_sv\_manage\_snapshot \- Added support to restore entire volumegroup from a snapshot of that volumegroup\. +* ibm\_svc\_host \- Added support to create nvmetcp host\. +* ibm\_svc\_info \- Added support to display information about thinclone/clone volumes and volumegroups\. +* ibm\_svc\_manage\_volumgroup \- Added support to delete volumegroups keeping volumes via \'evictvolumes\'\. + + +#### netapp\.ontap + +* na\_ontap\_cifs\_server \- new option lm\_compatibility\_level added in REST\, requires ONTAP 9\.8 or later\. +* na\_ontap\_cluster \- new option certificate\.uuid added in REST\, requires ONTAP 9\.10 or later\. +* na\_ontap\_cluster\_peer \- added REST only support for modifying remote intercluster addresses in cluster peer relation\. +* na\_ontap\_ems\_destination \- new options syslog\, port\, transport\, message\_format\, timestamp\_format\_override and hostname\_format\_override added in REST\, requires ONTAP 9\.12\.1 or later\. +* na\_ontap\_s3\_services \- create\, modify S3 service returns s3\_service\_info in module output\. +* na\_ontap\_snapmirror \- updated resync and resume operation for synchronous snapmirror relationship in REST\. + + +#### netbox\.netbox + +* nb\_inventory \- Add facility group\_by option \[\#1059\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1059](https\://github\.com/netbox\-community/ansible\_modules/pull/1059)\) +* nb\_inventory \- Enable ansible\-vault strings in config\-context data \[\#1114\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1114](https\://github\.com/netbox\-community/ansible\_modules/pull/1114)\) +* netbox\_platform \- Add config\_template option to netbox\_platform \[\#1119\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1119](https\://github\.com/netbox\-community/ansible\_modules/pull/1119)\) +* netbox\_power\_port\_template \- Add option module\_type to netbox\_power\_port\_template \[\#1105\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1105](https\://github\.com/netbox\-community/ansible\_modules/pull/1105)\) + + +#### purestorage\.flasharray + +* all \- distro package added as a pre\-requisite +* multiple \- Remove packaging pre\-requisite\. +* multiple \- Where only REST 2\.x endpoints are used\, convert to REST 2\.x methodology\. +* purefa\_info \- Expose NFS security flavor for policies +* purefa\_info \- Expose cloud capacity details if array is a Cloud Block Store\. +* purefa\_policy \- Add SMB user based enumeration parameter +* purefa\_policy \- Added NFS security flavors for accessing files in the mount point\. +* purefa\_policy \- Remove default setting for nfs\_version to allow for change of version at policy level + + +#### purestorage\.flashblade + +* purefb\_bucket \- Add support for public buckets +* purefb\_bucket \- From REST 2\.12 the mode parameter default changes to multi\-site\-writable\. +* purefb\_fs \- Added SMB Continuous Availability parameter\. Requires REST 2\.12 or higher\. +* purefb\_info \- Added enhanced information for buckets\, filesystems and snapshots\, based on new features in REST 2\.12 +* purefb\_s3acc \- Add support for public buckets +* purefb\_s3acc \- Remove default requirements for hard\_limit and default\_hard\_limit + + +#### vultr\.cloud + +* Added retry on HTTP 504 returned by the API \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/104](https\://github\.com/vultr/ansible\-collection\-vultr/pull/104)\)\. +* Implemented a feature to distinguish resources by region if available\. This allows to have identical name per region e\.g\. a VPC named default in each region\. \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/98](https\://github\.com/vultr/ansible\-collection\-vultr/pull/98)\)\. +* instance \- Added a new param user\_scheme to change user scheme to non\-root on Linux while creating the instance \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/96](https\://github\.com/vultr/ansible\-collection\-vultr/issues/96)\)\. + + +### Deprecated Features + + +#### community\.dns + +* hetzner\_dns\_records and hosttech\_dns\_records inventory plugins \- the filters option has been renamed to simple\_filters\. The old name will stop working in community\.hrobot 2\.0\.0 \([https\://github\.com/ansible\-collections/community\.dns/pull/181](https\://github\.com/ansible\-collections/community\.dns/pull/181)\)\. + + +#### community\.docker + +* docker\_container \- the default ignore for the image\_name\_mismatch parameter has been deprecated and will switch to recreate in community\.docker 4\.0\.0\. A deprecation warning will be printed in situations where the default value is used and where a behavior would change once the default changes \([https\://github\.com/ansible\-collections/community\.docker/pull/703](https\://github\.com/ansible\-collections/community\.docker/pull/703)\)\. + + +#### community\.general + +* consul\_acl \- the module has been deprecated and will be removed in community\.general 10\.0\.0\. consul\_token and consul\_policy can be used instead \([https\://github\.com/ansible\-collections/community\.general/pull/7901](https\://github\.com/ansible\-collections/community\.general/pull/7901)\)\. + + +#### community\.hrobot + +* robot inventory plugin \- the filters option has been renamed to simple\_filters\. The old name will stop working in community\.hrobot 2\.0\.0 \([https\://github\.com/ansible\-collections/community\.hrobot/pull/94](https\://github\.com/ansible\-collections/community\.hrobot/pull/94)\)\. + + +### Security Fixes + + +#### Ansible\-core + +* ANSIBLE\_NO\_LOG \- Address issue where ANSIBLE\_NO\_LOG was ignored \(CVE\-2024\-0690\) + + +### Bugfixes + + +#### Ansible\-core + +* Run all handlers with the same listen topic\, even when notified from another handler \([https\://github\.com/ansible/ansible/issues/82363](https\://github\.com/ansible/ansible/issues/82363)\)\. +* ansible\-galaxy role import \- fix using the role\_name in a standalone role\'s galaxy\_info metadata by disabling automatic removal of the ansible\-role\- prefix\. This matches the behavior of the Galaxy UI which also no longer implicitly removes the ansible\-role\- prefix\. Use the \-\-role\-name option or add a role\_name to the galaxy\_info dictionary in the role\'s meta/main\.yml to use an alternate role name\. +* ansible\-test sanity \-\-test runtime\-metadata \- add action\_plugin as a valid field for modules in the schema \([https\://github\.com/ansible/ansible/pull/82562](https\://github\.com/ansible/ansible/pull/82562)\)\. +* ansible\-config init will now dedupe ini entries from plugins\. +* ansible\-galaxy role import \- exit with 1 when the import fails \([https\://github\.com/ansible/ansible/issues/82175](https\://github\.com/ansible/ansible/issues/82175)\)\. +* ansible\-galaxy role install \- normalize tarfile paths and symlinks using ansible\.utils\.path\.unfrackpath and consider them valid as long as the realpath is in the tarfile\'s role directory \([https\://github\.com/ansible/ansible/issues/81965](https\://github\.com/ansible/ansible/issues/81965)\)\. +* delegate\_to when set to an empty or undefined variable will now give a proper error\. +* dwim functions for lookups should be better at detectging role context even in abscense of tasks/main\. +* roles\, code cleanup and performance optimization of dependencies\, now cached\, and public setting is now determined once\, at role instantiation\. +* roles\, the static property is now correctly set\, this will fix issues with public and DEFAULT\_PRIVATE\_ROLE\_VARS controls on exporting vars\. +* unsafe data \- Address an incompatibility when iterating or getting a single index from AnsibleUnsafeBytes +* unsafe data \- Address an incompatibility with AnsibleUnsafeText and AnsibleUnsafeBytes when pickling with protocol\=0 +* unsafe data \- Enable directly using AnsibleUnsafeText with Python pathlib \([https\://github\.com/ansible/ansible/issues/82414](https\://github\.com/ansible/ansible/issues/82414)\) + + +#### amazon\.aws + +* ec2\_vpc\_subnet \- cleanly handle failure when subnet isn\'t created in time \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1848](https\://github\.com/ansible\-collections/amazon\.aws/pull/1848)\)\. +* iam\_managed\_policy \- fixed an issue where only partial results were returned \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\. +* s3\_object \- Fix typo that caused false deprecation warning when setting overwrite\=latest \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1847](https\://github\.com/ansible\-collections/amazon\.aws/pull/1847)\)\. +* s3\_object \- when doing a put and specifying Content\-Type in metadata\, this module \(since 6\.0\.0\) erroneously set the Content\-Type to None causing the put to fail\. Fix now correctly honours the specified Content\-Type \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1881](https\://github\.com/ansible\-collections/amazon\.aws/issues/1881)\)\. + + +#### check\_point\.mgmt + +* httpapi/checkpoint\.py \- Raise a fatal error if login wasn\'t successful\. + + +#### cisco\.meraki + +* Adding smartquotes \= False to conf\.py and romoving \' from rst files\. +* Adding build\_ignore property to galaxy file\. +* Adding support to ansible\.utils \>\=3\.0 + + +#### community\.aws + +* aws\_ssm \- disable enable\-bracketed\-paste to fix issue with amazon linux 2023 and other OSes \([https\://github\.com/ansible\-collections/community\.aws/issues/1756](https\://github\.com/ansible\-collections/community\.aws/issues/1756)\) + + +#### community\.crypto + +* acme\_\* modules \- directly react on bad return data for account creation/retrieval/updating requests \([https\://github\.com/ansible\-collections/community\.crypto/pull/682](https\://github\.com/ansible\-collections/community\.crypto/pull/682)\)\. +* acme\_\* modules \- fix improved error reporting in case of socket errors\, bad status lines\, and unknown connection errors \([https\://github\.com/ansible\-collections/community\.crypto/pull/684](https\://github\.com/ansible\-collections/community\.crypto/pull/684)\)\. +* acme\_\* modules \- increase number of retries from 5 to 10 to increase stability with unstable ACME endpoints \([https\://github\.com/ansible\-collections/community\.crypto/pull/685](https\://github\.com/ansible\-collections/community\.crypto/pull/685)\)\. +* acme\_\* modules \- make account registration handling more flexible to accept 404 instead of 400 send by DigiCert\'s ACME endpoint when an account does not exist \([https\://github\.com/ansible\-collections/community\.crypto/pull/681](https\://github\.com/ansible\-collections/community\.crypto/pull/681)\)\. +* openssl\_dhparam \- was using an internal function instead of the public API to load DH param files when using the cryptography backend\. The internal function was removed in cryptography 42\.0\.0\. The module now uses the public API\, which has been available since support for DH params was added to cryptography \([https\://github\.com/ansible\-collections/community\.crypto/pull/698](https\://github\.com/ansible\-collections/community\.crypto/pull/698)\)\. +* openssl\_privatekey\_info \- check\_consistency\=true no longer works for RSA keys with cryptography 42\.0\.0\+ \([https\://github\.com/ansible\-collections/community\.crypto/pull/701](https\://github\.com/ansible\-collections/community\.crypto/pull/701)\)\. +* openssl\_privatekey\_info \- check\_consistency\=true now reports a warning if it cannot determine consistency \([https\://github\.com/ansible\-collections/community\.crypto/pull/705](https\://github\.com/ansible\-collections/community\.crypto/pull/705)\)\. + + +#### community\.digitalocean + +* The C\(project\_name\) parameter for many modules was used by alias C\(project\) internally in the codebase\, but to work properly C\(project\_name\) must be used in the code\. Replace self\.module\.params\.get\(\"project\"\) with self\.module\.params\.get\(\"project\_name\"\) \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/326](https\://github\.com/ansible\-collections/community\.digitalocean/issues/326)\)\. +* digital\_ocean\_kubernetes \- module didn\'t return kubeconfig properly\, return documentation was invalid\. Fixed version returns data with the same structure all the time\, also it is aligned with M\(community\.digitalocean\.digital\_ocean\_kubernetes\_info\) documentation return data now\. \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/322](https\://github\.com/ansible\-collections/community\.digitalocean/issues/322)\)\. +* inventory plugin \- restore reading auth token from env variables \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/315](https\://github\.com/ansible\-collections/community\.digitalocean/pull/315)\)\. + + +#### community\.dns + +* Update Public Suffix List\. +* wait\_for\_txt\, nameserver\_info\, nameserver\_record\_info \- when looking up nameservers for a domain\, do not treat NXDOMAIN as a fatal error \([https\://github\.com/ansible\-collections/community\.dns/pull/177](https\://github\.com/ansible\-collections/community\.dns/pull/177)\)\. + + +#### community\.docker + +* Use unix\:///var/run/docker\.sock instead of the legacy unix\://var/run/docker\.sock as default for docker\_host \([https\://github\.com/ansible\-collections/community\.docker/pull/736](https\://github\.com/ansible\-collections/community\.docker/pull/736)\)\. +* docker\_compose\_v2 \- properly parse dry\-run build events from stderr \([https\://github\.com/ansible\-collections/community\.docker/issues/778](https\://github\.com/ansible\-collections/community\.docker/issues/778)\, [https\://github\.com/ansible\-collections/community\.docker/pull/779](https\://github\.com/ansible\-collections/community\.docker/pull/779)\)\. +* docker\_compose\_v2\_pull \- the module was documented as part of the community\.docker\.docker action group\, but was not actually part of it\. That has now been fixed \([https\://github\.com/ansible\-collections/community\.docker/pull/773](https\://github\.com/ansible\-collections/community\.docker/pull/773)\)\. +* docker\_image \- fix archiving idempotency with Docker API 1\.44 or later \([https\://github\.com/ansible\-collections/community\.docker/pull/765](https\://github\.com/ansible\-collections/community\.docker/pull/765)\)\. +* modules and plugins using the Docker SDK for Python \- remove ssl\_version from the parameters passed to Docker SDK for Python 7\.0\.0\+\. Explicitly fail with a nicer error message if it was explicitly set in this case \([https\://github\.com/ansible\-collections/community\.docker/pull/715](https\://github\.com/ansible\-collections/community\.docker/pull/715)\)\. +* modules and plugins using the Docker SDK for Python \- remove tls\_hostname from the parameters passed to Docker SDK for Python 7\.0\.0\+\. Explicitly fail with a nicer error message if it was explicitly set in this case \([https\://github\.com/ansible\-collections/community\.docker/pull/721](https\://github\.com/ansible\-collections/community\.docker/pull/721)\)\. +* vendored Docker SDK for Python \- avoid passing on ssl\_version and tls\_hostname if they were not provided by the user\. Remove dead code\. \([https\://github\.com/ansible\-collections/community\.docker/pull/722](https\://github\.com/ansible\-collections/community\.docker/pull/722)\)\. + + +#### community\.general + +* homebrew \- detect already installed formulae and casks using JSON output from brew info \([https\://github\.com/ansible\-collections/community\.general/issues/864](https\://github\.com/ansible\-collections/community\.general/issues/864)\)\. +* incus connection plugin \- treats inventory\_hostname as a variable instead of a literal in remote connections \([https\://github\.com/ansible\-collections/community\.general/issues/7874](https\://github\.com/ansible\-collections/community\.general/issues/7874)\)\. +* ipa\_otptoken \- the module expect ipatokendisabled as string but the ipatokendisabled value is returned as a boolean \([https\://github\.com/ansible\-collections/community\.general/pull/7795](https\://github\.com/ansible\-collections/community\.general/pull/7795)\)\. +* keycloak\_identity\_provider \- mappers processing was not idempotent if the mappers configuration list had not been sorted by name \(in ascending order\)\. Fix resolves the issue by sorting mappers in the desired state using the same key which is used for obtaining existing state \([https\://github\.com/ansible\-collections/community\.general/pull/7418](https\://github\.com/ansible\-collections/community\.general/pull/7418)\)\. +* keycloak\_identity\_provider \- it was not possible to reconfigure \(add\, remove\) mappers once they were created initially\. Removal was ignored\, adding new ones resulted in dropping the pre\-existing unmodified mappers\. Fix resolves the issue by supplying correct input to the internal update call \([https\://github\.com/ansible\-collections/community\.general/pull/7418](https\://github\.com/ansible\-collections/community\.general/pull/7418)\)\. +* keycloak\_user \- when force is set\, but user does not exist\, do not try to delete it \([https\://github\.com/ansible\-collections/community\.general/pull/7696](https\://github\.com/ansible\-collections/community\.general/pull/7696)\)\. +* ldap \- previously the order number \(if present\) was expected to follow an equals sign in the DN\. This makes it so the order number string is identified correctly anywhere within the DN \([https\://github\.com/ansible\-collections/community\.general/issues/7646](https\://github\.com/ansible\-collections/community\.general/issues/7646)\)\. +* mssql\_script \- make the module work with Python 2 \([https\://github\.com/ansible\-collections/community\.general/issues/7818](https\://github\.com/ansible\-collections/community\.general/issues/7818)\, [https\://github\.com/ansible\-collections/community\.general/pull/7821](https\://github\.com/ansible\-collections/community\.general/pull/7821)\)\. +* nmcli \- fix connection\.slave\-type wired to bond and not with parameter slave\_type in case of connection type wifi \([https\://github\.com/ansible\-collections/community\.general/issues/7389](https\://github\.com/ansible\-collections/community\.general/issues/7389)\)\. +* proxmox \- fix updating a container config if the setting does not already exist \([https\://github\.com/ansible\-collections/community\.general/pull/7872](https\://github\.com/ansible\-collections/community\.general/pull/7872)\)\. +* proxmox\_kvm \- running state\=template will first check whether VM is already a template \([https\://github\.com/ansible\-collections/community\.general/pull/7792](https\://github\.com/ansible\-collections/community\.general/pull/7792)\)\. +* statusio\_maintenance \- fix error caused by incorrectly formed API data payload\. Was raising \"Failed to create maintenance HTTP Error 400 Bad Request\" caused by bad data type for date/time and deprecated dict keys \([https\://github\.com/ansible\-collections/community\.general/pull/7754](https\://github\.com/ansible\-collections/community\.general/pull/7754)\)\. + + +#### community\.postgresql + +* postgresql\_query \- now reports not changed for queries starting with \"SHOW\" \([https\://github\.com/ansible\-collections/community\.postgresql/pull/592](https\://github\.com/ansible\-collections/community\.postgresql/pull/592)\)\. +* postgresql\_user \- module failed when running against an SQL\_ASCII encoded database as the user\'s current password was returned as bytes as opposed to a str\. Fix now checks for this case and decodes the bytes as an ascii encoded string\. \([https\://github\.com/ansible\-collections/community\.postgresql/issues/584](https\://github\.com/ansible\-collections/community\.postgresql/issues/584)\)\. + + +#### community\.sap\_libs + +* fixes failures in sanity test for all modules + + +#### community\.vmware + +* Fix InsecureRequestWarning for modules based on the VmwareRestClient module util when setting validate\_certs to False \([https\://github\.com/ansible\-collections/community\.vmware/pull/1969](https\://github\.com/ansible\-collections/community\.vmware/pull/1969)\)\. +* module\_utils/vmware\.py \- remove ssl\.wrap\_socet\(\) function\. Replaced for code based on ssl\.get\_server\_certificate \([https\://github\.com/ansible\-collections/community\.vmware/issues/1930](https\://github\.com/ansible\-collections/community\.vmware/issues/1930)\)\. +* vmware\_guest \- Fix failure of vm reconfiguration with enabled virt\_based\_security \([https\://github\.com/ansible\-collections/community\.vmware/pull/1848](https\://github\.com/ansible\-collections/community\.vmware/pull/1848)\)\. + + +#### community\.zabbix + +* Avoid to update user\-directory configuration in dry run\. +* api module \- Fixed certificiate errors +* proxy and server roles \- Defaulted location of fping and fping6 based on OS\. +* proxy role \- Removed requirement for mysql group definition\. +* server role \- typo in configuration var StasAllowedIP to StatsAllowedIP +* zabbix\-\{agent\, javagateway\, proxy\, server\, web\} \- support raspberry pi without repository url specification + + +#### dellemc\.enterprise\_sonic + +* requirements \- Update requires\_ansible version in meta/runtime\.yml to the oldest supported version \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/321](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/321)\)\. +* sonic\_bgp\_communities \- Fix incorrect \"facts\" handling for parsing of a BGP community list configured with an empty \"members\" list \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/319](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/319)\)\. +* sonic\_bgp\_neighbors \- Fix prefix\-limit issue \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/289](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/289)\)\. +* sonic\_interfaces \- Add warnings when speed and auto\_negotiate is configured at same time \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\. +* sonic\_interfaces \- Fix support for standard naming interfaces \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\. +* sonic\_interfaces \- Prevent configuring speed in port group interfaces \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\. +* sonic\_stp \- Correct the commands list for STP delete state \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/302](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/302)\)\. + + +#### dellemc\.openmanage + +* Fixed the issue for ignoring the environment variable NO\_PROXY earlier\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/554](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/554)\) +* For idrac\_certificates module\, the email\_address has been made as an optional parameter\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/582](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/582)\)\. +* Issue is fixed for deploying a new configuration on quick deploy slot when IPv6 is disabled\.\([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/533](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/533)\) + + +#### fortinet\.fortimanager + +* Added missing enum values for some arguments\. +* Change minimum required ansible\-core version to 2\.14\.0 +* Fixed a bug where ansible may skip update incorrectly\. +* Support FortiManager 7\.0\.10 + + +#### infoblox\.nios\_modules + +* Fixes environment variable max\_results using INFOBLOX\_MAX\_RESULTS [\#209](https\://github\.com/infobloxopen/infoblox\-ansible/pull/209) +* Fixes index error for transform fields in DTC LBDN \(auth\_zone and Pool\) and DTC POOL \(servers and monitors\) [\#209](https\://github\.com/infobloxopen/infoblox\-ansible/pull/209) +* Fixes typo for environment variable INFOBLOX\_WAPI\_VERSION [\#209](https\://github\.com/infobloxopen/infoblox\-ansible/pull/209) + + +#### netapp\.ontap + +* na\_ontap\_nfs \- fix error with windows in REST for ONTAP 9\.10 or earlier\. +* na\_ontap\_security\_certificates \- fix error with ontap\_info returned in module output in REST\. +* na\_ontap\_snapshot\_policy \- fix issue with modifying snapshot policy in REST\. +* na\_ontap\_volume \- modified type to be case insensitive in REST\. + + +#### netbox\.netbox + +* Improve error reporting for missing module \[\#1126\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1126](https\://github\.com/netbox\-community/ansible\_modules/pull/1126)\) +* nb\_inventory \- Fix API cache failure \[\#1111\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1111](https\://github\.com/netbox\-community/ansible\_modules/pull/1111)\) +* nb\_lookup \- Allow multiple IDs in nb\_lookup \[\#1042\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1042](https\://github\.com/netbox\-community/ansible\_modules/pull/1042)\) + + +#### purestorage\.flasharray + +* purefa\_ds \- Fix issue with SDK returning empty data for data directory services even when it does exist +* purefa\_policy \- Fix incorrect call of psot instead of patch for NFS policies + + +#### purestorage\.flashblade + +* purefb\_info \- Added missing object lock retention details if enabledd + + +#### vultr\.cloud + +* Fixed an error while waiting for a specific state and the API returns an empty response\. \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/108](https\://github\.com/vultr/ansible\-collection\-vultr/issues/108)\)\. +* Fixed an issue with waiting for state \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/102](https\://github\.com/vultr/ansible\-collection\-vultr/pull/102)\)\. +* instance\_info \- Fixed the alias name being was used on the wrong argument\. \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/105](https\://github\.com/vultr/ansible\-collection\-vultr/issues/105)\)\. +* reserved\_ip \- Fixed an issue which caused the module to fail\, also enabled integration tests \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/92](https\://github\.com/vultr/ansible\-collection\-vultr/issues/92)\)\. + + +### Known Issues + + +#### dellemc\.openmanage + +* idrac\_firmware \- Issue\(279282\) \- This module does not support firmware update using HTTP\, HTTPS\, and FTP shares with authentication on iDRAC8\. +* idrac\_network\_attributes \- Issue\(279049\) \- If unsupported values are provided for the parameter ome\_network\_attributes\, then this module does not provide a correct error message\. +* ome\_device\_network\_services \- Issue\(212681\) \- The module does not provide a proper error message if unsupported values are provided for the following parameters\- port\_number\, community\_name\, max\_sessions\, max\_auth\_retries\, and idle\_timeout\. +* ome\_device\_power\_settings \- Issue\(212679\) \- The module displays the following message if the value provided for the parameter power\_cap is not within the supported range of 0 to 32767\, Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI\. +* ome\_device\_quick\_deploy \- Issue\(275231\) \- This module does not deploy a new configuration to a slot that has disabled IPv6\. +* ome\_diagnostics \- Issue\(279193\) \- Export of SupportAssist collection logs to the share location fails on OME version 4\.0\.0\. +* ome\_smart\_fabric\_uplink \- Issue\(186024\) \- The module supported by OpenManage Enterprise Modular\, however it does not allow the creation of multiple uplinks of the same name\. If an uplink is created using the same name as an existing uplink\, then the existing uplink is modified\. + + +### New Plugins + + +#### Connection + +* community\.general\.incus \- Run tasks in Incus instances via the Incus CLI\. + + +#### Filter + +* community\.general\.from\_ini \- Converts INI text input into a dictionary +* community\.general\.to\_ini \- Converts a dictionary to the INI file format + + +#### Lookup + +* community\.general\.github\_app\_access\_token \- Obtain short\-lived Github App Access tokens + + +### New Modules + + +#### check\_point\.mgmt + +* check\_point\.mgmt\.cp\_mgmt\_add\_central\_license \- Add central license\. +* check\_point\.mgmt\.cp\_mgmt\_central\_license\_facts \- Get central\-license objects facts on Checkpoint over Web Services API\. +* check\_point\.mgmt\.cp\_mgmt\_delete\_central\_license \- Delete central license\. +* check\_point\.mgmt\.cp\_mgmt\_distribute\_cloud\_licenses \- Distribute licenses to target CloudGuard gateways\. +* check\_point\.mgmt\.cp\_mgmt\_show\_cloud\_licenses\_usage \- Show attached licenses usage\. +* check\_point\.mgmt\.cp\_mgmt\_show\_ha\_status \- Retrieve domain high availability status\. + + +#### community\.digitalocean + +* community\.digitalocean\.digital\_ocean\_project\_resource\_info \- Gather information about DigitalOcean Project Resources + + +#### community\.docker + +* community\.docker\.docker\_compose\_v2 \- Manage multi\-container Docker applications with Docker Compose CLI plugin +* community\.docker\.docker\_compose\_v2\_pull \- Pull a Docker compose project +* community\.docker\.docker\_image\_build \- Build Docker images using Docker buildx +* community\.docker\.docker\_image\_export \- Export \(archive\) Docker images +* community\.docker\.docker\_image\_pull \- Pull Docker images from registries +* community\.docker\.docker\_image\_push \- Push Docker images to registries +* community\.docker\.docker\_image\_remove \- Remove Docker images +* community\.docker\.docker\_image\_tag \- Tag Docker images with new names and/or tags + + +#### community\.general + +* community\.general\.consul\_acl\_bootstrap \- Bootstrap ACLs in Consul +* community\.general\.consul\_auth\_method \- Manipulate Consul auth methods +* community\.general\.consul\_binding\_rule \- Manipulate Consul binding rules +* community\.general\.consul\_token \- Manipulate Consul tokens +* community\.general\.dnf\_config\_manager \- Enable or disable dnf repositories using config\-manager +* community\.general\.gitlab\_label \- Creates/updates/deletes GitLab Labels belonging to project or group\. +* community\.general\.gitlab\_milestone \- Creates/updates/deletes GitLab Milestones belonging to project or group +* community\.general\.keycloak\_component\_info \- Retrive component info in Keycloak +* community\.general\.keycloak\_realm\_rolemapping \- Allows administration of Keycloak realm role mappings into groups with the Keycloak API +* community\.general\.proxmox\_node\_info \- Retrieve information about one or more Proxmox VE nodes +* community\.general\.proxmox\_storage\_contents\_info \- List content from a Proxmox VE storage + + +#### dellemc\.enterprise\_sonic + +* dellemc\.enterprise\_sonic\.sonic\_dhcp\_snooping \- Manage DHCP Snooping on SONiC +* dellemc\.enterprise\_sonic\.sonic\_pki \- Manages PKI attributes of Enterprise Sonic +* dellemc\.enterprise\_sonic\.sonic\_stp \- Manage STP configuration on SONiC + + +#### dellemc\.openmanage + +* dellemc\.openmanage\.idrac\_license \- This module allows to import\, export\, and delete licenses on iDRAC\. + + +#### infoblox\.nios\_modules + +* infoblox\.nios\_modules\.nios\_dtc\_monitor\_http \- Configures the Infoblox NIOS DTC HTTP monitor\. +* infoblox\.nios\_modules\.nios\_dtc\_monitor\_icmp \- Configures the Infoblox NIOS DTC ICMP monitor +* infoblox\.nios\_modules\.nios\_dtc\_monitor\_pdp \- Configures the Infoblox NIOS DTC PDP monitor +* infoblox\.nios\_modules\.nios\_dtc\_monitor\_sip \- Configures the Infoblox NIOS DTC SIP monitor +* infoblox\.nios\_modules\.nios\_dtc\_monitor\_snmp \- Configures the Infoblox NIOS DTC SNMP monitor +* infoblox\.nios\_modules\.nios\_dtc\_monitor\_tcp \- Configures the Infoblox NIOS DTC TCP monitor +* infoblox\.nios\_modules\.nios\_dtc\_topology \- Configures the Infoblox NIOS DTC Topology + + +#### netapp\.ontap + +* netapp\.ontap\.na\_ontap\_cifs\_unix\_symlink\_mapping \- NetApp ONTAP module to manage UNIX symbolic link mapping for CIFS clients\. +* netapp\.ontap\.na\_ontap\_cli\_timeout \- NetApp ONTAP module to set the CLI inactivity timeout value\. +* netapp\.ontap\.na\_ontap\_snmp\_config \- NetApp ONTAP module to modify SNMP configuration\. + + +#### purestorage\.flashblade + +* purestorage\.flashblade\.purefb\_hardware \- Manage FlashBlade Hardware + + +#### vultr\.cloud + +* vultr\.cloud\.object\_storage \- Manages object storages on Vultr + + +### Unchanged Collections + +* ansible\.netcommon \(still version 5\.3\.0\) +* ansible\.posix \(still version 1\.5\.4\) +* ansible\.utils \(still version 2\.12\.0\) +* ansible\.windows \(still version 2\.2\.0\) +* arista\.eos \(still version 6\.2\.2\) +* azure\.azcollection \(still version 1\.19\.0\) +* chocolatey\.chocolatey \(still version 1\.5\.1\) +* cisco\.aci \(still version 2\.8\.0\) +* cisco\.asa \(still version 4\.0\.3\) +* cisco\.ios \(still version 5\.3\.0\) +* cisco\.iosxr \(still version 6\.1\.1\) +* cisco\.mso \(still version 2\.5\.0\) +* cisco\.nxos \(still version 5\.3\.0\) +* cisco\.ucs \(still version 1\.10\.0\) +* cloud\.common \(still version 2\.1\.4\) +* cloudscale\_ch\.cloud \(still version 2\.3\.1\) +* community\.azure \(still version 2\.0\.0\) +* community\.ciscosmb \(still version 1\.0\.7\) +* community\.libvirt \(still version 1\.3\.0\) +* community\.mongodb \(still version 1\.6\.3\) +* community\.mysql \(still version 3\.8\.0\) +* community\.network \(still version 5\.0\.2\) +* community\.okd \(still version 2\.3\.0\) +* community\.proxysql \(still version 1\.5\.1\) +* community\.rabbitmq \(still version 1\.2\.3\) +* community\.sap \(still version 2\.0\.0\) +* community\.sops \(still version 1\.6\.7\) +* community\.windows \(still version 2\.1\.0\) +* containers\.podman \(still version 1\.11\.0\) +* cyberark\.conjur \(still version 1\.2\.2\) +* dellemc\.powerflex \(still version 2\.1\.0\) +* dellemc\.unity \(still version 1\.7\.1\) +* f5networks\.f5\_modules \(still version 1\.27\.1\) +* fortinet\.fortios \(still version 2\.3\.4\) +* frr\.frr \(still version 2\.0\.2\) +* gluster\.gluster \(still version 1\.0\.2\) +* google\.cloud \(still version 1\.3\.0\) +* hetzner\.hcloud \(still version 2\.4\.1\) +* hpe\.nimble \(still version 1\.1\.4\) +* ibm\.qradar \(still version 2\.1\.0\) +* ibm\.spectrum\_virtualize \(still version 2\.0\.0\) +* infinidat\.infinibox \(still version 1\.3\.12\) +* inspur\.ispim \(still version 2\.2\.0\) +* inspur\.sm \(still version 2\.3\.0\) +* junipernetworks\.junos \(still version 5\.3\.1\) +* kubernetes\.core \(still version 2\.4\.0\) +* lowlydba\.sqlserver \(still version 2\.2\.2\) +* microsoft\.ad \(still version 1\.4\.1\) +* netapp\.aws \(still version 21\.7\.1\) +* netapp\.azure \(still version 21\.10\.1\) +* netapp\.cloudmanager \(still version 21\.22\.1\) +* netapp\.elementsw \(still version 21\.7\.0\) +* netapp\.storagegrid \(still version 21\.11\.1\) +* netapp\.um\_info \(still version 21\.8\.1\) +* netapp\_eseries\.santricity \(still version 1\.4\.0\) +* ngine\_io\.cloudstack \(still version 2\.3\.0\) +* ngine\_io\.exoscale \(still version 1\.1\.0\) +* openstack\.cloud \(still version 2\.2\.0\) +* openvswitch\.openvswitch \(still version 2\.1\.1\) +* ovirt\.ovirt \(still version 3\.2\.0\) +* purestorage\.fusion \(still version 1\.6\.0\) +* sensu\.sensu\_go \(still version 1\.14\.0\) +* splunk\.es \(still version 2\.1\.2\) +* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\) +* telekom\_mms\.icinga\_director \(still version 1\.35\.0\) +* theforeman\.foreman \(still version 3\.15\.0\) +* vmware\.vmware\_rest \(still version 2\.3\.1\) +* vyos\.vyos \(still version 4\.1\.0\) +* wti\.remote \(still version 1\.0\.5\) + + +## v9\.1\.0 + +- Release Summary +- Ansible\-core +- Changed Collections +- Minor Changes + - ansible\.utils + - ansible\.windows + - cisco\.ios + - cisco\.ise + - cisco\.nxos + - community\.general + - community\.routeros + - community\.windows + - community\.zabbix + - dellemc\.openmanage + - dellemc\.powerflex + - f5networks\.f5\_modules + - google\.cloud + - hetzner\.hcloud + - inspur\.ispim + - microsoft\.ad + - purestorage\.flasharray + - telekom\_mms\.icinga\_director + - theforeman\.foreman +- Breaking Changes / Porting Guide + - Ansible\-core +- Security Fixes + - Ansible\-core +- Bugfixes + - Ansible\-core + - ansible\.windows + - arista\.eos + - cisco\.ios + - cisco\.iosxr + - cisco\.ise + - cisco\.meraki + - community\.crypto + - community\.dns + - community\.general + - community\.vmware + - community\.windows + - community\.zabbix + - dellemc\.openmanage + - hetzner\.hcloud + - junipernetworks\.junos + - microsoft\.ad + - netapp\.ontap + - purestorage\.flasharray + - splunk\.es + - theforeman\.foreman + - vultr\.cloud +- Known Issues + - dellemc\.openmanage +- New Plugins + - Filter + - Lookup + - Test +- New Modules + - cisco\.ios + - community\.general + - purestorage\.flasharray +- Unchanged Collections + + +### Release Summary + +Release Date\: 2023\-12\-05 + +[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html) + + +### Ansible\-core + +Ansible 9\.1\.0 contains ansible\-core version 2\.16\.1\. +This is a newer version than version 2\.16\.0 contained in the previous Ansible release\. + +The changes are reported in the combined changelog below\. + + +### Changed Collections + +If not mentioned explicitly\, the changes are reported in the combined changelog below\. + +| Collection | Ansible 9.0.1 | Ansible 9.1.0 | Notes | +| --------------------------- | ------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| ansible.utils | 2.11.0 | 2.12.0 | | +| ansible.windows | 2.1.0 | 2.2.0 | | +| arista.eos | 6.2.1 | 6.2.2 | | +| awx.awx | 23.3.1 | 23.5.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| cisco.dnac | 6.7.6 | 6.8.1 | The collection did not have a changelog in this version. | +| cisco.ios | 5.2.0 | 5.3.0 | | +| cisco.iosxr | 6.1.0 | 6.1.1 | | +| cisco.ise | 2.5.16 | 2.6.2 | | +| cisco.meraki | 2.16.14 | 2.16.16 | | +| cisco.nxos | 5.2.1 | 5.3.0 | | +| community.crypto | 2.16.0 | 2.16.1 | | +| community.dns | 2.6.3 | 2.6.4 | | +| community.general | 8.0.2 | 8.1.0 | | +| community.routeros | 2.10.0 | 2.11.0 | | +| community.vmware | 4.0.0 | 4.0.1 | | +| community.windows | 2.0.0 | 2.1.0 | | +| community.zabbix | 2.1.0 | 2.2.0 | | +| dellemc.openmanage | 8.4.0 | 8.5.0 | | +| dellemc.powerflex | 2.0.1 | 2.1.0 | | +| f5networks.f5_modules | 1.27.0 | 1.27.1 | | +| google.cloud | 1.2.0 | 1.3.0 | | +| hetzner.hcloud | 2.3.0 | 2.4.1 | | +| inspur.ispim | 2.1.0 | 2.2.0 | | +| junipernetworks.junos | 5.3.0 | 5.3.1 | | +| microsoft.ad | 1.3.0 | 1.4.1 | | +| netapp.ontap | 22.8.2 | 22.8.3 | | +| openstack.cloud | 2.1.0 | 2.2.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| purestorage.flasharray | 1.22.0 | 1.24.0 | | +| splunk.es | 2.1.0 | 2.1.2 | | +| telekom_mms.icinga_director | 1.34.1 | 1.35.0 | | +| theforeman.foreman | 3.14.0 | 3.15.0 | | +| vultr.cloud | 1.10.0 | 1.10.1 | | + + +### Minor Changes + + +#### ansible\.utils + +* Fact\_diff filter plugin \- Add fact\_diff filter plugin\. \([https\://github\.com/ansible\-collections/ansible\.utils/issues/78](https\://github\.com/ansible\-collections/ansible\.utils/issues/78)\)\. + + +#### ansible\.windows + +* Set minimum supported Ansible version to 2\.14 to align with the versions still supported by Ansible\. +* win\_share \- Added a new param called scope\_name that allows file shares to be scoped for Windows Server failover cluster roles\. + + +#### cisco\.ios + +* 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 + + +#### cisco\.ise + +* Services included configuration\, edda\, dataconnect\_services\, subscriber\. + + +#### cisco\.nxos + +* nxos\_config \- Relax restrictions on I\(src\) parameter so it can be used more like I\(lines\)\. \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/89](https\://github\.com/ansible\-collections/cisco\.nxos/issues/89)\)\. + + +#### community\.general + +* bitwarden lookup plugin \- when looking for items using an item ID\, the item is now accessed directly with bw get item instead of searching through all items\. This doubles the lookup speed \([https\://github\.com/ansible\-collections/community\.general/pull/7468](https\://github\.com/ansible\-collections/community\.general/pull/7468)\)\. +* elastic callback plugin \- close elastic client to not leak resources \([https\://github\.com/ansible\-collections/community\.general/pull/7517](https\://github\.com/ansible\-collections/community\.general/pull/7517)\)\. +* git\_config \- allow multiple git configs for the same name with the new add\_mode option \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\. +* git\_config \- the after and before fields in the diff of the return value can be a list instead of a string in case more configs with the same key are affected \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\. +* git\_config \- when a value is unset\, all configs with the same key are unset \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\. +* gitlab modules \- add ca\_path option \([https\://github\.com/ansible\-collections/community\.general/pull/7472](https\://github\.com/ansible\-collections/community\.general/pull/7472)\)\. +* gitlab modules \- remove duplicate gitlab package check \([https\://github\.com/ansible\-collections/community\.general/pull/7486](https\://github\.com/ansible\-collections/community\.general/pull/7486)\)\. +* gitlab\_runner \- add support for new runner creation workflow \([https\://github\.com/ansible\-collections/community\.general/pull/7199](https\://github\.com/ansible\-collections/community\.general/pull/7199)\)\. +* ipa\_config \- adds passkey choice to ipauserauthtype parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7588](https\://github\.com/ansible\-collections/community\.general/pull/7588)\)\. +* ipa\_sudorule \- adds options to include denied commands or command groups \([https\://github\.com/ansible\-collections/community\.general/pull/7415](https\://github\.com/ansible\-collections/community\.general/pull/7415)\)\. +* ipa\_user \- adds idp and passkey choice to ipauserauthtype parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7589](https\://github\.com/ansible\-collections/community\.general/pull/7589)\)\. +* irc \- add validate\_certs option\, and rename use\_ssl to use\_tls\, while keeping use\_ssl as an alias\. The default value for validate\_certs is false for backwards compatibility\. We recommend to every user of this module to explicitly set use\_tls\=true and validate\_certs\=true\` whenever possible\, especially when communicating to IRC servers over the internet \([https\://github\.com/ansible\-collections/community\.general/pull/7550](https\://github\.com/ansible\-collections/community\.general/pull/7550)\)\. +* keycloak module utils \- expose error message from Keycloak server for HTTP errors in some specific situations \([https\://github\.com/ansible\-collections/community\.general/pull/7645](https\://github\.com/ansible\-collections/community\.general/pull/7645)\)\. +* keycloak\_user\_federation \- add option for krbPrincipalAttribute \([https\://github\.com/ansible\-collections/community\.general/pull/7538](https\://github\.com/ansible\-collections/community\.general/pull/7538)\)\. +* lvol \- change pvs argument type to list of strings \([https\://github\.com/ansible\-collections/community\.general/pull/7676](https\://github\.com/ansible\-collections/community\.general/pull/7676)\, [https\://github\.com/ansible\-collections/community\.general/issues/7504](https\://github\.com/ansible\-collections/community\.general/issues/7504)\)\. +* lxd connection plugin \- tighten the detection logic for lxd Instance not found errors\, to avoid false detection on unrelated errors such as /usr/bin/python3\: not found \([https\://github\.com/ansible\-collections/community\.general/pull/7521](https\://github\.com/ansible\-collections/community\.general/pull/7521)\)\. +* netcup\_dns \- adds support for record types OPENPGPKEY\, SMIMEA\, and SSHFP \([https\://github\.com/ansible\-collections/community\.general/pull/7489](https\://github\.com/ansible\-collections/community\.general/pull/7489)\)\. +* nmcli \- add support for new connection type loopback \([https\://github\.com/ansible\-collections/community\.general/issues/6572](https\://github\.com/ansible\-collections/community\.general/issues/6572)\)\. +* nmcli \- allow for infiniband slaves of bond interface types \([https\://github\.com/ansible\-collections/community\.general/pull/7569](https\://github\.com/ansible\-collections/community\.general/pull/7569)\)\. +* nmcli \- allow for the setting of MTU for infiniband and bond interface types \([https\://github\.com/ansible\-collections/community\.general/pull/7499](https\://github\.com/ansible\-collections/community\.general/pull/7499)\)\. +* onepassword lookup plugin \- support 1Password Connect with the opv2 client by setting the connect\_host and connect\_token parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7116](https\://github\.com/ansible\-collections/community\.general/pull/7116)\)\. +* onepassword\_raw lookup plugin \- support 1Password Connect with the opv2 client by setting the connect\_host and connect\_token parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7116](https\://github\.com/ansible\-collections/community\.general/pull/7116)\) +* passwordstore \- adds timestamp and preserve parameters to modify the stored password format \([https\://github\.com/ansible\-collections/community\.general/pull/7426](https\://github\.com/ansible\-collections/community\.general/pull/7426)\)\. +* proxmox \- adds template value to the state parameter\, allowing conversion of container to a template \([https\://github\.com/ansible\-collections/community\.general/pull/7143](https\://github\.com/ansible\-collections/community\.general/pull/7143)\)\. +* proxmox \- adds update parameter\, allowing update of an already existing containers configuration \([https\://github\.com/ansible\-collections/community\.general/pull/7540](https\://github\.com/ansible\-collections/community\.general/pull/7540)\)\. +* proxmox inventory plugin \- adds an option to exclude nodes from the dynamic inventory generation\. The new setting is optional\, not using this option will behave as usual \([https\://github\.com/ansible\-collections/community\.general/issues/6714](https\://github\.com/ansible\-collections/community\.general/issues/6714)\, [https\://github\.com/ansible\-collections/community\.general/pull/7461](https\://github\.com/ansible\-collections/community\.general/pull/7461)\)\. +* proxmox\_disk \- add ability to manipulate CD\-ROM drive \([https\://github\.com/ansible\-collections/community\.general/pull/7495](https\://github\.com/ansible\-collections/community\.general/pull/7495)\)\. +* proxmox\_kvm \- adds template value to the state parameter\, allowing conversion of a VM to a template \([https\://github\.com/ansible\-collections/community\.general/pull/7143](https\://github\.com/ansible\-collections/community\.general/pull/7143)\)\. +* proxmox\_kvm \- support the hookscript parameter \([https\://github\.com/ansible\-collections/community\.general/issues/7600](https\://github\.com/ansible\-collections/community\.general/issues/7600)\)\. +* proxmox\_ostype \- it is now possible to specify the ostype when creating an LXC container \([https\://github\.com/ansible\-collections/community\.general/pull/7462](https\://github\.com/ansible\-collections/community\.general/pull/7462)\)\. +* proxmox\_vm\_info \- add ability to retrieve configuration info \([https\://github\.com/ansible\-collections/community\.general/pull/7485](https\://github\.com/ansible\-collections/community\.general/pull/7485)\)\. +* redfish\_info \- adding the BootProgress property when getting Systems info \([https\://github\.com/ansible\-collections/community\.general/pull/7626](https\://github\.com/ansible\-collections/community\.general/pull/7626)\)\. +* ssh\_config \- adds controlmaster\, controlpath and controlpersist parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7456](https\://github\.com/ansible\-collections/community\.general/pull/7456)\)\. + + +#### community\.routeros + +* api\_info\, api\_modify \- add missing DoH parameters doh\-max\-concurrent\-queries\, doh\-max\-server\-connections\, and doh\-timeout to the ip dns path \([https\://github\.com/ansible\-collections/community\.routeros/issues/230](https\://github\.com/ansible\-collections/community\.routeros/issues/230)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/235](https\://github\.com/ansible\-collections/community\.routeros/pull/235)\) +* api\_info\, api\_modify \- add missing parameters address\-list\, address\-list\-timeout\, randomise\-ports\, and realm to subpaths of the ip firewall path \([https\://github\.com/ansible\-collections/community\.routeros/issues/236](https\://github\.com/ansible\-collections/community\.routeros/issues/236)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/237](https\://github\.com/ansible\-collections/community\.routeros/pull/237)\)\. +* api\_info\, api\_modify \- mark the interface wireless parameter running as read\-only \([https\://github\.com/ansible\-collections/community\.routeros/pull/233](https\://github\.com/ansible\-collections/community\.routeros/pull/233)\)\. +* api\_info\, api\_modify \- set the default value to false for the disabled parameter in some more paths where it can be seen in the documentation \([https\://github\.com/ansible\-collections/community\.routeros/pull/237](https\://github\.com/ansible\-collections/community\.routeros/pull/237)\)\. +* api\_modify \- add missing comment attribute to /routing id \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\. +* api\_modify \- add missing attributes to the routing bgp connection path \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\. +* api\_modify \- add versioning to the /tool e\-mail path \(RouterOS 7\.12 release\) \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\. +* api\_modify \- make /ip traffic\-flow target a multiple value attribute \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\. + + +#### community\.windows + +* Set minimum supported Ansible version to 2\.14 to align with the versions still supported by Ansible\. + + +#### community\.zabbix + +* Added zabbix\_group\_events\_info module +* action module \- Added notify\_if\_canceled property +* agent and proxy roles \- Set default zabbix\_api\_server\_port to 80 or 443 based on zabbix\_api\_use\_ssl +* agent role \- Removed duplicative Windows agent task +* agent role \- Standardized default yum priority to 99 +* all roles \- Re\-added ability to override Debian repo source +* all roles \- Updated Debian repository format to 822 standard +* various \- updated testing modules +* various \- updated to fully qualified module names +* zabbix agent \- Added capability to add additional configuration includes +* zabbix\_api\_info module added +* zabbix\_user module \- add current\_passwd optional parameter to enable password updating of the currently logged in user \([https\://www\.zabbix\.com/documentation/6\.4/en/manual/api/reference/user/update](https\://www\.zabbix\.com/documentation/6\.4/en/manual/api/reference/user/update)\) + + +#### dellemc\.openmanage + +* Ansible lint issues are fixed for the collections\. +* Module redfish\_storage\_volume is enhanced to support reboot options and job tracking operation\. + + +#### dellemc\.powerflex + +* Added support for PowerFlex Denver version\(4\.5\.x\) to TB and Config role\. + + +#### f5networks\.f5\_modules + +* bigiq\_device\_discovery \- Changes in documentation related to Provider block + + +#### google\.cloud + +* anisble\-test \- integration tests are now run against 2\.14\.0 and 2\.15\.0 +* ansible \- 2\.14\.0 is now the minimum version supported +* ansible\-lint \- fixed over a thousand reported errors +* ansible\-lint \- upgraded to 6\.22 +* ansible\-test \- add support for GCP application default credentials \([https\://github\.com/ansible\-collections/google\.cloud/issues/359](https\://github\.com/ansible\-collections/google\.cloud/issues/359)\)\. +* gcp\_serviceusage\_service \- added backoff when checking for operation completion\. +* gcp\_serviceusage\_service \- use alloyb API for the integration test as spanner conflicts with other tests +* gcp\_sql\_ssl\_cert \- made sha1\_fingerprint optional\, which enables resource creation +* gcp\_storage\_default\_object\_acl \- removed non\-existent fields\; the resource is not usable\. + + +#### hetzner\.hcloud + +* Add the hetzner\.hcloud\.all group to configure all the modules using module\_defaults\. +* Allow to set the api\_endpoint module argument using the HCLOUD\_ENDPOINT environment variable\. +* Removed the hcloud\_ prefix from all modules names\, e\.g\. hetzner\.hcloud\.hcloud\_firewall was renamed to hetzner\.hcloud\.firewall\. Old module names will continue working\. +* Renamed the endpoint module argument to api\_endpoint\, backward compatibility is maintained using an alias\. +* hcloud inventory \- Add the api\_endpoint option\. +* hcloud inventory \- Deprecate the api\_token\_env option\, suggest using a lookup plugin \(\{\{ lookup\(\'ansible\.builtin\.env\'\, \'YOUR\_ENV\_VAR\'\) \}\}\) or use the well\-known HCLOUD\_TOKEN environment variable name\. +* hcloud inventory \- Rename the token\_env option to api\_token\_env\, use aliases for backward compatibility\. +* hcloud inventory \- Rename the token option to api\_token\, use aliases for backward compatibility\. + + +#### inspur\.ispim + +* Modify edit\_smtp\_com and add description information\. + + +#### microsoft\.ad + +* Make name an optional parameter for the AD modules\. Either name or identity needs to be set with their respective behaviours\. If creating a new AD user and only identity is set\, that will be the value used for the name of the object\. +* Set minimum supported Ansible version to 2\.14 to align with the versions still supported by Ansible\. +* object\_info \- Add ActiveDirectory module import + + +#### purestorage\.flasharray + +* purefa\_dns \- Added facility to add a CA certifcate to management DNS and check peer\. +* purefa\_info \- Add NSID value for NVMe namespace in hosts response +* purefa\_info \- Subset pgroups now also provides a new dict called deleted\_pgroups +* purefa\_offload \- Remove nfs as an option when Purity//FA 6\.6\.0 or higher is detected +* purefa\_snap \- Add support for suffix on remote offload snapshots + + +#### telekom\_mms\.icinga\_director + +* Extended docs and examples for multiple assign\_filter conditions \([https\://github\.com/telekom\-mms/ansible\-collection\-icinga\-director/pull/227](https\://github\.com/telekom\-mms/ansible\-collection\-icinga\-director/pull/227)\) + + +#### theforeman\.foreman + +* content\_view\_publish role \- allow passing async and poll to the module \([https\://github\.com/theforeman/foreman\-ansible\-modules/pull/1676](https\://github\.com/theforeman/foreman\-ansible\-modules/pull/1676)\) +* convert2rhel role \- install convert2rhel from cdn\-public\.redhat\.com\, dropping the requirement of a custom CA cert + + +### Breaking Changes / Porting Guide + + +#### Ansible\-core + +* assert \- Nested templating may result in an inability for the conditional to be evaluated\. See the porting guide for more information\. + + +### Security Fixes + + +#### Ansible\-core + +* templating \- Address issues where internal templating can cause unsafe variables to lose their unsafe designation \(CVE\-2023\-5764\) + + +### Bugfixes + + +#### Ansible\-core + +* Fix issue where an include\_tasks handler in a role was not able to locate a file in tasks/ when tasks\_from was used as a role entry point and main\.yml was not present \([https\://github\.com/ansible/ansible/issues/82241](https\://github\.com/ansible/ansible/issues/82241)\) +* Plugin loader does not dedupe nor cache filter/test plugins by file basename\, but full path name\. +* Restoring the ability of filters/tests can have same file base name but different tests/filters defined inside\. +* ansible\-pull now will expand relative paths for the \-d\|\-\-directory option is now expanded before use\. +* ansible\-pull will now correctly handle become and connection password file options for ansible\-playbook\. +* flush\_handlers \- properly handle a handler failure in a nested block when force\_handlers is set \([http\://github\.com/ansible/ansible/issues/81532](http\://github\.com/ansible/ansible/issues/81532)\) +* module no\_log will no longer affect top level booleans\, for example no\_log\_module\_parameter\=\'a\' will no longer hide changed\=False as a \'no log value\' \(matches \'a\'\)\. +* role params now have higher precedence than host facts again\, matching documentation\, this had unintentionally changed in 2\.15\. +* wait\_for should not handle \'non mmapable files\' again\. + + +#### ansible\.windows + +* Process\.cs \- Fix up the ProcessCreationFlags\.CreateProtectedProcess typo in the enum name +* setup \- Fix up typo collection \-\> collect when a timeout occurred during a fact subset +* win\_acl \- Fix broken path in case of volume junction +* win\_service\_info \- Warn and not fail if ERROR\_FILE\_NOT\_FOUND when trying to query a service \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/556](https\://github\.com/ansible\-collections/ansible\.windows/issues/556) +* win\_updates \- Fix up typo for Download progress event messages \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/554](https\://github\.com/ansible\-collections/ansible\.windows/issues/554) + + +#### arista\.eos + +* correct the reference of string attribute \'reference\_bandwith\'\. + + +#### cisco\.ios + +* 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 + + +#### cisco\.iosxr + +* Fix issue in gathered state of interfaces and l3\_interfaces RMs\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/452](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/452)\, [https\://github\.com/ansible\-collections/cisco\.iosxr/issues/451](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/451)\) + + +#### cisco\.ise + +* Added missing import re in endpoint module +* Updated to use ciscoisesdk v2\.1\.1 or newer fixing ciscoisesdk problem\. + + +#### cisco\.meraki + +* Adding network\_clients\_info and network\_client\_info\. +* Adding platform\_meraki\.rst to docs\. +* Adding product\_types for update request on networks\. +* Idempotency bugs fixed in devices\_switch\_ports\. +* Parameter\`organization\_id\` change to organizationId organizations\_claim\. +* Parameter\`organization\_id\` change to organizationId organizations\_clone\. +* Parameter\`organization\_id\` change to organizationId organizations\_inventory\_claim\. +* Parameter\`organization\_id\` change to organizationId organizations\_inventory\_onboarding\_cloud\_monitoring\_export\_events\. +* Parameter\`organization\_id\` change to organizationId organizations\_inventory\_onboarding\_cloud\_monitoring\_prepare\. +* Parameter\`organization\_id\` change to organizationId organizations\_inventory\_release\. +* Parameter\`organization\_id\` change to organizationId organizations\_licenses\_assign\_seats\. +* Parameter\`organization\_id\` change to organizationId organizations\_licenses\_move\. +* Parameter\`organization\_id\` change to organizationId organizations\_licenses\_move\_seats\. +* Parameter\`organization\_id\` change to organizationId organizations\_licenses\_renew\_seats\. +* Parameter\`organization\_id\` change to organizationId organizations\_licensing\_coterm\_licenses\_move\. +* Parameter\`organization\_id\` change to organizationId organizations\_networks\_combine\. +* Parameter\`organization\_id\` change to organizationId organizations\_switch\_devices\_clone\. +* Parameter\`organization\_id\` change to organizationId organizations\_users\. +* Removing logs in meraki\.py\. +* networks\_syslog\_servers is now just an Update action to API\. + + +#### community\.crypto + +* acme\_\* modules \- also retry requests in case of socket errors\, bad status lines\, and unknown connection errors\; improve error messages in these cases \([https\://github\.com/ansible\-collections/community\.crypto/issues/680](https\://github\.com/ansible\-collections/community\.crypto/issues/680)\)\. + + +#### community\.dns + +* Update Public Suffix List\. +* nameserver\_record\_info \- fix crash when more than one record is retrieved \([https\://github\.com/ansible\-collections/community\.dns/pull/172](https\://github\.com/ansible\-collections/community\.dns/pull/172)\)\. + + +#### community\.general + +* apt\-rpm \- the module did not upgrade packages if a newer version exists\. Now the package will be reinstalled if the candidate is newer than the installed version \([https\://github\.com/ansible\-collections/community\.general/issues/7414](https\://github\.com/ansible\-collections/community\.general/issues/7414)\)\. +* cloudflare\_dns \- fix Cloudflare lookup of SHFP records \([https\://github\.com/ansible\-collections/community\.general/issues/7652](https\://github\.com/ansible\-collections/community\.general/issues/7652)\)\. +* interface\_files \- also consider address\_family when changing option\=method \([https\://github\.com/ansible\-collections/community\.general/issues/7610](https\://github\.com/ansible\-collections/community\.general/issues/7610)\, [https\://github\.com/ansible\-collections/community\.general/pull/7612](https\://github\.com/ansible\-collections/community\.general/pull/7612)\)\. +* irc \- replace ssl\.wrap\_socket that was removed from Python 3\.12 with code for creating a proper SSL context \([https\://github\.com/ansible\-collections/community\.general/pull/7542](https\://github\.com/ansible\-collections/community\.general/pull/7542)\)\. +* keycloak\_\* \- fix Keycloak API client to quote / properly \([https\://github\.com/ansible\-collections/community\.general/pull/7641](https\://github\.com/ansible\-collections/community\.general/pull/7641)\)\. +* keycloak\_authz\_permission \- resource payload variable for scope\-based permission was constructed as a string\, when it needs to be a list\, even for a single item \([https\://github\.com/ansible\-collections/community\.general/issues/7151](https\://github\.com/ansible\-collections/community\.general/issues/7151)\)\. +* log\_entries callback plugin \- replace ssl\.wrap\_socket that was removed from Python 3\.12 with code for creating a proper SSL context \([https\://github\.com/ansible\-collections/community\.general/pull/7542](https\://github\.com/ansible\-collections/community\.general/pull/7542)\)\. +* lvol \- test for output messages in both stdout and stderr \([https\://github\.com/ansible\-collections/community\.general/pull/7601](https\://github\.com/ansible\-collections/community\.general/pull/7601)\, [https\://github\.com/ansible\-collections/community\.general/issues/7182](https\://github\.com/ansible\-collections/community\.general/issues/7182)\)\. +* onepassword lookup plugin \- field and section titles are now case insensitive when using op CLI version two or later\. This matches the behavior of version one \([https\://github\.com/ansible\-collections/community\.general/pull/7564](https\://github\.com/ansible\-collections/community\.general/pull/7564)\)\. +* redhat\_subscription \- use the D\-Bus registration on RHEL 7 only on 7\.4 and + greater\; older versions of RHEL 7 do not have it + \([https\://github\.com/ansible\-collections/community\.general/issues/7622](https\://github\.com/ansible\-collections/community\.general/issues/7622)\, + [https\://github\.com/ansible\-collections/community\.general/pull/7624](https\://github\.com/ansible\-collections/community\.general/pull/7624)\)\. +* terraform \- fix multiline string handling in complex variables \([https\://github\.com/ansible\-collections/community\.general/pull/7535](https\://github\.com/ansible\-collections/community\.general/pull/7535)\)\. + + +#### community\.vmware + +* vmware\_vm\_info \- Fix an AttributeError when gathering network information \([https\://github\.com/ansible\-collections/community\.vmware/pull/1919](https\://github\.com/ansible\-collections/community\.vmware/pull/1919)\)\. + + +#### community\.windows + +* Remove some code which is no longer valid for dotnet 5\+ +* community\.windows\.win\_psmodule\_info \- exception thrown when host has no Installed Module\. Fix now checks that variable \$installedModules is not null before calling the \.Contains\(\.\.\) function on it\. +* win\_rabbitmq\_plugin \- Avoid using Invoke\-Expression when running external commands +* win\_rds\_rap \- The module crashed when creating a RAP with Gateway Managed Computer Group \([https\://github\.com/ansible\-collections/community\.windows/issues/184](https\://github\.com/ansible\-collections/community\.windows/issues/184)\)\. + + +#### community\.zabbix + +* zabbix\_inventory \- fixed handeling of add\_zabbix\_groups option +* zabbix\_template \- fix template export when template\'s content has \"error\" word +* zabbix\_web role \- fix variable naming issues \(undefined\) to zabbix\_web\_version and zabbix\_web\_apt\_repository + + +#### dellemc\.openmanage + +* ome\_inventory \- The plugin returns 50 results when a group is specified\. No results are shown when a group is not specified\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/575](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/575)\)\. + + +#### hetzner\.hcloud + +* hcloud inventory \- Ensure the API client use a new cache for every cached session\. + + +#### junipernetworks\.junos + +* fix to gather l2\_interfaces facts with default port\-mode access\. + + +#### microsoft\.ad + +* debug\_ldap\_client \- handle failures when attempting to get the krb5 context and default CCache rather than fail with a traceback + + +#### netapp\.ontap + +* na\_ontap\_ems\_destination \- fix field error with certificate\.name for ONTAP 9\.11\.1 or later in REST\. +* na\_ontap\_vserver\_peer \- fix issue with peering multiple clusters with same vserver name in REST\. + + +#### purestorage\.flasharray + +* purefa\_cert \- Fixed issue where parts of the subject where not included in the CSR if they did not exist in the currently used cert\. +* purefa\_dns \- Fixed attribute error on deletion of management DNS +* purefa\_pg \- Allows a protection group to be correctly created when target is specified as well as other objects\, such as volumes or hosts +* purefa\_pgsched \- Fixed issue with disabling schedules +* purefa\_pgsnap \- Fixed incorrect parameter name + + +#### splunk\.es + +* Fixed argspec validation for plugins with empty task attributes when run with Ansible 2\.9\. + + +#### theforeman\.foreman + +* content\_view\_filter\_rule \- handle multiple rules for the same package but different architectures and versions correctly \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2189687](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2189687)\) + + +#### vultr\.cloud + +* instance \- Fixed an issue detecting the instance state returned by the API \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/89](https\://github\.com/vultr/ansible\-collection\-vultr/pull/89)\)\. + + +### Known Issues + + +#### dellemc\.openmanage + +* idrac\_firmware \- Issue\(279282\) \- This module does not support firmware update using HTTP\, HTTPS\, and FTP shares with authentication on iDRAC8\. +* idrac\_network\_attributes \- Issue\(279049\) \- If unsupported values are provided for the parameter ome\_network\_attributes\, then this module does not provide a correct error message\. +* ome\_device\_network\_services \- Issue\(212681\) \- The module does not provide a proper error message if unsupported values are provided for the following parameters\- port\_number\, community\_name\, max\_sessions\, max\_auth\_retries\, and idle\_timeout\. +* ome\_device\_power\_settings \- Issue\(212679\) \- The module displays the following message if the value provided for the parameter power\_cap is not within the supported range of 0 to 32767\, Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI\. +* ome\_device\_quick\_deploy \- Issue\(275231\) \- This module does not deploy a new configuration to a slot that has disabled IPv6\. +* ome\_diagnostics \- Issue\(279193\) \- Export of SupportAssist collection logs to the share location fails on OME version 4\.0\.0\. +* ome\_smart\_fabric\_uplink \- Issue\(186024\) \- The module supported by OpenManage Enterprise Modular\, however it does not allow the creation of multiple uplinks of the same name\. If an uplink is created using the same name as an existing uplink\, then the existing uplink is modified\. + + +### New Plugins + + +#### Filter + +* ansible\.utils\.fact\_diff \- Find the difference between currently set facts + + +#### Lookup + +* community\.general\.onepassword\_doc \- Fetch documents stored in 1Password + + +#### Test + +* community\.general\.fqdn\_valid \- Validates fully\-qualified domain names against RFC 1123 + + +### New Modules + + +#### cisco\.ios + +* cisco\.ios\.ios\_evpn\_evi \- Resource module to configure L2VPN EVPN EVI\. +* cisco\.ios\.ios\_evpn\_global \- Resource module to configure L2VPN EVPN\. +* cisco\.ios\.ios\_vxlan\_vtep \- Resource module to configure VXLAN VTEP interface\. + + +#### community\.general + +* community\.general\.git\_config\_info \- Read git configuration +* community\.general\.gitlab\_issue \- Create\, update\, or delete GitLab issues +* community\.general\.nomad\_token \- Manage Nomad ACL tokens + + +#### purestorage\.flasharray + +* purestorage\.flasharray\.purefa\_hardware \- Manage FlashArray Hardware Identification + + +### Unchanged Collections + +* amazon\.aws \(still version 7\.0\.0\) +* ansible\.netcommon \(still version 5\.3\.0\) +* ansible\.posix \(still version 1\.5\.4\) +* azure\.azcollection \(still version 1\.19\.0\) +* check\_point\.mgmt \(still version 5\.1\.1\) +* chocolatey\.chocolatey \(still version 1\.5\.1\) +* cisco\.aci \(still version 2\.8\.0\) +* cisco\.asa \(still version 4\.0\.3\) +* cisco\.intersight \(still version 2\.0\.3\) +* cisco\.mso \(still version 2\.5\.0\) +* cisco\.ucs \(still version 1\.10\.0\) +* cloud\.common \(still version 2\.1\.4\) +* cloudscale\_ch\.cloud \(still version 2\.3\.1\) +* community\.aws \(still version 7\.0\.0\) +* community\.azure \(still version 2\.0\.0\) +* community\.ciscosmb \(still version 1\.0\.7\) +* community\.digitalocean \(still version 1\.24\.0\) +* community\.docker \(still version 3\.4\.11\) +* community\.grafana \(still version 1\.6\.1\) +* community\.hashi\_vault \(still version 6\.0\.0\) +* community\.hrobot \(still version 1\.8\.2\) +* community\.libvirt \(still version 1\.3\.0\) +* community\.mongodb \(still version 1\.6\.3\) +* community\.mysql \(still version 3\.8\.0\) +* community\.network \(still version 5\.0\.2\) +* community\.okd \(still version 2\.3\.0\) +* community\.postgresql \(still version 3\.2\.0\) +* community\.proxysql \(still version 1\.5\.1\) +* community\.rabbitmq \(still version 1\.2\.3\) +* community\.sap \(still version 2\.0\.0\) +* community\.sap\_libs \(still version 1\.4\.1\) +* community\.sops \(still version 1\.6\.7\) +* containers\.podman \(still version 1\.11\.0\) +* cyberark\.conjur \(still version 1\.2\.2\) +* cyberark\.pas \(still version 1\.0\.23\) +* dellemc\.enterprise\_sonic \(still version 2\.2\.0\) +* dellemc\.unity \(still version 1\.7\.1\) +* fortinet\.fortimanager \(still version 2\.3\.0\) +* fortinet\.fortios \(still version 2\.3\.4\) +* frr\.frr \(still version 2\.0\.2\) +* gluster\.gluster \(still version 1\.0\.2\) +* grafana\.grafana \(still version 2\.2\.3\) +* hpe\.nimble \(still version 1\.1\.4\) +* ibm\.qradar \(still version 2\.1\.0\) +* ibm\.spectrum\_virtualize \(still version 2\.0\.0\) +* ibm\.storage\_virtualize \(still version 2\.1\.0\) +* infinidat\.infinibox \(still version 1\.3\.12\) +* infoblox\.nios\_modules \(still version 1\.5\.0\) +* inspur\.sm \(still version 2\.3\.0\) +* kubernetes\.core \(still version 2\.4\.0\) +* lowlydba\.sqlserver \(still version 2\.2\.2\) +* netapp\.aws \(still version 21\.7\.1\) +* netapp\.azure \(still version 21\.10\.1\) +* netapp\.cloudmanager \(still version 21\.22\.1\) +* netapp\.elementsw \(still version 21\.7\.0\) +* netapp\.storagegrid \(still version 21\.11\.1\) +* netapp\.um\_info \(still version 21\.8\.1\) +* netapp\_eseries\.santricity \(still version 1\.4\.0\) +* netbox\.netbox \(still version 3\.15\.0\) +* ngine\_io\.cloudstack \(still version 2\.3\.0\) +* ngine\_io\.exoscale \(still version 1\.1\.0\) +* openvswitch\.openvswitch \(still version 2\.1\.1\) +* ovirt\.ovirt \(still version 3\.2\.0\) +* purestorage\.flashblade \(still version 1\.14\.0\) +* purestorage\.fusion \(still version 1\.6\.0\) +* sensu\.sensu\_go \(still version 1\.14\.0\) +* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\) +* vmware\.vmware\_rest \(still version 2\.3\.1\) +* vyos\.vyos \(still version 4\.1\.0\) +* wti\.remote \(still version 1\.0\.5\) + + +## v9\.0\.1 + +- Release Summary +- Ansible\-core +- Bugfixes +- Unchanged Collections + + +### Release Summary + +Release Date\: 2023\-11\-21 + +[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html) + + +### Ansible\-core + +Ansible 9\.0\.1 contains ansible\-core version 2\.16\.0\. +This is the same version of ansible\-core as in the previous Ansible release\. + + +### Bugfixes + +* Fix the Python package metadata in setup\.cfg to require Python \>\=3\.10 to ensure that pip can properly install ansible on older Python versions\. + + +### Unchanged Collections + +* amazon\.aws \(still version 7\.0\.0\) +* ansible\.netcommon \(still version 5\.3\.0\) +* ansible\.posix \(still version 1\.5\.4\) +* ansible\.utils \(still version 2\.11\.0\) +* ansible\.windows \(still version 2\.1\.0\) +* arista\.eos \(still version 6\.2\.1\) +* awx\.awx \(still version 23\.3\.1\) +* azure\.azcollection \(still version 1\.19\.0\) +* check\_point\.mgmt \(still version 5\.1\.1\) +* chocolatey\.chocolatey \(still version 1\.5\.1\) +* cisco\.aci \(still version 2\.8\.0\) +* cisco\.asa \(still version 4\.0\.3\) +* cisco\.dnac \(still version 6\.7\.6\) +* cisco\.intersight \(still version 2\.0\.3\) +* cisco\.ios \(still version 5\.2\.0\) +* cisco\.iosxr \(still version 6\.1\.0\) +* cisco\.ise \(still version 2\.5\.16\) +* cisco\.meraki \(still version 2\.16\.14\) +* cisco\.mso \(still version 2\.5\.0\) +* cisco\.nxos \(still version 5\.2\.1\) +* cisco\.ucs \(still version 1\.10\.0\) +* cloud\.common \(still version 2\.1\.4\) +* cloudscale\_ch\.cloud \(still version 2\.3\.1\) +* community\.aws \(still version 7\.0\.0\) +* community\.azure \(still version 2\.0\.0\) +* community\.ciscosmb \(still version 1\.0\.7\) +* community\.crypto \(still version 2\.16\.0\) +* community\.digitalocean \(still version 1\.24\.0\) +* community\.dns \(still version 2\.6\.3\) +* community\.docker \(still version 3\.4\.11\) +* community\.general \(still version 8\.0\.2\) +* community\.grafana \(still version 1\.6\.1\) +* community\.hashi\_vault \(still version 6\.0\.0\) +* community\.hrobot \(still version 1\.8\.2\) +* community\.libvirt \(still version 1\.3\.0\) +* community\.mongodb \(still version 1\.6\.3\) +* community\.mysql \(still version 3\.8\.0\) +* community\.network \(still version 5\.0\.2\) +* community\.okd \(still version 2\.3\.0\) +* community\.postgresql \(still version 3\.2\.0\) +* community\.proxysql \(still version 1\.5\.1\) +* community\.rabbitmq \(still version 1\.2\.3\) +* community\.routeros \(still version 2\.10\.0\) +* community\.sap \(still version 2\.0\.0\) +* community\.sap\_libs \(still version 1\.4\.1\) +* community\.sops \(still version 1\.6\.7\) +* community\.vmware \(still version 4\.0\.0\) +* community\.windows \(still version 2\.0\.0\) +* community\.zabbix \(still version 2\.1\.0\) +* containers\.podman \(still version 1\.11\.0\) +* cyberark\.conjur \(still version 1\.2\.2\) +* cyberark\.pas \(still version 1\.0\.23\) +* dellemc\.enterprise\_sonic \(still version 2\.2\.0\) +* dellemc\.openmanage \(still version 8\.4\.0\) +* dellemc\.powerflex \(still version 2\.0\.1\) +* dellemc\.unity \(still version 1\.7\.1\) +* f5networks\.f5\_modules \(still version 1\.27\.0\) +* fortinet\.fortimanager \(still version 2\.3\.0\) +* fortinet\.fortios \(still version 2\.3\.4\) +* frr\.frr \(still version 2\.0\.2\) +* gluster\.gluster \(still version 1\.0\.2\) +* google\.cloud \(still version 1\.2\.0\) +* grafana\.grafana \(still version 2\.2\.3\) +* hetzner\.hcloud \(still version 2\.3\.0\) +* hpe\.nimble \(still version 1\.1\.4\) +* ibm\.qradar \(still version 2\.1\.0\) +* ibm\.spectrum\_virtualize \(still version 2\.0\.0\) +* ibm\.storage\_virtualize \(still version 2\.1\.0\) +* infinidat\.infinibox \(still version 1\.3\.12\) +* infoblox\.nios\_modules \(still version 1\.5\.0\) +* inspur\.ispim \(still version 2\.1\.0\) +* inspur\.sm \(still version 2\.3\.0\) +* junipernetworks\.junos \(still version 5\.3\.0\) +* kubernetes\.core \(still version 2\.4\.0\) +* lowlydba\.sqlserver \(still version 2\.2\.2\) +* microsoft\.ad \(still version 1\.3\.0\) +* netapp\.aws \(still version 21\.7\.1\) +* netapp\.azure \(still version 21\.10\.1\) +* netapp\.cloudmanager \(still version 21\.22\.1\) +* netapp\.elementsw \(still version 21\.7\.0\) +* netapp\.ontap \(still version 22\.8\.2\) +* netapp\.storagegrid \(still version 21\.11\.1\) +* netapp\.um\_info \(still version 21\.8\.1\) +* netapp\_eseries\.santricity \(still version 1\.4\.0\) +* netbox\.netbox \(still version 3\.15\.0\) +* ngine\_io\.cloudstack \(still version 2\.3\.0\) +* ngine\_io\.exoscale \(still version 1\.1\.0\) +* openstack\.cloud \(still version 2\.1\.0\) +* openvswitch\.openvswitch \(still version 2\.1\.1\) +* ovirt\.ovirt \(still version 3\.2\.0\) +* purestorage\.flasharray \(still version 1\.22\.0\) +* purestorage\.flashblade \(still version 1\.14\.0\) +* purestorage\.fusion \(still version 1\.6\.0\) +* sensu\.sensu\_go \(still version 1\.14\.0\) +* splunk\.es \(still version 2\.1\.0\) +* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\) +* telekom\_mms\.icinga\_director \(still version 1\.34\.1\) +* theforeman\.foreman \(still version 3\.14\.0\) +* vmware\.vmware\_rest \(still version 2\.3\.1\) +* vultr\.cloud \(still version 1\.10\.0\) +* vyos\.vyos \(still version 4\.1\.0\) +* wti\.remote \(still version 1\.0\.5\) + + +## v9\.0\.0 + +- Release Summary +- Removed Collections +- Added Collections +- Ansible\-core +- Included Collections +- Major Changes + - amazon\.aws + - chocolatey\.chocolatey + - cisco\.ios + - cisco\.nxos + - cloudscale\_ch\.cloud + - community\.mysql + - community\.postgresql + - community\.sap + - community\.vmware + - fortinet\.fortimanager + - fortinet\.fortios + - grafana\.grafana +- Minor Changes + - Ansible\-core + - amazon\.aws + - ansible\.netcommon + - ansible\.utils + - ansible\.windows + - arista\.eos + - check\_point\.mgmt + - chocolatey\.chocolatey + - cisco\.aci + - cisco\.ios + - cisco\.iosxr + - cisco\.meraki + - cisco\.mso + - cisco\.nxos + - community\.aws + - community\.ciscosmb + - community\.crypto + - community\.digitalocean + - community\.dns + - community\.general + - community\.grafana + - community\.libvirt + - community\.mysql + - community\.postgresql + - community\.routeros + - community\.vmware + - community\.windows + - community\.zabbix + - containers\.podman + - dellemc\.enterprise\_sonic + - dellemc\.openmanage + - dellemc\.powerflex + - dellemc\.unity + - f5networks\.f5\_modules + - fortinet\.fortimanager + - google\.cloud + - grafana\.grafana + - hetzner\.hcloud + - inspur\.ispim + - junipernetworks\.junos + - lowlydba\.sqlserver + - microsoft\.ad + - netapp\.ontap + - netbox\.netbox + - ovirt\.ovirt + - purestorage\.flasharray + - purestorage\.flashblade + - purestorage\.fusion + - sensu\.sensu\_go + - t\_systems\_mms\.icinga\_director + - theforeman\.foreman + - vultr\.cloud + - vyos\.vyos +- Breaking Changes / Porting Guide + - Ansible\-core + - amazon\.aws + - community\.aws + - community\.general + - community\.hashi\_vault + - community\.vmware + - dellemc\.enterprise\_sonic + - hetzner\.hcloud +- Deprecated Features + - Ansible\-core + - amazon\.aws + - ansible\.netcommon + - ansible\.windows + - cisco\.ios + - cisco\.iosxr + - community\.ciscosmb + - community\.crypto + - community\.general + - community\.postgresql + - community\.sap + - community\.windows + - junipernetworks\.junos + - microsoft\.ad + - purestorage\.fusion + - t\_systems\_mms\.icinga\_director +- Removed Features \(previously deprecated\) + - Ansible\-core + - ansible\.windows + - cisco\.ios + - cisco\.nxos + - community\.ciscosmb + - community\.general + - community\.hashi\_vault + - community\.vmware + - community\.windows + - dellemc\.openmanage + - hetzner\.hcloud +- Security Fixes + - Ansible\-core +- Bugfixes + - Ansible\-core + - amazon\.aws + - ansible\.netcommon + - ansible\.utils + - ansible\.windows + - arista\.eos + - check\_point\.mgmt + - chocolatey\.chocolatey + - cisco\.aci + - cisco\.ios + - cisco\.iosxr + - cisco\.ise + - cisco\.meraki + - cisco\.mso + - cisco\.nxos + - cloud\.common + - cloudscale\_ch\.cloud + - community\.aws + - community\.ciscosmb + - community\.crypto + - community\.digitalocean + - community\.dns + - community\.docker + - community\.general + - community\.grafana + - community\.hashi\_vault + - community\.hrobot + - community\.libvirt + - community\.mysql + - community\.network + - community\.postgresql + - community\.routeros + - community\.sops + - community\.vmware + - community\.windows + - community\.zabbix + - containers\.podman + - dellemc\.enterprise\_sonic + - dellemc\.openmanage + - f5networks\.f5\_modules + - fortinet\.fortimanager + - fortinet\.fortios + - google\.cloud + - hetzner\.hcloud + - junipernetworks\.junos + - microsoft\.ad + - netapp\.ontap + - netbox\.netbox + - ovirt\.ovirt + - purestorage\.flasharray + - purestorage\.flashblade + - purestorage\.fusion + - t\_systems\_mms\.icinga\_director + - theforeman\.foreman + - vultr\.cloud + - vyos\.vyos +- Known Issues + - Ansible\-core + - community\.crypto + - community\.dns + - community\.docker + - community\.general + - community\.hrobot + - community\.routeros + - community\.sops + - dellemc\.openmanage +- New Plugins + - Cliconf + - Filter + - Inventory + - Lookup +- New Modules + - amazon\.aws + - cisco\.ios + - cisco\.iosxr + - cisco\.nxos + - cloudscale\_ch\.cloud + - community\.aws + - community\.dns + - community\.general + - community\.grafana + - community\.vmware + - community\.zabbix + - containers\.podman + - dellemc\.enterprise\_sonic + - dellemc\.openmanage + - dellemc\.powerflex + - dellemc\.unity + - f5networks\.f5\_modules + - fortinet\.fortimanager + - inspur\.ispim + - netapp\.ontap + - netbox\.netbox + - ngine\_io\.exoscale + - purestorage\.flasharray + - sensu\.sensu\_go + - t\_systems\_mms\.icinga\_director + - theforeman\.foreman + - vultr\.cloud +- New Roles +- Unchanged Collections + + +### Release Summary + +\[YANKED\] Release Date\: 2023\-11\-21 [Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html) + + +### Removed Collections + +* cisco\.nso \(previously included version\: 1\.0\.3\) +* community\.fortios \(previously included version\: 1\.0\.0\) +* community\.google \(previously included version\: 1\.0\.0\) +* community\.skydive \(previously included version\: 1\.0\.0\) +* ngine\_io\.vultr \(previously included version\: 1\.1\.3\) +* servicenow\.servicenow \(previously included version\: 1\.0\.6\) + + +### Added Collections + +* ibm\.storage\_virtualize \(version 2\.1\.0\) +* telekom\_mms\.icinga\_director \(version 1\.34\.1\) + + +### Ansible\-core + +Ansible 9\.0\.0 contains ansible\-core version 2\.16\.0\. +This is a newer version than version 2\.15\.0 contained in the previous Ansible release\. + +The changes are reported in the combined changelog below\. + + +### Included Collections + +If not mentioned explicitly\, the changes are reported in the combined changelog below\. + +| Collection | Ansible 8.0.0 | Ansible 9.0.0 | Notes | +| ----------------------------- | ------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| amazon.aws | 6.0.1 | 7.0.0 | | +| ansible.netcommon | 5.1.1 | 5.3.0 | | +| ansible.utils | 2.10.3 | 2.11.0 | | +| ansible.windows | 1.14.0 | 2.1.0 | | +| arista.eos | 6.0.1 | 6.2.1 | | +| awx.awx | 22.2.0 | 23.3.1 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| azure.azcollection | 1.15.0 | 1.19.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| check_point.mgmt | 5.0.0 | 5.1.1 | | +| chocolatey.chocolatey | 1.4.0 | 1.5.1 | | +| cisco.aci | 2.6.0 | 2.8.0 | | +| cisco.asa | 4.0.0 | 4.0.3 | | +| cisco.dnac | 6.7.2 | 6.7.6 | The collection did not have a changelog in this version. | +| cisco.intersight | 1.0.27 | 2.0.3 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| cisco.ios | 4.5.0 | 5.2.0 | | +| cisco.iosxr | 5.0.2 | 6.1.0 | | +| cisco.ise | 2.5.12 | 2.5.16 | | +| cisco.meraki | 2.15.1 | 2.16.14 | | +| cisco.mso | 2.4.0 | 2.5.0 | | +| cisco.nxos | 4.3.0 | 5.2.1 | | +| cisco.ucs | 1.8.0 | 1.10.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| cloud.common | 2.1.3 | 2.1.4 | | +| cloudscale_ch.cloud | 2.2.4 | 2.3.1 | | +| community.aws | 6.0.0 | 7.0.0 | | +| community.ciscosmb | 1.0.5 | 1.0.7 | | +| community.crypto | 2.13.1 | 2.16.0 | | +| community.digitalocean | 1.23.0 | 1.24.0 | | +| community.dns | 2.5.4 | 2.6.3 | | +| community.docker | 3.4.6 | 3.4.11 | | +| community.general | 7.0.1 | 8.0.2 | | +| community.grafana | 1.5.4 | 1.6.1 | | +| community.hashi_vault | 5.0.0 | 6.0.0 | | +| community.hrobot | 1.8.0 | 1.8.2 | | +| community.libvirt | 1.2.0 | 1.3.0 | | +| community.mongodb | 1.5.2 | 1.6.3 | There are no changes recorded in the changelog. | +| community.mysql | 3.7.1 | 3.8.0 | | +| community.network | 5.0.0 | 5.0.2 | | +| community.postgresql | 2.4.1 | 3.2.0 | | +| community.routeros | 2.8.0 | 2.10.0 | | +| community.sap | 1.0.0 | 2.0.0 | | +| community.sops | 1.6.1 | 1.6.7 | | +| community.vmware | 3.6.0 | 4.0.0 | | +| community.windows | 1.13.0 | 2.0.0 | | +| community.zabbix | 2.0.0 | 2.1.0 | | +| containers.podman | 1.10.1 | 1.11.0 | | +| cyberark.conjur | 1.2.0 | 1.2.2 | You can find the collection's changelog at `[https://github.com/cyberark/ansible-conjur-collection/blob/master/CHANGELOG.md](https://github.com/cyberark/ansible-conjur-collection/blob/master/CHANGELOG.md). | +| cyberark.pas | 1.0.19 | 1.0.23 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | +| dellemc.enterprise_sonic | 2.0.0 | 2.2.0 | | +| dellemc.openmanage | 7.5.0 | 8.4.0 | | +| dellemc.powerflex | 1.6.0 | 2.0.1 | | +| dellemc.unity | 1.6.0 | 1.7.1 | | +| f5networks.f5_modules | 1.24.0 | 1.27.0 | | +| fortinet.fortimanager | 2.1.7 | 2.3.0 | | +| fortinet.fortios | 2.2.3 | 2.3.4 | | +| google.cloud | 1.1.3 | 1.2.0 | | +| grafana.grafana | 2.0.0 | 2.2.3 | | +| hetzner.hcloud | 1.11.0 | 2.3.0 | | +| ibm.spectrum_virtualize | 1.12.0 | 2.0.0 | | +| ibm.storage_virtualize | | 2.1.0 | The collection was added to Ansible | +| inspur.ispim | 1.3.0 | 2.1.0 | | +| junipernetworks.junos | 5.1.0 | 5.3.0 | | +| lowlydba.sqlserver | 2.0.0 | 2.2.2 | | +| microsoft.ad | 1.1.0 | 1.3.0 | | +| netapp.aws | 21.7.0 | 21.7.1 | The collection did not have a changelog in this version. | +| netapp.azure | 21.10.0 | 21.10.1 | The collection did not have a changelog in this version. | +| netapp.cloudmanager | 21.22.0 | 21.22.1 | The collection did not have a changelog in this version. | +| netapp.ontap | 22.6.0 | 22.8.2 | | +| netapp.um_info | 21.8.0 | 21.8.1 | The collection did not have a changelog in this version. | +| netbox.netbox | 3.13.0 | 3.15.0 | | +| ngine_io.exoscale | 1.0.0 | 1.1.0 | | +| ovirt.ovirt | 3.1.2 | 3.2.0 | | +| purestorage.flasharray | 1.18.0 | 1.22.0 | | +| purestorage.flashblade | 1.11.0 | 1.14.0 | | +| purestorage.fusion | 1.4.2 | 1.6.0 | | +| sensu.sensu_go | 1.13.2 | 1.14.0 | | +| t_systems_mms.icinga_director | 1.32.2 | 2.0.1 | | +| telekom_mms.icinga_director | | 1.34.1 | The collection was added to Ansible | +| theforeman.foreman | 3.10.0 | 3.14.0 | | +| vultr.cloud | 1.7.1 | 1.10.0 | | +| vyos.vyos | 4.0.2 | 4.1.0 | | +| wti.remote | 1.0.4 | 1.0.5 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. | + + +### Major Changes + + +#### amazon\.aws + +* aws\_region\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.aws\_region\_info\. +* aws\_s3\_bucket\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.aws\_s3\_bucket\_info\. +* iam\_access\_key \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_access\_key\. +* iam\_access\_key\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_access\_key\_info\. +* iam\_group \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_group \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1755](https\://github\.com/ansible\-collections/amazon\.aws/pull/1755)\)\. +* iam\_managed\_policy \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_managed\_policy \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1762](https\://github\.com/ansible\-collections/amazon\.aws/pull/1762)\)\. +* iam\_mfa\_device\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_mfa\_device\_info \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1761](https\://github\.com/ansible\-collections/amazon\.aws/pull/1761)\)\. +* iam\_password\_policy \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_password\_policy\. +* iam\_role \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_role \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1760](https\://github\.com/ansible\-collections/amazon\.aws/pull/1760)\)\. +* iam\_role\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_role\_info \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1760](https\://github\.com/ansible\-collections/amazon\.aws/pull/1760)\)\. +* s3\_bucket\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.s3\_bucket\_info\. +* sts\_assume\_role \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.sts\_assume\_role\. + + +#### chocolatey\.chocolatey + +* win\_chocolatey \- add options for specifying checksums +* win\_chocolatey\_facts \- add filter / gather\_subset option + + +#### cisco\.ios + +* This release removes a previously deprecated modules\, and a few attributes from this collection\. Refer to Removed Features section for details\. + + +#### cisco\.nxos + +* Refer to Removed Features section for details\. +* This release removes four of the previously deprecated modules from this collection\. + + +#### cloudscale\_ch\.cloud + +* Bump minimum required Ansible version to 2\.13\.0 + + +#### community\.mysql + +* The community\.mysql collection no longer supports ansible\-core 2\.12 and ansible\-core 2\.13\. While we take no active measures to prevent usage and there are no plans to introduce incompatible code to the modules\, we will stop testing those versions\. Both are or will soon be End of Life and if you are still using them\, you should consider upgrading to the latest Ansible / ansible\-core 2\.15 or later as soon as possible \([https\://github\.com/ansible\-collections/community\.mysql/pull/574](https\://github\.com/ansible\-collections/community\.mysql/pull/574)\)\. +* mysql\_role \- the column\_case\_sensitive argument\'s default value will be changed to true in community\.mysql 4\.0\.0\. If your playbook expected the column to be automatically uppercased for your roles privileges\, you should set this to false explicitly \([https\://github\.com/ansible\-collections/community\.mysql/issues/578](https\://github\.com/ansible\-collections/community\.mysql/issues/578)\)\. +* mysql\_user \- the column\_case\_sensitive argument\'s default value will be changed to true in community\.mysql 4\.0\.0\. If your playbook expected the column to be automatically uppercased for your users privileges\, you should set this to false explicitly \([https\://github\.com/ansible\-collections/community\.mysql/issues/577](https\://github\.com/ansible\-collections/community\.mysql/issues/577)\)\. + + +#### community\.postgresql + +* postgres modules \- the minimum version of psycopg2 library the collection supports is 2\.5\.1 \([https\://github\.com/ansible\-collections/community\.postgresql/pull/556](https\://github\.com/ansible\-collections/community\.postgresql/pull/556)\)\. +* postgresql\_pg\_hba \- remove the deprecated order argument\. The sortorder sdu is hardcoded \([https\://github\.com/ansible\-collections/community\.postgresql/pull/496](https\://github\.com/ansible\-collections/community\.postgresql/pull/496)\)\. +* postgresql\_privs \- remove the deprecated usage\_on\_types argument\. Use the type option of the type argument to explicitly manipulate privileges on PG types \([https\://github\.com/ansible\-collections/community\.postgresql/issues/208](https\://github\.com/ansible\-collections/community\.postgresql/issues/208)\)\. +* postgresql\_query \- remove the deprecated path\_to\_script and as\_single\_query arguments\. Use the postgresql\_script module to run queries from scripts \([https\://github\.com/ansible\-collections/community\.postgresql/issues/189](https\://github\.com/ansible\-collections/community\.postgresql/issues/189)\)\. +* postgresql\_user \- move the deprecated privs argument removal to community\.postgresql 4\.0\.0 \([https\://github\.com/ansible\-collections/community\.postgresql/issues/493](https\://github\.com/ansible\-collections/community\.postgresql/issues/493)\)\. +* postgresql\_user \- remove the deprecated groups argument\. Use the postgresql\_membership module instead \([https\://github\.com/ansible\-collections/community\.postgresql/issues/300](https\://github\.com/ansible\-collections/community\.postgresql/issues/300)\)\. + + +#### community\.sap + +* all modules \- everything is now a redirect to the new collection community\.sap\_libs + + +#### community\.vmware + +* vmware\_vasa \- added a new module to register/unregister a VASA provider +* vmware\_vasa\_info \- added a new module to gather the information about existing VASA provider\(s\) + + +#### fortinet\.fortimanager + +* Support all FortiManager versions in 6\.2\, 6\.4\, 7\.0\, 7\.2 and 7\.4\. 139 new modules\. +* Support token based authentication\. + + +#### fortinet\.fortios + +* Add new fortios version 7\.4\.1\. +* Add readthedocs\.yaml file\. +* Format the contents in the changelog\.yml file\. +* Improve the no\_log feature in some modules\; +* Improve the document for adding notes and examples in Q\&A for modules using Integer number as the mkey\. +* Improve the documentation and example for seq\_num in fortios\_router\_static\; +* Improve the documentation for member\_path in all the modules\; +* Support new FOS versions\. +* Update Ansible version from 2\.9 to 2\.14\. +* Update Q\&A regarding setting up FortiToken multi\-factor authentication\; +* Update Q\&A with a resolution for Ansible Always Sending GET/PUT Requests as POST Requests\. +* Update the requirement\.txt file to specify the sphinx\_rtd\_theme\=\=1\.3\.0 +* update the required Ansible version to 2\.14\.0 in the runtime\.yml file\. + + +#### grafana\.grafana + +* Addition of Grafana Server role by \@gardar +* Configurable agent user groups by \@NormanJS +* Grafana Plugins support on\-prem Grafana installation by \@ishanjainn +* Updated Service for flow mode by \@bentonam + + +### Minor Changes + +* Move setuptools configuration into the declarative setup\.cfg format\. ansible sdists still contain a stub setup\.py file\, but we recommend that users move to tools like pip and build and the PEP 517 interface instead of setuptools\' deprecated setup\.py interface \([https\://github\.com/ansible\-community/antsibull/pull/530](https\://github\.com/ansible\-community/antsibull/pull/530)\)\. + + +#### Ansible\-core + +* Add Python type hints to the Display class \([https\://github\.com/ansible/ansible/issues/80841](https\://github\.com/ansible/ansible/issues/80841)\) +* Add GALAXY\_COLLECTIONS\_PATH\_WARNING option to disable the warning given by ansible\-galaxy collection install when installing a collection to a path that isn\'t in the configured collection paths\. +* Add python3\.12 to the default INTERPRETER\_PYTHON\_FALLBACK list\. +* Add utcfromtimestamp and utcnow to ansible\.module\_utils\.compat\.datetime to return fixed offset datetime objects\. +* Add a general GALAXY\_SERVER\_TIMEOUT config option for distribution servers \([https\://github\.com/ansible/ansible/issues/79833](https\://github\.com/ansible/ansible/issues/79833)\)\. +* Added Python type annotation to connection plugins +* CLI argument parsing \- Automatically prepend to the help of CLI arguments that support being specified multiple times\. \([https\://github\.com/ansible/ansible/issues/22396](https\://github\.com/ansible/ansible/issues/22396)\) +* DEFAULT\_TRANSPORT now defaults to \'ssh\'\, the old \'smart\' option is being deprecated as versions of OpenSSH without control persist are basically not present anymore\. +* Documentation for set filters intersect\, difference\, symmetric\_difference and union now states that the returned list items are in arbitrary order\. +* Record removal\_date in runtime metadata as a string instead of a date\. +* Remove the CleansingNodeVisitor class and its usage due to the templating changes that made it superfluous\. Also simplify the Conditional class\. +* Removed exclude and recursive\-exclude commands for generated files from the MANIFEST\.in file\. These excludes were unnecessary since releases are expected to be built with a clean worktree\. +* Removed exclude commands for sanity test files from the MANIFEST\.in file\. These tests were previously excluded because they did not pass when run from an sdist\. However\, sanity tests are not expected to pass from an sdist\, so excluding some \(but not all\) of the failing tests makes little sense\. +* Removed redundant include commands from the MANIFEST\.in file\. These includes either duplicated default behavior or another command\. +* The ansible\-core sdist no longer contains pre\-generated man pages\. Instead\, a packaging/cli\-doc/build\.py script is included in the sdist\. This script can generate man pages and standalone RST documentation for ansible\-core CLI programs\. +* The docs and examples directories are no longer included in the ansible\-core sdist\. These directories have been moved to the [https\://github\.com/ansible/ansible\-documentation](https\://github\.com/ansible/ansible\-documentation) repository\. +* The minimum required setuptools version is now 66\.1\.0\, as it is the oldest version to support Python 3\.12\. +* Update ansible\_service\_mgr fact to include init system for SMGL OS family +* Use ansible\.module\_utils\.common\.text\.converters instead of ansible\.module\_utils\.\_text\. +* Use importlib\.resources\.abc\.TraversableResources instead of deprecated importlib\.abc\.TraversableResources where available \([https\:/github\.com/ansible/ansible/pull/81082](https\:/github\.com/ansible/ansible/pull/81082)\)\. +* Use include where recursive\-include is unnecessary in the MANIFEST\.in file\. +* Use package\_data instead of include\_package\_data for setup\.cfg to avoid setuptools warnings\. +* Utilize gpg check provided internally by the transaction\.run method as oppose to calling it manually\. +* Templar \- do not add the dict constructor to globals as all required Jinja2 versions already do so +* ansible\-doc \- allow to filter listing of collections and metadata dump by more than one collection \([https\://github\.com/ansible/ansible/pull/81450](https\://github\.com/ansible/ansible/pull/81450)\)\. +* ansible\-galaxy \- Add a plural option to improve ignoring multiple signature error status codes when installing or verifying collections\. A space\-separated list of error codes can follow \-\-ignore\-signature\-status\-codes in addition to specifying \-\-ignore\-signature\-status\-code multiple times \(for example\, \-\-ignore\-signature\-status\-codes NO\_PUBKEY UNEXPECTED\)\. +* ansible\-galaxy \- Remove internal configuration argument v3 \([https\://github\.com/ansible/ansible/pull/80721](https\://github\.com/ansible/ansible/pull/80721)\) +* ansible\-galaxy \- add note to the collection dependency resolver error message about pre\-releases if \-\-pre was not provided \([https\://github\.com/ansible/ansible/issues/80048](https\://github\.com/ansible/ansible/issues/80048)\)\. +* ansible\-galaxy \- used to crash out with a \"Errno 20 Not a directory\" error when extracting files from a role when hitting a file with an illegal name \([https\://github\.com/ansible/ansible/pull/81553](https\://github\.com/ansible/ansible/pull/81553)\)\. Now it gives a warning identifying the culprit file and the rule violation \(e\.g\.\, my\$class\.jar has a \$ in the name\) before crashing out\, giving the user a chance to remove the invalid file and try again\. \([https\://github\.com/ansible/ansible/pull/81555](https\://github\.com/ansible/ansible/pull/81555)\)\. +* ansible\-test \- Add Alpine 3\.18 to remotes +* ansible\-test \- Add Fedora 38 container\. +* ansible\-test \- Add Fedora 38 remote\. +* ansible\-test \- Add FreeBSD 13\.2 remote\. +* ansible\-test \- Add new pylint checker for new \# deprecated\: comments within code to trigger errors when time to remove code that has no user facing deprecation message\. Only supported in ansible\-core\, not collections\. +* ansible\-test \- Add support for RHEL 8\.8 remotes\. +* ansible\-test \- Add support for RHEL 9\.2 remotes\. +* ansible\-test \- Add support for testing with Python 3\.12\. +* ansible\-test \- Allow float values for the \-\-timeout option to the env command\. This simplifies testing\. +* ansible\-test \- Enable thread code coverage in addition to the existing multiprocessing coverage\. +* ansible\-test \- Make Python 3\.12 the default version used in the base and default containers\. +* ansible\-test \- RHEL 8\.8 provisioning can now be used with the \-\-python 3\.11 option\. +* ansible\-test \- RHEL 9\.2 provisioning can now be used with the \-\-python 3\.11 option\. +* ansible\-test \- Refactored env command logic and timeout handling\. +* ansible\-test \- Remove Fedora 37 remote support\. +* ansible\-test \- Remove Fedora 37 test container\. +* ansible\-test \- Remove Python 3\.8 and 3\.9 from RHEL 8\.8\. +* ansible\-test \- Remove obsolete embedded script for configuring WinRM on Windows remotes\. +* ansible\-test \- Removed Ubuntu 20\.04 LTS image from the \-\-remote option\. +* ansible\-test \- Removed freebsd/12\.4 remote\. +* ansible\-test \- Removed freebsd/13\.1 remote\. +* ansible\-test \- Removed test remotes\: rhel/8\.7\, rhel/9\.1 +* ansible\-test \- Removed the deprecated \-\-docker\-no\-pull option\. +* ansible\-test \- Removed the deprecated \-\-no\-pip\-check option\. +* ansible\-test \- Removed the deprecated foreman test plugin\. +* ansible\-test \- Removed the deprecated govcsim support from the vcenter test plugin\. +* ansible\-test \- Replace the pytest\-forked pytest plugin with a custom plugin\. +* ansible\-test \- The no\-get\-exception sanity test is now limited to plugins in collections\. Previously any Python file in a collection was checked for get\_exception usage\. +* ansible\-test \- The replace\-urlopen sanity test is now limited to plugins in collections\. Previously any Python file in a collection was checked for urlopen usage\. +* ansible\-test \- The use\-compat\-six sanity test is now limited to plugins in collections\. Previously any Python file in a collection was checked for six usage\. +* ansible\-test \- The openSUSE test container has been updated to openSUSE Leap 15\.5\. +* ansible\-test \- Update pip to 23\.1\.2 and setuptools to 67\.7\.2\. +* ansible\-test \- Update the default containers\. +* ansible\-test \- Update the nios\-test\-container to version 2\.0\.0\, which supports API version 2\.9\. +* ansible\-test \- Update the logic used to detect when ansible\-test is running from source\. +* ansible\-test \- Updated the CloudStack test container to version 1\.6\.1\. +* ansible\-test \- Updated the distro test containers to version 6\.3\.0 to include coverage 7\.3\.2 for Python 3\.8\+\. The alpine3 container is now based on 3\.18 instead of 3\.17 and includes Python 3\.11 instead of Python 3\.10\. +* ansible\-test \- Use datetime\.datetime\.now with tz specified instead of datetime\.datetime\.utcnow\. +* ansible\-test \- Use a context manager to perform cleanup at exit instead of using the built\-in atexit module\. +* ansible\-test \- When invoking sleep in containers during container setup\, the env command is used to avoid invoking the shell builtin\, if present\. +* ansible\-test \- remove Alpine 3\.17 from remotes +* ansible\-test — Python 3\.8–3\.12 will use coverage v7\.3\.2\. +* ansible\-test — coverage v6\.5\.0 is to be used only under Python 3\.7\. +* ansible\-vault create\: Now raises an error when opening the editor without tty\. The flag \-\-skip\-tty\-check restores previous behaviour\. +* ansible\_user\_module \- tweaked macos user defaults to reflect expected defaults \([https\://github\.com/ansible/ansible/issues/44316](https\://github\.com/ansible/ansible/issues/44316)\) +* apt \- return calculated diff while running apt clean operation\. +* blockinfile \- add append\_newline and prepend\_newline options \([https\://github\.com/ansible/ansible/issues/80835](https\://github\.com/ansible/ansible/issues/80835)\)\. +* cli \- Added short option \'\-J\' for asking for vault password \([https\://github\.com/ansible/ansible/issues/80523](https\://github\.com/ansible/ansible/issues/80523)\)\. +* command \- Add option expand\_argument\_vars to disable argument expansion and use literal values \- [https\://github\.com/ansible/ansible/issues/54162](https\://github\.com/ansible/ansible/issues/54162) +* config lookup new option show\_origin to also return the origin of a configuration value\. +* display methods for warning and deprecation are now proxied to main process when issued from a fork\. This allows for the deduplication of warnings and deprecations to work globally\. +* dnf5 \- enable environment groups installation testing in CI as its support was added\. +* dnf5 \- enable now implemented cacheonly functionality +* executor now skips persistent connection when it detects an action that does not require a connection\. +* find module \- Add ability to filter based on modes +* gather\_facts now will use gather\_timeout setting to limit parallel execution of modules that do not themselves use gather\_timeout\. +* group \- remove extraneous warning shown when user does not exist \([https\://github\.com/ansible/ansible/issues/77049](https\://github\.com/ansible/ansible/issues/77049)\)\. +* include\_vars \- os\.walk now follows symbolic links when traversing directories \([https\://github\.com/ansible/ansible/pull/80460](https\://github\.com/ansible/ansible/pull/80460)\) +* module compression is now sourced directly via config\, bypassing play\_context possibly stale values\. +* reboot \- show last error message in verbose logs \([https\://github\.com/ansible/ansible/issues/81574](https\://github\.com/ansible/ansible/issues/81574)\)\. +* service\_facts now returns more info for rcctl managed systesm \(OpenBSD\)\. +* tasks \- the retries keyword can be specified without until in which case the task is retried until it succeeds but at most retries times \([https\://github\.com/ansible/ansible/issues/20802](https\://github\.com/ansible/ansible/issues/20802)\) +* user \- add new option password\_expire\_warn \(supported on Linux only\) to set the number of days of warning before a password change is required \([https\://github\.com/ansible/ansible/issues/79882](https\://github\.com/ansible/ansible/issues/79882)\)\. +* yum\_repository \- Align module documentation with parameters + + +#### amazon\.aws + +* amazon\.aws collection \- apply isort code formatting to ensure consistent formatting of code \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1771](https\://github\.com/ansible\-collections/amazon\.aws/pull/1771)\)\. +* backup\_selection \- add validation and documentation for all conditions suboptions \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1633](https\://github\.com/ansible\-collections/amazon\.aws/pull/1633)\)\. +* cloudformation \- Add support for disable\_rollback to update stack operation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1681](https\://github\.com/ansible\-collections/amazon\.aws/issues/1681)\)\. +* ec2\_ami \- add support for org\_arns and org\_unit\_arns in launch\_permissions \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1690](https\://github\.com/ansible\-collections/amazon\.aws/pull/1690)\)\. +* ec2\_instance \- add support for additional placement options and license\_specifications in run instance spec \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1824](https\://github\.com/ansible\-collections/amazon\.aws/issues/1824)\)\. +* ec2\_instance \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\. +* ec2\_instance\_info \- add new parameter include\_attributes to describe instance attributes \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1577](https\://github\.com/ansible\-collections/amazon\.aws/pull/1577)\)\. +* ec2\_key \- add support for new parameter file\_name to save private key in when new key is created by AWS\. When this option is provided the generated private key will be removed from the module return \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1704](https\://github\.com/ansible\-collections/amazon\.aws/pull/1704)\)\. +* ec2\_metadata\_facts \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1802](https\://github\.com/ansible\-collections/amazon\.aws/pull/1802)\)\. +* ec2\_snapshot \- Add support for modifying createVolumePermission \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1464](https\://github\.com/ansible\-collections/amazon\.aws/pull/1464)\)\. +* ec2\_snapshot\_info \- Add createVolumePermission to output result \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1464](https\://github\.com/ansible\-collections/amazon\.aws/pull/1464)\)\. +* ec2\_vpc\_igw \- Add ability to attach/detach VPC to/from internet gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\. +* ec2\_vpc\_igw \- Add ability to change VPC attached to internet gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\. +* ec2\_vpc\_igw \- Add ability to create an internet gateway without attaching a VPC \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\. +* ec2\_vpc\_igw \- Add ability to delete a vpc internet gateway using the id of the gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\. +* elb\_application\_lb\_info \- add new parameters include\_attributes\, include\_listeners and include\_listener\_rules to optionally speed up module by fetching less information \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1778](https\://github\.com/ansible\-collections/amazon\.aws/pull/1778)\)\. +* elb\_application\_lb\_info \- drop redundant describe\_load\_balancers call fetching ip\_address\_type \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1768](https\://github\.com/ansible\-collections/amazon\.aws/pull/1768)\)\. +* iam\_user \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\. +* module\_utils\.arn \- add resource\_id and resource\_type to parse\_aws\_arn return values \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\. +* module\_utils\.arn \- added validate\_aws\_arn function to handle common pattern matching for ARNs \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\. +* module\_utils\.botocore \- migrate from vendored copy of LooseVersion to packaging\.version\.Version \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1587](https\://github\.com/ansible\-collections/amazon\.aws/pull/1587)\)\. +* rds\_cluster \- Add support for removing cluster from global db \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1705](https\://github\.com/ansible\-collections/amazon\.aws/pull/1705)\)\. +* rds\_cluster \- add support for another state choice called started\. This starts the rds cluster \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files](https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files)\)\. +* rds\_cluster \- add support for another state choice called stopped\. This stops the rds cluster \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files](https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files)\)\. +* route53 \- add a wait\_id return value when a change is done \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1683](https\://github\.com/ansible\-collections/amazon\.aws/pull/1683)\)\. +* route53\_health\_check \- add support for a string list parameter called child\_health\_checks to specify health checks that must be healthy for the calculated health check \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1631](https\://github\.com/ansible\-collections/amazon\.aws/pull/1631)\)\. +* route53\_health\_check \- add support for an integer parameter called health\_threshold to specify the minimum number of healthy child health checks that must be healthy for the calculated health check \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1631](https\://github\.com/ansible\-collections/amazon\.aws/pull/1631)\)\. +* route53\_health\_check \- add support for another type choice called CALCULATED \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1631](https\://github\.com/ansible\-collections/amazon\.aws/pull/1631)\)\. +* s3\_object \- Allow recursive copy of objects in S3 bucket \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1379](https\://github\.com/ansible\-collections/amazon\.aws/issues/1379)\)\. +* s3\_object \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1802](https\://github\.com/ansible\-collections/amazon\.aws/pull/1802)\)\. + + +#### ansible\.netcommon + +* Add a new cliconf plugin default that can be used when no cliconf plugin is found for a given network\_os\. This plugin only supports get\(\)\. \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/569](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/569)\) +* Add new module cli\_backup that exclusively handles configuration backup\. +* httpapi \- Add additional option ca\_path\, client\_cert\, client\_key\, and http\_agent that are available in open\_url but not to httpapi\. \([https\://github\.com/ansible\-collections/ansible\.netcommon/issues/528](https\://github\.com/ansible\-collections/ansible\.netcommon/issues/528)\) +* telnet \- add crlf option to send CRLF instead of just LF \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/440](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/440)\)\. + + +#### ansible\.utils + +* Add ipcut filter plugin\.\([https\://github\.com/ansible\-collections/ansible\.utils/issues/251](https\://github\.com/ansible\-collections/ansible\.utils/issues/251)\) +* Add ipv6form filter plugin\.\([https\://github\.com/ansible\-collections/ansible\.utils/issues/230](https\://github\.com/ansible\-collections/ansible\.utils/issues/230)\) + + +#### ansible\.windows + +* win\_certificate\_store \- the private key check\, when exporting to pkcs12\, has been modified to handle the case where the PrivateKey property is null despite it being there +* win\_find \- Added depth option to control how deep to go when scanning into the target path \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/335](https\://github\.com/ansible\-collections/ansible\.windows/issues/335) +* win\_updates \- Avoid using a scheduled task to spawn the updates background job when running as become\. This provides an alternative method available to users in case the task scheduler does not work on their system \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/543](https\://github\.com/ansible\-collections/ansible\.windows/issues/543) + + +#### arista\.eos + +* Add support for overridden operation in bgp\_global resource module\. +* arista\_config \- Relax restrictions on I\(src\) parameter so it can be used more like I\(lines\)\. + + +#### check\_point\.mgmt + +* cp\_mgmt\_vpn\_community\_star \- new fields added\. +* show command modules \- no longer return result of changed\=True\. + + +#### chocolatey\.chocolatey + +* All modules \- Ensure modules are compatible with both Chocolatey CLI v2\.x and v1\.x +* win\_chocolatey \- Improve error messages when installation of Chocolatey CLI v2\.x fails due to unmet \.NET Framework 4\.8 dependency on client + + +#### cisco\.aci + +* Add 8\.0 option for dvs\_version attribute in aci\_vmm\_controller +* Add ACI HTTPAPI plugin with multi host support \(\#114\) +* Add Match Rules for aci\_route\_control\_profile modules +* Add OSPF parameters to aci\_l3out module and create the associated test case\. +* Add aci\_access\_span\_src\_group modules for access span source group support +* Add aci\_access\_span\_src\_group\_src module for access span source support +* Add aci\_access\_span\_src\_group\_src\_path module for access span source path support +* Add aci\_bgp\_timers\_policy and aci\_bgp\_best\_path\_policy modules +* Add aci\_epg\_subnet module \(\#424\) +* Add aci\_fabric\_interface\_policy\_group module +* Add aci\_fabric\_span\_dst\_group module for fabric span destination group support +* Add aci\_fabric\_span\_src\_group module for fabric span source group support +* Add aci\_fabric\_span\_src\_group\_src module for fabric span source support +* Add aci\_fabric\_span\_src\_group\_src\_node module for fabric span source node support +* Add aci\_fabric\_span\_src\_group\_src\_path module for fabric span source path support +* Add aci\_file\_remote\_path module \(\#379\) +* Add aci\_interface\_policy\_leaf\_fc\_policy\_group and aci\_interface\_policy\_spine\_policy\_group module +* Add aci\_l3out\_bgp\_protocol\_profile module +* Add aci\_match\_community\_factor module\. +* Add aci\_route\_control\_context and aci\_match\_rule modules +* Add aci\_route\_control\_profile module +* Add aci\_vrf\_leak\_internal\_subnet module \(\#449\) +* Add description parameter for aci\_l3out\_logical\_interface\_profile +* Add hmac\-sha2\-224\, hmac\-sha2\-256\, hmac\-sha2\-384\, hmac\-sha2\-512 authentication types and description to aci\_snmp\_user module +* Add ip\_data\_plane\_learning attribute to aci\_bd\_subnet and aci\_vrf modules \(\#413\) +* Add local\_as\_number\_config and local\_as\_number attributes to support bgpLocalAsnP child object in aci\_l3out\_bgp\_peer module \(\#416\) +* Add loopback interface profile as a child class for aci\_l3out\_logical\_node\. +* Add missing attributes in aci\_interface\_policy\_leaf\_policy\_group +* Add missing attributes to aci\_l3out\_extepg module +* Add missing test cases\, fix found issues and add missing attributes for aci\_fabric\_scheduler\, aci\_firmware\_group\, aci\_firmware\_group\_node\, aci\_firmware\_policy\, aci\_interface\_policy\_fc\, aci\_interface\_policy\_lldp\, aci\_interface\_policy\_mcp\, aci\_interface\_policy\_ospf\, aci\_interface\_policy\_port\_channel\, aci\_maintenance\_group\, aci\_maintenance\_group\_node\, aci\_maintenance\_policy and aci\_tenant\_ep\_retention\_policy modules \(\#453\) +* Add node\_type and remote\_leaf\_pool\_id attributes to aci\_fabric\_node +* Add source\_port\, source\_port\_start\, source\_port\_end\, tcp\_flags and match\_only\_fragments attributes to aci\_filter\_entry module \(\#426\) +* Add support for checkmode in aci\_rest module +* Add support for configuration of fabric node control with aci\_fabric\_node\_control module +* Add support for configuration of fabric pod selectors with aci\_fabric\_pod\_selector module +* Add support for configuration of system banner and alias with aci\_system\_banner module +* Add support for configuration of system endpoint controls\, ip aging\, ep loop protection and roque endpoint control with aci\_system\_endpoint\_controls module +* Add support for configuration of system fabric wide settings with aci\_fabric\_wide\_settings module +* Add support for configuration of system global aes passphrase encryption with aci\_system\_global\_aes\_passphrase\_encryption module +* Add support for global infra dhcp relay policy configuration in aci\_dhcp\_relay +* Add support for global infra dhcp relay policy configuration in aci\_dhcp\_relay\_provider + + +#### cisco\.ios + +* Fixe an issue with some files that doesn\'t pass the PEP8 sanity check because type\(\\) \=\= \ is not allowed\. We need to use isinstance\(\\,\\) function in place +* 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\_facts \- Add CPU utilization\. \([https\://github\.com/ansible\-collections/cisco\.ios/issues/779](https\://github\.com/ansible\-collections/cisco\.ios/issues/779)\) +* ios\_interfaces \- Add template attribute to provide support for cisco ios templates\. +* ios\_service \- Create module to manage service configuration on IOS switches +* 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 +* 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 + + +#### cisco\.iosxr + +* Add iosxr\_bgp\_templates module \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/341](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/341)\)\. +* iosxr\_config \- Relax restrictions on I\(src\) parameter so it can be used more like I\(lines\)\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/343](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/343)\)\. +* iosxr\_config Add updates option in return value\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/438](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/438)\)\. +* iosxr\_facts \- Add CPU utilization\. +* iosxr\_l2\_interfaces \- fix issue in supporting multiple iosxr version\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/379](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/379)\)\. + + +#### cisco\.meraki + +* administered\_identities\_me\_info \- new plugin\. +* devices \- new plugin\. +* devices\_appliance\_performance\_info \- new plugin\. +* devices\_appliance\_uplinks\_settings \- new plugin\. +* devices\_appliance\_uplinks\_settings\_info \- new plugin\. +* devices\_appliance\_vmx\_authentication\_token \- new plugin\. +* devices\_blink\_leds \- new plugin\. +* devices\_camera\_analytics\_live\_info \- new plugin\. +* devices\_camera\_custom\_analytics \- new plugin\. +* devices\_camera\_custom\_analytics\_info \- new plugin\. +* devices\_camera\_generate\_snapshot \- new plugin\. +* devices\_camera\_quality\_and\_retention \- new plugin\. +* devices\_camera\_quality\_and\_retention\_info \- new plugin\. +* devices\_camera\_sense \- new plugin\. +* devices\_camera\_sense\_info \- new plugin\. +* devices\_camera\_video\_link\_info \- new plugin\. +* devices\_camera\_video\_settings \- new plugin\. +* devices\_camera\_video\_settings\_info \- new plugin\. +* devices\_camera\_wireless\_profiles \- new plugin\. +* devices\_camera\_wireless\_profiles\_info \- new plugin\. +* devices\_cellular\_gateway\_lan \- new plugin\. +* devices\_cellular\_gateway\_lan\_info \- new plugin\. +* devices\_cellular\_gateway\_port\_forwarding\_rules \- new plugin\. +* devices\_cellular\_gateway\_port\_forwarding\_rules\_info \- new plugin\. +* devices\_cellular\_sims \- new plugin\. +* devices\_cellular\_sims\_info \- new plugin\. +* devices\_info \- new plugin\. +* devices\_live\_tools\_ping \- new plugin\. +* devices\_live\_tools\_ping\_device \- new plugin\. +* devices\_live\_tools\_ping\_device\_info \- new plugin\. +* devices\_live\_tools\_ping\_info \- new plugin\. +* devices\_lldp\_cdp\_info \- new plugin\. +* devices\_management\_interface \- new plugin\. +* devices\_management\_interface\_info \- new plugin\. +* devices\_sensor\_relationships \- new plugin\. +* devices\_sensor\_relationships\_info \- new plugin\. +* devices\_switch\_ports \- new plugin\. +* devices\_switch\_ports\_cycle \- new plugin\. +* devices\_switch\_ports\_info \- new plugin\. +* devices\_switch\_ports\_statuses\_info \- new plugin\. +* devices\_switch\_routing\_interfaces \- new plugin\. +* devices\_switch\_routing\_interfaces\_dhcp \- new plugin\. +* devices\_switch\_routing\_interfaces\_dhcp\_info \- new plugin\. +* devices\_switch\_routing\_interfaces\_info \- new plugin\. +* devices\_switch\_routing\_static\_routes \- new plugin\. +* devices\_switch\_routing\_static\_routes\_info \- new plugin\. +* devices\_switch\_warm\_spare \- new plugin\. +* devices\_switch\_warm\_spare\_info \- new plugin\. +* devices\_wireless\_bluetooth\_settings \- new plugin\. +* devices\_wireless\_bluetooth\_settings\_info \- new plugin\. +* devices\_wireless\_connection\_stats\_info \- new plugin\. +* devices\_wireless\_latency\_stats\_info \- new plugin\. +* devices\_wireless\_radio\_settings \- new plugin\. +* devices\_wireless\_radio\_settings\_info \- new plugin\. +* devices\_wireless\_status\_info \- new plugin\. +* meraki\_mx\_site\_to\_site\_firewall \- Fix updating VPN rules per issue 302\. +* networks \- new plugin\. +* networks\_alerts\_history\_info \- new plugin\. +* networks\_alerts\_settings \- new plugin\. +* networks\_alerts\_settings\_info \- new plugin\. +* networks\_appliance\_connectivity\_monitoring\_destinations \- new plugin\. +* networks\_appliance\_connectivity\_monitoring\_destinations\_info \- new plugin\. +* networks\_appliance\_content\_filtering \- new plugin\. +* networks\_appliance\_content\_filtering\_categories\_info \- new plugin\. +* networks\_appliance\_content\_filtering\_info \- new plugin\. +* networks\_appliance\_firewall\_cellular\_firewall\_rules \- new plugin\. +* networks\_appliance\_firewall\_cellular\_firewall\_rules\_info \- new plugin\. +* networks\_appliance\_firewall\_firewalled\_services \- new plugin\. +* networks\_appliance\_firewall\_firewalled\_services\_info \- new plugin\. +* networks\_appliance\_firewall\_inbound\_firewall\_rules \- new plugin\. +* networks\_appliance\_firewall\_inbound\_firewall\_rules\_info \- new plugin\. +* networks\_appliance\_firewall\_l3\_firewall\_rules \- new plugin\. +* networks\_appliance\_firewall\_l3\_firewall\_rules\_info \- new plugin\. +* networks\_appliance\_firewall\_l7\_firewall\_rules \- new plugin\. +* networks\_appliance\_firewall\_l7\_firewall\_rules\_application\_categories\_info \- new plugin\. +* networks\_appliance\_firewall\_l7\_firewall\_rules\_info \- new plugin\. +* networks\_appliance\_firewall\_one\_to\_many\_nat\_rules \- new plugin\. +* networks\_appliance\_firewall\_one\_to\_many\_nat\_rules\_info \- new plugin\. +* networks\_appliance\_firewall\_one\_to\_one\_nat\_rules \- new plugin\. +* networks\_appliance\_firewall\_one\_to\_one\_nat\_rules\_info \- new plugin\. +* networks\_appliance\_firewall\_port\_forwarding\_rules \- new plugin\. +* networks\_appliance\_firewall\_port\_forwarding\_rules\_info \- new plugin\. +* networks\_appliance\_firewall\_settings \- new plugin\. +* networks\_appliance\_firewall\_settings\_info \- new plugin\. +* networks\_appliance\_ports \- new plugin\. +* networks\_appliance\_ports\_info \- new plugin\. +* networks\_appliance\_prefixes\_delegated\_statics \- new plugin\. +* networks\_appliance\_prefixes\_delegated\_statics\_info \- new plugin\. +* networks\_appliance\_security\_intrusion \- new plugin\. +* networks\_appliance\_security\_intrusion\_info \- new plugin\. +* networks\_appliance\_security\_malware \- new plugin\. +* networks\_appliance\_security\_malware\_info \- new plugin\. +* networks\_appliance\_settings \- new plugin\. +* networks\_appliance\_settings\_info \- new plugin\. +* networks\_appliance\_single\_lan \- new plugin\. +* networks\_appliance\_single\_lan\_info \- new plugin\. +* networks\_appliance\_ssids \- new plugin\. +* networks\_appliance\_ssids\_info \- new plugin\. +* networks\_appliance\_static\_routes \- new plugin\. +* networks\_appliance\_static\_routes\_info \- new plugin\. +* networks\_appliance\_traffic\_shaping \- new plugin\. +* networks\_appliance\_traffic\_shaping\_custom\_performance\_classes \- new plugin\. +* networks\_appliance\_traffic\_shaping\_info \- new plugin\. +* networks\_appliance\_traffic\_shaping\_rules \- new plugin\. +* networks\_appliance\_traffic\_shaping\_rules\_info \- new plugin\. +* networks\_appliance\_traffic\_shaping\_uplink\_bandwidth \- new plugin\. +* networks\_appliance\_traffic\_shaping\_uplink\_bandwidth\_info \- new plugin\. +* networks\_appliance\_traffic\_shaping\_uplink\_selection \- new plugin\. +* networks\_appliance\_traffic\_shaping\_uplink\_selection\_info \- new plugin\. +* networks\_appliance\_vlans \- new plugin\. +* networks\_appliance\_vlans\_info \- new plugin\. +* networks\_appliance\_vlans\_settings \- new plugin\. +* networks\_appliance\_vlans\_settings\_info \- new plugin\. +* networks\_appliance\_vpn\_bgp \- new plugin\. +* networks\_appliance\_vpn\_bgp\_info \- new plugin\. +* networks\_appliance\_vpn\_site\_to\_site\_vpn \- new plugin\. +* networks\_appliance\_vpn\_site\_to\_site\_vpn\_info \- new plugin\. +* networks\_appliance\_warm\_spare \- new plugin\. +* networks\_appliance\_warm\_spare\_info \- new plugin\. +* networks\_appliance\_warm\_spare\_swap \- new plugin\. +* networks\_bind \- new plugin\. +* networks\_bluetooth\_clients\_info \- new plugin\. +* networks\_camera\_quality\_retention\_profiles \- new plugin\. +* networks\_camera\_quality\_retention\_profiles\_info \- new plugin\. +* networks\_camera\_wireless\_profiles \- new plugin\. +* networks\_camera\_wireless\_profiles\_info \- new plugin\. +* networks\_cellular\_gateway\_connectivity\_monitoring\_destinations \- new plugin\. +* networks\_cellular\_gateway\_connectivity\_monitoring\_destinations\_info \- new plugin\. +* networks\_cellular\_gateway\_dhcp \- new plugin\. +* networks\_cellular\_gateway\_dhcp\_info \- new plugin\. +* networks\_cellular\_gateway\_subnet\_pool \- new plugin\. +* networks\_cellular\_gateway\_subnet\_pool\_info \- new plugin\. +* networks\_cellular\_gateway\_uplink \- new plugin\. +* networks\_cellular\_gateway\_uplink\_info \- new plugin\. +* networks\_clients\_info \- new plugin\. +* networks\_clients\_overview\_info \- new plugin\. +* networks\_clients\_policy \- new plugin\. +* networks\_clients\_policy\_info \- new plugin\. +* networks\_clients\_provision \- new plugin\. +* networks\_clients\_splash\_authorization\_status \- new plugin\. +* networks\_clients\_splash\_authorization\_status\_info \- new plugin\. +* networks\_devices\_claim \- new plugin\. +* networks\_devices\_claim\_vmx \- new plugin\. +* networks\_devices\_remove \- new plugin\. +* networks\_events\_event\_types\_info \- new plugin\. +* networks\_events\_info \- new plugin\. +* networks\_firmware\_upgrades \- new plugin\. +* networks\_firmware\_upgrades\_info \- new plugin\. +* networks\_firmware\_upgrades\_rollbacks \- new plugin\. +* networks\_firmware\_upgrades\_staged\_events \- new plugin\. +* networks\_firmware\_upgrades\_staged\_events\_defer \- new plugin\. +* networks\_firmware\_upgrades\_staged\_events\_info \- new plugin\. +* networks\_firmware\_upgrades\_staged\_events\_rollbacks \- new plugin\. +* networks\_firmware\_upgrades\_staged\_groups \- new plugin\. +* networks\_firmware\_upgrades\_staged\_groups\_info \- new plugin\. +* networks\_firmware\_upgrades\_staged\_stages \- new plugin\. +* networks\_firmware\_upgrades\_staged\_stages\_info \- new plugin\. +* networks\_floor\_plans \- new plugin\. +* networks\_floor\_plans\_info \- new plugin\. +* networks\_group\_policies \- new plugin\. +* networks\_group\_policies\_info \- new plugin\. +* networks\_health\_alerts\_info \- new plugin\. +* networks\_info \- new plugin\. +* networks\_insight\_applications\_health\_by\_time\_info \- new plugin\. +* networks\_meraki\_auth\_users \- new plugin\. +* networks\_meraki\_auth\_users\_info \- new plugin\. +* networks\_mqtt\_brokers \- new plugin\. +* networks\_netflow \- new plugin\. +* networks\_netflow\_info \- new plugin\. +* networks\_pii\_pii\_keys\_info \- new plugin\. +* networks\_pii\_requests\_delete \- new plugin\. +* networks\_pii\_requests\_info \- new plugin\. +* networks\_pii\_sm\_devices\_for\_key\_info \- new plugin\. +* networks\_pii\_sm\_owners\_for\_key\_info \- new plugin\. +* networks\_policies\_by\_client\_info \- new plugin\. +* networks\_sensor\_alerts\_current\_overview\_by\_metric\_info \- new plugin\. +* networks\_sensor\_alerts\_overview\_by\_metric\_info \- new plugin\. +* networks\_sensor\_alerts\_profiles \- new plugin\. +* networks\_sensor\_alerts\_profiles\_info \- new plugin\. +* networks\_sensor\_mqtt\_brokers \- new plugin\. +* networks\_sensor\_mqtt\_brokers\_info \- new plugin\. +* networks\_sensor\_relationships\_info \- new plugin\. +* networks\_settings \- new plugin\. +* networks\_settings\_info \- new plugin\. +* networks\_sm\_bypass\_activation\_lock\_attempts \- new plugin\. +* networks\_sm\_bypass\_activation\_lock\_attempts\_info \- new plugin\. +* networks\_sm\_devices\_cellular\_usage\_history\_info \- new plugin\. +* networks\_sm\_devices\_certs\_info \- new plugin\. +* networks\_sm\_devices\_checkin \- new plugin\. +* networks\_sm\_devices\_connectivity\_info \- new plugin\. +* networks\_sm\_devices\_desktop\_logs\_info \- new plugin\. +* networks\_sm\_devices\_device\_command\_logs\_info \- new plugin\. +* networks\_sm\_devices\_device\_profiles\_info \- new plugin\. +* networks\_sm\_devices\_fields \- new plugin\. +* networks\_sm\_devices\_info \- new plugin\. +* networks\_sm\_devices\_lock \- new plugin\. +* networks\_sm\_devices\_modify\_tags \- new plugin\. +* networks\_sm\_devices\_move \- new plugin\. +* networks\_sm\_devices\_network\_adapters\_info \- new plugin\. +* networks\_sm\_devices\_performance\_history\_info \- new plugin\. +* networks\_sm\_devices\_refresh\_details \- new plugin\. +* networks\_sm\_devices\_security\_centers\_info \- new plugin\. +* networks\_sm\_devices\_unenroll \- new plugin\. +* networks\_sm\_devices\_wipe \- new plugin\. +* networks\_sm\_devices\_wlan\_lists\_info \- new plugin\. +* networks\_sm\_profiles\_info \- new plugin\. +* networks\_sm\_target\_groups \- new plugin\. +* networks\_sm\_target\_groups\_info \- new plugin\. +* networks\_sm\_trusted\_access\_configs\_info \- new plugin\. +* networks\_sm\_user\_access\_devices\_delete \- new plugin\. +* networks\_sm\_user\_access\_devices\_info \- new plugin\. +* networks\_sm\_users\_device\_profiles\_info \- new plugin\. +* networks\_sm\_users\_info \- new plugin\. +* networks\_sm\_users\_softwares\_info \- new plugin\. +* networks\_snmp \- new plugin\. +* networks\_snmp\_info \- new plugin\. +* networks\_split \- new plugin\. +* networks\_switch\_access\_control\_lists \- new plugin\. +* networks\_switch\_access\_control\_lists\_info \- new plugin\. +* networks\_switch\_access\_policies \- new plugin\. +* networks\_switch\_access\_policies\_info \- new plugin\. +* networks\_switch\_alternate\_management\_interface \- new plugin\. +* networks\_switch\_alternate\_management\_interface\_info \- new plugin\. +* networks\_switch\_dhcp\_server\_policy \- new plugin\. +* networks\_switch\_dhcp\_server\_policy\_arp\_inspection\_trusted\_servers \- new plugin\. +* networks\_switch\_dhcp\_server\_policy\_arp\_inspection\_trusted\_servers\_info \- new plugin\. +* networks\_switch\_dhcp\_server\_policy\_arp\_inspection\_warnings\_by\_device\_info \- new plugin\. +* networks\_switch\_dhcp\_server\_policy\_info \- new plugin\. +* networks\_switch\_dhcp\_v4\_servers\_seen\_info \- new plugin\. +* networks\_switch\_dscp\_to\_cos\_mappings \- new plugin\. +* networks\_switch\_dscp\_to\_cos\_mappings\_info \- new plugin\. +* networks\_switch\_link\_aggregations \- new plugin\. +* networks\_switch\_link\_aggregations\_info \- new plugin\. +* networks\_switch\_mtu \- new plugin\. +* networks\_switch\_mtu\_info \- new plugin\. +* networks\_switch\_port\_schedules \- new plugin\. +* networks\_switch\_port\_schedules\_info \- new plugin\. +* networks\_switch\_qos\_rules\_order \- new plugin\. +* networks\_switch\_qos\_rules\_order\_info \- new plugin\. +* networks\_switch\_routing\_multicast \- new plugin\. +* networks\_switch\_routing\_multicast\_info \- new plugin\. +* networks\_switch\_routing\_multicast\_rendezvous\_points \- new plugin\. +* networks\_switch\_routing\_multicast\_rendezvous\_points\_info \- new plugin\. +* networks\_switch\_routing\_ospf \- new plugin\. +* networks\_switch\_routing\_ospf\_info \- new plugin\. +* networks\_switch\_settings \- new plugin\. +* networks\_switch\_settings\_info \- new plugin\. +* networks\_switch\_stacks \- new plugin\. +* networks\_switch\_stacks\_add \- new plugin\. +* networks\_switch\_stacks\_info \- new plugin\. +* networks\_switch\_stacks\_remove \- new plugin\. +* networks\_switch\_stacks\_routing\_interfaces \- new plugin\. +* networks\_switch\_stacks\_routing\_interfaces\_dhcp \- new plugin\. +* networks\_switch\_stacks\_routing\_interfaces\_dhcp\_info \- new plugin\. +* networks\_switch\_stacks\_routing\_interfaces\_info \- new plugin\. +* networks\_switch\_stacks\_routing\_static\_routes \- new plugin\. +* networks\_switch\_stacks\_routing\_static\_routes\_info \- new plugin\. +* networks\_switch\_storm\_control \- new plugin\. +* networks\_switch\_storm\_control\_info \- new plugin\. +* networks\_switch\_stp \- new plugin\. +* networks\_switch\_stp\_info \- new plugin\. +* networks\_syslog\_servers \- new plugin\. +* networks\_syslog\_servers\_info \- new plugin\. +* networks\_topology\_link\_layer\_info \- new plugin\. +* networks\_traffic\_analysis \- new plugin\. +* networks\_traffic\_analysis\_info \- new plugin\. +* networks\_traffic\_shaping\_application\_categories\_info \- new plugin\. +* networks\_traffic\_shaping\_dscp\_tagging\_options\_info \- new plugin\. +* networks\_unbind \- new plugin\. +* networks\_webhooks\_http\_servers \- new plugin\. +* networks\_webhooks\_http\_servers\_info \- new plugin\. +* networks\_webhooks\_payload\_templates \- new plugin\. +* networks\_webhooks\_payload\_templates\_info \- new plugin\. +* networks\_webhooks\_webhook\_tests\_info \- new plugin\. +* networks\_wireless\_alternate\_management\_interface \- new plugin\. +* networks\_wireless\_alternate\_management\_interface\_info \- new plugin\. +* networks\_wireless\_billing \- new plugin\. +* networks\_wireless\_billing\_info \- new plugin\. +* networks\_wireless\_bluetooth\_settings \- new plugin\. +* networks\_wireless\_bluetooth\_settings\_info \- new plugin\. +* networks\_wireless\_channel\_utilization\_history\_info \- new plugin\. +* networks\_wireless\_client\_count\_history\_info \- new plugin\. +* networks\_wireless\_clients\_connection\_stats\_info \- new plugin\. +* networks\_wireless\_clients\_latency\_stats\_info \- new plugin\. +* networks\_wireless\_connection\_stats\_info \- new plugin\. +* networks\_wireless\_data\_rate\_history\_info \- new plugin\. +* networks\_wireless\_devices\_connection\_stats\_info \- new plugin\. +* networks\_wireless\_failed\_connections\_info \- new plugin\. +* networks\_wireless\_latency\_history\_info \- new plugin\. +* networks\_wireless\_latency\_stats\_info \- new plugin\. +* networks\_wireless\_mesh\_statuses\_info \- new plugin\. +* networks\_wireless\_rf\_profiles \- new plugin\. +* networks\_wireless\_rf\_profiles\_info \- new plugin\. +* networks\_wireless\_settings \- new plugin\. +* networks\_wireless\_settings\_info \- new plugin\. +* networks\_wireless\_signal\_quality\_history\_info \- new plugin\. +* networks\_wireless\_ssids \- new plugin\. +* networks\_wireless\_ssids\_bonjour\_forwarding \- new plugin\. +* networks\_wireless\_ssids\_bonjour\_forwarding\_info \- new plugin\. +* networks\_wireless\_ssids\_device\_type\_group\_policies \- new plugin\. +* networks\_wireless\_ssids\_device\_type\_group\_policies\_info \- new plugin\. +* networks\_wireless\_ssids\_eap\_override \- new plugin\. +* networks\_wireless\_ssids\_eap\_override\_info \- new plugin\. +* networks\_wireless\_ssids\_firewall\_l3\_firewall\_rules \- new plugin\. +* networks\_wireless\_ssids\_firewall\_l3\_firewall\_rules\_info \- new plugin\. +* networks\_wireless\_ssids\_firewall\_l7\_firewall\_rules \- new plugin\. +* networks\_wireless\_ssids\_firewall\_l7\_firewall\_rules\_info \- new plugin\. +* networks\_wireless\_ssids\_hotspot20 \- new plugin\. +* networks\_wireless\_ssids\_hotspot20\_info \- new plugin\. +* networks\_wireless\_ssids\_identity\_psks \- new plugin\. +* networks\_wireless\_ssids\_identity\_psks\_info \- new plugin\. +* networks\_wireless\_ssids\_info \- new plugin\. +* networks\_wireless\_ssids\_schedules \- new plugin\. +* networks\_wireless\_ssids\_schedules\_info \- new plugin\. +* networks\_wireless\_ssids\_splash\_settings \- new plugin\. +* networks\_wireless\_ssids\_splash\_settings\_info \- new plugin\. +* networks\_wireless\_ssids\_traffic\_shaping\_rules \- new plugin\. +* networks\_wireless\_ssids\_traffic\_shaping\_rules\_info \- new plugin\. +* networks\_wireless\_ssids\_vpn \- new plugin\. +* networks\_wireless\_ssids\_vpn\_info \- new plugin\. +* networks\_wireless\_usage\_history\_info \- new plugin\. +* organizations \- new plugin\. +* organizations\_action\_batches \- new plugin\. +* organizations\_action\_batches\_info \- new plugin\. +* organizations\_adaptive\_policy\_acls \- new plugin\. +* organizations\_adaptive\_policy\_acls\_info \- new plugin\. +* organizations\_adaptive\_policy\_groups \- new plugin\. +* organizations\_adaptive\_policy\_groups\_info \- new plugin\. +* organizations\_adaptive\_policy\_overview\_info \- new plugin\. +* organizations\_adaptive\_policy\_policies \- new plugin\. +* organizations\_adaptive\_policy\_policies\_info \- new plugin\. +* organizations\_adaptive\_policy\_settings \- new plugin\. +* organizations\_adaptive\_policy\_settings\_info \- new plugin\. +* organizations\_admins \- new plugin\. +* organizations\_admins\_info \- new plugin\. +* organizations\_alerts\_profiles \- new plugin\. +* organizations\_api\_requests\_info \- new plugin\. +* organizations\_api\_requests\_overview\_info \- new plugin\. +* organizations\_api\_requests\_overview\_response\_codes\_by\_interval\_info \- new plugin\. +* organizations\_appliance\_security\_intrusion \- new plugin\. +* organizations\_appliance\_security\_intrusion\_info \- new plugin\. +* organizations\_appliance\_vpn\_third\_party\_vpnpeers \- new plugin\. +* organizations\_appliance\_vpn\_third\_party\_vpnpeers\_info \- new plugin\. +* organizations\_appliance\_vpn\_vpn\_firewall\_rules \- new plugin\. +* organizations\_appliance\_vpn\_vpn\_firewall\_rules\_info \- new plugin\. +* organizations\_branding\_policies \- new plugin\. +* organizations\_branding\_policies\_info \- new plugin\. +* organizations\_branding\_policies\_priorities \- new plugin\. +* organizations\_branding\_policies\_priorities\_info \- new plugin\. +* organizations\_camera\_custom\_analytics\_artifacts \- new plugin\. +* organizations\_camera\_custom\_analytics\_artifacts\_info \- new plugin\. +* organizations\_cellular\_gateway\_uplink\_statuses\_info \- new plugin\. +* organizations\_claim \- new plugin\. +* organizations\_clients\_bandwidth\_usage\_history\_info \- new plugin\. +* organizations\_clients\_overview\_info \- new plugin\. +* organizations\_clients\_search\_info \- new plugin\. +* organizations\_clone \- new plugin\. +* organizations\_config\_templates \- new plugin\. +* organizations\_config\_templates\_info \- new plugin\. +* organizations\_config\_templates\_switch\_profiles\_info \- new plugin\. +* organizations\_config\_templates\_switch\_profiles\_ports \- new plugin\. +* organizations\_config\_templates\_switch\_profiles\_ports\_info \- new plugin\. +* organizations\_devices\_availabilities\_info \- new plugin\. +* organizations\_devices\_info \- new plugin\. +* organizations\_devices\_power\_modules\_statuses\_by\_device\_info \- new plugin\. +* organizations\_devices\_provisioning\_statuses\_info \- new plugin\. +* organizations\_devices\_statuses\_info \- new plugin\. +* organizations\_devices\_statuses\_overview\_info \- new plugin\. +* organizations\_devices\_uplinks\_addresses\_by\_device\_info \- new plugin\. +* organizations\_devices\_uplinks\_loss\_and\_latency\_info \- new plugin\. +* organizations\_early\_access\_features\_info \- new plugin\. +* organizations\_early\_access\_features\_opt\_ins \- new plugin\. +* organizations\_early\_access\_features\_opt\_ins\_info \- new plugin\. +* organizations\_firmware\_upgrades\_by\_device\_info \- new plugin\. +* organizations\_firmware\_upgrades\_info \- new plugin\. +* organizations\_info \- new plugin\. +* organizations\_insight\_applications\_info \- new plugin\. +* organizations\_insight\_monitored\_media\_servers \- new plugin\. +* organizations\_insight\_monitored\_media\_servers\_info \- new plugin\. +* organizations\_inventory\_claim \- new plugin\. +* organizations\_inventory\_devices\_info \- new plugin\. +* organizations\_inventory\_onboarding\_cloud\_monitoring\_export\_events \- new plugin\. +* organizations\_inventory\_onboarding\_cloud\_monitoring\_imports \- new plugin\. +* organizations\_inventory\_onboarding\_cloud\_monitoring\_imports\_info \- new plugin\. +* organizations\_inventory\_onboarding\_cloud\_monitoring\_networks\_info \- new plugin\. +* organizations\_inventory\_onboarding\_cloud\_monitoring\_prepare \- new plugin\. +* organizations\_inventory\_release \- new plugin\. +* organizations\_licenses \- new plugin\. +* organizations\_licenses\_assign\_seats \- new plugin\. +* organizations\_licenses\_info \- new plugin\. +* organizations\_licenses\_move \- new plugin\. +* organizations\_licenses\_move\_seats \- new plugin\. +* organizations\_licenses\_overview\_info \- new plugin\. +* organizations\_licenses\_renew\_seats \- new plugin\. +* organizations\_licensing\_coterm\_licenses\_info \- new plugin\. +* organizations\_licensing\_coterm\_licenses\_move \- new plugin\. +* organizations\_login\_security \- new plugin\. +* organizations\_login\_security\_info \- new plugin\. +* organizations\_networks\_combine \- new plugin\. +* organizations\_openapi\_spec\_info \- new plugin\. +* organizations\_policy\_objects \- new plugin\. +* organizations\_policy\_objects\_groups \- new plugin\. +* organizations\_policy\_objects\_groups\_info \- new plugin\. +* organizations\_policy\_objects\_info \- new plugin\. +* organizations\_saml \- new plugin\. +* organizations\_saml\_idps \- new plugin\. +* organizations\_saml\_idps\_info \- new plugin\. +* organizations\_saml\_info \- new plugin\. +* organizations\_saml\_roles \- new plugin\. +* organizations\_saml\_roles\_info \- new plugin\. +* organizations\_sensor\_readings\_history\_info \- new plugin\. +* organizations\_sensor\_readings\_latest\_info \- new plugin\. +* organizations\_sm\_apns\_cert\_info \- new plugin\. +* organizations\_sm\_vpp\_accounts\_info \- new plugin\. +* organizations\_snmp \- new plugin\. +* organizations\_snmp\_info \- new plugin\. +* organizations\_summary\_top\_appliances\_by\_utilization\_info \- new plugin\. +* organizations\_summary\_top\_clients\_by\_usage\_info \- new plugin\. +* organizations\_summary\_top\_clients\_manufacturers\_by\_usage\_info \- new plugin\. +* organizations\_summary\_top\_devices\_by\_usage\_info \- new plugin\. +* organizations\_summary\_top\_devices\_models\_by\_usage\_info \- new plugin\. +* organizations\_summary\_top\_ssids\_by\_usage\_info \- new plugin\. +* organizations\_summary\_top\_switches\_by\_energy\_usage\_info \- new plugin\. +* organizations\_switch\_devices\_clone \- new plugin\. +* organizations\_switch\_ports\_by\_switch\_info \- new plugin\. +* organizations\_uplinks\_statuses\_info \- new plugin\. +* organizations\_users \- new plugin\. +* organizations\_webhooks\_logs\_info \- new plugin\. +* organizations\_wireless\_devices\_ethernet\_statuses\_info \- new plugin\. + + +#### cisco\.mso + +* Add login domain attribute to mso httpapi connection plugin with restructure of connection parameter handling +* Add mso\_schema\_template\_anp\_epg\_useg\_attribute and mso\_schema\_site\_anp\_epg\_useg\_attribute modules to manage EPG uSeg attributes \(\#370\) + + +#### cisco\.nxos + +* Add nxos\_bgp\_templates module\. +* Added new module fc\_interfaces +* bgp\_global \- support remote\-as as a route\-map \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/741](https\://github\.com/ansible\-collections/cisco\.nxos/issues/741)\)\. +* bgp\_neighbor\_address\_family \- support rewrite\-rt\-asn for ipv4 mvpn \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/741](https\://github\.com/ansible\-collections/cisco\.nxos/issues/741)\)\. +* bgp\_templates \- Add support for safi evpn \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/739](https\://github\.com/ansible\-collections/cisco\.nxos/issues/739)\)\. +* bgp\_templates \- Add support for send\_community \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/740](https\://github\.com/ansible\-collections/cisco\.nxos/issues/740)\)\. +* nxos\_facts \- add cpu utilization data to facts\. +* nxos\_user \- Add support for hashed passwords\. \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/370](https\://github\.com/ansible\-collections/cisco\.nxos/issues/370)\)\. +* nxos\_user \- Added dev\-ops role to BUILTINS \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/690](https\://github\.com/ansible\-collections/cisco\.nxos/issues/690)\) +* route\_maps \- support extcommunity rt option \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/743](https\://github\.com/ansible\-collections/cisco\.nxos/issues/743)\)\. + + +#### community\.aws + +* api\_gateway \- add support for parameters name\, lookup\, tags and purge\_tags \([https\://github\.com/ansible\-collections/community\.aws/pull/1845](https\://github\.com/ansible\-collections/community\.aws/pull/1845)\)\. +* api\_gateway \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1962](https\://github\.com/ansible\-collections/amazon\.aws/pull/1962)\)\. +* api\_gateway\_info \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1962](https\://github\.com/ansible\-collections/amazon\.aws/pull/1962)\)\. +* community\.aws collection \- apply isort code formatting to ensure consistent formatting of code \([https\://github\.com/ansible\-collections/community\.aws/pull/1962](https\://github\.com/ansible\-collections/community\.aws/pull/1962)\) +* dynamodb\_table \- added waiter when updating indexes to avoid concurrency issues \([https\://github\.com/ansible\-collections/community\.aws/pull/1866](https\://github\.com/ansible\-collections/community\.aws/pull/1866)\)\. +* dynamodb\_table \- increased default timeout based on time to update indexes in CI \([https\://github\.com/ansible\-collections/community\.aws/pull/1866](https\://github\.com/ansible\-collections/community\.aws/pull/1866)\)\. +* ec2\_vpc\_vpn \- add support for connecting VPNs to a transit gateway \([https\://github\.com/ansible\-collections/community\.aws/pull/1877](https\://github\.com/ansible\-collections/community\.aws/pull/1877)\)\. +* ecs\_taskdefinition \- Add parameter runtime\_platform \([https\://github\.com/ansible\-collections/community\.aws/issues/1891](https\://github\.com/ansible\-collections/community\.aws/issues/1891)\)\. +* eks\_nodegroup \- ensure wait also waits for deletion to complete when wait\=\=True \([https\://github\.com/ansible\-collections/community\.aws/pull/1994](https\://github\.com/ansible\-collections/community\.aws/pull/1994)\)\. +* iam\_group \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/community\.aws/pull/1848](https\://github\.com/ansible\-collections/community\.aws/pull/1848)\)\. +* iam\_role \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/community\.aws/pull/1848](https\://github\.com/ansible\-collections/community\.aws/pull/1848)\)\. +* sns\_topic \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/community\.aws/pull/1848](https\://github\.com/ansible\-collections/community\.aws/pull/1848)\)\. + + +#### community\.ciscosmb + +* added Ansible playbook examples cismosmb\_inventory\_template\.yml\, cismosmb\_gather\_facts\.yml\, cismosmb\_commands\.yml +* no longer testing for ansible 2\.9 and for Python 2\.6 / 2\.7 +* removed unused portion of code in cliconf/ciscosmb\.yml +* test Ansible 2\.14 + + +#### community\.crypto + +* acme\_certificate \- allow to use no challenge by providing no challenge for the challenge option\. This is needed for ACME servers where validation is done without challenges \([https\://github\.com/ansible\-collections/community\.crypto/issues/613](https\://github\.com/ansible\-collections/community\.crypto/issues/613)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/615](https\://github\.com/ansible\-collections/community\.crypto/pull/615)\)\. +* acme\_certificate \- validate and wait for challenges in parallel instead handling them one after another \([https\://github\.com/ansible\-collections/community\.crypto/pull/617](https\://github\.com/ansible\-collections/community\.crypto/pull/617)\)\. +* luks\_devices \- add new options keyslot\, new\_keyslot\, and remove\_keyslot to allow adding/removing keys to/from specific keyslots \([https\://github\.com/ansible\-collections/community\.crypto/pull/664](https\://github\.com/ansible\-collections/community\.crypto/pull/664)\)\. +* openssh\_keypair \- fail when comment cannot be updated \([https\://github\.com/ansible\-collections/community\.crypto/pull/646](https\://github\.com/ansible\-collections/community\.crypto/pull/646)\)\. +* x509\_certificate\_info \- added support for certificates in DER format when using path parameter \([https\://github\.com/ansible\-collections/community\.crypto/issues/603](https\://github\.com/ansible\-collections/community\.crypto/issues/603)\)\. + + +#### community\.digitalocean + +* documentation \- use C\(true\) and C\(false\) for boolean values in documentation and examples \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/303](https\://github\.com/ansible\-collections/community\.digitalocean/issues/303)\)\. +* inventory plugin \- drop C\(api\_token\) in favor of C\(oauth\_token\) for consistency \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/300](https\://github\.com/ansible\-collections/community\.digitalocean/issues/300)\)\. +* tests \- add C\(sanity\)\, C\(units\)\, and C\(psf/black\) back on merge into C\(main\) \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/311](https\://github\.com/ansible\-collections/community\.digitalocean/pull/311)\)\. +* tests \- drop Ansible 2\.9 and Ansible Core 2\.10 and 2\.11 \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\. +* tests \- remove the daily runs \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\. +* tests \- run C\(psf/black\) across all files \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\. +* tests \- test against Ansible Core 2\.12\, 2\.13\, and 2\.14 \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\. + + +#### community\.dns + +* wait\_for\_txt \- add servfail\_retries parameter that allows retrying after SERVFAIL errors \([https\://github\.com/ansible\-collections/community\.dns/pull/159](https\://github\.com/ansible\-collections/community\.dns/pull/159)\)\. +* wait\_for\_txt\, resolver module utils \- use [EDNS](https\://en\.wikipedia\.org/wiki/Extension\_Mechanisms\_for\_DNS) \([https\://github\.com/ansible\-collections/community\.dns/pull/158](https\://github\.com/ansible\-collections/community\.dns/pull/158)\)\. + + +#### community\.general + +* The collection will start using semantic markup \([https\://github\.com/ansible\-collections/community\.general/pull/6539](https\://github\.com/ansible\-collections/community\.general/pull/6539)\)\. +* VarDict module utils \- add method VarDict\.as\_dict\(\) to convert to a plain dict object \([https\://github\.com/ansible\-collections/community\.general/pull/6602](https\://github\.com/ansible\-collections/community\.general/pull/6602)\)\. +* apt\_rpm \- extract package name from local \.rpm path when verifying + installation success\. Allows installing packages from local \.rpm files + \([https\://github\.com/ansible\-collections/community\.general/pull/7396](https\://github\.com/ansible\-collections/community\.general/pull/7396)\)\. +* cargo \- add option executable\, which allows user to specify path to the cargo binary \([https\://github\.com/ansible\-collections/community\.general/pull/7352](https\://github\.com/ansible\-collections/community\.general/pull/7352)\)\. +* cargo \- add option locked which allows user to specify install the locked version of dependency instead of latest compatible version \([https\://github\.com/ansible\-collections/community\.general/pull/6134](https\://github\.com/ansible\-collections/community\.general/pull/6134)\)\. +* chroot connection plugin \- add disable\_root\_check option \([https\://github\.com/ansible\-collections/community\.general/pull/7099](https\://github\.com/ansible\-collections/community\.general/pull/7099)\)\. +* cloudflare\_dns \- add CAA record support \([https\://github\.com/ansible\-collections/community\.general/pull/7399](https\://github\.com/ansible\-collections/community\.general/pull/7399)\)\. +* cobbler inventory plugin \- add exclude\_mgmt\_classes and include\_mgmt\_classes options to exclude or include hosts based on management classes \([https\://github\.com/ansible\-collections/community\.general/pull/7184](https\://github\.com/ansible\-collections/community\.general/pull/7184)\)\. +* cobbler inventory plugin \- add inventory\_hostname option to allow using the system name for the inventory hostname \([https\://github\.com/ansible\-collections/community\.general/pull/6502](https\://github\.com/ansible\-collections/community\.general/pull/6502)\)\. +* cobbler inventory plugin \- add want\_ip\_addresses option to collect all interface DNS name to IP address mapping \([https\://github\.com/ansible\-collections/community\.general/pull/6711](https\://github\.com/ansible\-collections/community\.general/pull/6711)\)\. +* cobbler inventory plugin \- add primary IP addess to cobbler\_ipv4\_address and IPv6 address to cobbler\_ipv6\_address host variable \([https\://github\.com/ansible\-collections/community\.general/pull/6711](https\://github\.com/ansible\-collections/community\.general/pull/6711)\)\. +* cobbler inventory plugin \- add warning for systems with empty profiles \([https\://github\.com/ansible\-collections/community\.general/pull/6502](https\://github\.com/ansible\-collections/community\.general/pull/6502)\)\. +* cobbler inventory plugin \- convert Ansible unicode strings to native Python unicode strings before passing user/password to XMLRPC client \([https\://github\.com/ansible\-collections/community\.general/pull/6923](https\://github\.com/ansible\-collections/community\.general/pull/6923)\)\. +* consul\_session \- drops requirement for the python\-consul library to communicate with the Consul API\, instead relying on the existing requests library requirement \([https\://github\.com/ansible\-collections/community\.general/pull/6755](https\://github\.com/ansible\-collections/community\.general/pull/6755)\)\. +* copr \- respawn module to use the system python interpreter when the dnf python module is not available in ansible\_python\_interpreter \([https\://github\.com/ansible\-collections/community\.general/pull/6522](https\://github\.com/ansible\-collections/community\.general/pull/6522)\)\. +* cpanm \- minor refactor when creating the CmdRunner object \([https\://github\.com/ansible\-collections/community\.general/pull/7231](https\://github\.com/ansible\-collections/community\.general/pull/7231)\)\. +* datadog\_monitor \- adds notification\_preset\_name\, renotify\_occurrences and renotify\_statuses parameters \([https\://github\.com/ansible\-collections/community\.general/issues/6521\,https\://github\.com/ansible\-collections/community\.general/issues/5823](https\://github\.com/ansible\-collections/community\.general/issues/6521\,https\://github\.com/ansible\-collections/community\.general/issues/5823)\)\. +* dig lookup plugin \- add TCP option to enable the use of TCP connection during DNS lookup \([https\://github\.com/ansible\-collections/community\.general/pull/7343](https\://github\.com/ansible\-collections/community\.general/pull/7343)\)\. +* ejabberd\_user \- module now using CmdRunner to execute external command \([https\://github\.com/ansible\-collections/community\.general/pull/7075](https\://github\.com/ansible\-collections/community\.general/pull/7075)\)\. +* filesystem \- add uuid parameter for UUID change feature \([https\://github\.com/ansible\-collections/community\.general/pull/6680](https\://github\.com/ansible\-collections/community\.general/pull/6680)\)\. +* gitlab\_group \- add option force\_delete \(default\: false\) which allows delete group even if projects exists in it \([https\://github\.com/ansible\-collections/community\.general/pull/7364](https\://github\.com/ansible\-collections/community\.general/pull/7364)\)\. +* gitlab\_group\_variable \- add support for raw variables suboption \([https\://github\.com/ansible\-collections/community\.general/pull/7132](https\://github\.com/ansible\-collections/community\.general/pull/7132)\)\. +* gitlab\_project\_variable \- add support for raw variables suboption \([https\://github\.com/ansible\-collections/community\.general/pull/7132](https\://github\.com/ansible\-collections/community\.general/pull/7132)\)\. +* gitlab\_project\_variable \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\. +* gitlab\_runner \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6927](https\://github\.com/ansible\-collections/community\.general/pull/6927)\)\. +* htpasswd \- minor code improvements in the module \([https\://github\.com/ansible\-collections/community\.general/pull/6901](https\://github\.com/ansible\-collections/community\.general/pull/6901)\)\. +* htpasswd \- the parameter crypt\_scheme is being renamed as hash\_scheme and added as an alias to it \([https\://github\.com/ansible\-collections/community\.general/pull/6841](https\://github\.com/ansible\-collections/community\.general/pull/6841)\)\. +* icinga2\_host \- the ip option is no longer required\, since Icinga 2 allows for an empty address attribute \([https\://github\.com/ansible\-collections/community\.general/pull/7452](https\://github\.com/ansible\-collections/community\.general/pull/7452)\)\. +* ini\_file \- add ignore\_spaces option \([https\://github\.com/ansible\-collections/community\.general/pull/7273](https\://github\.com/ansible\-collections/community\.general/pull/7273)\)\. +* ini\_file \- add modify\_inactive\_option option \([https\://github\.com/ansible\-collections/community\.general/pull/7401](https\://github\.com/ansible\-collections/community\.general/pull/7401)\)\. +* ipa\_config \- add module parameters to manage FreeIPA user and group objectclasses \([https\://github\.com/ansible\-collections/community\.general/pull/7019](https\://github\.com/ansible\-collections/community\.general/pull/7019)\)\. +* ipa\_config \- adds idp choice to ipauserauthtype parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7051](https\://github\.com/ansible\-collections/community\.general/pull/7051)\)\. +* jenkins\_build \- add new detach option\, which allows the module to exit successfully as long as the build is created \(default functionality is still waiting for the build to end before exiting\) \([https\://github\.com/ansible\-collections/community\.general/pull/7204](https\://github\.com/ansible\-collections/community\.general/pull/7204)\)\. +* jenkins\_build \- add new time\_between\_checks option\, which allows to configure the wait time between requests to the Jenkins server \([https\://github\.com/ansible\-collections/community\.general/pull/7204](https\://github\.com/ansible\-collections/community\.general/pull/7204)\)\. +* keycloak\_authentication \- added provider ID choices\, since Keycloak supports only those two specific ones \([https\://github\.com/ansible\-collections/community\.general/pull/6763](https\://github\.com/ansible\-collections/community\.general/pull/6763)\)\. +* keycloak\_client\_rolemapping \- adds support for subgroups with additional parameter parents \([https\://github\.com/ansible\-collections/community\.general/pull/6687](https\://github\.com/ansible\-collections/community\.general/pull/6687)\)\. +* keycloak\_role \- add composite roles support for realm and client roles \([https\://github\.com/ansible\-collections/community\.general/pull/6469](https\://github\.com/ansible\-collections/community\.general/pull/6469)\)\. +* keyring \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6927](https\://github\.com/ansible\-collections/community\.general/pull/6927)\)\. +* ldap\_\* \- add new arguments client\_cert and client\_key to the LDAP modules in order to allow certificate authentication \([https\://github\.com/ansible\-collections/community\.general/pull/6668](https\://github\.com/ansible\-collections/community\.general/pull/6668)\)\. +* ldap\_search \- add a new page\_size option to enable paged searches \([https\://github\.com/ansible\-collections/community\.general/pull/6648](https\://github\.com/ansible\-collections/community\.general/pull/6648)\)\. +* locale\_gen \- module has been refactored to use ModuleHelper and CmdRunner \([https\://github\.com/ansible\-collections/community\.general/pull/6903](https\://github\.com/ansible\-collections/community\.general/pull/6903)\)\. +* locale\_gen \- module now using CmdRunner to execute external commands \([https\://github\.com/ansible\-collections/community\.general/pull/6820](https\://github\.com/ansible\-collections/community\.general/pull/6820)\)\. +* lvg \- add active and inactive values to the state option for active state management feature \([https\://github\.com/ansible\-collections/community\.general/pull/6682](https\://github\.com/ansible\-collections/community\.general/pull/6682)\)\. +* lvg \- add reset\_vg\_uuid\, reset\_pv\_uuid options for UUID reset feature \([https\://github\.com/ansible\-collections/community\.general/pull/6682](https\://github\.com/ansible\-collections/community\.general/pull/6682)\)\. +* lxc connection plugin \- properly handle a change of the remote\_addr option \([https\://github\.com/ansible\-collections/community\.general/pull/7373](https\://github\.com/ansible\-collections/community\.general/pull/7373)\)\. +* lxd connection plugin \- automatically translate remote\_addr from FQDN to \(short\) hostname \([https\://github\.com/ansible\-collections/community\.general/pull/7360](https\://github\.com/ansible\-collections/community\.general/pull/7360)\)\. +* lxd connection plugin \- update error parsing to work with newer messages mentioning instances \([https\://github\.com/ansible\-collections/community\.general/pull/7360](https\://github\.com/ansible\-collections/community\.general/pull/7360)\)\. +* lxd inventory plugin \- add server\_cert option for trust anchor to use for TLS verification of server certificates \([https\://github\.com/ansible\-collections/community\.general/pull/7392](https\://github\.com/ansible\-collections/community\.general/pull/7392)\)\. +* lxd inventory plugin \- add server\_check\_hostname option to disable hostname verification of server certificates \([https\://github\.com/ansible\-collections/community\.general/pull/7392](https\://github\.com/ansible\-collections/community\.general/pull/7392)\)\. +* make \- add new targets parameter allowing multiple targets to be used with make \([https\://github\.com/ansible\-collections/community\.general/pull/6882](https\://github\.com/ansible\-collections/community\.general/pull/6882)\, [https\://github\.com/ansible\-collections/community\.general/issues/4919](https\://github\.com/ansible\-collections/community\.general/issues/4919)\)\. +* make \- allows params to be used without value \([https\://github\.com/ansible\-collections/community\.general/pull/7180](https\://github\.com/ansible\-collections/community\.general/pull/7180)\)\. +* mas \- disable sign\-in check for macOS 12\+ as mas account is non\-functional \([https\://github\.com/ansible\-collections/community\.general/pull/6520](https\://github\.com/ansible\-collections/community\.general/pull/6520)\)\. +* newrelic\_deployment \- add option app\_name\_exact\_match\, which filters results for the exact app\_name provided \([https\://github\.com/ansible\-collections/community\.general/pull/7355](https\://github\.com/ansible\-collections/community\.general/pull/7355)\)\. +* nmap inventory plugin \- now has a use\_arp\_ping option to allow the user to disable the default ARP ping query for a more reliable form \([https\://github\.com/ansible\-collections/community\.general/pull/7119](https\://github\.com/ansible\-collections/community\.general/pull/7119)\)\. +* nmcli \- add support for ipv4\.dns\-options and ipv6\.dns\-options \([https\://github\.com/ansible\-collections/community\.general/pull/6902](https\://github\.com/ansible\-collections/community\.general/pull/6902)\)\. +* nomad\_job\, nomad\_job\_info \- add port parameter \([https\://github\.com/ansible\-collections/community\.general/pull/7412](https\://github\.com/ansible\-collections/community\.general/pull/7412)\)\. +* npm \- minor improvement on parameter validation \([https\://github\.com/ansible\-collections/community\.general/pull/6848](https\://github\.com/ansible\-collections/community\.general/pull/6848)\)\. +* npm \- module now using CmdRunner to execute external commands \([https\://github\.com/ansible\-collections/community\.general/pull/6989](https\://github\.com/ansible\-collections/community\.general/pull/6989)\)\. +* onepassword lookup plugin \- add service account support \([https\://github\.com/ansible\-collections/community\.general/issues/6635](https\://github\.com/ansible\-collections/community\.general/issues/6635)\, [https\://github\.com/ansible\-collections/community\.general/pull/6660](https\://github\.com/ansible\-collections/community\.general/pull/6660)\)\. +* onepassword lookup plugin \- introduce account\_id option which allows specifying which account to use \([https\://github\.com/ansible\-collections/community\.general/pull/7308](https\://github\.com/ansible\-collections/community\.general/pull/7308)\)\. +* onepassword\_raw lookup plugin \- add service account support \([https\://github\.com/ansible\-collections/community\.general/issues/6635](https\://github\.com/ansible\-collections/community\.general/issues/6635)\, [https\://github\.com/ansible\-collections/community\.general/pull/6660](https\://github\.com/ansible\-collections/community\.general/pull/6660)\)\. +* onepassword\_raw lookup plugin \- introduce account\_id option which allows specifying which account to use \([https\://github\.com/ansible\-collections/community\.general/pull/7308](https\://github\.com/ansible\-collections/community\.general/pull/7308)\)\. +* opentelemetry callback plugin \- add span attributes in the span event \([https\://github\.com/ansible\-collections/community\.general/pull/6531](https\://github\.com/ansible\-collections/community\.general/pull/6531)\)\. +* opkg \- add executable parameter allowing to specify the path of the opkg command \([https\://github\.com/ansible\-collections/community\.general/pull/6862](https\://github\.com/ansible\-collections/community\.general/pull/6862)\)\. +* opkg \- remove default value \"\" for parameter force as it causes the same behaviour of not having that parameter \([https\://github\.com/ansible\-collections/community\.general/pull/6513](https\://github\.com/ansible\-collections/community\.general/pull/6513)\)\. +* pagerduty \- adds in option to use v2 API for creating pagerduty incidents \([https\://github\.com/ansible\-collections/community\.general/issues/6151](https\://github\.com/ansible\-collections/community\.general/issues/6151)\) +* parted \- on resize\, use \-\-fix option if available \([https\://github\.com/ansible\-collections/community\.general/pull/7304](https\://github\.com/ansible\-collections/community\.general/pull/7304)\)\. +* pnpm \- set correct version when state is latest or version is not mentioned\. Resolves previous idempotency problem \([https\://github\.com/ansible\-collections/community\.general/pull/7339](https\://github\.com/ansible\-collections/community\.general/pull/7339)\)\. +* pritunl module utils \- ensure validate\_certs parameter is honoured in all methods \([https\://github\.com/ansible\-collections/community\.general/pull/7156](https\://github\.com/ansible\-collections/community\.general/pull/7156)\)\. +* proxmox \- add vmid \(and taskid when possible\) to return values \([https\://github\.com/ansible\-collections/community\.general/pull/7263](https\://github\.com/ansible\-collections/community\.general/pull/7263)\)\. +* proxmox \- support timezone parameter at container creation \([https\://github\.com/ansible\-collections/community\.general/pull/6510](https\://github\.com/ansible\-collections/community\.general/pull/6510)\)\. +* proxmox inventory plugin \- add composite variables support for Proxmox nodes \([https\://github\.com/ansible\-collections/community\.general/issues/6640](https\://github\.com/ansible\-collections/community\.general/issues/6640)\)\. +* proxmox\_kvm \- added support for tpmstate0 parameter to configure TPM \(Trusted Platform Module\) disk\. TPM is required for Windows 11 installations \([https\://github\.com/ansible\-collections/community\.general/pull/6533](https\://github\.com/ansible\-collections/community\.general/pull/6533)\)\. +* proxmox\_kvm \- enabled force restart of VM\, bringing the force parameter functionality in line with what is described in the docs \([https\://github\.com/ansible\-collections/community\.general/pull/6914](https\://github\.com/ansible\-collections/community\.general/pull/6914)\)\. +* proxmox\_kvm \- re\-use timeout module param to forcefully shutdown a virtual machine when state is stopped \([https\://github\.com/ansible\-collections/community\.general/issues/6257](https\://github\.com/ansible\-collections/community\.general/issues/6257)\)\. +* proxmox\_snap \- add retention parameter to delete old snapshots \([https\://github\.com/ansible\-collections/community\.general/pull/6576](https\://github\.com/ansible\-collections/community\.general/pull/6576)\)\. +* proxmox\_vm\_info \- node parameter is no longer required\. Information can be obtained for the whole cluster \([https\://github\.com/ansible\-collections/community\.general/pull/6976](https\://github\.com/ansible\-collections/community\.general/pull/6976)\)\. +* proxmox\_vm\_info \- non\-existing provided by name/vmid VM would return empty results instead of failing \([https\://github\.com/ansible\-collections/community\.general/pull/7049](https\://github\.com/ansible\-collections/community\.general/pull/7049)\)\. +* pubnub\_blocks \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\. +* random\_string \- added new ignore\_similar\_chars and similar\_chars option to ignore certain chars \([https\://github\.com/ansible\-collections/community\.general/pull/7242](https\://github\.com/ansible\-collections/community\.general/pull/7242)\)\. +* redfish\_command \- add MultipartHTTPPushUpdate command \([https\://github\.com/ansible\-collections/community\.general/issues/6471](https\://github\.com/ansible\-collections/community\.general/issues/6471)\, [https\://github\.com/ansible\-collections/community\.general/pull/6612](https\://github\.com/ansible\-collections/community\.general/pull/6612)\)\. +* redfish\_command \- add account\_types and oem\_account\_types as optional inputs to AddUser \([https\://github\.com/ansible\-collections/community\.general/issues/6823](https\://github\.com/ansible\-collections/community\.general/issues/6823)\, [https\://github\.com/ansible\-collections/community\.general/pull/6871](https\://github\.com/ansible\-collections/community\.general/pull/6871)\)\. +* redfish\_command \- add new option update\_oem\_params for the MultipartHTTPPushUpdate command \([https\://github\.com/ansible\-collections/community\.general/issues/7331](https\://github\.com/ansible\-collections/community\.general/issues/7331)\)\. +* redfish\_config \- add CreateVolume command to allow creation of volumes on servers \([https\://github\.com/ansible\-collections/community\.general/pull/6813](https\://github\.com/ansible\-collections/community\.general/pull/6813)\)\. +* redfish\_config \- add DeleteAllVolumes command to allow deletion of all volumes on servers \([https\://github\.com/ansible\-collections/community\.general/pull/6814](https\://github\.com/ansible\-collections/community\.general/pull/6814)\)\. +* redfish\_config \- adding SetSecureBoot command \([https\://github\.com/ansible\-collections/community\.general/pull/7129](https\://github\.com/ansible\-collections/community\.general/pull/7129)\)\. +* redfish\_info \- add AccountTypes and OEMAccountTypes to the output of ListUsers \([https\://github\.com/ansible\-collections/community\.general/issues/6823](https\://github\.com/ansible\-collections/community\.general/issues/6823)\, [https\://github\.com/ansible\-collections/community\.general/pull/6871](https\://github\.com/ansible\-collections/community\.general/pull/6871)\)\. +* redfish\_info \- add support for GetBiosRegistries command \([https\://github\.com/ansible\-collections/community\.general/pull/7144](https\://github\.com/ansible\-collections/community\.general/pull/7144)\)\. +* redfish\_info \- adds LinkStatus to NIC inventory \([https\://github\.com/ansible\-collections/community\.general/pull/7318](https\://github\.com/ansible\-collections/community\.general/pull/7318)\)\. +* redfish\_info \- adds ProcessorArchitecture to CPU inventory \([https\://github\.com/ansible\-collections/community\.general/pull/6864](https\://github\.com/ansible\-collections/community\.general/pull/6864)\)\. +* redfish\_info \- fix for GetVolumeInventory\, Controller name was getting populated incorrectly and duplicates were seen in the volumes retrieved \([https\://github\.com/ansible\-collections/community\.general/pull/6719](https\://github\.com/ansible\-collections/community\.general/pull/6719)\)\. +* redfish\_info \- report Id in the output of GetManagerInventory \([https\://github\.com/ansible\-collections/community\.general/pull/7140](https\://github\.com/ansible\-collections/community\.general/pull/7140)\)\. +* redfish\_utils \- use Controllers key in redfish data to obtain Storage controllers properties \([https\://github\.com/ansible\-collections/community\.general/pull/7081](https\://github\.com/ansible\-collections/community\.general/pull/7081)\)\. +* redfish\_utils module utils \- add support for PowerCycle reset type for redfish\_command responses feature \([https\://github\.com/ansible\-collections/community\.general/issues/7083](https\://github\.com/ansible\-collections/community\.general/issues/7083)\)\. +* redfish\_utils module utils \- add support for following \@odata\.nextLink pagination in software\_inventory responses feature \([https\://github\.com/ansible\-collections/community\.general/pull/7020](https\://github\.com/ansible\-collections/community\.general/pull/7020)\)\. +* redfish\_utils module utils \- support Volumes in response for GetDiskInventory \([https\://github\.com/ansible\-collections/community\.general/pull/6819](https\://github\.com/ansible\-collections/community\.general/pull/6819)\)\. +* redhat\_subscription \- the internal RegistrationBase class was folded + into the other internal Rhsm class\, as the separation had no purpose + anymore + \([https\://github\.com/ansible\-collections/community\.general/pull/6658](https\://github\.com/ansible\-collections/community\.general/pull/6658)\)\. +* redis\_info \- refactor the redis\_info module to use the redis module\_utils enabling to pass TLS parameters to the Redis client \([https\://github\.com/ansible\-collections/community\.general/pull/7267](https\://github\.com/ansible\-collections/community\.general/pull/7267)\)\. +* rhsm\_release \- improve/harden the way subscription\-manager is run\; + no behaviour change is expected + \([https\://github\.com/ansible\-collections/community\.general/pull/6669](https\://github\.com/ansible\-collections/community\.general/pull/6669)\)\. +* rhsm\_repository \- the interaction with subscription\-manager was + refactored by grouping things together\, removing unused bits\, and hardening + the way it is run\; also\, the parsing of subscription\-manager repos \-\-list + was improved and made slightly faster\; no behaviour change is expected + \([https\://github\.com/ansible\-collections/community\.general/pull/6783](https\://github\.com/ansible\-collections/community\.general/pull/6783)\, + [https\://github\.com/ansible\-collections/community\.general/pull/6837](https\://github\.com/ansible\-collections/community\.general/pull/6837)\)\. +* scaleway\_security\_group\_rule \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\. +* shutdown \- use shutdown \-p \.\.\. with FreeBSD to halt and power off machine \([https\://github\.com/ansible\-collections/community\.general/pull/7102](https\://github\.com/ansible\-collections/community\.general/pull/7102)\)\. +* snap \- add option dangerous to the module\, that will map into the command line argument \-\-dangerous\, allowing unsigned snap files to be installed \([https\://github\.com/ansible\-collections/community\.general/pull/6908](https\://github\.com/ansible\-collections/community\.general/pull/6908)\, [https\://github\.com/ansible\-collections/community\.general/issues/5715](https\://github\.com/ansible\-collections/community\.general/issues/5715)\)\. +* snap \- module is now aware of channel when deciding whether to install or refresh the snap \([https\://github\.com/ansible\-collections/community\.general/pull/6435](https\://github\.com/ansible\-collections/community\.general/pull/6435)\, [https\://github\.com/ansible\-collections/community\.general/issues/1606](https\://github\.com/ansible\-collections/community\.general/issues/1606)\)\. +* sorcery \- add grimoire \(repository\) management support \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\. +* sorcery \- minor refactor \([https\://github\.com/ansible\-collections/community\.general/pull/6525](https\://github\.com/ansible\-collections/community\.general/pull/6525)\)\. +* supervisorctl \- allow to stop matching running processes before removing them with stop\_before\_removing\=true \([https\://github\.com/ansible\-collections/community\.general/pull/7284](https\://github\.com/ansible\-collections/community\.general/pull/7284)\)\. +* tss lookup plugin \- allow to fetch secret IDs which are in a folder based on folder ID\. Previously\, we could not fetch secrets based on folder ID but now use fetch\_secret\_ids\_from\_folder option to indicate to fetch secret IDs based on folder ID \([https\://github\.com/ansible\-collections/community\.general/issues/6223](https\://github\.com/ansible\-collections/community\.general/issues/6223)\)\. +* tss lookup plugin \- allow to fetch secret by path\. Previously\, we could not fetch secret by path but now use secret\_path option to indicate to fetch secret by secret path \([https\://github\.com/ansible\-collections/community\.general/pull/6881](https\://github\.com/ansible\-collections/community\.general/pull/6881)\)\. +* unixy callback plugin \- add support for check\_mode\_markers option \([https\://github\.com/ansible\-collections/community\.general/pull/7179](https\://github\.com/ansible\-collections/community\.general/pull/7179)\)\. +* vardict module utils \- added convenience methods to VarDict \([https\://github\.com/ansible\-collections/community\.general/pull/6647](https\://github\.com/ansible\-collections/community\.general/pull/6647)\)\. +* xenserver\_guest\_info \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\. +* xenserver\_guest\_powerstate \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\. +* yum\_versionlock \- add support to pin specific package versions instead of only the package itself \([https\://github\.com/ansible\-collections/community\.general/pull/6861](https\://github\.com/ansible\-collections/community\.general/pull/6861)\, [https\://github\.com/ansible\-collections/community\.general/issues/4470](https\://github\.com/ansible\-collections/community\.general/issues/4470)\)\. + + +#### community\.grafana + +* Add grafana\_organization\_user module +* Bump version of Python used in tests to 3\.10 +* Enable datasource option time\_interval for prometheus +* Fix documentation url for Ansible doc website +* Now testing against Grafana 9\.5\.13\, 8\.5\.27\, 10\.2\.0 + + +#### community\.libvirt + +* virt \- add mutate\_flags parameter to enable XML mutation \(add UUID\, MAC addresses from existing domain\) \([https\://github\.com/ansible\-collections/community\.libvirt/pull/142/](https\://github\.com/ansible\-collections/community\.libvirt/pull/142/)\)\. +* virt \- support \-\-diff for define command \([https\://github\.com/ansible\-collections/community\.libvirt/pull/142/](https\://github\.com/ansible\-collections/community\.libvirt/pull/142/)\)\. + + +#### community\.mysql + +* mysql\_info \- add filter users\_info \([https\://github\.com/ansible\-collections/community\.mysql/pull/580](https\://github\.com/ansible\-collections/community\.mysql/pull/580)\)\. +* mysql\_role \- add column\_case\_sensitive option to prevent field names from being uppercased \([https\://github\.com/ansible\-collections/community\.mysql/pull/569](https\://github\.com/ansible\-collections/community\.mysql/pull/569)\)\. +* mysql\_user \- add column\_case\_sensitive option to prevent field names from being uppercased \([https\://github\.com/ansible\-collections/community\.mysql/pull/569](https\://github\.com/ansible\-collections/community\.mysql/pull/569)\)\. + + +#### community\.postgresql + +* Collection core functions \- use get\_server\_version in all modules \([https\://github\.com/ansible\-collections/community\.postgresql/pull/518](https\://github\.com/ansible\-collections/community\.postgresql/pull/518)\)\.\" +* Collection core functions \- use common cursor arguments in all modules \([https\://github\.com/ansible\-collections/community\.postgresql/pull/522](https\://github\.com/ansible\-collections/community\.postgresql/pull/522)\)\.\" +* postgres modules \- added support for Psycopg 3 library \([https\://github\.com/ansible\-collections/community\.postgresql/pull/517](https\://github\.com/ansible\-collections/community\.postgresql/pull/517)\)\. +* postgresql\_ext \- added idempotence always both in standard and in check mode \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\. +* postgresql\_ext \- added idempotence when version\=latest \([https\://github\.com/ansible\-collections/community\.postgresql/pull/504](https\://github\.com/ansible\-collections/community\.postgresql/pull/504)\)\. +* postgresql\_ext \- added prev\_version and version return values \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\. +* postgresql\_ext \- added queries in module output also in check mode \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\. +* postgresql\_ext \- improved error messages \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\. +* postgresql\_owner \- added support at new object types \([https\://github\.com/ansible\-collections/community\.postgresql/pull/555](https\://github\.com/ansible\-collections/community\.postgresql/pull/555)\)\. +* postgresql\_privs \- added idempotence when roles\=PUBLIC \([https\://github\.com/ansible\-collections/community\.postgresql/pull/502](https\://github\.com/ansible\-collections/community\.postgresql/pull/502)\)\. +* postgresql\_privs \- added parameters privileges support for PostgreSQL 15 or higher \([https\://github\.com/ansible\-collections/community\.postgresql/issues/481](https\://github\.com/ansible\-collections/community\.postgresql/issues/481)\)\. +* postgresql\_privs \- added support for implicit roles CURRENT\_ROLE\, CURRENT\_USER\, and SESSION\_USER \([https\://github\.com/ansible\-collections/community\.postgresql/pull/502](https\://github\.com/ansible\-collections/community\.postgresql/pull/502)\)\. +* postgresql\_tablespace \- added idempotence when dropping a non\-existing tablespace \([https\://github\.com/ansible\-collections/community\.postgresql/pull/554](https\://github\.com/ansible\-collections/community\.postgresql/pull/554)\)\. + + +#### community\.routeros + +* api\_info \- add new include\_read\_only option to select behavior for read\-only values\. By default these are not returned \([https\://github\.com/ansible\-collections/community\.routeros/pull/213](https\://github\.com/ansible\-collections/community\.routeros/pull/213)\)\. +* api\_info\, api\_modify \- add path caps\-man channel and enable path caps\-man manager interface \([https\://github\.com/ansible\-collections/community\.routeros/issues/193](https\://github\.com/ansible\-collections/community\.routeros/issues/193)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/194](https\://github\.com/ansible\-collections/community\.routeros/pull/194)\)\. +* api\_info\, api\_modify \- add path ip traffic\-flow target \([https\://github\.com/ansible\-collections/community\.routeros/issues/191](https\://github\.com/ansible\-collections/community\.routeros/issues/191)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/192](https\://github\.com/ansible\-collections/community\.routeros/pull/192)\)\. +* api\_info\, api\_modify \- add support for address\-list and match\-subdomain introduced by RouterOS 7\.7 in the ip dns static path \([https\://github\.com/ansible\-collections/community\.routeros/pull/197](https\://github\.com/ansible\-collections/community\.routeros/pull/197)\)\. +* api\_info\, api\_modify \- add support for user\, time and gmt\-offset under the system clock path \([https\://github\.com/ansible\-collections/community\.routeros/pull/210](https\://github\.com/ansible\-collections/community\.routeros/pull/210)\)\. +* api\_info\, api\_modify \- add support for the interface ppp\-client path \([https\://github\.com/ansible\-collections/community\.routeros/pull/199](https\://github\.com/ansible\-collections/community\.routeros/pull/199)\)\. +* api\_info\, api\_modify \- add support for the interface wireless path \([https\://github\.com/ansible\-collections/community\.routeros/pull/195](https\://github\.com/ansible\-collections/community\.routeros/pull/195)\)\. +* api\_info\, api\_modify \- add support for the iot modbus path \([https\://github\.com/ansible\-collections/community\.routeros/pull/205](https\://github\.com/ansible\-collections/community\.routeros/pull/205)\)\. +* api\_info\, api\_modify \- add support for the ip dhcp\-server option and ip dhcp\-server option sets paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/223](https\://github\.com/ansible\-collections/community\.routeros/pull/223)\)\. +* api\_info\, api\_modify \- add support for the ip upnp interfaces\, tool graphing interface\, tool graphing resource paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/227](https\://github\.com/ansible\-collections/community\.routeros/pull/227)\)\. +* api\_info\, api\_modify \- add support for the ipv6 firewall nat path \([https\://github\.com/ansible\-collections/community\.routeros/pull/204](https\://github\.com/ansible\-collections/community\.routeros/pull/204)\)\. +* api\_info\, api\_modify \- add support for the mode property in ip neighbor discovery\-settings introduced in RouterOS 7\.7 \([https\://github\.com/ansible\-collections/community\.routeros/pull/198](https\://github\.com/ansible\-collections/community\.routeros/pull/198)\)\. +* api\_info\, api\_modify \- add support for the port remote\-access path \([https\://github\.com/ansible\-collections/community\.routeros/pull/224](https\://github\.com/ansible\-collections/community\.routeros/pull/224)\)\. +* api\_info\, api\_modify \- add support for the routing filter rule and routing filter select\-rule paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/200](https\://github\.com/ansible\-collections/community\.routeros/pull/200)\)\. +* api\_info\, api\_modify \- add support for the routing table path in RouterOS 7 \([https\://github\.com/ansible\-collections/community\.routeros/pull/215](https\://github\.com/ansible\-collections/community\.routeros/pull/215)\)\. +* api\_info\, api\_modify \- add support for the tool netwatch path in RouterOS 7 \([https\://github\.com/ansible\-collections/community\.routeros/pull/216](https\://github\.com/ansible\-collections/community\.routeros/pull/216)\)\. +* api\_info\, api\_modify \- add support for the user settings path \([https\://github\.com/ansible\-collections/community\.routeros/pull/201](https\://github\.com/ansible\-collections/community\.routeros/pull/201)\)\. +* api\_info\, api\_modify \- add support for the user path \([https\://github\.com/ansible\-collections/community\.routeros/pull/211](https\://github\.com/ansible\-collections/community\.routeros/pull/211)\)\. +* api\_info\, api\_modify \- finalize fields for the interface wireless security\-profiles path and enable it \([https\://github\.com/ansible\-collections/community\.routeros/pull/203](https\://github\.com/ansible\-collections/community\.routeros/pull/203)\)\. +* api\_info\, api\_modify \- finalize fields for the ppp profile path and enable it \([https\://github\.com/ansible\-collections/community\.routeros/pull/217](https\://github\.com/ansible\-collections/community\.routeros/pull/217)\)\. +* api\_modify \- add new handle\_read\_only and handle\_write\_only options to handle the module\'s behavior for read\-only and write\-only fields \([https\://github\.com/ansible\-collections/community\.routeros/pull/213](https\://github\.com/ansible\-collections/community\.routeros/pull/213)\)\. +* api\_modify\, api\_info \- support API paths routing id\, routing bgp connection \([https\://github\.com/ansible\-collections/community\.routeros/pull/220](https\://github\.com/ansible\-collections/community\.routeros/pull/220)\)\. + + +#### community\.vmware + +* Removed module / plugin documentation RST files from the repository \([https\://github\.com/ansible\-collections/community\.vmware/pull/1897](https\://github\.com/ansible\-collections/community\.vmware/pull/1897)\)\. +* Using semantic markup in documentation \([https\://github\.com/ansible\-collections/community\.vmware/issues/1771](https\://github\.com/ansible\-collections/community\.vmware/issues/1771)\)\. +* add moid property in the return value for the module\([https\://github\.com/ansible\-collections/community\.vmware/pull/1855](https\://github\.com/ansible\-collections/community\.vmware/pull/1855)\)\. +* add new snapshot\_id option to the vmware\_guest\_snapshot module\([https\://github\.com/ansible\-collections/community\.vmware/pull/1847](https\://github\.com/ansible\-collections/community\.vmware/pull/1847)\)\. +* autoselect\_datastore \- add support to also look at NFS mounted filesystems \(previously was just VMFS\) +* vmware\_cluster\_drs\_recommendations \- Add the Module to apply the drs recommendations \([https\://github\.com/ansible\-collections/community\.vmware/pull/1736](https\://github\.com/ansible\-collections/community\.vmware/pull/1736)\) +* vmware\_deploy\_ovf \- New parameter enable\_hidden\_properties to force OVF properties marked as ovf\:userConfigurable\=false to become user configurable \([https\://github\.com/ansible\-collections/community\.vmware/issues/802](https\://github\.com/ansible\-collections/community\.vmware/issues/802)\)\. +* vmware\_dvs\_portgroup\_info \- add moid property in the return value for the module \([https\://github\.com/ansible\-collections/community\.vmware/issues/1849](https\://github\.com/ansible\-collections/community\.vmware/issues/1849)\)\. +* vmware\_guest \- add support for configuring vMotion and FT encryption \([https\://github\.com/ansible\-collections/community\.vmware/issues/1069](https\://github\.com/ansible\-collections/community\.vmware/issues/1069)\) +* vmware\_guest\_serial\_port \- add support for proxyURI parameter to enable use of a virtual serial port concentrator \([https\://github\.com/ansible\-collections/community\.vmware/issues/1742](https\://github\.com/ansible\-collections/community\.vmware/issues/1742)\) +* vmware\_guest\_snapshot \- add new snapshot\_id option \([https\://github\.com/ansible\-collections/community\.vmware/pull/1847](https\://github\.com/ansible\-collections/community\.vmware/pull/1847)\)\. +* vmware\_host\_datastore \- added new datastore type \'vvol\' for enabling creation/deletion of vVols datastores +* vmware\_host\_datastore \- added new parameter resignature for supporting resignaturing an existing VMFS datastore on an imported/cloned LUN\. +* vmware\_host\_snmp module now can configure SNMP agent on set of hosts \(list in esxi\_hostname parameter or as cluster in cluster\_name parameter\)\. The ability to configure the host directly remains \([https\://github\.com/ansible\-collections/community\.vmware/issues/1799](https\://github\.com/ansible\-collections/community\.vmware/issues/1799)\)\. +* vmware\_vm\_info \- Add instance\_uuid to the result \([https\://github\.com/ansible\-collections/community\.vmware/issues/1805](https\://github\.com/ansible\-collections/community\.vmware/issues/1805)\) + + +#### community\.windows + +* win\_dns\_record \- Added zone\_scope option to manage a record in a specific zone scope + + +#### community\.zabbix + +* Multiple Roles \- Replaced depricated \'include\' statements with \'include\_tasks\' +* Update action\_groups variable in runtime\.yml +* all roles \- Added support for Debian 12 \(Bookworm\) +* all roles \- Delete gpg ids variable\. +* all roles \- Modified to allow a non\-root user to run the role\. +* all roles \- Updated testing to account for the correct version of Zabbix +* zabbix\_hostmacro module \- Add description property for Host macro creation/update\. Allow to set/update description of Zabbix host macros\. +* zabbix\_proxy \- Added installation of PyMySQL pip package +* zabbix\_proxy \- Modified installation of Centos 7 MySQL client +* zabbix\_proxy \- Standardized MySQL client installed on Debian and Ubuntu +* zabbix\_regexp module added +* zabbix\_settings module added +* zabbix\_token module added + + +#### containers\.podman + +* Update docs +* podman\_container \- Add support for health\-on\-failure action +* podman\_image \-Add target support for podman build image +* podman\_play \- Add build and context\_dir option to podman\_play +* podman\_pod \- Add options for resource limits to podman\_pod + + +#### dellemc\.enterprise\_sonic + +* galaxy\_yml \- Enable installation of Ansible Netcomon versions after 5\.0\.0 and update the enterprise\_sonic release version \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/270](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/270)\)\. +* module\_utils \- Change the location for importing remove\_empties from the obsolete Netcommon location to the offically required Ansible library location to fix sanity errors \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/172](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/172)\)\. +* sonic\_aaa \- Add replaced and overridden states support for AAA resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/237](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/237)\)\. +* sonic\_aaa \- Add unit tests for AAA resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/198](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/198)\)\. +* sonic\_aaa \- Revert breaking changes for AAA nodule \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/269](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/269)\)\. +* sonic\_api \- Add unit tests for api resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/218](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/218)\)\. +* sonic\_bfd\, sonic\_copp \- Update replaced methods \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/254](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/254)\)\. +* sonic\_bgp \- Add rt\_delay attribute to module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/244](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/244)\)\. +* sonic\_bgp \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/240](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/240)\)\. +* sonic\_bgp \- Add unit tests for BGP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/182](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/182)\)\. +* sonic\_bgp\_af \- Add several attributes to support configuration of route distinguisher and route target \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/141](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/141)\)\. +* sonic\_bgp\_af \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/246](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/246)\)\. +* sonic\_bgp\_af \- Add unit tests for BGP AF resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/183](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/183)\)\. +* sonic\_bgp\_af \- Modify BGP AF resource module unit tests to adjust for changes in the resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/191](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/191)\)\. +* sonic\_bgp\_as\_paths \- Add unit tests for BGP AS paths resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/184](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/184)\)\. +* sonic\_bgp\_communities \- Add unit tests for BGP communities resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/185](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/185)\)\. +* sonic\_bgp\_ext\_communities \- Add unit tests for BGP ext communities resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/186](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/186)\)\. +* sonic\_bgp\_neighbors \- Add unit tests for BGP neighbors resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/187](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/187)\)\. +* sonic\_bgp\_neighbors \- Enhance unit tests for BGP Neighbors resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/245](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/245)\)\. +* sonic\_bgp\_neighbors\_af \- Add unit tests for BGP neighbors AF resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/188](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/188)\)\. +* sonic\_command \- Add unit tests for command resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/219](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/219)\)\. +* sonic\_config \- Add unit tests for config resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/220](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/220)\)\. +* sonic\_dhcp\_relay \- Add a common unit tests module and unit tests for dhcp relay module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/148](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/148)\)\. +* sonic\_dhcp\_relay \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/249](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/249)\)\. +* sonic\_facts \- Add unit tests for facts resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/222](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/222)\)\. +* sonic\_interfaces \- Add speed\, auto\-negotiate\, advertised\-speed and FEC to interface resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/128](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/128)\)\. +* sonic\_interfaces \- Add unit tests for interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/197](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/197)\)\. +* sonic\_ip\_neighbor \- Add unit tests for IP neighbor resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/225](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/225)\)\. +* sonic\_ip\_neighbor \- Change the replaced function in ip\_neighbor resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/253](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/253)\)\. +* sonic\_l2\_interfaces \- Add support for parsing configuration containing the OC Yang vlan range syntax \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/124](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/124)\)\. +* sonic\_l2\_interfaces \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/221](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/221)\)\. +* sonic\_l2\_interfaces \- Add support for specifying vlan trunk ranges in Ansible playbooks \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/149](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/149)\)\. +* sonic\_l2\_interfaces \- Add unit tests for l2\_interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/200](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/200)\)\. +* sonic\_l3\_interfaces \- Add unit tests for l3\_interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/202](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/202)\)\. +* sonic\_lag\_interface \- Add replaced and overridden states support for LAG interface resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/196](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/196)\)\. +* sonic\_lag\_interfaces \- Add unit tests for lag\_interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/203](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/203)\)\. +* sonic\_logging \- Add replaced and overridden states support for logging resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/150](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/150)\)\. +* sonic\_logging \- Add unit tests for logging resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/226](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/226)\)\. +* sonic\_logging \- Change logging get facts for source\_interface naming \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/258](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/258)\)\. +* sonic\_mclag \- Add delay\_restore\, gateway\_mac\, and peer\_gateway attributes to module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/145](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/145)\)\. +* sonic\_ntp \- Add prefer attribute to NTP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/118](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/118)\)\. +* sonic\_ntp \- Add replaced and overridden states support for NTP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/151](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/151)\)\. +* sonic\_ntp \- Add unit tests for NTP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/207](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/207)\)\. +* sonic\_ntp \- Change NTP get facts to get default parameters \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/106](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/106)\)\. +* sonic\_ntp \- Change NTP key values in NTP regression test script \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/107](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/107)\)\. +* sonic\_ntp \- Change NTP module name \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/113](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/113)\)\. +* sonic\_ntp \- Change NTP module names in NTP regression test script \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/114](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/114)\)\. +* sonic\_ntp \- Change NTP resource module to make minpoll and maxpoll be configured together \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/129](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/129)\)\. +* sonic\_port\_breakout \- Add unit tests for port breakout resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/229](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/229)\)\. +* sonic\_port\_group \- Add replaced and overridden states support for port group resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/227](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/227)\)\. +* sonic\_port\_group \- Add unit tests for port group resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/228](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/228)\)\. +* sonic\_prefix\_lists \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/255](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/255)\)\. +* sonic\_prefix\_lists \- Add unit tests for prefix lists resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/209](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/209)\)\. +* sonic\_radius\_server \- Add replaced and overridden states support for RADIUS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/239](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/239)\)\. +* sonic\_radius\_server \- Add unit tests for RADIUS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/210](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/210)\)\. +* sonic\_static\_routes \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/236](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/236)\)\. +* sonic\_static\_routes \- Add unit tests for static routes resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/212](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/212)\)\. +* sonic\_system \- Add replaced and overridden states support for system resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/159](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/159)\)\. +* sonic\_system \- Add unit tests for system resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/223](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/223)\)\. +* sonic\_tacacs\_server \- Add replaced and overridden states support for TACACS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/235](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/235)\)\. +* sonic\_tacacs\_server \- Add unit tests for TACACS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/208](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/208)\)\. +* sonic\_users \- Add replaced and overridden states support for users resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/242](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/242)\)\. +* sonic\_users \- Add unit tests for users resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/213](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/213)\)\. +* sonic\_vlans \- Add replaced and overridden states support for VLAN resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/217](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/217)\)\. +* sonic\_vlans \- Add unit tests for Vlans resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/214](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/214)\)\. +* sonic\_vrfs \- Add replaced and overridden states support for VRF resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/156](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/156)\)\. +* sonic\_vrfs \- Add unit tests for VRFS resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/216](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/216)\)\. +* sonic\_vxlans \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/247](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/247)\)\. +* sonic\_vxlans \- Add unit tests for VxLans resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/215](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/215)\)\. + + +#### dellemc\.openmanage + +* All the module documentation and examples are updated to use true or false for Boolean values\. +* Module idrac\_user is enhanced to configure custom privileges for an user\. +* Module ome\_application\_certificate is enhanced to support subject alternative names\. +* Module ome\_diagnostics is enhanced to update changed flag status in response\. +* Module ome\_discovery is enhanced to add detailed job information of each IP discovered\. +* Module ome\_firmware\_baseline is enhanced to support the option to select only components with no reboot required\. +* Module ome\_firmware\_catalog is enhanced to support IPv6 address\. +* Module ome\_firmware is enhanced to support reboot type options\. +* Module ome\_job\_info is enhanced to return last execution details and execution histories\. +* Module redfish\_firmware is enhanced to support IPv6 address\. +* Module redfish\_storage\_volume is enhanced to support RAID6 and RAID60\. +* Role idrac\_os\_deployment is enhanced to remove the auto installation of required libraries and to support custom ISO and kickstart file as input\. +* Updated the idrac\_gather\_facts role to use jinja template filters\. + + +#### dellemc\.powerflex + +* Added Ansible role to support creation and deletion of protection domain\, storage pool and fault set\. +* Added Ansible role to support installation and uninstallation of Active MQ\. +* Added Ansible role to support installation and uninstallation of Gateway\. +* Added Ansible role to support installation and uninstallation of LIA\. +* Added Ansible role to support installation and uninstallation of MDM\. +* Added Ansible role to support installation and uninstallation of SDC\. +* Added Ansible role to support installation and uninstallation of SDR\. +* Added Ansible role to support installation and uninstallation of SDS\. +* Added Ansible role to support installation and uninstallation of TB\. +* Added Ansible role to support installation and uninstallation of Web UI\. +* Added sample playbooks for the modules\. +* Added support for PowerFlex Denver version\(4\.5\.x\) +* Added support for SDC installation on ESXi\, Rocky Linux and Windows OS\. +* Device module is enhanced to support force addition of device to the SDS\. +* Info module is enhanced to list statistics in snapshot policies\. +* Replication consistency group module is enhanced to support failover\, restore\, reverse\, switchover\, and sync operations\. +* SDC module is enhanced to configure performance profile and to remove SDC\. +* Updated modules to adhere with ansible community guidelines\. + + +#### dellemc\.unity + +* Added replication session module to get details\, pause\, resume\, sync\, failover\, failback and delete replication sessions\. +* Added support for Unity XT SeaHawk 5\.3 +* Documentation updates for boolean values based on ansible community guidelines\. +* Patch update to fix import errors in utils file\. + + +#### f5networks\.f5\_modules + +* bigip\_command \- Added note to give appropriate timeout value for long running commands +* bigip\_policy\_rule \- added six more options for ssl\_extension condition + + +#### fortinet\.fortimanager + +* Corrected the behavior of module fmgr\_pkg\_firewall\_consolidated\_policy\_sectionvalue and fmgr\_pkg\_firewall\_securitypolicy\_sectionvalue\. +* Improve documentation\. +* Some arguments can support both list or string format input now\. +* Support newest versions for FortiManager v6\.2 \~ v7\.4 + + +#### google\.cloud + +* Add DataPlane V2 Support\. +* Add auth support for GCP access tokens \(\#574\)\. +* Add support for ip\_allocation\_policy\-\>stack\_type\. + + +#### grafana\.grafana + +* Ability to configure date format in grafana server role by \@RomainMou +* Add Grafana Agent Version and CPU Arch to Downloaded ZIP in Grafana Agent Role +* Add check for Curl and failure step if Agent Version is not retrieved +* Add overrides\.conf with CAP\_NET\_BIND\_SERVICE for grafana\-server unit +* Allow alert resource provisioning in Grafana Role +* Avoid using shell for fetching latest version in Grafana Agent Role by \@gardar +* Bump cryptography from 39\.0\.2 to 41\.0\.3 +* Bump cryptography from 41\.0\.3 to 41\.0\.4 +* Bump semver from 5\.7\.1 to 5\.7\.2 +* Bump word\-wrap from 1\.2\.3 to 1\.2\.5 +* Create local dashboard directory in check mode +* Create missing notification directory in Grafana Role +* Datasource test updates and minor fixes +* Fix Deleting datasources +* Fix Grafana Dashboard Import for Grafana Role +* Fix alert\_notification\_policy failing on fresh instance +* Fix for invalid yaml with datasources list enclosed in quotes by \@elkozmon +* Fix grafana dashboard import in Grafana Role +* Make grafana\_agent Idempotent +* Making Deleting folders idempotent +* Move \_grafana\_agent\_base\_download\_url from /vars to /defaults in Grafana Agent Role +* Provisioning errors in YAML +* Remove agent installation custom check by \@VLZZZ +* Remove check\_mode from create local directory task in Grafana Role +* Remove dependency on local\-fs\.target from Grafana Agent role +* Remove explicit user creation check by \@v\-zhuravlev +* Remove trailing slash automatically from grafana\_url +* Update CI Testing +* Update Cloud Stack Module failures +* Update Download tasks in Grafana Agent Role +* Use \'ansible\_system\' env variable to detect os typ in Grafana Agent Role +* Use new standard to configure Grafana APT source for Grafana Role +* YAML Fixes +* hange grafana Agent Wal and Positions Directory in Grafana Agent Role +* indentation and Lint fixes to modules + + +#### hetzner\.hcloud + +* Bundle hcloud python dependency inside the collection\. +* Use the collection version in the hcloud user\-agent instead of the ansible\-core version\. +* hcloud\_datacenter\_info \- Add server\_types field +* hcloud\_floating\_ip\_info \- Allow querying floating ip by name\. +* hcloud\_iso\_info \- Add deprecation field +* hcloud\_iso\_info Create hcloud\_iso\_info module +* hcloud\_load\_balancer\_info \- Add targets health status field\. +* hcloud\_load\_balancer\_network \- Allow selecting a load\_balancer or network using its ID\. +* hcloud\_load\_balancer\_service \- Allow selecting a load\_balancer using its ID\. +* hcloud\_load\_balancer\_target \- Allow selecting a load\_balancer or server using its ID\. +* hcloud\_network Add expose\_routes\_to\_vswitch field\. +* hcloud\_network\_info Return expose\_routes\_to\_vswitch for network\. +* hcloud\_primary\_ip\_info Create hcloud\_primary\_ip\_info module +* hcloud\_rdns \- Allow selecting a server\, floating\_ip\, primary\_ip or load\_balancer using its ID\. +* hcloud\_route \- Allow selecting a network using its ID\. +* hcloud\_server \- Add created field +* hcloud\_server Show warning if used server\_type is deprecated\. +* hcloud\_server\_info \- Add created field +* hcloud\_server\_network \- Allow selecting a network or server using its ID\. +* hcloud\_server\_type\_info \- Add field included\_traffic to returned server types +* hcloud\_server\_type\_info Return deprecation info for server types\. +* hcloud\_subnetwork \- Allow selecting to a network using its ID\. +* inventory \- Allow caching the hcloud inventory\. +* python\-dateutil \>\= 2\.7\.5 is now required by the collection\. If you already have the hcloud package installed\, this dependency should also be installed\. +* requests \>\= 2\.20 is now required by the collection\. If you already have the hcloud package installed\, this dependency should also be installed\. + + +#### inspur\.ispim + +* Change the ansible\-test\.yml application file version\. +* Modify logical disk creation\, add MV raid card compatible\. +* The edit\_bios module adds the list field\. + + +#### junipernetworks\.junos + +* junos\_ospfv2 \- Fix the authentication config when password is configured +* junos\_ospfv2 \- Rename key ospf to ospfv2 in facts\. +* junos\_ospfv2 \- add area\_ranges attribute which supports list of dict attributes\. +* junos\_ospfv2 \- add attributes allow\_route\_leaking\, stub\_network and as\-external to overload dict\. +* junos\_ospfv2 \- add attributes no\_ignore\_out\_externals to spf\_options dict\. +* junos\_ospfv2 \- fix to gather reference\_bandwidth and rfc1583compatibility\. +* add acl\_interfaces key for junos\_facts output\. +* add overridden state opperation support\. + + +#### lowlydba\.sqlserver + +* Add refresh workaround for agent schedule bug where properties returned are stale\. \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/185](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/185)\) +* Added SID as an optional parameter to the login module \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/189](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/189)\) +* Added only\_accessible as an optional parameter to the database module \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/198](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/198)\) +* Fixes error handling for Remove\-DbaDatabase when joined to AvailabilityGroup\, exception was not being thrown so we have to parse Status + + +#### microsoft\.ad + +* AD objects will no longer be moved to the default AD path for their type if no path was specified\. Use the value microsoft\.ad\.default\_path to explicitly set the path to the default path if that behaviour is desired\. +* microsoft\.ad\.debug\_ldap\_client \- Add dpapi\_ng to list of packages checked +* microsoft\.ad\.ldap \- Add support for decrypting LAPS encrypted password +* microsoft\.ad\.ldap \- Added the option filter\_without\_computer to not add the AND clause objectClass\=computer to the final filter used \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/55](https\://github\.com/ansible\-collections/microsoft\.ad/issues/55) +* microsoft\.ad\.ldap \- Allow setting LDAP connection and authentication options through environment variables \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/34](https\://github\.com/ansible\-collections/microsoft\.ad/issues/34) + + +#### netapp\.ontap + +* na\_ontap\_broadcast\_domain \- changed documentation for ipspace as it is required while using REST\. +* na\_ontap\_cg\_snapshot \- added REST support to the cg snapshot module\, requires ONTAP 9\.10\.1 or later\. +* na\_ontap\_cifs\_server \- new option default\_site added in REST\, requires ONTAP 9\.13\.1 or later\. +* na\_ontap\_ems\_destination \- new option certificate\, ca added\. +* na\_ontap\_kerberos\_realm \- add REST support for admin\_server\_ip\, admin\_server\_port\, pw\_server\_ip\, pw\_server\_port and clock\_skew from ONTAP 9\.13\.1 or later +* na\_ontap\_lun \- new option qtree\_name added in REST\. +* na\_ontap\_name\_mappings \- added choices s3\_win and s3\_unix to direction\, requires ONTAP 9\.12\.1 or later\. +* na\_ontap\_net\_ifgrp \- return name and other details of a newly created interface group in module output in REST\. +* na\_ontap\_qos\_policy\_group \- added new REST only options expected\_iops\_allocation and peak\_iops\_allocation\, requires ONTAP 9\.10\.1 or later\. +* na\_ontap\_rest\_info \- new option hal\_linking added to enable or disable HAL links\. +* na\_ontap\_restit \- returns changed as False for GET method\. +* na\_ontap\_s3\_buckets \- new option nas\_path added\, requires ONTAP 9\.12\.1 or later\. +* na\_ontap\_snmp \- added REST support for snmpv3 user\. +* na\_ontap\_user \- Added warning message when password is not changed\. +* na\_ontap\_volume \- added REST support for atime\_update requires ONTAP 9\.8 or later\, snapdir\_access and snapshot\_auto\_delete requires ONTAP 9\.13\.1 or later\. +* na\_ontap\_volume \- added new REST only options vol\_nearly\_full\_threshold\_percent and vol\_full\_threshold\_percent\, requires ONTAP 9\.9 or later\. + + +#### netbox\.netbox + +* API \- Add possibility to use Bearer token \[\#1023\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1023](https\://github\.com/netbox\-community/ansible\_modules/pull/1023)\) +* custom fields \- Add datetime as an custom field option \[\#1019\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1019](https\://github\.com/netbox\-community/ansible\_modules/pull/1019)\) +* netbox\_cable \- Add tenant \[\#1027\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1027](https\://github\.com/netbox\-community/ansible\_modules/pull/1027)\) +* netbox\_circuit\_type\, netbox\_device\_interface \- Add missing options \[\#1025\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1025](https\://github\.com/netbox\-community/ansible\_modules/pull/1025)\) +* netbox\_config\_template \- New module \[\#1090\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1090](https\://github\.com/netbox\-community/ansible\_modules/pull/1090)\) +* netbox\_custom\_field \- Add hidden\-ifunset option \[\#1048\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1048](https\://github\.com/netbox\-community/ansible\_modules/pull/1048)\) +* netbox\_device \- Add oob\_ip to device \[\#1085\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1085](https\://github\.com/netbox\-community/ansible\_modules/pull/1085)\) +* netbox\_device\_type \- Add default\_platform \[\#1092\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1092](https\://github\.com/netbox\-community/ansible\_modules/pull/1092)\) +* netbox\_inventory\_item \- Add role to module \[\#1050\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1050](https\://github\.com/netbox\-community/ansible\_modules/pull/1050)\) +* netbox\_power\_port \- Add missing power port option \[\#1049\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1049](https\://github\.com/netbox\-community/ansible\_modules/pull/1049)\) + + +#### ovirt\.ovirt + +* ovirt\_vm \- Add tpm\_enabled \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/722](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/722)\)\. +* storage\_error\_resume\_behaviour \- Support VM storage error resume behaviour \"auto\_resume\"\, \"kill\"\, \"leave\_paused\"\. \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/721](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/721)\) +* vm\_infra \- Support boot disk renaming and resizing\. \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/705](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/705)\) + + +#### purestorage\.flasharray + +* purefa\_eradication \- Added support for disabled and enabled timers from Purity//FA 6\.4\.10 +* purefa\_info \- Add port\_connectivity information for hosts +* purefa\_info \- Add array subscription data +* purefa\_info \- Add promotion status information for volumes +* purefa\_info \- Added nfs\_version to policies and rules from Purity//FA 6\.4\.10 +* purefa\_info \- Added total\_used to multiple sections from Purity//FA 6\.4\.10 +* purefa\_info \- Added support for autodir policies +* purefa\_info \- Prive array timezone from Purity//FA 6\.4\.10 +* purefa\_info \- Report NTP Symmetric key presence from Purity//FA 6\.4\.10 +* purefa\_network \- Add support for creating/modifying VIF and LACP\_BOND interfaces +* purefa\_network \- enabled option added\. This must now be used instead of state\=absent to disable a physical interface as state\=absent can now fully delete a non\-physical interface +* purefa\_ntp \- Added support for NTP Symmetric Key from Purity//FA 6\.4\.10s +* purefa\_offload \- Added a new profile parameter\. +* purefa\_pgsched \- Change snap\_at and replicate\_at to be AM or PM hourly +* purefa\_pgsnap \- Add protection group snapshot rename functionality +* purefa\_pgsnap \- Added new parameter to support snapshot throttling +* purefa\_policy \- Added support for autodir policies +* purefa\_policy \- Added support for multiple NFS versions from Purity//FA 6\.4\.10 +* purefa\_proxy \- Add new protocol parameter\, defaults to https +* purefa\_snap \- Added new parameter to support snapshot throttling +* purefa\_vg \- Add rename parameter + + +#### purestorage\.flashblade + +* purefb\_bucket\_replica \- Added support for cascading replica links +* purefb\_fs \- Added support for SMB client and share policies +* purefb\_fs\_replica \- Added support to delete filesystem replica links from REST 2\.10 +* purefb\_info \- Add drive type in drives subset for //S and //E platforms\. Only available from REST 2\.9\. +* purefb\_info \- Added support for SMB client and share policies +* purefb\_info \- New fields to display free space \(remaining quota\) for Accounts and Buckets\. Space used by destroyed buckets is split out from virtual field to new destroyed\_virtual field +* purefb\_info \- Report encryption state in SMB client policy rules +* purefb\_info \- Report more detailed space data from Purity//FB 4\.3\.0 +* purefb\_policy \- Add deny effect for object store policy rules\. Requires Purity//FB 4\.3\.0\+ +* purefb\_policy \- Add new and updated policy access rights +* purefb\_policy \- Added parameter to define object store policy description +* purefb\_policy \- Added support for SMB client and share policies +* purefb\_s3acc \- Allow human readable quota sizes\; eg\. 1T\, 230K\, etc +* purefb\_s3user \- Add new boolean parameter I\(multiple\_keys\) to limit access keys for a user to a single key\. + + +#### purestorage\.fusion + +* FUSION\_API\_HOST \&\& FUSION\_HOST \- changed logic\, now this variables require host name without path +* Fusion authentication \- add \'access\_token\' module\'s parameter and \'FUSION\_ACCESS\_TOKEN\' environment variable\, as an alternative way of the authentication\. +* all modules \- return resource\'s id parameter on update and create\. +* fusion \- added private key password\, which is used to decrypt private key files +* fusion\_array \- added apartment\_id argument\, which can be used when creating an array\. +* fusion\_info \- array is None if missing in volume +* fusion\_info \- hardware\_types is None if missing in storage\_service +* fusion\_info \- network\_interface\_groups is None if missing in iscsi\_interfaces in storage\_endpoint +* fusion\_info \- introduce \'availability\_zones\' subset option +* fusion\_info \- introduce \'host\_access\_policies\' subset option +* fusion\_info \- introduce \'network\_interfaces\' subset option +* fusion\_info \- introduce \'regions\' subset option +* fusion\_info \- rename \'appliances\' in default dict to \'arrays\' for consistency +* fusion\_info \- rename \'hosts\' dict to \'host\_access\_policies\' for consistency +* fusion\_info \- rename \'interfaces\' dict to \'network\_interfaces\' for consistency +* fusion\_info \- rename \'placements\_groups\' in default dict to \'placement\_groups\' for consistency +* fusion\_info \- rename \'zones\' dict to \'availability\_zones\' for consistency +* fusion\_info \- rename hardware to hardware\_types in response for consistency +* fusion\_info \- rename storageclass to storage\_classes in response for consistency +* fusion\_pg \- introduced destroy\_snapshots\_on\_delete which\, if set to true\, ensures that before deleting placement group\, snapshots within the placement group will be deleted\. +* fusion\_pp \- \'local\_rpo\' duration parsing documented\, \'local\_retention\' minimum value fixed +* fusion\_pp \- Allow leading zeros in duration strings +* fusion\_pp \- Change the minimum value of the protection policy local retention from 1 to 10 +* fusion\_pp \- duration parsing improved\. Supports combination of time units \(E\.g 5H5M\) +* fusion\_pp \- introduced destroy\_snapshots\_on\_delete which\, if set to true\, ensures that before deleting protection policy\, snapshots within the protection policy will be deleted\. +* fusion\_ra \- added api\_client\_key argument\, which can be used instead of user and principal argument +* fusion\_ra \- added principal argument\, which is an ID of either API client or User and can be used instead of user argument +* fusion\_se \- add support for CBS Storage Endpoint +* fusion\_volume \- Allow creating a new volume from already existing volume or volume snapshot + + +#### sensu\.sensu\_go + +* Added Docker file configurations for Ubuntu 20\.04 and 22\.04 +* Added aditional parameters for Postgres resource to datastore module +* Added bcrypt check to user module +* Added docs for backends and package\_name filter +* Added symlink for AlmaLinux\.yml for alma linux 9 support + + +#### t\_systems\_mms\.icinga\_director + +* Add Icinga Deploy handler and module \([https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/205](https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/205)\) + + +#### theforeman\.foreman + +* compute\_resource \- add support for OpenStack +* content\_view\_filter \- add deb filter type +* content\_view\_filter\_rule \- add spec for deb filter rules +* content\_view\_promote role \- also accept all parameters of the content\_view\_version module \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1591](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1591)\) +* content\_view\_version \- include information about the published version in the return value of the module +* job\-invocation \- add recurrence purpose and description\_format parameters +* locations role \- New role to manage locations +* organizations role \- accept parameters and ignore\_types like the module does +* repositories role \- allow disabling/removing of repositories by setting the state parameter + + +#### vultr\.cloud + +* instance \- Implemented a new state equal reinstalled to reinstall an existing instance \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/66](https\://github\.com/vultr/ansible\-collection\-vultr/pull/66)\)\. +* inventory \- Added VPC/VPC 2\.0 support by adding internal\_ip to the attributes \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/86](https\://github\.com/vultr/ansible\-collection\-vultr/issues/86)\)\. +* inventory \- Bare metal support has been implemented \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/63](https\://github\.com/vultr/ansible\-collection\-vultr/pull/63)\)\. + + +#### vyos\.vyos + +* vyos\-l3\_interface\_support \- Add support for Tunnel\, Bridge and Dummy interfaces\. \([https\://github\.com/ansible\-collections/vyos\.vyos/issues/265](https\://github\.com/ansible\-collections/vyos\.vyos/issues/265)\) + + +### Breaking Changes / Porting Guide + + +#### Ansible\-core + +* Any plugin using the config system and the cli entry to use the timeout from the command line\, will see the value change if the use had configured it in any of the lower precedence methods\. If relying on this behaviour to consume the global/generic timeout from the DEFAULT\_TIMEOUT constant\, please consult the documentation on plugin configuration to add the overlaping entries\. +* ansible\-test \- Test plugins that rely on containers no longer support reusing running containers\. The previous behavior was an undocumented\, untested feature\. +* service module will not permanently configure variables/flags for openbsd when doing enable/disable operation anymore\, this module was never meant to do this type of work\, just to manage the service state itself\. A rcctl\_config or similar module should be created and used instead\. + + +#### amazon\.aws + +* The amazon\.aws collection has dropped support for botocore\<1\.29\.0 and boto3\<1\.26\.0\. Most modules will continue to work with older versions of the AWS SDK\, however compatability with older versions of the SDK is not guaranteed and will not be tested\. When using older versions of the SDK a warning will be emitted by Ansible \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\. +* amazon\.aws collection \- due to the AWS SDKs announcing the end of support for Python less than 3\.7 \([https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/](https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/)\) support for Python less than 3\.7 by this collection wss been deprecated in release 6\.0\.0 and removed in release 7\.0\.0\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\. +* module\_utils \- module\_utils\.urls was previously deprecated and has been removed \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1540](https\://github\.com/ansible\-collections/amazon\.aws/pull/1540)\)\. +* module\_utils\.\_version \- vendored copy of distutils\.version has been dropped \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1587](https\://github\.com/ansible\-collections/amazon\.aws/pull/1587)\)\. + + +#### community\.aws + +* The community\.aws collection has dropped support for botocore\<1\.29\.0 and boto3\<1\.26\.0\. Most modules will continue to work with older versions of the AWS SDK\, however compatability with older versions of the SDK is not guaranteed and will not be tested\. When using older versions of the SDK a warning will be emitted by Ansible \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\. +* aws\_region\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.aws\_region\_info\. +* aws\_s3\_bucket\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.aws\_s3\_bucket\_info\. +* community\.aws collection \- due to the AWS SDKs announcing the end of support for Python less than 3\.7 \([https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/](https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/)\) support for Python less than 3\.7 by this collection wss been deprecated in release 6\.0\.0 and removed in release 7\.0\.0\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\. +* iam\_access\_key \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_access\_key\. +* iam\_access\_key\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_access\_key\_info\. +* iam\_group \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_group \([https\://github\.com/ansible\-collections/community\.aws/pull/1945](https\://github\.com/ansible\-collections/community\.aws/pull/1945)\)\. +* iam\_managed\_policy \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_managed\_policy \([https\://github\.com/ansible\-collections/community\.aws/pull/1954](https\://github\.com/ansible\-collections/community\.aws/pull/1954)\)\. +* iam\_mfa\_device\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_mfa\_device\_info \([https\://github\.com/ansible\-collections/community\.aws/pull/1953](https\://github\.com/ansible\-collections/community\.aws/pull/1953)\)\. +* iam\_password\_policy \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_password\_policy\. +* iam\_role \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_role \([https\://github\.com/ansible\-collections/community\.aws/pull/1948](https\://github\.com/ansible\-collections/community\.aws/pull/1948)\)\. +* iam\_role\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.iam\_role\_info \([https\://github\.com/ansible\-collections/community\.aws/pull/1948](https\://github\.com/ansible\-collections/community\.aws/pull/1948)\)\. +* s3\_bucket\_info \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.s3\_bucket\_info\. +* sts\_assume\_role \- The module has been migrated from the community\.aws collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use amazon\.aws\.sts\_assume\_role\. + + +#### community\.general + +* collection\_version lookup plugin \- remove compatibility code for ansible\-base 2\.10 and ansible\-core 2\.11 \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\. +* gitlab\_project \- add default\_branch support for project update\. If you used the module so far with default\_branch to update a project\, the value of default\_branch was ignored\. Make sure that you either do not pass a value if you are not sure whether it is the one you want to have to avoid unexpected breaking changes \([https\://github\.com/ansible\-collections/community\.general/pull/7158](https\://github\.com/ansible\-collections/community\.general/pull/7158)\)\. +* selective callback plugin \- remove compatibility code for Ansible 2\.9 and ansible\-core 2\.10 \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\. +* vardict module utils \- VarDict will no longer accept variables named \_var\, get\_meta\, and as\_dict \([https\://github\.com/ansible\-collections/community\.general/pull/6647](https\://github\.com/ansible\-collections/community\.general/pull/6647)\)\. +* version module util \- remove fallback for ansible\-core 2\.11\. All modules and plugins that do version collections no longer work with ansible\-core 2\.11 \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\. + + +#### community\.hashi\_vault + +* The minimum required version of hvac is now 1\.2\.1 \([https\://docs\.ansible\.com/ansible/devel/collections/community/hashi\_vault/docsite/user\_guide\.html\#hvac\-version\-specifics](https\://docs\.ansible\.com/ansible/devel/collections/community/hashi\_vault/docsite/user\_guide\.html\#hvac\-version\-specifics)\)\. + + +#### community\.vmware + +* Removed support for ansible\-core version \< 2\.15\.0\. +* vmware\_dvs\_host \- removed defaults for vmnics and lag\_uplinks \([https\://github\.com/ansible\-collections/community\.vmware/issues/1516](https\://github\.com/ansible\-collections/community\.vmware/issues/1516)\)\. +* vmware\_host\_acceptance \- removed acceptance\_level and used its options in state\. This also means there will be no state list anymore\. In order to get information about the current acceptance level\, use the new module vmware\_host\_acceptance\_info \([https\://github\.com/ansible\-collections/community\.vmware/issues/1872](https\://github\.com/ansible\-collections/community\.vmware/issues/1872)\)\. +* vmware\_vm\_info \- added prefix length to IP addresses in vm\_network\, so they now show up as for example 10\.76\.33\.228/24 instead of just 10\.76\.33\.228 \([https\://github\.com/ansible\-collections/community\.vmware/issues/1761](https\://github\.com/ansible\-collections/community\.vmware/issues/1761)\)\. + + +#### dellemc\.enterprise\_sonic + +* sonic\_aaa \- Add default\_auth attribute to the argspec to replace the deleted group and local attributes\. This change allows for ordered login authentication\. \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/195](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/195)\)\. + + +#### hetzner\.hcloud + +* Drop support for ansible\-core 2\.12 +* Drop support for python 3\.7 +* hcloud\-python 1\.20\.0 is now required for full compatibility +* inventory plugin \- Don\'t set the server image variables \(image\_id\, image\_os\_flavor and image\_name\) when the server image is not defined\. + + +### Deprecated Features + +* The community\.azure collection is officially unmaintained and has been archived\. Therefore\, it will be removed from Ansible 10\. There is already a successor collection azure\.azcollection in the community package which should cover the same functionality \([https\://github\.com/ansible\-community/community\-topics/issues/263](https\://github\.com/ansible\-community/community\-topics/issues/263)\)\. +* The hpe\.nimble collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/254](https\://github\.com/ansible\-community/community\-topics/issues/254)\)\. +* The collection community\.sap has been renamed to community\.sap\_libs\. For now both collections are included in Ansible\. The content in community\.sap has deprecated redirects to the new collection in Ansible 9\.0\.0\, and the collection will be removed from Ansible 10 completely\. Please update your FQCNs for community\.sap\. +* The collection ibm\.spectrum\_virtualize has been renamed to ibm\.storage\_virtualize\. For now\, both collections are included in Ansible\. The content in ibm\.spectrum\_virtualize will be replaced with deprecated redirects to the new collection in Ansible 10\.0\.0\, and these redirects will eventually be removed from Ansible\. Please update your FQCNs for ibm\.spectrum\_virtualize\. +* The collection t\_systems\_mms\.icinga\_director has been renamed to telekom\_mms\.icinga\_director\. For now both collections are included in Ansible\. The content in t\_systems\_mms\.icinga\_director has been replaced with deprecated redirects to the new collection in Ansible 9\.0\.0\, and these redirects will be removed from Ansible 11\. Please update your FQCNs for t\_systems\_mms\.icinga\_director\. +* The netapp\.azure collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/234](https\://github\.com/ansible\-community/community\-topics/issues/234)\)\. +* The netapp\.elementsw collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/235](https\://github\.com/ansible\-community/community\-topics/issues/235)\)\. +* The netapp\.um\_info collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/244](https\://github\.com/ansible\-community/community\-topics/issues/244)\)\. + + +#### Ansible\-core + +* Deprecated ini config option collections\_paths\, use the singular form collections\_path instead +* Deprecated the env var ANSIBLE\_COLLECTIONS\_PATHS\, use the singular form ANSIBLE\_COLLECTIONS\_PATH instead +* Old style vars plugins which use the entrypoints get\_host\_vars or get\_group\_vars are deprecated\. The plugin should be updated to inherit from BaseVarsPlugin and define a get\_vars method as the entrypoint\. +* Support for Windows Server 2012 and 2012 R2 has been removed as the support end of life from Microsoft is October 10th 2023\. These versions of Windows will no longer be tested in this Ansible release and it cannot be guaranteed that they will continue to work going forward\. +* STRING\_CONVERSION\_ACTION config option is deprecated as it is no longer used in the Ansible Core code base\. +* the \'smart\' option for setting a connection plugin is being removed as it\'s main purpose \(choosing between ssh and paramiko\) is now irrelevant\. +* vault and unfault filters \- the undocumented vaultid parameter is deprecated and will be removed in ansible\-core 2\.20\. Use vault\_id instead\. +* yum\_repository \- deprecated parameter \'keepcache\' \([https\://github\.com/ansible/ansible/issues/78693](https\://github\.com/ansible/ansible/issues/78693)\)\. + + +#### amazon\.aws + +* ec2\_instance \- deprecation of tenancy and placement\_group in favor of placement attribute \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1825](https\://github\.com/ansible\-collections/amazon\.aws/pull/1825)\)\. +* s3\_object \- support for passing object keys with a leading / has been deprecated and will be removed in a release after 2025\-12\-01 \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1549](https\://github\.com/ansible\-collections/amazon\.aws/pull/1549)\)\. + + +#### ansible\.netcommon + +* libssh \- the ssh\_\*\_args options are now marked that they will be removed after 2026\-01\-01\. + + +#### ansible\.windows + +* Add warning when using Server 2012 or 2012 R2 with the setup module\. These OS\' are nearing the End of Life and will not be tested in CI when that time is reached\. +* win\_domain \- Module is deprecated in favour of the microsoft\.ad\.domain module\, the ansible\.windows\.win\_domain module will be removed in the 3\.0\.0 release of this collection\. +* win\_domain\_controller \- Module is deprecated in favour of the microsoft\.ad\.domain\_controller module\, the ansible\.windows\.win\_domain\_controller module will be removed in the 3\.0\.0 release of this collection\. +* win\_domain\_membership \- Module is deprecated in favour of the microsoft\.ad\.membership module\, the ansible\.windows\.win\_domain\_membership module will be removed in the 3\.0\.0 release of this collection\. + + +#### cisco\.ios + +* ios\_snmp\_server \- deprecate traps\.envmon\.fan with traps\.envmon\.fan\_enable +* ios\_snmp\_server \- deprecate traps\.mpls\_vpn with traps\.mpls +* ospfv2 \- removed passive\_interface to passive\_interfaces that supports a list of interfaces + + +#### cisco\.iosxr + +* Deprecated iosxr\_bgp module in favor of iosxr\_bgp\_global\,iosxr\_bgp\_neighbor\_address\_family and iosxr\_bgp\_address\_family\. +* iosxr\_l2\_interfaces \- deprecate q\_vlan with qvlan which allows vlans in str format e\.g \"any\" + + +#### community\.ciscosmb + +* support for Python 2\.6 nad 2\.7 +* support for ansible 2\.9 + + +#### community\.crypto + +* get\_certificate \- the default false of the asn1\_base64 option is deprecated and will change to true in community\.crypto 3\.0\.0 \([https\://github\.com/ansible\-collections/community\.crypto/pull/600](https\://github\.com/ansible\-collections/community\.crypto/pull/600)\)\. + + +#### community\.general + +* CmdRunner module utils \- deprecate cmd\_runner\_fmt\.as\_default\_type\(\) formatter \([https\://github\.com/ansible\-collections/community\.general/pull/6601](https\://github\.com/ansible\-collections/community\.general/pull/6601)\)\. +* MH VarsMixin module utils \- deprecates VarsMixin and supporting classes in favor of plain vardict module util \([https\://github\.com/ansible\-collections/community\.general/pull/6649](https\://github\.com/ansible\-collections/community\.general/pull/6649)\)\. +* The next major release\, community\.general 8\.0\.0\, will drop support for ansible\-core 2\.11 and 2\.12\, which have been End of Life for some time now\. This means that this collection no longer supports Python 2\.6 on the target\. Individual content might still work with unsupported ansible\-core versions\, but that can change at any time\. Also please note that from now on\, for every new major community\.general release\, we will drop support for all ansible\-core versions that have been End of Life for more than a few weeks on the date of the major release \([https\://github\.com/ansible\-community/community\-topics/discussions/271](https\://github\.com/ansible\-community/community\-topics/discussions/271)\, [https\://github\.com/ansible\-collections/community\.general/pull/7259](https\://github\.com/ansible\-collections/community\.general/pull/7259)\)\. +* ansible\_galaxy\_install \- the ack\_ansible29 and ack\_min\_ansiblecore211 options have been deprecated and will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* consul \- the ack\_params\_state\_absent option has been deprecated and will be removed in community\.general 10\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* cpanm \- value compatibility is deprecated as default for parameter mode \([https\://github\.com/ansible\-collections/community\.general/pull/6512](https\://github\.com/ansible\-collections/community\.general/pull/6512)\)\. +* ejabberd\_user \- deprecate the parameter logging in favour of producing more detailed information in the module output \([https\://github\.com/ansible\-collections/community\.general/pull/7043](https\://github\.com/ansible\-collections/community\.general/pull/7043)\)\. +* flowdock \- module relies entirely on no longer responsive API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6930](https\://github\.com/ansible\-collections/community\.general/pull/6930)\)\. +* proxmox \- old feature flag proxmox\_default\_behavior will be removed in community\.general 10\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6836](https\://github\.com/ansible\-collections/community\.general/pull/6836)\)\. +* proxmox\_kvm \- deprecate the option proxmox\_default\_behavior \([https\://github\.com/ansible\-collections/community\.general/pull/7377](https\://github\.com/ansible\-collections/community\.general/pull/7377)\)\. +* redfish\_info\, redfish\_config\, redfish\_command \- the default value 10 for the timeout option is deprecated and will change to 60 in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/7295](https\://github\.com/ansible\-collections/community\.general/pull/7295)\)\. +* redhat module utils \- the module\_utils\.redhat module is deprecated\, as + effectively unused\: the Rhsm\, RhsmPool\, and RhsmPools classes + will be removed in community\.general 9\.0\.0\; the RegistrationBase class + will be removed in community\.general 10\.0\.0 together with the + rhn\_register module\, as it is the only user of this class\; this means + that the whole module\_utils\.redhat module will be dropped in + community\.general 10\.0\.0\, so importing it without even using anything of it + will fail + \([https\://github\.com/ansible\-collections/community\.general/pull/6663](https\://github\.com/ansible\-collections/community\.general/pull/6663)\)\. +* redhat\_subscription \- the autosubscribe alias for the auto\_attach option has been + deprecated for many years\, although only in the documentation\. Officially mark this alias + as deprecated\, and it will be removed in community\.general 9\.0\.0 + \([https\://github\.com/ansible\-collections/community\.general/pull/6646](https\://github\.com/ansible\-collections/community\.general/pull/6646)\)\. +* redhat\_subscription \- the pool option is deprecated in favour of the + more precise and flexible pool\_ids option + \([https\://github\.com/ansible\-collections/community\.general/pull/6650](https\://github\.com/ansible\-collections/community\.general/pull/6650)\)\. +* rhsm\_repository \- state\=present has not been working as expected for many years\, + and it seems it was not noticed so far\; also\, \"presence\" is not really a valid concept + for subscription repositories\, which can only be enabled or disabled\. Hence\, mark the + present and absent values of the state option as deprecated\, slating them + for removal in community\.general 10\.0\.0 + \([https\://github\.com/ansible\-collections/community\.general/pull/6673](https\://github\.com/ansible\-collections/community\.general/pull/6673)\)\. +* stackdriver \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6887](https\://github\.com/ansible\-collections/community\.general/pull/6887)\)\. +* webfaction\_app \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\. +* webfaction\_db \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\. +* webfaction\_domain \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\. +* webfaction\_mailbox \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\. +* webfaction\_site \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\. + + +#### community\.postgresql + +* postgresql\_lang \- the module has been deprecated and will be removed in community\.postgresql 4\.0\.0\. Please use the postgresql\_ext module instead \([https\://github\.com/ansible\-collections/community\.postgresql/issues/559](https\://github\.com/ansible\-collections/community\.postgresql/issues/559)\)\. + + +#### community\.sap + +* community\.sap\.hana\_query \- is deprecated in favor of community\.sap\_libs\.sap\_hdbsql +* community\.sap\.sap\_company \- is deprecated in favor of community\.sap\_libs\.sap\_company +* community\.sap\.sap\_snote \- is deprecated in favor of community\.sap\_libs\.sap\_snote +* community\.sap\.sap\_task\_list\_execute \- is deprecated in favor of community\.sap\_libs\.sap\_task\_list\_execute +* community\.sap\.sap\_user \- is deprecated in favor of community\.sap\_libs\.sap\_user +* community\.sap\.sapcar\_extract \- is deprecated in favor of community\.sap\_libs\.sapcar\_extract + + +#### community\.windows + +* win\_domain\_computer \- Module is deprecated in favour of the microsoft\.ad\.computer module\, the community\.windows\.win\_domain\_computer module will be removed in the 3\.0\.0 release of this collection\. +* win\_domain\_group \- Module is deprecated in favour of the microsoft\.ad\.group module\, the community\.windows\.win\_domain\_group module will be removed in the 3\.0\.0 release of this collection\. +* win\_domain\_group\_membership \- Module is deprecated in favour of the microsoft\.ad\.group module\, the community\.windows\.win\_domain\_group\_membership module will be removed in the 3\.0\.0 release of this collection\. +* win\_domain\_object\_info \- Module is deprecated in favour of the microsoft\.ad\.object\_info module\, the community\.windows\.win\_domain\_object\_info module will be removed in the 3\.0\.0 release of this collection\. +* win\_domain\_ou \- Module is deprecated in favour of the microsoft\.ad\.ou module\, the community\.windows\.win\_domain\_ou module will be removed in the 3\.0\.0 release of this collection\. +* win\_domain\_user \- Module is deprecated in favour of the microsoft\.ad\.user module\, the community\.windows\.win\_domain\_user module will be removed in the 3\.0\.0 release of this collection\. + + +#### junipernetworks\.junos + +* junos\_ospfv2 \- add deprecate warning for area\_range\. +* add deprecate warning for junos\_acl\_interfaces key for junos facts results\. + + +#### microsoft\.ad + +* Deprecating support for Server 2012 and Server 2012 R2\. These OS versions are reaching End of Life status from Microsoft and support for using them in Ansible are nearing its end\. + + +#### purestorage\.fusion + +* fusion\_api\_client \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_array \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_az \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_hap \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_hap \- parameters nqn\, wwns\, host\_password\, host\_user\, target\_password\`and \`target\_user were deprecated +* fusion\_hw \- FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_info \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_info \- \'hosts\' subset is deprecated in favor of \'host\_access\_policies\' and will be removed in the version 2\.0\.0 +* fusion\_info \- \'interfaces\' subset is deprecated in favor of \'network\_interfaces\' and will be removed in the version 2\.0\.0 +* fusion\_info \- \'zones\' subset is deprecated in favor of \'availability\_zones\' and will be removed in the version 2\.0\.0 +* fusion\_ni \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_nig \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_pg \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_pp \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_ra \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_region \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_sc \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_se \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_se \- endpoint\_type parameter is now deprecated and will be removed in version 2\.0\.0 +* fusion\_ss \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_tenant \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_tn \- FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_ts \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 +* fusion\_volume \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0 + + +#### t\_systems\_mms\.icinga\_director + +* All modules and plugins are moved to the new namespace telekom\_mms\. Please update your code accordingly\. + + +### Removed Features \(previously deprecated\) + +* The deprecated servicenow\.servicenow collection has been removed from Ansible 7\, but accidentally re\-added to Ansible 8\. It has been removed again from Ansible 9 \([https\://github\.com/ansible\-community/community\-topics/issues/246](https\://github\.com/ansible\-community/community\-topics/issues/246)\)\. +* The ngine\_io\.vultr collection has been removed from Ansible 9\, because it is officially unmaintained and has been archived\. The successor collection vultr\.cloud \(using the recent v2 Vultr API\) covers the same functionality but might not have compatible syntax \([https\://github\.com/ansible\-community/community\-topics/issues/257](https\://github\.com/ansible\-community/community\-topics/issues/257)\)\. +* cisco\.nso was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with ansible\-galaxy collection install cisco\.nso\. +* community\.fortios was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with ansible\-galaxy collection install community\.fortios\. +* community\.google was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with ansible\-galaxy collection install community\.google\. +* community\.skydive was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with ansible\-galaxy collection install community\.skydive\. + + +#### Ansible\-core + +* ActionBase \- remove deprecated \_remote\_checksum method +* PlayIterator \- remove deprecated cache\_block\_tasks and get\_original\_task methods +* Remove deprecated FileLock class +* Removed Python 3\.9 as a supported version on the controller\. Python 3\.10 or newer is required\. +* Removed include which has been deprecated in Ansible 2\.12\. Use include\_tasks or import\_tasks instead\. +* Templar \- remove deprecated shared\_loader\_obj parameter of \_\_init\_\_ +* fetch\_url \- remove auto disabling decompress when gzip is not available +* get\_action\_args\_with\_defaults \- remove deprecated redirected\_names method parameter +* ansible\-test \- Removed support for the remote Windows targets 2012 and 2012\-R2 +* inventory\_cache \- remove deprecated default\.fact\_caching\_prefix ini configuration option\, use defaults\.fact\_caching\_prefix instead\. +* module\_utils/basic\.py \- Removed Python 3\.5 as a supported remote version\. Python 2\.7 or Python 3\.6\+ is now required\. +* stat \- removed unused get\_md5 parameter\. + + +#### ansible\.windows + +* win\_get\_url \- Removed the deprecated option alias passwordd\, use url\_password instead\. +* win\_get\_url \- Removed the deprecated option alias user and username\, use url\_username instead\. +* win\_package \- Removed deprecated module option ensure\, use state instead\. +* win\_package \- Removed deprecated module option productid\, use product\_id instead\. +* win\_package \- Removed deprecated module option username\, user\_name\, password\, and user\_password\. Use become with become\_flags\: logon\_type\=new\_credentials logon\_flags\=netcredentials\_only on the task instead to replicate the same functionality instead\. +* win\_reboot \- Removed backwards compatibility check where ignore\_errors\: true will be treated like ignore\_unreachable\: true\. Going forward ignore\_errors\: true will only ignore errors the plugin encountered and not an unreachable host\. Use ignore\_unreachable\: true to ignore that error like any other module\. +* win\_regedit \- Removed support for using a path with forward slashes as a key separator\. Using a forward slash has been deprecated since Ansible 2\.9\. If using forward slashes in the win\_regedit path value\, make sure to change the forward slash / to a backslash \\\. If enclosed in double quotes the backslash will have to be doubled up\. +* win\_updates \- Removed deprecated alias blacklist\, use reject\_list instead\. +* win\_updates \- Removed deprecated alias whitelist\, use accept\_list instead\. +* win\_updates \- Removed deprecated module option use\_scheduled\_task\. This option did not change any functionality in the module and can be safely removed from the task entry\. +* win\_uri \- Removed the deprecated option alias password\, use url\_password instead\. +* win\_uri \- Removed the deprecated option alias user and username\, use url\_username instead\. + + +#### cisco\.ios + +* Deprecated ios\_logging module in favor of ios\_logging\_global\. +* Deprecated next\_hop\_self attribute for bgp\_address\_family with nexthop\_self\. + + +#### cisco\.nxos + +* The nxos\_bgp module has been removed with this release\. +* The nxos\_bgp\_af module has been removed with this release\. +* The nxos\_bgp\_neighbor module has been removed with this release\. +* The nxos\_bgp\_neighbor\_af module has been removed with this release\. + + +#### community\.ciscosmb + +* remove testing for Python 2\.6 nad 2\.7 +* remove testing for ansible 2\.9 + + +#### community\.general + +* The collection no longer supports ansible\-core 2\.11 and ansible\-core 2\.12\. Parts of the collection might still work on these ansible\-core versions\, but others might not \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\. +* ansible\_galaxy\_install \- support for Ansible 2\.9 and ansible\-base 2\.10 has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* consul \- when state\=absent\, the options script\, ttl\, tcp\, http\, and interval can no longer be specified \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* gconftool2 \- state\=get has been removed\. Use the module community\.general\.gconftool2\_info instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* gitlab\_runner \- remove the default value for the access\_level option\. To restore the previous behavior\, explicitly set it to ref\_protected \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* htpasswd \- removed code for passlib \<1\.6 \([https\://github\.com/ansible\-collections/community\.general/pull/6901](https\://github\.com/ansible\-collections/community\.general/pull/6901)\)\. +* manageiq\_polices \- state\=list has been removed\. Use the module community\.general\.manageiq\_policies\_info instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* manageiq\_tags \- state\=list has been removed\. Use the module community\.general\.manageiq\_tags\_info instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* mh\.mixins\.cmd module utils \- the ArgFormat class has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* mh\.mixins\.cmd module utils \- the CmdMixin mixin has been removed\. Use community\.general\.plugins\.module\_utils\.cmd\_runner\.CmdRunner instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* mh\.mixins\.cmd module utils \- the mh\.mixins\.cmd module utils has been removed after all its contents were removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* mh\.module\_helper module utils \- the CmdModuleHelper and CmdStateModuleHelper classes have been removed\. Use community\.general\.plugins\.module\_utils\.cmd\_runner\.CmdRunner instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. +* proxmox module utils \- removed unused imports \([https\://github\.com/ansible\-collections/community\.general/pull/6873](https\://github\.com/ansible\-collections/community\.general/pull/6873)\)\. +* xfconf \- the deprecated disable\_facts option was removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\. + + +#### community\.hashi\_vault + +* The minimum supported version of ansible\-core is now 2\.14\, support for 2\.13 has been dropped \([https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/403](https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/403)\)\. + + +#### community\.vmware + +* Removed module util version \([https\://github\.com/ansible\-collections/community\.vmware/issues/1639](https\://github\.com/ansible\-collections/community\.vmware/issues/1639)\)\. +* vmware\_guest \- removed specifying CDROM configuration as a dict\, instead use a list \([https\://github\.com/ansible\-collections/community\.vmware/issues/1472](https\://github\.com/ansible\-collections/community\.vmware/issues/1472)\)\. +* vmware\_host\_lockdown \- removed deprecated states absent and present \([https\://github\.com/ansible\-collections/community\.vmware/issues/1517](https\://github\.com/ansible\-collections/community\.vmware/issues/1517)\)\. +* vmware\_rest\_client \- removed deprecated method get\_tag\_by\_category\(\) \([https\://github\.com/ansible\-collections/community\.vmware/issues/1898](https\://github\.com/ansible\-collections/community\.vmware/issues/1898)\)\. + + +#### community\.windows + +* Removed testing for Server 2012 and Server 2012 R2 as they are reaching End of Life status from Microsoft\. These OS versions may continue to work but will not be tested in CI\. +* win\_nssm \- Removed the deprecated module option app\_parameters\, use arguments instead\. +* win\_psmodule \- Removed the deprecated module option url\, use community\.windows\.win\_psrepository to manage repositories instead +* win\_psmodule \- Will no longer remove the repository specified when state\: absent\, use community\.windows\.win\_psrepository to manage repositories instead +* win\_scheduled\_tasks \- Removed support for a trigger repetition to be defined as a list of dictionary entries\. Specify the repetition as a dictionary value rather than a list of dictionaries\. + + +#### dellemc\.openmanage + +* The dellemc\_get\_firmware\_inventory module is removed and replaced with the module idrac\_firmware\_info\. +* The dellemc\_get\_system\_inventory module is removed and replaced with the module idrac\_system\_info\. + + +#### hetzner\.hcloud + +* hcloud\_datacenter\_facts Removed deprecated facts module +* hcloud\_floating\_ip\_facts Removed deprecated facts module +* hcloud\_image\_facts Removed deprecated facts module +* hcloud\_location\_facts Removed deprecated facts module +* hcloud\_server\_facts Removed deprecated facts module +* hcloud\_server\_type\_facts Removed deprecated facts module +* hcloud\_ssh\_key\_facts Removed deprecated facts module +* hcloud\_volume\_facts Removed deprecated facts module + + +### Security Fixes + + +#### Ansible\-core + +* ansible\-galaxy \- Prevent roles from using symlinks to overwrite files outside of the installation directory \(CVE\-2023\-5115\) + + +### Bugfixes + + +#### Ansible\-core + +* Allow for searching handler subdir for included task via include\_role \([https\://github\.com/ansible/ansible/issues/81722](https\://github\.com/ansible/ansible/issues/81722)\) +* AnsibleModule\.run\_command \- Only use selectors when needed\, and rely on Python stdlib subprocess for the simple task of collecting stdout/stderr when prompt matching is not required\. +* Cache host\_group\_vars after instantiating it once and limit the amount of repetitive work it needs to do every time it runs\. +* Call PluginLoader\.all\(\) once for vars plugins\, and load vars plugins that run automatically or are enabled specifically by name subsequently\. +* Display \- Defensively configure writing to stdout and stderr with a custom encoding error handler that will replace invalid characters while providing a deprecation warning that non\-utf8 text will result in an error in a future version\. +* Exclude internal options from man pages and docs\. +* Fix ansible\-config init man page option indentation\. +* Fix ast deprecation warnings for Str and value\.s when using Python 3\.12\. +* Fix run\_once being incorrectly interpreted on handlers \([https\://github\.com/ansible/ansible/issues/81666](https\://github\.com/ansible/ansible/issues/81666)\) +* Fix exceptions caused by various inputs when performing arg splitting or parsing key/value pairs\. Resolves issue [https\://github\.com/ansible/ansible/issues/46379](https\://github\.com/ansible/ansible/issues/46379) and issue [https\://github\.com/ansible/ansible/issues/61497](https\://github\.com/ansible/ansible/issues/61497) +* Fix incorrect parsing of multi\-line Jinja2 blocks when performing arg splitting or parsing key/value pairs\. +* Fix post\-validating looped task fields so the strategy uses the correct values after task execution\. +* Fixed pip module failure in case of usage quotes for virtualenv\_command option for the venv command\. \([https\://github\.com/ansible/ansible/issues/76372](https\://github\.com/ansible/ansible/issues/76372)\) +* From issue [https\://github\.com/ansible/ansible/issues/80880](https\://github\.com/ansible/ansible/issues/80880)\, when notifying a handler from another handler\, handler notifications must be registered immediately as the flush\_handler call is not recursive\. +* Import FILE\_ATTRIBUTES from ansible\.module\_utils\.common\.file in ansible\.module\_utils\.basic instead of defining it twice\. +* Inventory scripts parser not treat exception when getting hostsvar \([https\://github\.com/ansible/ansible/issues/81103](https\://github\.com/ansible/ansible/issues/81103)\) +* On Python 3 use datetime methods fromtimestamp and now with UTC timezone instead of utcfromtimestamp and utcnow\, which are deprecated in Python 3\.12\. +* PluginLoader \- fix Jinja plugin performance issues \([https\://github\.com/ansible/ansible/issues/79652](https\://github\.com/ansible/ansible/issues/79652)\) +* PowerShell \- Remove some code which is no longer valid for dotnet 5\+ +* Prevent running same handler multiple times when included via include\_role \([https\://github\.com/ansible/ansible/issues/73643](https\://github\.com/ansible/ansible/issues/73643)\) +* Prompting \- add a short sleep between polling for user input to reduce CPU consumption \([https\://github\.com/ansible/ansible/issues/81516](https\://github\.com/ansible/ansible/issues/81516)\)\. +* Properly disable jinja2\_native in the template module when jinja2 override is used in the template \([https\://github\.com/ansible/ansible/issues/80605](https\://github\.com/ansible/ansible/issues/80605)\) +* Properly template tags in parent blocks \([https\://github\.com/ansible/ansible/issues/81053](https\://github\.com/ansible/ansible/issues/81053)\) +* Remove unreachable parser error for removed static parameter of include\_role +* Replace uses of configparser\.ConfigParser\.readfp\(\) which was removed in Python 3\.12 with configparser\.ConfigParser\.read\_file\(\) \([https\://github\.com/ansible/ansible/issues/81656](https\://github\.com/ansible/ansible/issues/81656)\) +* Set filters intersect\, difference\, symmetric\_difference and union now always return a list\, never a set\. Previously\, a set would be returned if the inputs were a hashable type such as str\, instead of a collection\, such as a list or tuple\. +* Set filters intersect\, difference\, symmetric\_difference and union now use set operations when the given items are hashable\. Previously\, list operations were performed unless the inputs were a hashable type such as str\, instead of a collection\, such as a list or tuple\. +* Switch result queue from a multiprocessing\.queues\.Queue\` to \`\`multiprocessing\.queues\.SimpleQueue\, primarily to allow properly handling pickling errors\, to prevent an infinite hang waiting for task results +* The ansible\-config init command now has a documentation description\. +* The ansible\-galaxy collection download command now has a documentation description\. +* The ansible\-galaxy collection install command documentation is now visible \(previously hidden by a decorator\)\. +* The ansible\-galaxy collection verify command now has a documentation description\. +* The ansible\-galaxy role install command documentation is now visible \(previously hidden by a decorator\)\. +* The ansible\-inventory command command now has a documentation description \(previously used as the epilog\)\. +* The hostname module now also updates both current and permanent hostname on OpenBSD\. Before it only updated the permanent hostname \([https\://github\.com/ansible/ansible/issues/80520](https\://github\.com/ansible/ansible/issues/80520)\)\. +* Update module\_utils\.urls unit test to work with cryptography \>\= 41\.0\.0\. +* When generating man pages\, use func to find the command function instead of looking it up by the command name\. +* StrategyBase\.\_process\_pending\_results \- create a Templar on demand for templating changed\_when/failed\_when\. +* ansible\-galaxy now considers all collection paths when identifying which collection requirements are already installed\. Use the COLLECTIONS\_PATHS and COLLECTIONS\_SCAN\_SYS\_PATHS config options to modify these\. Previously only the install path was considered when resolving the candidates\. The install path will remain the only one potentially modified\. \([https\://github\.com/ansible/ansible/issues/79767](https\://github\.com/ansible/ansible/issues/79767)\, [https\://github\.com/ansible/ansible/issues/81163](https\://github\.com/ansible/ansible/issues/81163)\) +* ansible\.module\_utils\.service \- ensure binary data transmission in daemonize\(\) +* ansible\.module\_utils\.service \- fix inter\-process communication in daemonize\(\) +* import\_role reverts to previous behavior of exporting vars at compile time\. +* pkg\_mgr \- fix the default dnf version detection +* ansiballz \- Prevent issue where the time on the control host could change part way through building the ansiballz file\, potentially causing a pre\-1980 date to be used during ansiballz unpacking leading to a zip file error \([https\://github\.com/ansible/ansible/issues/80089](https\://github\.com/ansible/ansible/issues/80089)\) +* ansible terminal color settings were incorrectly limited to 16 options via \'choices\'\, removing so all 256 can be accessed\. +* ansible\-console \- fix filtering by collection names when a collection search path was set \([https\://github\.com/ansible/ansible/pull/81450](https\://github\.com/ansible/ansible/pull/81450)\)\. +* ansible\-galaxy \- Enabled the data tarfile filter during role installation for Python versions that support it\. A probing mechanism is used to avoid Python versions with a broken implementation\. +* ansible\-galaxy \- Fix issue installing collections containing directories with more than 100 characters on python versions before 3\.10\.6 +* ansible\-galaxy \- Fix variable type error when installing subdir collections \([https\://github\.com/ansible/ansible/issues/80943](https\://github\.com/ansible/ansible/issues/80943)\) +* ansible\-galaxy \- Provide a better error message when using a requirements file with an invalid format \- [https\://github\.com/ansible/ansible/issues/81901](https\://github\.com/ansible/ansible/issues/81901) +* ansible\-galaxy \- fix installing collections from directories that have a trailing path separator \([https\://github\.com/ansible/ansible/issues/77803](https\://github\.com/ansible/ansible/issues/77803)\)\. +* ansible\-galaxy \- fix installing signed collections \([https\://github\.com/ansible/ansible/issues/80648](https\://github\.com/ansible/ansible/issues/80648)\)\. +* ansible\-galaxy \- reduce API calls to servers by fetching signatures only for final candidates\. +* ansible\-galaxy \- started allowing the use of pre\-releases for collections that do not have any stable versions published\. \([https\://github\.com/ansible/ansible/pull/81606](https\://github\.com/ansible/ansible/pull/81606)\) +* ansible\-galaxy \- started allowing the use of pre\-releases for dependencies on any level of the dependency tree that specifically demand exact pre\-release versions of collections and not version ranges\. \([https\://github\.com/ansible/ansible/pull/81606](https\://github\.com/ansible/ansible/pull/81606)\) +* ansible\-galaxy collection verify \- fix verifying signed collections when the keyring is not configured\. +* ansible\-galaxy info \- fix reporting no role found when lookup\_role\_by\_name returns None\. +* ansible\-inventory \- index available\_hosts for major performance boost when dumping large inventories +* ansible\-test \- Add a pylint plugin to work around a known issue on Python 3\.12\. +* ansible\-test \- Add support for argcomplete version 3\. +* ansible\-test \- All containers created by ansible\-test now include the current test session ID in their name\. This avoids conflicts between concurrent ansible\-test invocations using the same container host\. +* ansible\-test \- Always use ansible\-test managed entry points for ansible\-core CLI tools when not running from source\. This fixes issues where CLI entry points created during install are not compatible with ansible\-test\. +* ansible\-test \- Fix a traceback that occurs when attempting to test Ansible source using a different ansible\-test\. A clear error message is now given when this scenario occurs\. +* ansible\-test \- Fix handling of timeouts exceeding one day\. +* ansible\-test \- Fix parsing of cgroup entries which contain a \: in the path \([https\://github\.com/ansible/ansible/issues/81977](https\://github\.com/ansible/ansible/issues/81977)\)\. +* ansible\-test \- Fix several possible tracebacks when using the \-e option with sanity tests\. +* ansible\-test \- Fix various cases where the test timeout could expire without terminating the tests\. +* ansible\-test \- Include missing pylint requirements for Python 3\.10\. +* ansible\-test \- Pre\-build a PyYAML wheel before installing requirements to avoid a potential Cython build failure\. +* ansible\-test \- Remove redundant warning about missing programs before attempting to execute them\. +* ansible\-test \- The import sanity test now checks the collection loader for remote\-only Python support when testing ansible\-core\. +* ansible\-test \- Unit tests now report warnings generated during test runs\. Previously only warnings generated during test collection were reported\. +* ansible\-test \- Update pylint to 2\.17\.2 to resolve several possible false positives\. +* ansible\-test \- Update pylint to 2\.17\.3 to resolve several possible false positives\. +* ansible\-test \- Update pylint to version 3\.0\.1\. +* ansible\-test \- Use raise \.\.\. from \.\.\. when raising exceptions from within an exception handler\. +* ansible\-test \- When bootstrapping remote FreeBSD instances\, use the OS packaged setuptools instead of installing the latest version from PyPI\. +* ansible\-test local change detection \- use git merge\-base \ HEAD instead of git merge\-base \-\-fork\-point \ \([https\://github\.com/ansible/ansible/pull/79734](https\://github\.com/ansible/ansible/pull/79734)\)\. +* ansible\-vault \- fail when the destination file location is not writable before performing encryption \([https\://github\.com/ansible/ansible/issues/81455](https\://github\.com/ansible/ansible/issues/81455)\)\. +* apt \- ignore fail\_on\_autoremove and allow\_downgrade parameters when using aptitude \([https\://github\.com/ansible/ansible/issues/77868](https\://github\.com/ansible/ansible/issues/77868)\)\. +* blockinfile \- avoid crash with Python 3 if creating the directory fails when create\=true \([https\://github\.com/ansible/ansible/pull/81662](https\://github\.com/ansible/ansible/pull/81662)\)\. +* connection timeouts defined in ansible\.cfg will now be properly used\, the \-\-timeout cli option was obscuring them by always being set\. +* copy \- print correct destination filename when using content and \-\-diff \([https\://github\.com/ansible/ansible/issues/79749](https\://github\.com/ansible/ansible/issues/79749)\)\. +* copy unit tests \- Fixing \"dir all perms\" documentation and formatting for easier reading\. +* core will now also look at the connection plugin to force \'local\' interpreter for networking path compatibility as just ansible\_network\_os could be misleading\. +* deb822\_repository \- use http\-agent for receiving content \([https\://github\.com/ansible/ansible/issues/80809](https\://github\.com/ansible/ansible/issues/80809)\)\. +* debconf \- idempotency in questions with type \'password\' \([https\://github\.com/ansible/ansible/issues/47676](https\://github\.com/ansible/ansible/issues/47676)\)\. +* distribution facts \- fix Source Mage family mapping +* dnf \- fix a failure when a package from URI was specified and update\_only was set \([https\://github\.com/ansible/ansible/issues/81376](https\://github\.com/ansible/ansible/issues/81376)\)\. +* dnf5 \- Update dnf5 module to handle API change for setting the download directory \([https\://github\.com/ansible/ansible/issues/80887](https\://github\.com/ansible/ansible/issues/80887)\) +* dnf5 \- Use transaction\.check\_gpg\_signatures API call to check package signatures AND possibly to recover from when keys are missing\. +* dnf5 \- fix module and package names in the message following failed module respawn attempt +* dnf5 \- use the logs API to determine transaction problems +* dpkg\_selections \- check if the package exists before performing the selection operation \([https\://github\.com/ansible/ansible/issues/81404](https\://github\.com/ansible/ansible/issues/81404)\)\. +* encrypt \- deprecate passlib\_or\_crypt API \([https\://github\.com/ansible/ansible/issues/55839](https\://github\.com/ansible/ansible/issues/55839)\)\. +* fetch \- Handle unreachable errors properly \([https\://github\.com/ansible/ansible/issues/27816](https\://github\.com/ansible/ansible/issues/27816)\) +* file modules \- Make symbolic modes with X use the computed permission\, not original file \([https\://github\.com/ansible/ansible/issues/80128](https\://github\.com/ansible/ansible/issues/80128)\) +* file modules \- fix validating invalid symbolic modes\. +* first found lookup has been updated to use the normalized argument parsing \(pythonic\) matching the documented examples\. +* first found lookup\, fixed an issue with subsequent items clobbering information from previous ones\. +* first\_found lookup now gets \'untemplated\' loop entries and handles templating itself as task\_executor was removing even \'templatable\' entries and breaking functionality\. [https\://github\.com/ansible/ansible/issues/70772](https\://github\.com/ansible/ansible/issues/70772) +* galaxy \- check if the target for symlink exists \([https\://github\.com/ansible/ansible/pull/81586](https\://github\.com/ansible/ansible/pull/81586)\)\. +* galaxy \- cross check the collection type and collection source \([https\://github\.com/ansible/ansible/issues/79463](https\://github\.com/ansible/ansible/issues/79463)\)\. +* gather\_facts parallel option was doing the reverse of what was stated\, now it does run modules in parallel when True and serially when False\. +* handlers \- fix v2\_playbook\_on\_notify callback not being called when notifying handlers +* handlers \- the listen keyword can affect only one handler with the same name\, the last one defined as it is a case with the notify keyword \([https\://github\.com/ansible/ansible/issues/81013](https\://github\.com/ansible/ansible/issues/81013)\) +* include\_role \- expose variables from parent roles to role\'s handlers \([https\://github\.com/ansible/ansible/issues/80459](https\://github\.com/ansible/ansible/issues/80459)\) +* inventory\_ini \- handle SyntaxWarning while parsing ini file in inventory \([https\://github\.com/ansible/ansible/issues/81457](https\://github\.com/ansible/ansible/issues/81457)\)\. +* iptables \- remove default rule creation when creating iptables chain to be more similar to the command line utility \([https\://github\.com/ansible/ansible/issues/80256](https\://github\.com/ansible/ansible/issues/80256)\)\. +* lib/ansible/utils/encrypt\.py \- remove unused private \_LOCK \([https\://github\.com/ansible/ansible/issues/81613](https\://github\.com/ansible/ansible/issues/81613)\) +* lookup/url\.py \- Fix incorrect var/env/ini entry for force\_basic\_auth +* man page build \- Remove the dependency on the docs directory for building man pages\. +* man page build \- Sub commands of ansible\-galaxy role and ansible\-galaxy collection are now documented\. +* module responses \- Ensure that module responses are utf\-8 adhereing to JSON RFC and expectations of the core code\. +* module/role argument spec \- validate the type for options that are None when the option is required or has a non\-None default \([https\://github\.com/ansible/ansible/issues/79656](https\://github\.com/ansible/ansible/issues/79656)\)\. +* modules/user\.py \- Add check for valid directory when creating new user homedir \(allows /dev/null as skeleton\) \([https\://github\.com/ansible/ansible/issues/75063](https\://github\.com/ansible/ansible/issues/75063)\) +* paramiko\_ssh\, psrp\, and ssh connection plugins \- ensure that all values for options that should be strings are actually converted to strings \([https\://github\.com/ansible/ansible/pull/81029](https\://github\.com/ansible/ansible/pull/81029)\)\. +* password\_hash \- fix salt format for crypt \(only used if passlib is not installed\) for the bcrypt algorithm\. +* pep517 build backend \- Copy symlinks when copying the source tree\. This avoids tracebacks in various scenarios\, such as when a venv is present in the source tree\. +* pep517 build backend \- Use the documented import\_module import from importlib\. +* pip module \- Update module to prefer use of the python packaging and importlib\.metadata modules due to pkg\_resources being deprecated \([https\://github\.com/ansible/ansible/issues/80488](https\://github\.com/ansible/ansible/issues/80488)\) +* pkg\_mgr\.py \- Fix ansible\_pkg\_mgr incorrect in TencentOS Server Linux +* pkg\_mgr\.py \- Fix ansible\_pkg\_mgr is unknown in Kylin Linux \([https\://github\.com/ansible/ansible/issues/81332](https\://github\.com/ansible/ansible/issues/81332)\) +* powershell modules \- Only set an rc of 1 if the PowerShell pipeline signaled an error occurred AND there are error records present\. Previously it would do so only if the error signal was present without checking the error count\. +* replace \- handle exception when bad escape character is provided in replace \([https\://github\.com/ansible/ansible/issues/79364](https\://github\.com/ansible/ansible/issues/79364)\)\. +* role deduplication \- don\'t deduplicate before a role has had a task run for that particular host \([https\://github\.com/ansible/ansible/issues/81486](https\://github\.com/ansible/ansible/issues/81486)\)\. +* service module\, does not permanently configure flags flags on Openbsd when enabling/disabling a service\. +* service module\, enable/disable is not a exclusive action in checkmode anymore\. +* setup gather\_timeout \- Fix timeout in get\_mounts\_facts for linux\. +* setup module \(fact gathering\) will now try to be smarter about different versions of facter emitting error when \-\-puppet flag is used w/o puppet\. +* syntax check \- Limit \-\-syntax\-check to ansible\-playbook only\, as that is the only CLI affected by this argument \([https\://github\.com/ansible/ansible/issues/80506](https\://github\.com/ansible/ansible/issues/80506)\) +* tarfile \- handle data filter deprecation warning message for extract and extractall \([https\://github\.com/ansible/ansible/issues/80832](https\://github\.com/ansible/ansible/issues/80832)\)\. +* template \- Fix for formatting issues when a template path contains valid jinja/strftime pattern \(especially line break one\) and using the template path in ansible\_managed \([https\://github\.com/ansible/ansible/pull/79129](https\://github\.com/ansible/ansible/pull/79129)\) +* templating \- In the template action and lookup\, use local jinja2 environment overlay overrides instead of mutating the templars environment +* templating \- prevent setting arbitrary attributes on Jinja2 environments via Jinja2 overrides in templates +* templating escape and single var optimization now use correct delimiters when custom ones are provided either via task or template header\. +* unarchive \- fix unarchiving sources that are copied to the remote node using a relative temporory directory path \([https\://github\.com/ansible/ansible/issues/80710](https\://github\.com/ansible/ansible/issues/80710)\)\. +* uri \- fix search for JSON type to include complex strings containing \'\+\' +* uri/urls \- Add compat function to handle the ability to parse the filename from a Content\-Disposition header \([https\://github\.com/ansible/ansible/issues/81806](https\://github\.com/ansible/ansible/issues/81806)\) +* urls\.py \- fixed cert\_file and key\_file parameters when running on Python 3\.12 \- [https\://github\.com/ansible/ansible/issues/80490](https\://github\.com/ansible/ansible/issues/80490) +* user \- set expiration value correctly when unable to retrieve the current value from the system \([https\://github\.com/ansible/ansible/issues/71916](https\://github\.com/ansible/ansible/issues/71916)\) +* validate\-modules sanity test \- replace semantic markup parsing and validating code with the code from [antsibull\-docs\-parser 0\.2\.0](https\://github\.com/ansible\-community/antsibull\-docs\-parser/releases/tag/0\.2\.0) \([https\://github\.com/ansible/ansible/pull/80406](https\://github\.com/ansible/ansible/pull/80406)\)\. +* vars\_prompt \- internally convert the unsafe value to bool +* vault and unvault filters now properly take vault\_id parameter\. +* win\_fetch \- Add support for using file with wildcards in file name\. \([https\://github\.com/ansible/ansible/issues/73128](https\://github\.com/ansible/ansible/issues/73128)\) +* winrm \- Better handle send input failures when communicating with hosts under load + + +#### amazon\.aws + +* autoscaling\_group \- fix ValidationError when describing an autoscaling group that has more than 20 target groups attached to it by breaking the request into chunks \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1593](https\://github\.com/ansible\-collections/amazon\.aws/pull/1593)\)\. +* autoscaling\_group\_info \- fix ValidationError when describing an autoscaling group that has more than 20 target groups attached to it by breaking the request into chunks \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1593](https\://github\.com/ansible\-collections/amazon\.aws/pull/1593)\)\. +* aws\_ec2 inventory plugin \- fix NoRegionError when no regions are provided and region isn\'t specified \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1551](https\://github\.com/ansible\-collections/amazon\.aws/issues/1551)\)\. +* backup\_plan \- Use existing scrub\_none\_values function from module\_utils to remove None values from nested dicts in supplied params\. Nested None values were being retained and causing an error when sent through to the boto3 client operation \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1611](https\://github\.com/ansible\-collections/amazon\.aws/pull/1611)\)\. +* backup\_selection \- ensures that updating an existing selection will add new Conditions if there previously were not any \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1701](https\://github\.com/ansible\-collections/amazon\.aws/pull/1701)\)\. +* backup\_vault \- fix error when updating tags on a backup vault by using the correct boto3 client methods for tagging and untagging backup resources \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1610](https\://github\.com/ansible\-collections/amazon\.aws/pull/1610)\)\. +* cloudwatchevent\_rule \- Fixes changed status to report False when no change has been made\. The module had incorrectly always reported a change\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1589](https\://github\.com/ansible\-collections/amazon\.aws/pull/1589)\) +* ec2\_instance \- fix check\_mode issue when adding network interfaces \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1403](https\://github\.com/ansible\-collections/amazon\.aws/issues/1403)\)\. +* ec2\_instance \- retry API call if we get InvalidInstanceID\.NotFound error \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1650](https\://github\.com/ansible\-collections/amazon\.aws/pull/1650)\)\. +* ec2\_metadata\_facts \- Handle decompression when EC2 instance user\-data is gzip compressed\. The fetch\_url method from ansible\.module\_utils\.urls does not decompress the user\-data unless the header explicitly contains Content\-Encoding\: gzip \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1575](https\://github\.com/ansible\-collections/amazon\.aws/pull/1575)\)\. +* ec2\_vpc\_nat\_gateway \- adding a boolean parameter called default\_create to allow users to have the option to choose whether they want to display an error message or create a NAT gateway when an EIP address is not found\. The module \(ec2\_vpc\_nat\_gateway\) had incorrectly failed silently if EIP didn\'t exist \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1295](https\://github\.com/ansible\-collections/amazon\.aws/issues/1295)\)\. +* ec2\_vpc\_nat\_gateway \- fixes to nat gateway so that when the user creates a private NAT gateway\, an Elastic IP address should not be allocated\. The module had inncorrectly always allocate elastic IP address when creating private nat gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1632](https\://github\.com/ansible\-collections/amazon\.aws/pull/1632)\)\. +* ec2\_vpc\_route\_table\_info \- default filters to empty dictionary \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1668](https\://github\.com/ansible\-collections/amazon\.aws/issues/1668)\)\. +* elb\_application\_lb \- fix missing attributes on creation of ALB\. The create\_or\_update\_alb\(\) was including ALB\-specific attributes when updating an existing ALB but not when creating a new ALB \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1510](https\://github\.com/ansible\-collections/amazon\.aws/issues/1510)\)\. +* elb\_application\_lb\_info \- ensure all API queries use the retry decorator \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1767](https\://github\.com/ansible\-collections/amazon\.aws/issues/1767)\)\. +* lambda\_execute \- Fixes to the stack trace output\, where it does not contain spaces between each character\. The module had incorrectly always outputted extra spaces between each character\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1615](https\://github\.com/ansible\-collections/amazon\.aws/pull/1615)\) +* module\_utils\.acm \- fixes list\_certificates returning only RSA\_2048 certificates \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1567](https\://github\.com/ansible\-collections/amazon\.aws/issues/1567)\)\. +* module\_utils\.backup \- get\_selection\_details fix empty list returned when multiple backup selections exist \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1633](https\://github\.com/ansible\-collections/amazon\.aws/pull/1633)\)\. +* rds\_cluster \- Add AllocatedStorage\, DBClusterInstanceClass\, StorageType\, Iops\, and EngineMode to the list of parameters that can be passed when creating or modifying a Multi\-AZ RDS cluster \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1657](https\://github\.com/ansible\-collections/amazon\.aws/pull/1657)\)\. +* rds\_cluster \- Allow to pass GlobalClusterIdentifier to rds cluster on creation \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1663](https\://github\.com/ansible\-collections/amazon\.aws/pull/1663)\)\. +* rds\_instance \- add support for CACertificateIdentifier to create/update rds instance \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1459](https\://github\.com/ansible\-collections/amazon\.aws/pull/1459)\)\. +* s3\_bucket \- fixes issue when deleting a bucket with unversioned objects \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1533](https\://github\.com/ansible\-collections/amazon\.aws/issues/1533)\)\. +* s3\_object \- fixed NoSuchTagSet error when S3 endpoint doesn\'t support tags \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1607](https\://github\.com/ansible\-collections/amazon\.aws/issues/1607)\)\. +* s3\_object \- fixes regression related to objects with a leading / \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1548](https\://github\.com/ansible\-collections/amazon\.aws/issues/1548)\)\. + + +#### ansible\.netcommon + +* Ensure that all connection plugin options that should be strings are actually strings \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/549](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/549)\)\. +* Fix attribute types from string to str in filter plugins\. +* Vendor telnetlib from cpython \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/546](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/546)\) + + +#### ansible\.utils + +* Validate input for ipv4\_hex\([https\://github\.com/ansible\-collections/ansible\.utils/issues/281](https\://github\.com/ansible\-collections/ansible\.utils/issues/281)\) + + +#### ansible\.windows + +* Remove some code which is no longer valid for dotnet 5\+ +* win\_async \- Set maximum data size allowed when deserializing async output \- [https\://github\.com/ansible\-collections/ansible\.windows/pull/520](https\://github\.com/ansible\-collections/ansible\.windows/pull/520) +* win\_group\_membership \- Return accurate results when using check\_mode \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/532](https\://github\.com/ansible\-collections/ansible\.windows/issues/532) +* win\_updates \- Add retry mechanism when polling output in case file is locked by another process like an Anti Virus \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/490](https\://github\.com/ansible\-collections/ansible\.windows/issues/490) +* win\_updates \- Add special handling for KB2267602 in case it fails \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/530](https\://github\.com/ansible\-collections/ansible\.windows/issues/530) +* win\_updates \- Fix up endless retries when an update failed to install more than once \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/343](https\://github\.com/ansible\-collections/ansible\.windows/issues/343) + + +#### arista\.eos + +* Fix command generated for local\-interface with in ntp server attribute\. +* Fix command generation for source\_interface attribute\. +* Fix secondary ip address parsing\. +* Skip compile testing for python \<3\.6\. +* fix line attribute fact generation and placement in ACE\, when ACE is not fully parsed\. +* fix sanity issues w\.r\.t python27 + + +#### check\_point\.mgmt + +* cp\_mgmt\_access\_rules \- split vpn param that can accept either a String or list of objects to two +* module\_utils/checkpoint\.py \- fixed compile issue \(Syntax Error\) on python 2\.7 + + +#### chocolatey\.chocolatey + +* win\-chocolatey \- unable to install packages if a license is already installed and chocolatey\.extension is not installed + + +#### cisco\.aci + +* Change input of prefix\_suppression to type string to allow enable\, disable and inherit options for aci\_interface\_policy\_ospf +* Fixed issue with default values for ssl\, proxy\, timeout in aci\.py and the display of host in the url when the plugin httpapi is used +* Modified aci\_rest and aci\_config\_snapshot modules to display the correct URL output string \(\#487\) + + +#### cisco\.ios + +* Fix invalid password length not being recognized by the error parser\. +* 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\_facts \- Fix facts gathering when memory statistics head is not hexadecimal\. \([https\://github\.com/ansible\-collections/cisco\.ios/issues/776](https\://github\.com/ansible\-collections/cisco\.ios/issues/776)\) +* 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](https\://github\.com/ansible\-collections/cisco\.ios/issues/763)\) +* ios\_l3\_interfaces \- account for secondary/primary when comparing ipv4 addresses\. \([https\://github\.com/ansible\-collections/cisco\.ios/issues/826](https\://github\.com/ansible\-collections/cisco\.ios/issues/826)\) +* ios\_lag\_interfaces \- Fix empty facts to be a list\. +* ios\_logging\_global \- fix configuration order to configure discriminator before buffer\. +* 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\_prefix\_lists \- fix deleted state to remove exisiting prefix lists from configuration\. +* ios\_service \- Put condition to add private\_config\_encryption in default services +* ios\_snmp\_server \- Add default versions to version 3 users\. +* 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\. +* ospfv2 \- Fixed rendering of capability command with vrf\_lite\. +* ospfv3 \- Fixed rendering of capability command with vrf\_lite\. +* snmp\_server \- update module to get snmp\_server user configuration\. + + +#### cisco\.iosxr + +* Add support to delete specific static route entry\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/375](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/375)\) +* Fix issue in deletion of ospf\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/425](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/425)\) +* Fix issue in facts gathering for Interfaces RM\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/417](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/417)\) +* Fix issue in lacp and lldp\_global of local variable commands\. +* Fixing Bundle\-Ether/\-POS recognition for resource modules\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/369](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/369)\) +* Support overridden state in bgp\_global\,lacp and lldp\_global module\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/386](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/386)\) +* acls \- Fix issue in replaced state of not replacing ace entries with remark action\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/332](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/332)\) +* l2\_interfaces Fix issue in qvlan parsing\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/403](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/403)\) +* l3\_interfaces \- Fix issue in gather state of not gathering management interface\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/381](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/381)\) + + +#### cisco\.ise + +* Cannot get cisco\.ise\.active\_directory\_groups\_by\_domain\_info to work\. +* Cannot get cisco\.ise\.rest\_id\_store to work fixed\. +* System Certificate Update does not work but always reports Object already present temporary solution\. +* cisco\.ise\.mnt\_session\_active\_count\_info ise\_reponse is null fixed\. +* node\_deployment tasks fail because of timeout\, adding new collection param\. +* system\_certificate \- added support for none value in the used\_by param\. +* system\_certificate \- fixed get\_object\_by\_id response\. + + +#### cisco\.meraki + +* Adding condition to avoid error on exists on devices\. +* Bad naming networkId parameter in networks\_appliance\_traffic\_shaping\_custom\_performance\_classes\. +* Bad naming networkId parameter in networks\_appliance\_warm\_spare\_swap\. +* Bad naming networkId parameter in networks\_bind\. +* Bad naming networkId parameter in networks\_clients\_provision\. +* Bad naming networkId parameter in networks\_devices\_remove and networks\_devices\_claim\_vmx +* Bad naming networkId parameter in networks\_firmware\_upgrades\_rollbacks\. +* Bad naming networkId parameter in networks\_firmware\_upgrades\_staged\_events\_rollbacks\. +* Bad naming networkId parameter in networks\_mqtt\_brokers\. +* Bad naming networkId parameter in networks\_pii\_requests\_delete\. +* Bad naming networkId parameter in networks\_sm\_devices\_checkin\. +* Bad naming networkId parameter in networks\_sm\_devices\_fields\. +* Bad naming networkId parameter in networks\_sm\_devices\_lock\. +* Bad naming networkId parameter in networks\_sm\_devices\_modify\_tags\. +* Bad naming networkId parameter in networks\_sm\_devices\_move\. +* Bad naming networkId parameter in networks\_sm\_devices\_refresh\_details\. +* Bad naming networkId parameter in networks\_sm\_devices\_unenroll\. +* Bad naming networkId parameter in networks\_sm\_devices\_wipe\. +* Bad naming networkId parameter in networks\_sm\_user\_access\_devices\_delete\. +* Bad naming networkId parameter in networks\_split\. +* Bad naming networkId parameter in networks\_switch\_stacks\_add\. +* Bad naming networkId parameter in networks\_switch\_stacks\_remove\. +* Bad naming networkId parameter in networks\_unbind\. +* Devices module documentation fixed\. +* Meraki Compare Equality 2 added\. +* New condition added to Meraki Compare Equality\. +* Removing ignores\. +* Resolved the issue with link negotation at meraki\_ms\_switchport +* Returning requires\_ansible to 2\.9\.10 +* Returning requires\_ansible to \>\=2\.14\.0 +* Sanity fixes\. +* Updating collection docs link\. +* Updating documentation\, yml fixes \- Documentation Broken\. +* cisco\.meraki\.networks\_devices\_claim \- got an unexpected keyword argument \'network\_id\'\, bug with parameter naming\. +* cisco\.meraki\.organizations\_login\_security module will not update org api authentication \- fixing for look at organizations\_login\_security\. +* meraki\_devices \- Fix endpoints due to breaking change in Meraki API v1\.33 +* runtime updated requires\_ansible from 2\.9\.10 to \'\>\=2\.14\.0\'\. + + +#### cisco\.mso + +* Fix mso\_tenant\_site \"site not found\" issue on absent \(\#368\) + + +#### cisco\.nxos + +* acls \- Fix parsing error when ACE has a source port range \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/713](https\://github\.com/ansible\-collections/cisco\.nxos/issues/713)\)\. +* interfaces \- Re\-apply existing non\-default MTU when changing mode to L2 \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/730](https\://github\.com/ansible\-collections/cisco\.nxos/issues/730)\)\. +* l3\_interfaces \- Append tag when updating IP address with state replaced \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/678](https\://github\.com/ansible\-collections/cisco\.nxos/issues/678)\)\. +* lag\_interfaces \- Allow force option to be idempotent \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/742](https\://github\.com/ansible\-collections/cisco\.nxos/issues/742)\)\. +* ntp\_global \- Fix incorrect handling of prefer option \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/670](https\://github\.com/ansible\-collections/cisco\.nxos/issues/670)\)\. +* nxos\_acls \- fix parsing of ACE with named source/dest port range \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/763](https\://github\.com/ansible\-collections/cisco\.nxos/issues/763)\)\. +* nxos\_banner \- Add support for a custom multiline delimiter +* nxos\_facts \- Fix missing SVI facts \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/440](https\://github\.com/ansible\-collections/cisco\.nxos/issues/440)\)\. +* nxos\_static\_routes \- Prevent action states to generate terminal configuration command\. +* nxos\_static\_routes \- Update the delete operation of static routes to be similar to other platforms\. \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/666](https\://github\.com/ansible\-collections/cisco\.nxos/issues/666)\) +* snmp\_server \- fix host delete when authentication options are present \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/439](https\://github\.com/ansible\-collections/cisco\.nxos/issues/439)\)\. +* terminal \- attempt privilege escalation only when prompt does not end with \# +* vtp\_version \- allow VTP version 3 to be configured \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/704](https\://github\.com/ansible\-collections/cisco\.nxos/issues/704)\)\. + + +#### cloud\.common + +* Ensure result is always defined in lookup plugins \([https\://github\.com/ansible\-collections/cloud\.common/pull/116/files](https\://github\.com/ansible\-collections/cloud\.common/pull/116/files)\)\. +* Fix lookup modules failing on Ansible 2\.15 \([https\://github\.com/ansible\-collections/cloud\.common/pull/130](https\://github\.com/ansible\-collections/cloud\.common/pull/130)\)\. + + +#### cloudscale\_ch\.cloud + +* Add missing modules to the \"cloudscale\_ch\.cloud\.cloudscale\" action group\. +* Remove outdated Ansible version requirement from the README\. + + +#### community\.aws + +* Remove apigateway and apigateway\_deployment from meta/runtime\.yml \([https\://github\.com/ansible\-collections/community\.aws/pull/1905](https\://github\.com/ansible\-collections/community\.aws/pull/1905)\)\. +* batch\_compute\_environment \- fixed incorrect handling of Gov Cloud ARNs in compute\_environment\_name parameter \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\. +* cloudfront\_distribution \- The origins recognises the s3 domains with region part now \([https\://github\.com/ansible\-collections/community\.aws/issues/1819](https\://github\.com/ansible\-collections/community\.aws/issues/1819)\)\. +* cloudfront\_distribution \- no longer crashes when waiting for completion of creation \([https\://github\.com/ansible\-collections/community\.aws/issues/255](https\://github\.com/ansible\-collections/community\.aws/issues/255)\)\. +* cloudfront\_distribution \- now honours the enabled setting \([https\://github\.com/ansible\-collections/community\.aws/issues/1823](https\://github\.com/ansible\-collections/community\.aws/issues/1823)\)\. +* dynamodb\_table \- secondary indexes are now created \([https\://github\.com/ansible\-collections/community\.aws/issues/1825](https\://github\.com/ansible\-collections/community\.aws/issues/1825)\)\. +* ec2\_launch\_template \- fixed incorrect handling of Gov Cloud ARNs in compute\_environment\_name parameter \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\. +* elasticache\_info \- remove hard coded use of aws partition \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\. +* iam\_role \- fixed incorrect rejection of Gov Cloud ARNs in boundary parameter \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\. +* mq\_broker \- ensure broker is created with tags when passed \([https\://github\.com/ansible\-collections/community\.aws/issues/1832](https\://github\.com/ansible\-collections/community\.aws/issues/1832)\)\. +* msk\_cluster \- remove hard coded use of aws partition \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\. +* opensearch \- Don\'t try to read a non existing key from the domain config \([https\://github\.com/ansible\-collections/community\.aws/pull/1910](https\://github\.com/ansible\-collections/community\.aws/pull/1910)\)\. +* redshift \- fixed hard coded use of aws partition \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\. + + +#### community\.ciscosmb + +* added Cisco device config guide to address issue +* added extra \"n\" to sending commands to address issue + + +#### community\.crypto + +* Fix PEM detection/identification to also accept random other lines before the line starting with \-\-\-\-\-BEGIN \([https\://github\.com/ansible\-collections/community\.crypto/issues/627](https\://github\.com/ansible\-collections/community\.crypto/issues/627)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/628](https\://github\.com/ansible\-collections/community\.crypto/pull/628)\)\. +* acme\_\* modules \- correctly handle error documents without type \([https\://github\.com/ansible\-collections/community\.crypto/issues/651](https\://github\.com/ansible\-collections/community\.crypto/issues/651)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/652](https\://github\.com/ansible\-collections/community\.crypto/pull/652)\)\. +* openssh\_cert\, openssh\_keypair \- the modules ignored return codes of ssh and ssh\-keygen in some cases \([https\://github\.com/ansible\-collections/community\.crypto/issues/645](https\://github\.com/ansible\-collections/community\.crypto/issues/645)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/646](https\://github\.com/ansible\-collections/community\.crypto/pull/646)\)\. +* openssh\_keypair \- fix comment updating for OpenSSH before 6\.5 \([https\://github\.com/ansible\-collections/community\.crypto/pull/646](https\://github\.com/ansible\-collections/community\.crypto/pull/646)\)\. +* openssl\_pkcs12 \- modify autodetect to not detect pyOpenSSL \>\= 23\.3\.0\, which removed PKCS\#12 support \([https\://github\.com/ansible\-collections/community\.crypto/pull/666](https\://github\.com/ansible\-collections/community\.crypto/pull/666)\)\. + + +#### community\.digitalocean + +* digital\_ocean\_domain \- fix all\_domains by using get\_paginated\_data to retrieve all of the domains in the account from the paginated domains api endpoint \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/307](https\://github\.com/ansible\-collections/community\.digitalocean/pull/307)\)\. + + +#### community\.dns + +* HTTP module utils \- make compatible with ansible\-core 2\.17 \([https\://github\.com/ansible\-collections/community\.dns/pull/165](https\://github\.com/ansible\-collections/community\.dns/pull/165)\)\. +* Update Public Suffix List\. +* wait\_for\_txt\, resolver module utils \- improve error handling \([https\://github\.com/ansible\-collections/community\.dns/pull/158](https\://github\.com/ansible\-collections/community\.dns/pull/158)\)\. + + +#### community\.docker + +* docker\_swarm \- make init and join operations work again with Docker SDK for Python before 4\.0\.0 \([https\://github\.com/ansible\-collections/community\.docker/issues/695](https\://github\.com/ansible\-collections/community\.docker/issues/695)\, [https\://github\.com/ansible\-collections/community\.docker/pull/696](https\://github\.com/ansible\-collections/community\.docker/pull/696)\)\. +* docker\_swarm\_info \- if service\=true is used\, do not crash when a service without an endpoint spec is encountered \([https\://github\.com/ansible\-collections/community\.docker/issues/636](https\://github\.com/ansible\-collections/community\.docker/issues/636)\, [https\://github\.com/ansible\-collections/community\.docker/pull/637](https\://github\.com/ansible\-collections/community\.docker/pull/637)\)\. +* docker\_volume \- fix crash caused by accessing an empty dictionary\. The has\_different\_config\(\) was raising an AttributeError because the self\.existing\_volume\[\"Labels\"\] dictionary was None \([https\://github\.com/ansible\-collections/community\.docker/pull/702](https\://github\.com/ansible\-collections/community\.docker/pull/702)\)\. +* vendored Docker SDK for Python code \- cherry\-pick changes from the Docker SDK for Python code to align code\. These changes should not affect the parts used by the collection\'s code \([https\://github\.com/ansible\-collections/community\.docker/pull/694](https\://github\.com/ansible\-collections/community\.docker/pull/694)\)\. + + +#### community\.general + +* CmdRunner module utils \- does not attempt to resolve path if executable is a relative or absolute path \([https\://github\.com/ansible\-collections/community\.general/pull/7200](https\://github\.com/ansible\-collections/community\.general/pull/7200)\)\. +* MH DependencyMixin module utils \- deprecation notice was popping up for modules not using dependencies \([https\://github\.com/ansible\-collections/community\.general/pull/6644](https\://github\.com/ansible\-collections/community\.general/pull/6644)\, [https\://github\.com/ansible\-collections/community\.general/issues/6639](https\://github\.com/ansible\-collections/community\.general/issues/6639)\)\. +* bitwarden lookup plugin \- the plugin made assumptions about the structure of a Bitwarden JSON object which may have been broken by an update in the Bitwarden API\. Remove assumptions\, and allow queries for general fields such as notes \([https\://github\.com/ansible\-collections/community\.general/pull/7061](https\://github\.com/ansible\-collections/community\.general/pull/7061)\)\. +* cmd\_runner module utils \- when a parameter in argument\_spec has no type\, meaning it is implicitly a str\, CmdRunner would fail trying to find the type key in that dictionary \([https\://github\.com/ansible\-collections/community\.general/pull/6968](https\://github\.com/ansible\-collections/community\.general/pull/6968)\)\. +* cobbler inventory plugin \- fix calculation of cobbler\_ipv4/6\_address \([https\://github\.com/ansible\-collections/community\.general/pull/6925](https\://github\.com/ansible\-collections/community\.general/pull/6925)\)\. +* composer \- fix impossible to run working\_dir dependent commands\. The module was throwing an error when trying to run a working\_dir dependent command\, because it tried to get the command help without passing the working\_dir \([https\://github\.com/ansible\-collections/community\.general/issues/3787](https\://github\.com/ansible\-collections/community\.general/issues/3787)\)\. +* csv module utils \- detects and remove unicode BOM markers from incoming CSV content \([https\://github\.com/ansible\-collections/community\.general/pull/6662](https\://github\.com/ansible\-collections/community\.general/pull/6662)\)\. +* datadog\_downtime \- presence of rrule param lead to the Datadog API returning Bad Request due to a missing recurrence type \([https\://github\.com/ansible\-collections/community\.general/pull/6811](https\://github\.com/ansible\-collections/community\.general/pull/6811)\)\. +* ejabberd\_user \- module was failing to detect whether user was already created and/or password was changed \([https\://github\.com/ansible\-collections/community\.general/pull/7033](https\://github\.com/ansible\-collections/community\.general/pull/7033)\)\. +* ejabberd\_user \- provide meaningful error message when the ejabberdctl command is not found \([https\://github\.com/ansible\-collections/community\.general/pull/7028](https\://github\.com/ansible\-collections/community\.general/pull/7028)\, [https\://github\.com/ansible\-collections/community\.general/issues/6949](https\://github\.com/ansible\-collections/community\.general/issues/6949)\)\. +* github\_deploy\_key \- fix pagination behaviour causing a crash when only a single page of deploy keys exist \([https\://github\.com/ansible\-collections/community\.general/pull/7375](https\://github\.com/ansible\-collections/community\.general/pull/7375)\)\. +* gitlab\_group \- the module passed parameters to the API call even when not set\. The module is now filtering out None values to remediate this \([https\://github\.com/ansible\-collections/community\.general/pull/6712](https\://github\.com/ansible\-collections/community\.general/pull/6712)\)\. +* gitlab\_group\_members \- fix gitlab constants call in gitlab\_group\_members module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\. +* gitlab\_group\_variable \- deleted all variables when used with purge\=true due to missing raw property in KNOWN attributes \([https\://github\.com/ansible\-collections/community\.general/issues/7250](https\://github\.com/ansible\-collections/community\.general/issues/7250)\)\. +* gitlab\_project\_members \- fix gitlab constants call in gitlab\_project\_members module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\. +* gitlab\_project\_variable \- deleted all variables when used with purge\=true due to missing raw property in KNOWN attributes \([https\://github\.com/ansible\-collections/community\.general/issues/7250](https\://github\.com/ansible\-collections/community\.general/issues/7250)\)\. +* gitlab\_protected\_branches \- fix gitlab constants call in gitlab\_protected\_branches module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\. +* gitlab\_user \- fix gitlab constants call in gitlab\_user module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\. +* icinga2\_host \- fix a key error when updating an existing host \([https\://github\.com/ansible\-collections/community\.general/pull/6748](https\://github\.com/ansible\-collections/community\.general/pull/6748)\)\. +* ini\_file \- add the follow paramter to follow the symlinks instead of replacing them \([https\://github\.com/ansible\-collections/community\.general/pull/6546](https\://github\.com/ansible\-collections/community\.general/pull/6546)\)\. +* ini\_file \- fix a bug where the inactive options were not used when possible \([https\://github\.com/ansible\-collections/community\.general/pull/6575](https\://github\.com/ansible\-collections/community\.general/pull/6575)\)\. +* ipa\_dnszone \- fix \'idnsallowsyncptr\' key error for reverse zone \([https\://github\.com/ansible\-collections/community\.general/pull/6906](https\://github\.com/ansible\-collections/community\.general/pull/6906)\, [https\://github\.com/ansible\-collections/community\.general/issues/6905](https\://github\.com/ansible\-collections/community\.general/issues/6905)\)\. +* kernel\_blacklist \- simplified the mechanism to update the file\, fixing the error \([https\://github\.com/ansible\-collections/community\.general/pull/7382](https\://github\.com/ansible\-collections/community\.general/pull/7382)\, [https\://github\.com/ansible\-collections/community\.general/issues/7362](https\://github\.com/ansible\-collections/community\.general/issues/7362)\)\. +* keycloak module util \- fix missing http\_agent\, timeout\, and validate\_certs open\_url\(\) parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7067](https\://github\.com/ansible\-collections/community\.general/pull/7067)\)\. +* keycloak module utils \- fix is\_struct\_included handling of lists of lists/dictionaries \([https\://github\.com/ansible\-collections/community\.general/pull/6688](https\://github\.com/ansible\-collections/community\.general/pull/6688)\)\. +* keycloak module utils \- the function get\_user\_by\_username now return the user representation or None as stated in the documentation \([https\://github\.com/ansible\-collections/community\.general/pull/6758](https\://github\.com/ansible\-collections/community\.general/pull/6758)\)\. +* keycloak\_authentication \- fix Keycloak authentication flow \(step or sub\-flow\) indexing during update\, if not specified by the user \([https\://github\.com/ansible\-collections/community\.general/pull/6734](https\://github\.com/ansible\-collections/community\.general/pull/6734)\)\. +* keycloak\_client inventory plugin \- fix missing client secret \([https\://github\.com/ansible\-collections/community\.general/pull/6931](https\://github\.com/ansible\-collections/community\.general/pull/6931)\)\. +* ldap\_search \- fix string normalization and the base64\_attributes option on Python 3 \([https\://github\.com/ansible\-collections/community\.general/issues/5704](https\://github\.com/ansible\-collections/community\.general/issues/5704)\, [https\://github\.com/ansible\-collections/community\.general/pull/7264](https\://github\.com/ansible\-collections/community\.general/pull/7264)\)\. +* locale\_gen \- now works for locales without the underscore character such as C\.UTF\-8 \([https\://github\.com/ansible\-collections/community\.general/pull/6774](https\://github\.com/ansible\-collections/community\.general/pull/6774)\, [https\://github\.com/ansible\-collections/community\.general/issues/5142](https\://github\.com/ansible\-collections/community\.general/issues/5142)\, [https\://github\.com/ansible\-collections/community\.general/issues/4305](https\://github\.com/ansible\-collections/community\.general/issues/4305)\)\. +* lvol \- add support for percentage of origin size specification when creating snapshot volumes \([https\://github\.com/ansible\-collections/community\.general/issues/1630](https\://github\.com/ansible\-collections/community\.general/issues/1630)\, [https\://github\.com/ansible\-collections/community\.general/pull/7053](https\://github\.com/ansible\-collections/community\.general/pull/7053)\)\. +* lxc connection plugin \- now handles remote\_addr defaulting to inventory\_hostname correctly \([https\://github\.com/ansible\-collections/community\.general/pull/7104](https\://github\.com/ansible\-collections/community\.general/pull/7104)\)\. +* lxc connection plugin \- properly evaluate options \([https\://github\.com/ansible\-collections/community\.general/pull/7369](https\://github\.com/ansible\-collections/community\.general/pull/7369)\)\. +* machinectl become plugin \- mark plugin as require\_tty to automatically disable pipelining\, with which this plugin is not compatible \([https\://github\.com/ansible\-collections/community\.general/issues/6932](https\://github\.com/ansible\-collections/community\.general/issues/6932)\, [https\://github\.com/ansible\-collections/community\.general/pull/6935](https\://github\.com/ansible\-collections/community\.general/pull/6935)\)\. +* mail \- skip headers containing equals characters due to missing maxsplit on header key/value parsing \([https\://github\.com/ansible\-collections/community\.general/pull/7303](https\://github\.com/ansible\-collections/community\.general/pull/7303)\)\. +* memset module utils \- make compatible with ansible\-core 2\.17 \([https\://github\.com/ansible\-collections/community\.general/pull/7379](https\://github\.com/ansible\-collections/community\.general/pull/7379)\)\. +* nmap inventory plugin \- fix get\_option calls \([https\://github\.com/ansible\-collections/community\.general/pull/7323](https\://github\.com/ansible\-collections/community\.general/pull/7323)\)\. +* nmap inventory plugin \- now uses get\_option in all cases to get its configuration information \([https\://github\.com/ansible\-collections/community\.general/pull/7119](https\://github\.com/ansible\-collections/community\.general/pull/7119)\)\. +* nmcli \- fix bond option xmit\_hash\_policy \([https\://github\.com/ansible\-collections/community\.general/pull/6527](https\://github\.com/ansible\-collections/community\.general/pull/6527)\)\. +* nmcli \- fix support for empty list \(in compare and scrape\) \([https\://github\.com/ansible\-collections/community\.general/pull/6769](https\://github\.com/ansible\-collections/community\.general/pull/6769)\)\. +* nsupdate \- fix a possible list index out of range exception \([https\://github\.com/ansible\-collections/community\.general/issues/836](https\://github\.com/ansible\-collections/community\.general/issues/836)\)\. +* ocapi\_utils\, oci\_utils\, redfish\_utils module utils \- replace type\(\) calls with isinstance\(\) calls \([https\://github\.com/ansible\-collections/community\.general/pull/7501](https\://github\.com/ansible\-collections/community\.general/pull/7501)\)\. +* oci\_utils module util \- fix inappropriate logical comparison expressions and makes them simpler\. The previous checks had logical short circuits \([https\://github\.com/ansible\-collections/community\.general/pull/7125](https\://github\.com/ansible\-collections/community\.general/pull/7125)\)\. +* oci\_utils module utils \- avoid direct type comparisons \([https\://github\.com/ansible\-collections/community\.general/pull/7085](https\://github\.com/ansible\-collections/community\.general/pull/7085)\)\. +* onepassword \- fix KeyError exception when trying to access value of a field that is not filled out in OnePassword item \([https\://github\.com/ansible\-collections/community\.general/pull/7241](https\://github\.com/ansible\-collections/community\.general/pull/7241)\)\. +* openbsd\_pkg \- the pkg\_info\(1\) behavior has changed in OpenBSD \>7\.3\. The error message Can\'t find should not lead to an error case \([https\://github\.com/ansible\-collections/community\.general/pull/6785](https\://github\.com/ansible\-collections/community\.general/pull/6785)\)\. +* pacman \- module recognizes the output of yay running as root \([https\://github\.com/ansible\-collections/community\.general/pull/6713](https\://github\.com/ansible\-collections/community\.general/pull/6713)\)\. +* pipx module utils \- change the CLI argument formatter for the pip\_args parameter \([https\://github\.com/ansible\-collections/community\.general/issues/7497](https\://github\.com/ansible\-collections/community\.general/issues/7497)\, [https\://github\.com/ansible\-collections/community\.general/pull/7506](https\://github\.com/ansible\-collections/community\.general/pull/7506)\)\. +* portage \- fix changed\_use and newuse not triggering rebuilds \([https\://github\.com/ansible\-collections/community\.general/issues/6008](https\://github\.com/ansible\-collections/community\.general/issues/6008)\, [https\://github\.com/ansible\-collections/community\.general/pull/6548](https\://github\.com/ansible\-collections/community\.general/pull/6548)\)\. +* pritunl module utils \- fix incorrect URL parameter for orgnization add method \([https\://github\.com/ansible\-collections/community\.general/pull/7161](https\://github\.com/ansible\-collections/community\.general/pull/7161)\)\. +* proxmox \- fix error when a configuration had no template field \([https\://github\.com/ansible\-collections/community\.general/pull/6838](https\://github\.com/ansible\-collections/community\.general/pull/6838)\, [https\://github\.com/ansible\-collections/community\.general/issues/5372](https\://github\.com/ansible\-collections/community\.general/issues/5372)\)\. +* proxmox module utils \- add logic to detect whether an old Promoxer complains about the token\_name and token\_value parameters and provide a better error message when that happens \([https\://github\.com/ansible\-collections/community\.general/pull/6839](https\://github\.com/ansible\-collections/community\.general/pull/6839)\, [https\://github\.com/ansible\-collections/community\.general/issues/5371](https\://github\.com/ansible\-collections/community\.general/issues/5371)\)\. +* proxmox module utils \- fix proxmoxer library version check \([https\://github\.com/ansible\-collections/community\.general/issues/6974](https\://github\.com/ansible\-collections/community\.general/issues/6974)\, [https\://github\.com/ansible\-collections/community\.general/issues/6975](https\://github\.com/ansible\-collections/community\.general/issues/6975)\, [https\://github\.com/ansible\-collections/community\.general/pull/6980](https\://github\.com/ansible\-collections/community\.general/pull/6980)\)\. +* proxmox\_disk \- fix unable to create cdrom media due to size always being appended \([https\://github\.com/ansible\-collections/community\.general/pull/6770](https\://github\.com/ansible\-collections/community\.general/pull/6770)\)\. +* proxmox\_kvm \- absent state with force specified failed to stop the VM due to the timeout value not being passed to stop\_vm \([https\://github\.com/ansible\-collections/community\.general/pull/6827](https\://github\.com/ansible\-collections/community\.general/pull/6827)\)\. +* proxmox\_kvm \- restarted state did not actually restart a VM in some VM configurations\. The state now uses the Proxmox reboot endpoint instead of calling the stop\_vm and start\_vm functions \([https\://github\.com/ansible\-collections/community\.general/pull/6773](https\://github\.com/ansible\-collections/community\.general/pull/6773)\)\. +* proxmox\_kvm \- allow creation of VM with existing name but new vmid \([https\://github\.com/ansible\-collections/community\.general/issues/6155](https\://github\.com/ansible\-collections/community\.general/issues/6155)\, [https\://github\.com/ansible\-collections/community\.general/pull/6709](https\://github\.com/ansible\-collections/community\.general/pull/6709)\)\. +* proxmox\_kvm \- when name option is provided without vmid and VM with that name already exists then no new VM will be created \([https\://github\.com/ansible\-collections/community\.general/issues/6911](https\://github\.com/ansible\-collections/community\.general/issues/6911)\, [https\://github\.com/ansible\-collections/community\.general/pull/6981](https\://github\.com/ansible\-collections/community\.general/pull/6981)\)\. +* proxmox\_pool\_member \- absent state for type VM did not delete VMs from the pools \([https\://github\.com/ansible\-collections/community\.general/pull/7464](https\://github\.com/ansible\-collections/community\.general/pull/7464)\)\. +* proxmox\_tasks\_info \- remove api\_user \+ api\_password constraint from required\_together as it causes to require api\_password even when API token param is used \([https\://github\.com/ansible\-collections/community\.general/issues/6201](https\://github\.com/ansible\-collections/community\.general/issues/6201)\)\. +* proxmox\_template \- require requests\_toolbelt module to fix issue with uploading large templates \([https\://github\.com/ansible\-collections/community\.general/issues/5579](https\://github\.com/ansible\-collections/community\.general/issues/5579)\, [https\://github\.com/ansible\-collections/community\.general/pull/6757](https\://github\.com/ansible\-collections/community\.general/pull/6757)\)\. +* proxmox\_user\_info \- avoid direct type comparisons \([https\://github\.com/ansible\-collections/community\.general/pull/7085](https\://github\.com/ansible\-collections/community\.general/pull/7085)\)\. +* redfish\_command \- fix usage of message parsing in SimpleUpdate and MultipartHTTPPushUpdate commands to treat the lack of a MessageId as no message \([https\://github\.com/ansible\-collections/community\.general/issues/7465](https\://github\.com/ansible\-collections/community\.general/issues/7465)\, [https\://github\.com/ansible\-collections/community\.general/pull/7471](https\://github\.com/ansible\-collections/community\.general/pull/7471)\)\. +* redfish\_info \- fix ListUsers to not show empty account slots \([https\://github\.com/ansible\-collections/community\.general/issues/6771](https\://github\.com/ansible\-collections/community\.general/issues/6771)\, [https\://github\.com/ansible\-collections/community\.general/pull/6772](https\://github\.com/ansible\-collections/community\.general/pull/6772)\)\. +* redhat\_subscription \- use the right D\-Bus options for the consumer type when + registering a RHEL system older than 9 or a RHEL 9 system older than 9\.2 + and using consumer\_type + \([https\://github\.com/ansible\-collections/community\.general/pull/7378](https\://github\.com/ansible\-collections/community\.general/pull/7378)\)\. +* refish\_utils module utils \- changing variable names to avoid issues occuring when fetching Volumes data \([https\://github\.com/ansible\-collections/community\.general/pull/6883](https\://github\.com/ansible\-collections/community\.general/pull/6883)\)\. +* rhsm\_repository \- when using the purge option\, the repositories + dictionary element in the returned JSON is now properly updated according + to the pruning operation + \([https\://github\.com/ansible\-collections/community\.general/pull/6676](https\://github\.com/ansible\-collections/community\.general/pull/6676)\)\. +* rundeck \- fix TypeError on 404 API response \([https\://github\.com/ansible\-collections/community\.general/pull/6983](https\://github\.com/ansible\-collections/community\.general/pull/6983)\)\. +* selective callback plugin \- fix length of task name lines in output always being 3 characters longer than desired \([https\://github\.com/ansible\-collections/community\.general/pull/7374](https\://github\.com/ansible\-collections/community\.general/pull/7374)\)\. +* snap \- an exception was being raised when snap list was empty \([https\://github\.com/ansible\-collections/community\.general/pull/7124](https\://github\.com/ansible\-collections/community\.general/pull/7124)\, [https\://github\.com/ansible\-collections/community\.general/issues/7120](https\://github\.com/ansible\-collections/community\.general/issues/7120)\)\. +* snap \- assume default track latest in parameter channel when not specified \([https\://github\.com/ansible\-collections/community\.general/pull/6835](https\://github\.com/ansible\-collections/community\.general/pull/6835)\, [https\://github\.com/ansible\-collections/community\.general/issues/6821](https\://github\.com/ansible\-collections/community\.general/issues/6821)\)\. +* snap \- change the change detection mechanism from \"parsing installation\" to \"comparing end state with initial state\" \([https\://github\.com/ansible\-collections/community\.general/pull/7340](https\://github\.com/ansible\-collections/community\.general/pull/7340)\, [https\://github\.com/ansible\-collections/community\.general/issues/7265](https\://github\.com/ansible\-collections/community\.general/issues/7265)\)\. +* snap \- fix crash when multiple snaps are specified and one has \-\-\- in its description \([https\://github\.com/ansible\-collections/community\.general/pull/7046](https\://github\.com/ansible\-collections/community\.general/pull/7046)\)\. +* snap \- fix the processing of the commands\' output\, stripping spaces and newlines from it \([https\://github\.com/ansible\-collections/community\.general/pull/6826](https\://github\.com/ansible\-collections/community\.general/pull/6826)\, [https\://github\.com/ansible\-collections/community\.general/issues/6803](https\://github\.com/ansible\-collections/community\.general/issues/6803)\)\. +* sorcery \- fix interruption of the multi\-stage process \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\. +* sorcery \- fix queue generation before the whole system rebuild \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\. +* sorcery \- latest state no longer triggers update\_cache \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\. +* terraform \- prevents \-backend\-config option double encapsulating with shlex\_quote function\. \([https\://github\.com/ansible\-collections/community\.general/pull/7301](https\://github\.com/ansible\-collections/community\.general/pull/7301)\)\. +* tss lookup plugin \- fix multiple issues when using fetch\_attachments\=true \([https\://github\.com/ansible\-collections/community\.general/pull/6720](https\://github\.com/ansible\-collections/community\.general/pull/6720)\)\. +* zypper \- added handling of zypper exitcode 102\. Changed state is set correctly now and rc 102 is still preserved to be evaluated by the playbook \([https\://github\.com/ansible\-collections/community\.general/pull/6534](https\://github\.com/ansible\-collections/community\.general/pull/6534)\)\. + + +#### community\.grafana + +* Fix error with datasources configured without basicAuth +* grafana\_folder\, fix an issue during delete \(starting Grafana 9\.3\) + + +#### community\.hashi\_vault + +* vault\_write \- the vault\_write lookup and module were not able to write data containing keys named path or wrap\_ttl due to a bug in the hvac library\. These plugins have now been updated to take advantage of fixes in hvac\>\=1\.2 to address this \([https\://github\.com/ansible\-collections/community\.hashi\_vault/issues/389](https\://github\.com/ansible\-collections/community\.hashi\_vault/issues/389)\)\. + + +#### community\.hrobot + +* Show more information \(if available\) from error messages \([https\://github\.com/ansible\-collections/community\.hrobot/pull/89](https\://github\.com/ansible\-collections/community\.hrobot/pull/89)\)\. + + +#### community\.libvirt + +* libvirt\_qemu \- connection plugin threw a warning about an improperly configured remote target\. Fix adds inventory\_hostname to options\.remote\_addr\.vars \([https\://github\.com/ansible\-collections/community\.libvirt/pull/147](https\://github\.com/ansible\-collections/community\.libvirt/pull/147)\)\. +* libvirt\_qemu \- fix encoding errors on Windows guests for non\-ASCII return values \([https\://github\.com/ansible\-collections/community\.libvirt/pull/157](https\://github\.com/ansible\-collections/community\.libvirt/pull/157)\) +* virt \- fix virt module to undefine a domain with nvram\, managed\_save\, snapshot\_metadata or checkpoints\_metadata \([https\://github\.com/ansible\-collections/community\.libvirt/issues/40](https\://github\.com/ansible\-collections/community\.libvirt/issues/40)\)\. +* virt\_pool \- replace discouraged function listAllVolumes with listAllVolumes to fix potential race conditions \([https\://github\.com/ansible\-collections/community\.libvirt/pull/135](https\://github\.com/ansible\-collections/community\.libvirt/pull/135)\)\. +* virt\_pool \- replace discouraged functions listStoragePools and listDefinedStoragePools with listAllStoragePools to fix potential race conditions \([https\://github\.com/ansible\-collections/community\.libvirt/pull/134](https\://github\.com/ansible\-collections/community\.libvirt/pull/134)\)\. + + +#### community\.mysql + +* mysql module utils \- use the connection arguments db instead of database and passwd instead of password when running with MySQLdb \< 2\.0\.0 \([https\://github\.com/ansible\-collections/community\.mysql/pull/553](https\://github\.com/ansible\-collections/community\.mysql/pull/553)\)\. + + +#### community\.network + +* cnos\_l3\_interface \- fix import errors \([https\://github\.com/ansible\-collections/community\.network/pull/531](https\://github\.com/ansible\-collections/community\.network/pull/531)\)\. +* exos\_config \- missing whitespace in command with defaults\: True\. It happened because the command is show configurationdetail instead of show configuration detail \([https\://github\.com/ansible\-collections/community\.network/pull/516](https\://github\.com/ansible\-collections/community\.network/pull/516)\)\. +* exos\_facts \- returns timeout error when we use connection type network\_cli\. It happened because we send command without no\-refresh and script cli2json\.py stuck in loop while reading console output \([https\://github\.com/ansible\-collections/community\.network/pull/517](https\://github\.com/ansible\-collections/community\.network/pull/517)\)\. +* icx\_l3\_interface \- fix import errors \([https\://github\.com/ansible\-collections/community\.network/pull/531](https\://github\.com/ansible\-collections/community\.network/pull/531)\)\. +* slxos\_l3\_interface \- fix import errors \([https\://github\.com/ansible\-collections/community\.network/pull/531](https\://github\.com/ansible\-collections/community\.network/pull/531)\)\. + + +#### community\.postgresql + +* postgresql\_db \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\. +* postgresql\_ext \- fixed queries return value name in documentation \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\. +* postgresql\_info \- fix SQL syntax issue \([https\://github\.com/ansible\-collections/community\.postgresql/issues/570](https\://github\.com/ansible\-collections/community\.postgresql/issues/570)\)\. +* postgresql\_info \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\. +* postgresql\_ping \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\. +* postgresql\_privs \- fixed error message and documentation \([https\://github\.com/ansible\-collections/community\.postgresql/pull/510](https\://github\.com/ansible\-collections/community\.postgresql/pull/510)\)\. +* postgresql\_privs \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\. +* postgresql\_set \- fixed GUC\_LIST\_QUOTE parameters \([https\://github\.com/ansible\-collections/community\.postgresql/pull/521](https\://github\.com/ansible\-collections/community\.postgresql/pull/521)\)\. +* postgresql\_set \- fixed error message in param\_set function \([https\://github\.com/ansible\-collections/community\.postgresql/pull/505](https\://github\.com/ansible\-collections/community\.postgresql/pull/505)\)\. + + +#### community\.routeros + +* api\_info\, api\_modify \- in the snmp path\, ensure that engine\-id\-suffix is only available on RouterOS 7\.10\+\, and that engine\-id is read\-only on RouterOS 7\.10\+ \([https\://github\.com/ansible\-collections/community\.routeros/issues/208](https\://github\.com/ansible\-collections/community\.routeros/issues/208)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/218](https\://github\.com/ansible\-collections/community\.routeros/pull/218)\)\. +* api\_modify\, api\_info \- add missing parameter engine\-id\-suffix for the snmp path \([https\://github\.com/ansible\-collections/community\.routeros/issues/189](https\://github\.com/ansible\-collections/community\.routeros/issues/189)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/190](https\://github\.com/ansible\-collections/community\.routeros/pull/190)\)\. +* api\_modify\, api\_info \- add missing parameter tls for the tool e\-mail path \([https\://github\.com/ansible\-collections/community\.routeros/issues/179](https\://github\.com/ansible\-collections/community\.routeros/issues/179)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/180](https\://github\.com/ansible\-collections/community\.routeros/pull/180)\)\. +* facts \- do not crash in CLI output preprocessing in unexpected situations during line unwrapping \([https\://github\.com/ansible\-collections/community\.routeros/issues/170](https\://github\.com/ansible\-collections/community\.routeros/issues/170)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/177](https\://github\.com/ansible\-collections/community\.routeros/pull/177)\)\. + + +#### community\.sops + +* Avoid pre\-releases when picking the latest version when using the GitHub API method \([https\://github\.com/ansible\-collections/community\.sops/pull/159](https\://github\.com/ansible\-collections/community\.sops/pull/159)\)\. +* Fix RPM URL for the 3\.8\.0 release \([https\://github\.com/ansible\-collections/community\.sops/pull/161](https\://github\.com/ansible\-collections/community\.sops/pull/161)\)\. +* Fix changed DEB and RPM URLs for 3\.8\.0 and its prerelease\(s\) \([https\://github\.com/ansible\-collections/community\.sops/pull/159](https\://github\.com/ansible\-collections/community\.sops/pull/159)\)\. +* install role \- fix sops\_github\_latest\_detection\=latest\-release\, which broke due to sops moving to another GitHub organization \([https\://github\.com/ansible\-collections/community\.sops/pull/151](https\://github\.com/ansible\-collections/community\.sops/pull/151)\)\. +* install role \- make sure that the pkg\_mgr fact is definitely available when installing on localhost\. This can improve error messages in some cases \([https\://github\.com/ansible\-collections/community\.sops/issues/145](https\://github\.com/ansible\-collections/community\.sops/issues/145)\, [https\://github\.com/ansible\-collections/community\.sops/pull/146](https\://github\.com/ansible\-collections/community\.sops/pull/146)\)\. +* sops\_encrypt \- ensure that output\-type is set to yaml when the file extension \.yml is used\. Now both \.yaml and \.yml files use the SOPS \-\-output\-type\=yaml formatting \([https\://github\.com/ansible\-collections/community\.sops/issues/164](https\://github\.com/ansible\-collections/community\.sops/issues/164)\)\. + + +#### community\.vmware + +* Add missing modules to runtime\.yml \([https\://github\.com/ansible\-collections/community\.vmware/pull/1764](https\://github\.com/ansible\-collections/community\.vmware/pull/1764)\)\. +* fix problem when module try apply non global or non VM type custom attribute to VM object \([https\://github\.com/ansible\-collections/community\.vmware/issues/1772](https\://github\.com/ansible\-collections/community\.vmware/issues/1772)\) +* vmware\_deploy\_ovf \- Fix an issue with networks that are available on more than one cluster \([https\://github\.com/ansible\-collections/community\.vmware/issues/1590](https\://github\.com/ansible\-collections/community\.vmware/issues/1590)\)\. +* vmware\_deploy\_ovf \- fix error in finding networks part of code \([https\://github\.com/ansible\-collections/community\.vmware/issues/1853](https\://github\.com/ansible\-collections/community\.vmware/issues/1853)\)\. +* vmware\_deploy\_ovf\: fix error in finding networks part of code [https\://github\.com/ansible\-collections/community\.vmware/issues/1853](https\://github\.com/ansible\-collections/community\.vmware/issues/1853) +* vmware\_guest\_custom\_attributes \- fix problem when module try apply non global or non VM type custom attribute to VM object \([https\://github\.com/ansible\-collections/community\.vmware/issues/1772](https\://github\.com/ansible\-collections/community\.vmware/issues/1772)\)\. +* vmware\_guest\_disk \- Fix idempotency for absent disks \([https\://github\.com/ansible\-collections/community\.vmware/issues/1765](https\://github\.com/ansible\-collections/community\.vmware/issues/1765)\)\. +* vmware\_vm\_info \- Add missing show\_folder parameter \([https\://github\.com/ansible\-collections/community\.vmware/issues/1709](https\://github\.com/ansible\-collections/community\.vmware/issues/1709)\)\. + + +#### community\.windows + +* win\_psmodule \- fix requireLicenseAcceptance test so that it is no longer always true + + +#### community\.zabbix + +* Proxy and Agent Roles \- Added zabbix\_api\_use\_ssl variable to allow secure API connections +* Web Role \- Added defaults and documentation for zabbix\_apache\_custom\_includes +* agent \- Handled undefined variable error for Windows default versions +* agent role \- Added missing become statement to allow run to role as nonroot +* all roles \- Added option to selectively disable a repo on Redhat installs +* zabbix\_host module \- fix updating hosts that were discovered via LLD +* zabbix\_proxy role \- failed at version validation\. Fix adds cast of zabbix\_proxy\_version to float\, similarly to the other roles\. +* zabbix\_proxy role \- undefined vars at updating proxy definition\. Fix adds null defaults for zabbix\_proxy\_tlsaccept and zabbix\_proxy\_tlsconnect\. +* zabbix\_web role \- removed \'ssl on\;\' nginx configuration\, which is no longer supported since nginx version 1\.25\.1\. + + +#### containers\.podman + +* Add hooks\-dir parameter for containers +* Add idempotency for restart\-policy for containers +* Add missing options to podman network +* Add more explanation about cmd\_args command usage +* Add stdout to podman build and push actions +* Added support for \"userns\" parameter to \"play\" module +* CI \- fix pip installation of the collection +* CI \- fix podman play job for 4\.4\.x versions +* Change yes/no to true/false in the modules +* Convert str to json format before evaluating length\. +* Fix CI for newest Ansible branch 2\.16 +* Fix common file for Python 2\.7 +* Fix idempotency for pods with uidmap and gidmap +* Fix idempotency lowercase for devices +* Fix network tests for Podman v4 +* Fix podman logout tests for v4 +* Fix pylint issues for CI ansible\-test +* Fix undesirable splitting of IPv6 host addresses +* Improved documentation of podman\_generate\_systemd module +* Prepare CI for Podman v3 backward compatibility +* Support SHA256 tag for podman images +* Update podman\_image to specify CPU arch when pulling image +* added podman\_prune module +* become plugin podman\_unshare become\_user default +* fix for buildah improper remote target +* for pod kube recreate +* pod \- Support passing multiple networks with params +* podman\-login \- fix FIPS md5 issue and registry requirement +* podman\-pod \- Fix idempotency for pods in 4\.4\.x versions +* podman\_container \- Add diff and change detection to systemd generation +* podman\_container \- Add example with quotes in command to docs +* podman\_container \- Fix healthcheck issue where defined in image +* podman\_container \- Fix idempoency issue with PID of container +* podman\_container \- Fix idempotency for RestartPolicy when MaximumRetryCount +* podman\_container \- Fix idempotency for devices +* podman\_container \- Fixed idempotency with cpus parameter +* podman\_container \- Improve docs about container env\_file on remote machine +* podman\_container \- added cpu\_quota parameter to podman\_container +* podman\_export\,podman\_import \- Adding volume import and export option +* podman\_generate\_systemd \- Add a force field to podman\_generate\_systemd +* podman\_image \- Add restart\-sec and other options to systemd generation +* podman\_image \- Fix pulling short image name +* podman\_network \- Do not force network removal by default +* podman\_network \- Fix network DNS enable idempotency issue +* podman\_pod \- Fix idempotency when running inside Podman container +* podman\_systemd \- Ignore header when comparing systemd files content + + +#### dellemc\.enterprise\_sonic + +* Fix regression test bugs in multiple modules \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/180](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/180)\)\. +* Fix sanity check errors in the collection caused by Ansible library changes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/160](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/160)\)\. +* install \- Update the required ansible\.netcommon version \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/176](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/176)\)\. +* sonic\_bgp\_af \- Fix issue with vnis and advertise modification for a single BGP AF \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/201](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/201)\)\. +* sonic\_bgp\_as\_paths \- Fix issues with merged and deleted states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/250](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/250)\)\. +* sonic\_interfaces \- Fix command timeout issue \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/261](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/261)\)\. +* sonic\_l3\_interfaces \- Fix IP address deletion issue \(GitHub issue\#170\) \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/231](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/231)\)\. +* sonic\_lag\_interfaces \- Fix port name issue \(GitHub issue\#153\) \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/119](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/119)\)\. +* sonic\_neighbors \- Fix handling of default attributes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/233](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/233)\)\. +* sonic\_ntp \- Fix the issue \(GitHub issue\#205\) with NTP clear all without config given \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/224](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/224)\)\. +* sonic\_vlan\_mapping \- Remove platform checks \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/262](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/262)\)\. +* sonic\_vrfs \- Add tasks as a workaround to mgmt VRF bug \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/146](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/146)\)\. +* sonic\_vrfs \- Fix spacing issue in CLI test case \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/257](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/257)\)\. +* sonic\_vrfs \- Fix the issue \(GitHub issue\#194\) with VRF when deleting interface\([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/230](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/230)\)\. +* sonic\_vxlans \- Remove required\_together restriction for evpn\_nvo and source\_ip attributes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/130](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/130)\)\. +* workflows \- Fix dependency installation issue in the code coverage workflow \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/199](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/199)\)\. + + +#### dellemc\.openmanage + +* Job tracking is fixed for iDRAC SCP import \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/pull/504](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/pull/504)\)\. +* OMSDK is handled for import error SNIMissingWarning that is undefined \([https\://github\.com/dell/omsdk/issues/33](https\://github\.com/dell/omsdk/issues/33)\)\. +* The Chassis Power PIN value must be of six numerical digits input from the module\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/492](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/492)\)\. +* Update document on how to use with ansible\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/393](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/393)\)\. +* idrac\_attributes module can now support modification of IPv6 attributes on iDRAC 8\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/488](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/488)\)\. +* idrac\_firmware \- Issue\(276335\) \- This module fails on the Python 3\.11\.x version with NFS share\. Use a different Python version or Share type\. +* idrac\_server\_config\_profile \- The import for Server Configuration Profile \(SCP\) operation fails to handle the absence of a file and incorrectly reports success instead of the expected failure\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/544](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/544)\)\. +* ome\_device\_info is limited to 50 responses with a query filter\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/499](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/499)\)\. +* ome\_device\_quick\_deploy \- If the blade is not present\, then the module can assign a static IP to the slot \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/532](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/532)\)\. + + +#### f5networks\.f5\_modules + +* bigip\_device\_certificate \- error\-handling for connection error while running exec command function to fetch certificate details +* bigip\_pool \- Resolved a bug in the code to allow the module to remove monitors from the pool +* bigip\_provision\_async \- created module to address scenarios where infinite loops or timeouts happen +* bigip\_ssl\_key\_cert \- fixed flaw in code to make module work with same key and cert name when true\_names set to true +* bigip\_virtual\_server \- fixed an idempotency bug where the module send asm policy profile for update even when not specified explicitly by the user + + +#### fortinet\.fortimanager + +* Add \'access\_token\' in \'fmgr\_generic\'\. +* Add param \'platform\' in \'fmgr\_wtpprofile\' and param \'interface\' in \'fmgr\_fsp\_vlan\'\. +* Corrected description of parameters in documentation\. +* Fix a bug that collection may update the resource when it does not need to\. +* Fix a bug where the user may not be able to use workspace\_locking\_adom if the workspace mode is per\-adom\. +* Fix some modules missing revision \(used for version warning\)\. +* Fixed Many sanity test warnings and errors\. +* Fixed a bug where users might not be able to login\. +* Fixed the bug that would report an error when providing access\_token and username/password at the same time\. +* Fixed version\_added in the document\. The value of this parameter is the version each module first supported in the FortiManager Ansible Collection\. +* Improve document\. +* Improve fmgr\_fact\. \'changed\' will not be true anymore if you get the result\. +* Improve login logic in httpapi plugin\. +* Improve sanity tests\. +* When the JSON data sent by FortiManager is not in the right format\, the collection can still execute correctly\. + + +#### fortinet\.fortios + +* Fix the error of pure number password\. +* Fix the hyperlink issue for the supported FOS versions in USER\'s GUIDE\. +* Fix the issue of one session remaining open after the task is finished\. +* Fix the issue while comparing the changes in before and after data in check\_mode\; +* Fix the issues that some parameters are not in a specific fos vm versions\. +* Fix the request error when updating global object\; +* Fix the sanity test error\; +* Fix the wrong credential error when using username/password in fos verion 6\; +* To optimize the json\_generic module and reduce the time spent while sending GET requests\. + + +#### google\.cloud + +* Use default service account if service\_account\_email is unset\. + + +#### hetzner\.hcloud + +* \*\_info \- Consistently fail on invalid ID in \*\_info modules\. +* hcloud\_firewall \- The port argument is required when the firewall rule protocol is udp or tcp\. +* hcloud\_image\_info Fix facts modules deprecated result key +* hcloud\_load\_balancer\_service \- In the returned data\, the invalid health\_check\.http\.certificates field was renamed to health\_check\.http\.status\_codes\. +* hcloud\_location\_info Fix facts modules deprecation warnings +* hcloud\_server \- Fix string formatting error on deprecated server type warning +* hcloud\_server \- TypeError when trying to use deprecated image with allow\_deprecated\_image +* hcloud\_server\_type\_info Fix facts modules deprecated result dict +* hcloud\_server\_type\_info Fix facts modules deprecation warnings + + +#### junipernetworks\.junos + +* fix no\_advertise\_adjacency\_segment config implementation\. +* fix no\_eligible\_backup config implementation\. +* fix no\_eligible\_remote\_backup config implementation\. +* fix no\_interface\_state\_traps config implementation\. +* fix no\_neighbor\_down\_notification config implementation\. +* fix node\_link\_protection implementation\. +* fix md5 authentication which allows list of keys to be configured\. + + +#### microsoft\.ad + +* Added the missing dependency dpapi\-ng to Ansible Execution Environments requirements file for LAPS decryption support +* Ensure renaming and moving an object will be done with the domain\_server and domain\_username credentials specified \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/54](https\://github\.com/ansible\-collections/microsoft\.ad/issues/54) +* Fix up protect\_from\_deletion when creating new AD objects \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/47](https\://github\.com/ansible\-collections/microsoft\.ad/issues/47) +* Fix up date\_time attribute comparisons to be idempotent \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/57](https\://github\.com/ansible\-collections/microsoft\.ad/issues/57) +* group \- Fix idempotency check when scope\: domainlocal is set \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/31](https\://github\.com/ansible\-collections/microsoft\.ad/issues/31) +* microsoft\.ad\.group \- ensure the scope and category values are checked as case insensitive to avoid changes when not needed \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/31](https\://github\.com/ansible\-collections/microsoft\.ad/issues/31) +* microsoft\.ad\.user \- Ensure the spn diff after key is spn and not kerberos\_encryption\_types +* microsoft\.ad\.user \- treat an expired account as a password that needs to be changed + + +#### netapp\.ontap + +* na\_ontap\_dns \- fix DNS not working with Cluster mode\. +* na\_ontap\_dns \- fix keyerror for uuid when DNS is set to vserver in REST\. +* na\_ontap\_ems\_filter \- fix delete operation not idempotent for filter\. +* na\_ontap\_ems\_filter \- fix modify operation to add rule in existing filter\. +* na\_ontap\_login\_messages \- fix banner and motd\_message not idempotent when trailing \'n\' is present\. +* na\_ontap\_login\_messages \- fix idempotency issue in Cluster scope in REST\. +* na\_ontap\_login\_messages \- fix idempotent issue on show\_cluster\_motd option when try to set banner or motd\_message for the first time in REST\. +* na\_ontap\_nfs \- fix default\_user under windows not getting modified if not set previously in REST\. +* na\_ontap\_svm \- fix REST version warning for ndmp under services\. +* na\_ontap\_volume \- fix invalid field error with \'space\.snapshot\.autodelete\' in REST\. + + +#### netbox\.netbox + +* Fix schema caching \[\#1053\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1053](https\://github\.com/netbox\-community/ansible\_modules/pull/1053)\) +* netbox\_ device \- Adjust device\_role to role for NetBox 3\.6 \[\#1066\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1066](https\://github\.com/netbox\-community/ansible\_modules/pull/1066)\) + + ## Docutils System Messages + +
+ ERROR/3 (<string>, line 1) + + Unknown target name\: \"netbox\"\. + +
+ + +#### ovirt\.ovirt + +* HE \- add back dependency on python3\-jmespath \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/701](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/701)\) +* HE \- drop remaining filters using netaddr \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/702](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/702)\) +* HE \- drop usage of ipaddr filters and remove dependency on python\-netaddr \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/696](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/696)\) +* HE \- fix ipv4 and ipv6 check after dropping netaddr \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/704](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/704)\) +* hosted\_engine\_setup \- Update README \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/706](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/706)\) +* ovirt\_disk \- Fix issue in detaching the direct LUN \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/700](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/700)\) +* ovirt\_quota \- Convert storage size to integer \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/712](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/712)\) +* ovirt\_role \- Fix administrative option when set to False \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/723](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/723)\)\. + + +#### purestorage\.flasharray + +* purefa\_certs \- Resolved CSR issue and require export\_file for state sign\. +* purefa\_ds \- Fixes error when enabling directory services while a bind\_user is set on the array and a bind\_password is not\. +* purefa\_ds \- Fixes issue with creating a new ds configuration while setting force\_bind\_password as \"false\"\. +* purefa\_host \- Fix incorrect calling of \"module\.params\"\. +* purefa\_info \- Added missing alerts subset name +* purefa\_info \- Fix serial number generation issue for vVols +* purefa\_info \- Fixed attribute errors after EUC changes +* purefa\_info \- Fixed issue with replica links in unknown state +* purefa\_info \- Fixed missing arguments for google\_offload and pods +* purefa\_info \- Fixed parameter error when enabled and disabled timers are different values on purity 6\.4\.10\+ arrays\. +* purefa\_info \- Fixed py39 specific bug with multiple DNS entries +* purefa\_network \- Allow gateway to be set as 0\.0\.0\.0 to remove an existing gateway address +* purefa\_network \- Fixed IPv6 support issues +* purefa\_network \- Fixed idempotency issue when gateway not modified +* purefa\_pgsched \- Fixed bug with an unnecessary substitution +* purefa\_pgsched \- Resolved idempotency issue with snap and replication enabled flags +* purefa\_pgsnap \- Enabled to eradicate destroyed snapshots\. +* purefa\_pgsnap \- Ensure that now and remote are mutually exclusive\. +* purefa\_pgsnap \- Fixed issue with eradicating deleted pgsnapshot +* purefa\_pgsnap \- Update the accepted suffixes to include also numbers only\. Fixed the logic to retrieve the latest completed snapshot +* purefa\_policy \- Set user\_mapping parameter default to True +* purefa\_snap \- Fixed incorrect calling logic causing failure on remote snapshot creation +* purefa\_snap \- Fixed issue with remote snapshot retrieve\. Mainly a workaround to an issue with Purity REST 1\.x when remote snapshots are searched\. +* purefa\_subnet \- Fixed IPv4 gateway removal issue\. +* purefa\_subnet \- Fixed IPv6 support issues\. +* purefa\_volume \- Fixed bug with NULL suffix for multiple volume creation\. + + +#### purestorage\.flashblade + +* purefb\_bucket \- Fixed bucket type mode name typo +* purefb\_fs \- Fixed issue with incorrect promotion state setting +* purefb\_info \- Fixed missing atributes for SMB client policy rules +* purefb\_userpolicy \- Fixed show state for all user policies + + +#### purestorage\.fusion + +* fusion\_info \- fix runtime errors caused when listing interfaces\, arrays and snapshots dicts +* fusion\_pg \- freshly created placement group is now moved to correct array +* fusion\_pp \- \'local\_rpo\' changed to accept same input as \'local\_retention\' +* fusion\_pp \- updated retention description +* fusion\_ra \- \'name\' deprecated and aliased to \'role\' + + +#### t\_systems\_mms\.icinga\_director + +* add icinga\_deploy\_\* to action\_group and test it \([https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/214](https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/214)\) + + +#### theforeman\.foreman + +* compute\_profile\, host \- properly support nested VMware clusters \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2211394](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2211394)\) +* content\_credential \- don\'t require content\_type and content parameters when removing credentials \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1588](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1588)\) +* content\_credentials role \- don\'t require content\_type and content parameters when removing credentials +* content\_view\_filter \- don\'t fail when creating a modulemd filter \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1608](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1608)\, [https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2208557](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2208557)\) +* content\_view\_publish role \- correctly pass version not description to the module \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2234444](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2234444)\) +* convert2rhel role \- Sync repos before CV publish \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2216907](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2216907)\) +* repositories role \- don\'t log repository information when creating products \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2183357](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2183357)\) +* repository \- don\'t fail when removing a content credential from a repository \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2224122](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2224122)\) +* smart\_class\_parameter \- correctly allow setting override to false \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1644](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1644)\) + + +#### vultr\.cloud + +* firewall\_rule \- Fixed an idempotency issue if parameter port is set on protocols other than TCP/UDP \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/76](https\://github\.com/vultr/ansible\-collection\-vultr/issues/76)\)\. + + +#### vyos\.vyos + +* vyos\-l3\_interface\_facts \- fixed error when using no\-default\-link\-local option\. \([https\://github\.com/ansible\-collections/vyos\.vyos/issues/295](https\://github\.com/ansible\-collections/vyos\.vyos/issues/295)\) + + +### Known Issues + + +#### Ansible\-core + +* ansible\-galaxy \- dies in the middle of installing a role when that role contains Java inner classes \(files with \$ in the file name\)\. This is by design\, to exclude temporary or backup files\. \([https\://github\.com/ansible/ansible/pull/81553](https\://github\.com/ansible/ansible/pull/81553)\)\. +* ansible\-test \- The pep8 sanity test is unable to detect f\-string spacing issues \(E201\, E202\) on Python 3\.10 and 3\.11\. They are correctly detected under Python 3\.12\. See \([https\://github\.com/PyCQA/pycodestyle/issues/1190](https\://github\.com/PyCQA/pycodestyle/issues/1190)\)\. + + +#### community\.crypto + +* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/crypto/](https\://docs\.ansible\.com/ansible/devel/collections/community/crypto/)\. + + +#### community\.dns + +* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/dns/](https\://docs\.ansible\.com/ansible/devel/collections/community/dns/)\. + + +#### community\.docker + +* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/docker/](https\://docs\.ansible\.com/ansible/devel/collections/community/docker/)\. + + +#### community\.general + +* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/general/](https\://docs\.ansible\.com/ansible/devel/collections/community/general/) \([https\://github\.com/ansible\-collections/community\.general/pull/6539](https\://github\.com/ansible\-collections/community\.general/pull/6539)\)\. + + +#### community\.hrobot + +* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/hrobot/](https\://docs\.ansible\.com/ansible/devel/collections/community/hrobot/)\. + + +#### community\.routeros + +* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/routeros/](https\://docs\.ansible\.com/ansible/devel/collections/community/routeros/)\. + + +#### community\.sops + +* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/sops/](https\://docs\.ansible\.com/ansible/devel/collections/community/sops/)\. + + +#### dellemc\.openmanage + +* ca\_path missing \- Issue\(275740\) \- The roles idrac\_attributes\, redfish\_storage\_volume\, and idrac\_server\_powerstate have a missing parameter ca\_path\. +* idrac\_firmware \- Issue\(276335\) \- This module fails on the Python 3\.11\.x version with NFS shares\. Use a different Python version or Share type\. +* idrac\_firmware \- Issue\(279282\) \- This module does not support firmware update using HTTP\, HTTPS\, and FTP shares with authentication on iDRAC8\. +* idrac\_network\_attributes \- Issue\(279049\) \- If unsupported values are provided for the parameter ome\_network\_attributes\, then this module does not provide a correct error message\. +* idrac\_redfish\_storage\_controller \- Issue\(256164\) \- If incorrect value is provided for one of the attributes in the provided attribute list for controller configuration\, then this module does not exit with error\. +* ome\_device\_network\_services \- Issue\(212681\) \- The module does not provide a proper error message if unsupported values are provided for the following parameters\- port\_number\, community\_name\, max\_sessions\, max\_auth\_retries\, and idle\_timeout\. +* ome\_device\_power\_settings \- Issue\(212679\) \- The module displays the following message if the value provided for the parameter power\_cap is not within the supported range of 0 to 32767\, Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI\. +* ome\_device\_quick\_deploy \- Issue\(275231\) \- This module does not deploy a new configuration to a slot that has disabled IPv6\. +* ome\_smart\_fabric\_uplink \- Issue\(186024\) \- Despite the module supported by OpenManage Enterprise Modular\, it does not allow the creation of multiple uplinks of the same name\. If an uplink is created using the same name as an existing uplink\, the existing uplink is modified\. + + +### New Plugins + + +#### Cliconf + +* ansible\.netcommon\.default \- General purpose cliconf plugin for new platforms + + +#### Filter + +* ansible\.utils\.ipcut \- This filter is designed to get 1st or last few bits of IP address\. +* ansible\.utils\.ipv6form \- This filter is designed to convert ipv6 address in different formats\. For example expand\, compressetc\. +* community\.crypto\.gpg\_fingerprint \- Retrieve a GPG fingerprint from a GPG public or private key + + +#### Inventory + +* community\.aws\.aws\_mq \- MQ broker inventory source + + +#### Lookup + +* community\.crypto\.gpg\_fingerprint \- Retrieve a GPG fingerprint from a GPG public or private key file +* community\.dns\.lookup \- Look up DNS records +* community\.dns\.lookup\_as\_dict \- Look up DNS records as dictionaries +* community\.general\.bitwarden\_secrets\_manager \- Retrieve secrets from Bitwarden Secrets Manager + + +### New Modules + + +#### amazon\.aws + +* amazon\.aws\.ec2\_import\_image \- Manage AWS EC2 import image tasks +* amazon\.aws\.ec2\_import\_image\_info \- Gather information about import virtual machine tasks +* amazon\.aws\.ec2\_key\_info \- Gather information about EC2 key pairs in AWS +* amazon\.aws\.iam\_instance\_profile \- manage IAM instance profiles +* amazon\.aws\.iam\_instance\_profile\_info \- gather information on IAM instance profiles +* amazon\.aws\.rds\_global\_cluster\_info \- Obtain information about Aurora global database clusters + + +#### cisco\.ios + +* cisco\.ios\.ios\_service \- Resource module to configure service\. + + +#### cisco\.iosxr + +* cisco\.iosxr\.iosxr\_bgp\_templates \- Manages BGP templates resource module\. + + +#### cisco\.nxos + +* cisco\.nxos\.nxos\_fc\_interfaces \- Fc Interfaces resource module + + +#### cloudscale\_ch\.cloud + +* cloudscale\_ch\.cloud\.load\_balancer \- Manages load balancers on the cloudscale\.ch IaaS service +* cloudscale\_ch\.cloud\.load\_balancer\_health\_monitor \- Manages load balancers on the cloudscale\.ch IaaS service +* cloudscale\_ch\.cloud\.load\_balancer\_listener \- Manages load balancer listeners on the cloudscale\.ch IaaS service +* cloudscale\_ch\.cloud\.load\_balancer\_pool \- Manages load balancer pools on the cloudscale\.ch IaaS service +* cloudscale\_ch\.cloud\.load\_balancer\_pool\_member \- Manages load balancer pool members on the cloudscale\.ch IaaS service + + +#### community\.aws + +* community\.aws\.route53\_wait \- wait for changes in Amazons Route 53 DNS service to propagate + + +#### community\.dns + +* community\.dns\.nameserver\_info \- Look up nameservers for a DNS name +* community\.dns\.nameserver\_record\_info \- Look up all records of a type from all nameservers for a DNS name + + +#### community\.general + +* community\.general\.consul\_policy \- Manipulate Consul policies +* community\.general\.consul\_role \- Manipulate Consul roles +* community\.general\.facter\_facts \- Runs the discovery program C\(facter\) on the remote system and return Ansible facts +* community\.general\.gio\_mime \- Set default handler for MIME type\, for applications using Gnome GIO +* community\.general\.gitlab\_instance\_variable \- Creates\, updates\, or deletes GitLab instance variables +* community\.general\.gitlab\_merge\_request \- Create\, update\, or delete GitLab merge requests +* community\.general\.jenkins\_build\_info \- Get information about Jenkins builds +* community\.general\.keycloak\_authentication\_required\_actions \- Allows administration of Keycloak authentication required actions +* community\.general\.keycloak\_authz\_custom\_policy \- Allows administration of Keycloak client custom Javascript policies via Keycloak API +* community\.general\.keycloak\_authz\_permission \- Allows administration of Keycloak client authorization permissions via Keycloak API +* community\.general\.keycloak\_authz\_permission\_info \- Query Keycloak client authorization permissions information +* community\.general\.keycloak\_realm\_key \- Allows administration of Keycloak realm keys via Keycloak API +* community\.general\.keycloak\_user \- Create and configure a user in Keycloak +* community\.general\.lvg\_rename \- Renames LVM volume groups +* community\.general\.pnpm \- Manage node\.js packages with pnpm +* community\.general\.proxmox\_pool \- Pool management for Proxmox VE cluster +* community\.general\.proxmox\_pool\_member \- Add or delete members from Proxmox VE cluster pools +* community\.general\.proxmox\_vm\_info \- Retrieve information about one or more Proxmox VE virtual machines +* community\.general\.simpleinit\_msb \- Manage services on Source Mage GNU/Linux + + +#### community\.grafana + +* community\.grafana\.grafana\_organization\_user \- Manage Grafana Organization Users\. + + +#### community\.vmware + +* community\.vmware\.vcenter\_root\_password\_expiration \- root password expiration of vCSA +* community\.vmware\.vmware\_cluster\_drs\_recommendations \- Apply DRS Recommendations +* community\.vmware\.vmware\_host\_graphics \- Manage Host Graphic Settings +* community\.vmware\.vmware\_vasa \- Manage VMware Virtual Volumes storage provider +* community\.vmware\.vmware\_vasa\_info \- Gather information about vSphere VASA providers\. +* community\.vmware\.vmware\_vsan\_release\_catalog \- Uploads the vSAN Release Catalog + + +#### community\.zabbix + +* community\.zabbix\.zabbix\_regexp \- Create/update/delete Zabbix regular expression +* community\.zabbix\.zabbix\_settings \- Update Zabbix global settings\. +* community\.zabbix\.zabbix\_token \- Create/Update/Generate/Delete Zabbix token\. + + +#### containers\.podman + +* containers\.podman\.podman\_container\_exec \- Executes a command in a running container +* containers\.podman\.podman\_runlabel \- Run given label from given image + + +#### dellemc\.enterprise\_sonic + +* dellemc\.enterprise\_sonic\.sonic\_acl\_interfaces \- Manage access control list \(ACL\) to interface binding on SONiC +* dellemc\.enterprise\_sonic\.sonic\_bfd \- Manage BFD configuration on SONiC +* dellemc\.enterprise\_sonic\.sonic\_copp \- Manage CoPP configuration on SONiC +* dellemc\.enterprise\_sonic\.sonic\_dhcp\_relay \- Manage DHCP and DHCPv6 relay configurations on SONiC +* dellemc\.enterprise\_sonic\.sonic\_ip\_neighbor \- Manage IP neighbor global configuration on SONiC +* dellemc\.enterprise\_sonic\.sonic\_l2\_acls \- Manage Layer 2 access control lists \(ACL\) configurations on SONiC +* dellemc\.enterprise\_sonic\.sonic\_l3\_acls \- Manage Layer 3 access control lists \(ACL\) configurations on SONiC +* dellemc\.enterprise\_sonic\.sonic\_lldp\_global \- Manage Global LLDP configurations on SONiC +* dellemc\.enterprise\_sonic\.sonic\_logging \- Manage logging configuration on SONiC +* dellemc\.enterprise\_sonic\.sonic\_mac \- Manage MAC configuration on SONiC +* dellemc\.enterprise\_sonic\.sonic\_port\_group \- Manages port group configuration on SONiC +* dellemc\.enterprise\_sonic\.sonic\_route\_maps \- route map configuration handling for SONiC +* dellemc\.enterprise\_sonic\.sonic\_vlan\_mapping \- Configure vlan mappings on SONiC + + +#### dellemc\.openmanage + +* dellemc\.openmanage\.idrac\_network\_attributes \- This module allows you to configure the port and partition network attributes on the network interface cards\. +* dellemc\.openmanage\.ome\_alert\_policies \- Manage OME alert policies\. +* dellemc\.openmanage\.ome\_alert\_policies\_action\_info \- Get information on actions of alert policies\. +* dellemc\.openmanage\.ome\_alert\_policies\_category\_info \- Retrieves information of all OME alert policy categories\. +* dellemc\.openmanage\.ome\_alert\_policies\_info \- Retrieves information of one or more OME alert policies\. +* dellemc\.openmanage\.ome\_alert\_policies\_message\_id\_info \- Get message ID information of alert policies\. +* dellemc\.openmanage\.redfish\_firmware\_rollback \- To perform a component firmware rollback using component name\. + + +#### dellemc\.powerflex + +* dellemc\.powerflex\.snapshot\_policy \- Manage snapshot policies on Dell PowerFlex + + +#### dellemc\.unity + +* dellemc\.unity\.replication\_session \- Manage replication session on the Unity storage system + + +#### f5networks\.f5\_modules + +* f5networks\.f5\_modules\.bigip\_provision\_async \- Manage BIG\-IP module provisioning + + +#### fortinet\.fortimanager + +* fortinet\.fortimanager\.fmgr\_application\_casi\_profile \- Cloud Access Security Inspection\. +* fortinet\.fortimanager\.fmgr\_application\_casi\_profile\_entries \- Application entries\. +* fortinet\.fortimanager\.fmgr\_application\_internetservice \- Show Internet service application\. +* fortinet\.fortimanager\.fmgr\_application\_internetservice\_entry \- Entries in the Internet service database\. +* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom \- Configure custom Internet service applications\. +* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_disableentry \- Disable entries in the Internet service database\. +* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_disableentry\_iprange \- IP ranges in the disable entry\. +* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_entry \- Entries added to the Internet service database and custom database\. +* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_entry\_portrange \- Port ranges in the custom entry\. +* fortinet\.fortimanager\.fmgr\_casb\_profile \- Configure CASB profile\. +* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication \- CASB profile SaaS application\. +* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication\_accessrule \- CASB profile access rule\. +* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication\_customcontrol \- CASB profile custom control\. +* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication\_customcontrol\_option \- CASB custom control option\. +* fortinet\.fortimanager\.fmgr\_casb\_saasapplication \- Configure CASB SaaS application\. +* fortinet\.fortimanager\.fmgr\_casb\_useractivity \- Configure CASB user activity\. +* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_controloptions \- CASB control options\. +* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_controloptions\_operations \- CASB control option operations\. +* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_match \- CASB user activity match rules\. +* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_match\_rules \- CASB user activity rules\. +* fortinet\.fortimanager\.fmgr\_cloud\_orchestaws \- no description +* fortinet\.fortimanager\.fmgr\_cloud\_orchestawsconnector \- no description +* fortinet\.fortimanager\.fmgr\_cloud\_orchestawstemplate\_autoscaleexistingvpc \- no description +* fortinet\.fortimanager\.fmgr\_cloud\_orchestawstemplate\_autoscalenewvpc \- no description +* fortinet\.fortimanager\.fmgr\_cloud\_orchestawstemplate\_autoscaletgwnewvpc \- no description +* fortinet\.fortimanager\.fmgr\_cloud\_orchestration \- no description +* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_filter\_excludelist \- no description +* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_filter\_excludelist\_fields \- no description +* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_filter\_freestyle \- Free style filters\. +* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_setting\_customfieldname \- Custom field name for CEF format logging\. +* fortinet\.fortimanager\.fmgr\_dnsfilter\_profile\_urlfilter \- URL filter settings\. +* fortinet\.fortimanager\.fmgr\_dnsfilter\_urlfilter \- Configure URL filter list\. +* fortinet\.fortimanager\.fmgr\_dnsfilter\_urlfilter\_entries \- DNS URL filter\. +* fortinet\.fortimanager\.fmgr\_dvmdb\_upgrade \- no description +* fortinet\.fortimanager\.fmgr\_emailfilter\_profile\_yahoomail \- Yahoo\! Mail\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_dataplan \- FortiExtender dataplan configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile \- FortiExtender extender profile configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular \- FortiExtender cellular configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_controllerreport \- FortiExtender controller report configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem1 \- Configuration options for modem 1\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem1\_autoswitch \- FortiExtender auto switch configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem2 \- Configuration options for modem 2\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem2\_autoswitch \- FortiExtender auto switch configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_smsnotification \- FortiExtender cellular SMS notification configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_smsnotification\_alert \- SMS alert list\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_smsnotification\_receiver \- SMS notification receiver list\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_lanextension \- FortiExtender lan extension configuration\. +* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_lanextension\_backhaul \- LAN extension backhaul tunnel configuration\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6 \- Configure IPv6 access proxy\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway \- Set IPv4 API Gateway\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6 \- Set IPv6 API Gateway\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6\_quic \- QUIC setting\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6\_realservers \- Select the real servers that this Access Proxy will distribute traffic to\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6\_sslciphersuites \- SSL/TLS cipher suites to offer to a server\, ordered by priority\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway\_quic \- QUIC setting\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway\_realservers \- Select the real servers that this Access Proxy will distribute traffic to\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway\_sslciphersuites \- SSL/TLS cipher suites to offer to a server\, ordered by priority\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy\_apigateway6\_quic \- QUIC setting\. +* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy\_apigateway\_quic \- QUIC setting\. +* fortinet\.fortimanager\.fmgr\_firewall\_address6\_profilelist \- List of NSX service profiles that use this address\. +* fortinet\.fortimanager\.fmgr\_firewall\_address\_profilelist \- List of NSX service profiles that use this address\. +* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile \- no description +* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication \- no description +* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication\_accessrule \- no description +* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication\_customcontrol \- no description +* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication\_customcontrol\_option \- no description +* fortinet\.fortimanager\.fmgr\_firewall\_explicitproxyaddress \- Explicit web proxy address configuration\. +* fortinet\.fortimanager\.fmgr\_firewall\_explicitproxyaddress\_headergroup \- HTTP header group\. +* fortinet\.fortimanager\.fmgr\_firewall\_explicitproxyaddrgrp \- Explicit web proxy address group configuration\. +* fortinet\.fortimanager\.fmgr\_firewall\_gtp\_messagefilter \- Message filter\. +* fortinet\.fortimanager\.fmgr\_firewall\_ippoolgrp \- Configure IPv4 pool groups\. +* fortinet\.fortimanager\.fmgr\_firewall\_networkservicedynamic \- Configure Dynamic Network Services\. +* fortinet\.fortimanager\.fmgr\_firewall\_vendormac \- Show vendor and the MAC address they have\. +* fortinet\.fortimanager\.fmgr\_firewall\_vip\_quic \- QUIC setting\. +* fortinet\.fortimanager\.fmgr\_fmg\_fabric\_authorization\_template \- no description +* fortinet\.fortimanager\.fmgr\_fmg\_fabric\_authorization\_template\_platforms \- no description +* fortinet\.fortimanager\.fmgr\_fmupdate\_fwmsetting\_upgradetimeout \- Configure the timeout value of image upgrade process\. +* fortinet\.fortimanager\.fmgr\_fsp\_vlan\_dynamicmapping\_interface\_vrrp \- VRRP configuration\. +* fortinet\.fortimanager\.fmgr\_fsp\_vlan\_dynamicmapping\_interface\_vrrp\_proxyarp \- VRRP Proxy ARP configuration\. +* fortinet\.fortimanager\.fmgr\_fsp\_vlan\_interface\_vrrp\_proxyarp \- VRRP Proxy ARP configuration\. +* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor \- Configure IPS sensor\. +* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_entries \- IPS sensor filter\. +* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_entries\_exemptip \- Traffic from selected source or destination IP addresses is exempt from this signature\. +* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_filter \- no description +* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_override \- no description +* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_override\_exemptip \- no description +* fortinet\.fortimanager\.fmgr\_log\_npuserver \- Configure all the log servers and create the server groups\. +* fortinet\.fortimanager\.fmgr\_log\_npuserver\_servergroup \- create server group\. +* fortinet\.fortimanager\.fmgr\_log\_npuserver\_serverinfo \- configure server info\. +* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_explicitproxypolicy \- Configure Explicit proxy policies\. +* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_explicitproxypolicy\_identitybasedpolicy \- Identity\-based policy\. +* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_explicitproxypolicy\_sectionvalue \- Configure Explicit proxy policies\. +* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy \- Configure IPv4/IPv6 policies\. +* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy46 \- Configure IPv4 to IPv6 policies\. +* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy6 \- Configure IPv6 policies\. +* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy64 \- Configure IPv6 to IPv4 policies\. +* fortinet\.fortimanager\.fmgr\_pkg\_user\_nacpolicy \- Configure NAC policy matching pattern to identify matching NAC devices\. +* fortinet\.fortimanager\.fmgr\_pm\_config\_meta\_reference \- no description +* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_consolidated\_policy \- Configure consolidated IPv4/IPv6 policies\. +* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_consolidated\_policy\_sectionvalue \- Configure consolidated IPv4/IPv6 policies\. +* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_policy6 \- Configure IPv6 policies\. +* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_policy6\_sectionvalue \- Configure IPv6 policies\. +* fortinet\.fortimanager\.fmgr\_pm\_devprof\_scopemember \- no description +* fortinet\.fortimanager\.fmgr\_pm\_pkg\_scopemember \- Policy package or folder\. +* fortinet\.fortimanager\.fmgr\_pm\_wanprof\_scopemember \- no description +* fortinet\.fortimanager\.fmgr\_securityconsole\_install\_objects\_v2 \- no description +* fortinet\.fortimanager\.fmgr\_securityconsole\_template\_cli\_preview \- no description +* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_group \- Configure ACL groups to be applied on managed FortiSwitch ports\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_ingress \- Configure ingress ACL policies to be applied on managed FortiSwitch ports\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_ingress\_action \- ACL actions\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_ingress\_classifier \- ACL classifiers\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_dynamicportpolicy \- Configure Dynamic port policy to be applied on the managed FortiSwitch ports through DPP device\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_dynamicportpolicy\_policy \- Port policies with matching criteria and actions\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_fortilinksettings \- Configure integrated FortiLink settings for FortiSwitch\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_fortilinksettings\_nacports \- NAC specific configuration\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_macpolicy \- Configure MAC policy to be applied on the managed FortiSwitch devices through NAC device\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_dhcpsnoopingstaticclient \- Configure FortiSwitch DHCP snooping static clients\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_ports\_dhcpsnoopoption82override \- Configure DHCP snooping option 82 override\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_routeoffloadrouter \- Configure route offload MCLAG IP address\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_staticmac \- Configuration method to edit FortiSwitch Static and Sticky MAC\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_stpinstance \- Configuration method to edit Spanning Tree Protocol +* fortinet\.fortimanager\.fmgr\_switchcontroller\_ptp\_profile \- Global PTP profile\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_switchinterfacetag \- Configure switch object tags\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_trafficpolicy \- Configure FortiSwitch traffic policy\. +* fortinet\.fortimanager\.fmgr\_switchcontroller\_vlanpolicy \- Configure VLAN policy to be applied on the managed FortiSwitch ports through dynamic\-port\-policy\. +* fortinet\.fortimanager\.fmgr\_sys\_cloud\_orchest \- no description +* fortinet\.fortimanager\.fmgr\_system\_csf \- Add this device to a Security Fabric or set up a new Security Fabric on this device\. +* fortinet\.fortimanager\.fmgr\_system\_csf\_fabricconnector \- Fabric connector configuration\. +* fortinet\.fortimanager\.fmgr\_system\_csf\_trustedlist \- Pre\-authorized and blocked security fabric nodes\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_backgroundssescan \- Configure driver background scan for SSE\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_dosoptions \- NPU DoS configurations\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_dswdtsprofile \- Configure NPU DSW DTS profile\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_dswqueuedtsprofile \- Configure NPU DSW Queue DTS profile\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_hpe \- Host protection engine configuration\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_ipreassembly \- IP reassebmly engine configuration\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues \- Configure queue assignment on NP7\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_ethernettype \- Configure a NP7 QoS Ethernet Type\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_ipprotocol \- Configure a NP7 QoS IP Protocol\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_ipservice \- Configure a NP7 QoS IP Service\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_profile \- Configure a NP7 class profile\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_scheduler \- Configure a NP7 QoS Scheduler\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_portpathoption \- Configure port using NPU or Intel\-NIC\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_ssehascan \- Configure driver HA scan for SSE\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_swtrhash \- Configure switch traditional hashing\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_tcptimeoutprofile \- Configure TCP timeout profile\. +* fortinet\.fortimanager\.fmgr\_system\_npu\_udptimeoutprofile \- Configure UDP timeout profile\. +* fortinet\.fortimanager\.fmgr\_system\_objecttag \- Configure object tags\. +* fortinet\.fortimanager\.fmgr\_system\_sdnconnector\_compartmentlist \- Configure OCI compartment list\. +* fortinet\.fortimanager\.fmgr\_system\_sdnconnector\_ociregionlist \- Configure OCI region list\. +* fortinet\.fortimanager\.fmgr\_system\_sdnproxy \- Configure SDN proxy\. +* fortinet\.fortimanager\.fmgr\_system\_socfabric\_trustedlist \- Pre\-authorized security fabric nodes +* fortinet\.fortimanager\.fmgr\_um\_image\_upgrade \- The older API for updating the firmware of specific device\. +* fortinet\.fortimanager\.fmgr\_um\_image\_upgrade\_ext \- Update the firmware of specific device\. +* fortinet\.fortimanager\.fmgr\_user\_certificate \- Configure certificate users\. +* fortinet\.fortimanager\.fmgr\_user\_deviceaccesslist \- Configure device access control lists\. +* fortinet\.fortimanager\.fmgr\_user\_deviceaccesslist\_devicelist \- Device list\. +* fortinet\.fortimanager\.fmgr\_user\_flexvm \- no description +* fortinet\.fortimanager\.fmgr\_user\_json \- no description +* fortinet\.fortimanager\.fmgr\_user\_saml\_dynamicmapping \- SAML server entry configuration\. +* fortinet\.fortimanager\.fmgr\_virtualpatch\_profile \- Configure virtual\-patch profile\. +* fortinet\.fortimanager\.fmgr\_virtualpatch\_profile\_exemption \- Exempt devices or rules\. +* fortinet\.fortimanager\.fmgr\_vpnsslweb\_portal\_landingpage \- Landing page options\. +* fortinet\.fortimanager\.fmgr\_vpnsslweb\_portal\_landingpage\_formdata \- Form data\. +* fortinet\.fortimanager\.fmgr\_vpnsslweb\_virtualdesktopapplist \- SSL\-VPN virtual desktop application list\. +* fortinet\.fortimanager\.fmgr\_vpnsslweb\_virtualdesktopapplist\_apps \- Applications\. +* fortinet\.fortimanager\.fmgr\_wireless\_accesscontrollist \- Configure WiFi bridge access control list\. +* fortinet\.fortimanager\.fmgr\_wireless\_accesscontrollist\_layer3ipv4rules \- AP ACL layer3 ipv4 rule list\. +* fortinet\.fortimanager\.fmgr\_wireless\_accesscontrollist\_layer3ipv6rules \- AP ACL layer3 ipv6 rule list\. +* fortinet\.fortimanager\.fmgr\_wireless\_address \- Configure the client with its MAC address\. +* fortinet\.fortimanager\.fmgr\_wireless\_addrgrp \- Configure the MAC address group\. +* fortinet\.fortimanager\.fmgr\_wireless\_ssidpolicy \- Configure WiFi SSID policies\. +* fortinet\.fortimanager\.fmgr\_wireless\_syslogprofile \- Configure Wireless Termination Points + + +#### inspur\.ispim + +* inspur\.ispim\.hba\_info \- Get CPU information +* inspur\.ispim\.update\_psu \- Update PSU + + +#### netapp\.ontap + +* netapp\.ontap\.na\_ontap\_active\_directory\_domain\_controllers \- NetApp ONTAP configure active directory preferred domain controllers +* netapp\.ontap\.na\_ontap\_ems\_config \- NetApp ONTAP module to modify EMS configuration\. + + +#### netbox\.netbox + +* netbox\.netbox\.netbox\_config\_template \- Creates\, updates\, or removed a config template from NetBox + + +#### ngine\_io\.exoscale + +* ngine\_io\.exoscale\.instance\_rdns\_record \- Manages reverse DNS records for Exoscale compute instances\. + + +#### purestorage\.flasharray + +* purestorage\.flasharray\.purefa\_file \- Manage FlashArray File Copies +* purestorage\.flasharray\.purefa\_logging \- Manage Pure Storage FlashArray Audit and Session logs + + +#### sensu\.sensu\_go + +* sensu\.sensu\_go\.pipeline \- Manage Sensu pipelines\. +* sensu\.sensu\_go\.pipeline\_info \- List Sensu pipelines\. + + +#### t\_systems\_mms\.icinga\_director + +* t\_systems\_mms\.icinga\_director\.icinga\_deploy \- Trigger deployment in Icinga2 +* t\_systems\_mms\.icinga\_director\.icinga\_deploy\_info \- Get deployment information through the director API + + +#### theforeman\.foreman + +* theforeman\.foreman\.smart\_class\_parameter\_override\_value \- Manage Smart Class Parameter Override Values +* theforeman\.foreman\.wait\_for\_task \- Wait for a task + + +#### vultr\.cloud + +* vultr\.cloud\.bare\_metal \- Manages bare metal machines on Vultr\. +* vultr\.cloud\.vpc2 \- Manages VPCs 2\.0 on Vultr +* vultr\.cloud\.vpc2\_info \- Gather information about the Vultr VPCs 2\.0 + + +### New Roles + +* dellemc\.openmanage\.idrac\_attributes \- Role to configure iDRAC attributes\. +* dellemc\.openmanage\.idrac\_bios \- Role to modify BIOS attributes\, clear pending BIOS attributes\, and reset the BIOS to default settings\. +* dellemc\.openmanage\.idrac\_boot \- Configure the boot order settings +* dellemc\.openmanage\.idrac\_job\_queue \- Role to manage the iDRAC lifecycle controller job queue\. +* dellemc\.openmanage\.idrac\_reset \- Role to reset and restart iDRAC \(iDRAC8 and iDRAC9 only\) for Dell PowerEdge servers\. +* dellemc\.openmanage\.idrac\_storage\_controller \- Role to configure the physical disk\, virtual disk\, and storage controller settings on iDRAC9 based PowerEdge servers\. + + +### Unchanged Collections + +* ansible\.posix \(still version 1\.5\.4\) +* community\.azure \(still version 2\.0\.0\) +* community\.okd \(still version 2\.3\.0\) +* community\.proxysql \(still version 1\.5\.1\) +* community\.rabbitmq \(still version 1\.2\.3\) +* community\.sap\_libs \(still version 1\.4\.1\) +* frr\.frr \(still version 2\.0\.2\) +* gluster\.gluster \(still version 1\.0\.2\) +* hpe\.nimble \(still version 1\.1\.4\) +* ibm\.qradar \(still version 2\.1\.0\) +* infinidat\.infinibox \(still version 1\.3\.12\) +* infoblox\.nios\_modules \(still version 1\.5\.0\) +* inspur\.sm \(still version 2\.3\.0\) +* kubernetes\.core \(still version 2\.4\.0\) +* netapp\.elementsw \(still version 21\.7\.0\) +* netapp\.storagegrid \(still version 21\.11\.1\) +* netapp\_eseries\.santricity \(still version 1\.4\.0\) +* ngine\_io\.cloudstack \(still version 2\.3\.0\) +* openstack\.cloud \(still version 2\.1\.0\) +* openvswitch\.openvswitch \(still version 2\.1\.1\) +* splunk\.es \(still version 2\.1\.0\) +* vmware\.vmware\_rest \(still version 2\.3\.1\) diff --git a/9/CHANGELOG-v9.rst b/9/CHANGELOG-v9.rst index 8a0fec542b..31f5de8fee 100644 --- a/9/CHANGELOG-v9.rst +++ b/9/CHANGELOG-v9.rst @@ -5,7 +5,6 @@ Ansible 9 Release Notes This changelog describes changes since Ansible 8.0.0. .. contents:: - :local: :depth: 2 v9.2.0 @@ -1466,7 +1465,6 @@ Ansible-core Ansible 9.0.1 contains ansible-core version 2.16.0. This is the same version of ansible-core as in the previous Ansible release. - Bugfixes -------- diff --git a/9/porting_guide_9.rst b/9/porting_guide_9.rst index 9d9f3292e6..cc544d74e0 100644 --- a/9/porting_guide_9.rst +++ b/9/porting_guide_9.rst @@ -8,15 +8,12 @@ Ansible 9 Porting Guide ======================= .. contents:: - :local: :depth: 2 Ansible 9 is based on Ansible-core 2.16. - -We suggest you read this page along with the `Ansible 9 Changelog `_ to understand what updates you may need to make. - +We suggest you read this page along with the `Ansible 9 Changelog `_ to understand what updates you may need to make. Playbook ======== @@ -87,7 +84,6 @@ Porting custom scripts Networking ========== - Porting Guide for v9.2.0 ========================