diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 2f4ff900d8..f71b322d2a 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -9,3 +9,7 @@ updates:
directory: "/"
schedule:
interval: "weekly"
+ groups:
+ ci:
+ patterns:
+ - "*"
diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml
index c5b26dba9a..c8d2cb6184 100644
--- a/.github/workflows/ansible-test.yml
+++ b/.github/workflows/ansible-test.yml
@@ -30,11 +30,6 @@ jobs:
matrix:
ansible:
- '2.15'
- # Ansible-test on various stable branches does not yet work well with cgroups v2.
- # Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
- # image for these stable branches. The list of branches where this is necessary will
- # shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
- # for the latest list.
runs-on: ubuntu-latest
steps:
- name: Perform sanity testing
@@ -49,11 +44,6 @@ jobs:
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
units:
- # Ansible-test on various stable branches does not yet work well with cgroups v2.
- # Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
- # image for these stable branches. The list of branches where this is necessary will
- # shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
- # for the latest list.
runs-on: ubuntu-latest
name: EOL Units (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
strategy:
@@ -92,11 +82,6 @@ jobs:
testing-type: units
integration:
- # Ansible-test on various stable branches does not yet work well with cgroups v2.
- # Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
- # image for these stable branches. The list of branches where this is necessary will
- # shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
- # for the latest list.
runs-on: ubuntu-latest
name: EOL I (Ⓐ${{ matrix.ansible }}+${{ matrix.docker }}+py${{ matrix.python }}:${{ matrix.target }})
strategy:
diff --git a/.reuse/dep5 b/.reuse/dep5
deleted file mode 100644
index 0c3745ebf8..0000000000
--- a/.reuse/dep5
+++ /dev/null
@@ -1,5 +0,0 @@
-Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-
-Files: changelogs/fragments/*
-Copyright: Ansible Project
-License: GPL-3.0-or-later
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3608353706..b35c52441b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,993 +1,5 @@
-# Community General Release Notes
+# Placeholder changelog
-**Topics**
-
-- v10\.5\.0
- - Release Summary
- - Minor Changes
- - Bugfixes
- - New Modules
-- v10\.4\.0
- - Release Summary
- - Minor Changes
- - Deprecated Features
- - Bugfixes
- - New Modules
-- v10\.3\.1
- - Release Summary
- - Minor Changes
- - Bugfixes
-- v10\.3\.0
- - Release Summary
- - Minor Changes
- - Deprecated Features
- - Security Fixes
- - Bugfixes
- - New Plugins
- - Connection
- - Filter
- - Lookup
- - New Modules
-- v10\.2\.0
- - Release Summary
- - Minor Changes
- - Deprecated Features
- - Security Fixes
- - Bugfixes
- - New Plugins
- - Inventory
- - New Modules
-- v10\.1\.0
- - Release Summary
- - Minor Changes
- - Deprecated Features
- - Bugfixes
- - New Plugins
- - Filter
- - New Modules
-- v10\.0\.1
- - Release Summary
- - Bugfixes
-- v10\.0\.0
- - Release Summary
- - Minor Changes
- - Breaking Changes / Porting Guide
- - Deprecated Features
- - Removed Features \(previously deprecated\)
- - Bugfixes
- - Known Issues
- - New Plugins
- - Filter
- - Test
- - New Modules
-This changelog describes changes after version 9\.0\.0\.
-
-
-## v10\.5\.0
-
-
-### Release Summary
-
-Regular bugfix and feature release\.
-
-
-### Minor Changes
-
-* CmdRunner module utils \- the convenience method cmd\_runner\_fmt\.as\_fixed\(\)
now accepts multiple arguments as a list \([https\://github\.com/ansible\-collections/community\.general/pull/9893](https\://github\.com/ansible\-collections/community\.general/pull/9893)\)\.
-* apache2\_mod\_proxy \- code simplification\, no change in functionality \([https\://github\.com/ansible\-collections/community\.general/pull/9457](https\://github\.com/ansible\-collections/community\.general/pull/9457)\)\.
-* consul\_token \- fix idempotency when policies
or roles
are supplied by name \([https\://github\.com/ansible\-collections/community\.general/issues/9841](https\://github\.com/ansible\-collections/community\.general/issues/9841)\, [https\://github\.com/ansible\-collections/community\.general/pull/9845](https\://github\.com/ansible\-collections/community\.general/pull/9845)\)\.
-* keycloak\_realm \- remove ID requirement when creating a realm to allow Keycloak generating its own realm ID \([https\://github\.com/ansible\-collections/community\.general/pull/9768](https\://github\.com/ansible\-collections/community\.general/pull/9768)\)\.
-* nmap inventory plugin \- adds dns\_servers
option for specifying DNS servers for name resolution\. Accepts hostnames or IP addresses in the same format as the exclude
option \([https\://github\.com/ansible\-collections/community\.general/pull/9849](https\://github\.com/ansible\-collections/community\.general/pull/9849)\)\.
-* proxmox\_kvm \- add missing audio hardware device handling \([https\://github\.com/ansible\-collections/community\.general/issues/5192](https\://github\.com/ansible\-collections/community\.general/issues/5192)\, [https\://github\.com/ansible\-collections/community\.general/pull/9847](https\://github\.com/ansible\-collections/community\.general/pull/9847)\)\.
-* redfish\_config \- add command SetPowerRestorePolicy
to set the desired power state of the system when power is restored \([https\://github\.com/ansible\-collections/community\.general/pull/9837](https\://github\.com/ansible\-collections/community\.general/pull/9837)\)\.
-* redfish\_info \- add command GetPowerRestorePolicy
to get the desired power state of the system when power is restored \([https\://github\.com/ansible\-collections/community\.general/pull/9824](https\://github\.com/ansible\-collections/community\.general/pull/9824)\)\.
-* rocketchat \- option is\_pre740
has been added to control the format of the payload\. For Rocket\.Chat 7\.4\.0 or newer\, it must be set to false
\([https\://github\.com/ansible\-collections/community\.general/pull/9882](https\://github\.com/ansible\-collections/community\.general/pull/9882)\)\.
-* slack callback plugin \- add http\_agent
option to enable the user to set a custom user agent for slack callback plugin \([https\://github\.com/ansible\-collections/community\.general/issues/9813](https\://github\.com/ansible\-collections/community\.general/issues/9813)\, [https\://github\.com/ansible\-collections/community\.general/pull/9836](https\://github\.com/ansible\-collections/community\.general/pull/9836)\)\.
-* systemd\_info \- add wildcard expression support in unitname
option \([https\://github\.com/ansible\-collections/community\.general/pull/9821](https\://github\.com/ansible\-collections/community\.general/pull/9821)\)\.
-* systemd\_info \- extend support to timer units \([https\://github\.com/ansible\-collections/community\.general/pull/9891](https\://github\.com/ansible\-collections/community\.general/pull/9891)\)\.
-* vmadm \- add new options flexible\_disk\_size
and owner\_uuid
\([https\://github\.com/ansible\-collections/community\.general/pull/9892](https\://github\.com/ansible\-collections/community\.general/pull/9892)\)\.
-
-
-### Bugfixes
-
-* cloudlare\_dns \- handle exhausted response stream in case of HTTP errors to show nice error message to the user \([https\://github\.com/ansible\-collections/community\.general/issues/9782](https\://github\.com/ansible\-collections/community\.general/issues/9782)\, [https\://github\.com/ansible\-collections/community\.general/pull/9818](https\://github\.com/ansible\-collections/community\.general/pull/9818)\)\.
-* dnf\_versionlock \- add support for dnf5 \([https\://github\.com/ansible\-collections/community\.general/issues/9556](https\://github\.com/ansible\-collections/community\.general/issues/9556)\)\.
-* homebrew \- fix crash when package names include tap \([https\://github\.com/ansible\-collections/community\.general/issues/9777](https\://github\.com/ansible\-collections/community\.general/issues/9777)\, [https\://github\.com/ansible\-collections/community\.general/pull/9803](https\://github\.com/ansible\-collections/community\.general/pull/9803)\)\.
-* homebrew\_cask \- handle unusual brew version strings \([https\://github\.com/ansible\-collections/community\.general/issues/8432](https\://github\.com/ansible\-collections/community\.general/issues/8432)\, [https\://github\.com/ansible\-collections/community\.general/pull/9881](https\://github\.com/ansible\-collections/community\.general/pull/9881)\)\.
-* nmcli \- enable changing only the order of DNS servers or search suffixes \([https\://github\.com/ansible\-collections/community\.general/issues/8724](https\://github\.com/ansible\-collections/community\.general/issues/8724)\, [https\://github\.com/ansible\-collections/community\.general/pull/9880](https\://github\.com/ansible\-collections/community\.general/pull/9880)\)\.
-* proxmox \- add missing key selection of \'status\'
key to get\_lxc\_status
\([https\://github\.com/ansible\-collections/community\.general/issues/9696](https\://github\.com/ansible\-collections/community\.general/issues/9696)\, [https\://github\.com/ansible\-collections/community\.general/pull/9809](https\://github\.com/ansible\-collections/community\.general/pull/9809)\)\.
-* proxmox\_vm\_info \- the module no longer expects that the key template
exists in a dictionary returned by Proxmox \([https\://github\.com/ansible\-collections/community\.general/issues/9875](https\://github\.com/ansible\-collections/community\.general/issues/9875)\, [https\://github\.com/ansible\-collections/community\.general/pull/9910](https\://github\.com/ansible\-collections/community\.general/pull/9910)\)\.
-* sudoers \- display stdout and stderr raised while failed validation \([https\://github\.com/ansible\-collections/community\.general/issues/9674](https\://github\.com/ansible\-collections/community\.general/issues/9674)\, [https\://github\.com/ansible\-collections/community\.general/pull/9871](https\://github\.com/ansible\-collections/community\.general/pull/9871)\)\.
-
-
-### New Modules
-
-* community\.general\.pacemaker\_resource \- Manage pacemaker resources\.
-
-
-## v10\.4\.0
-
-
-### Release Summary
-
-Regular bugfix and feature release\.
-
-
-### Minor Changes
-
-* bitwarden lookup plugin \- add new option collection\_name
to filter results by collection name\, and new option result\_count
to validate number of results \([https\://github\.com/ansible\-collections/community\.general/pull/9728](https\://github\.com/ansible\-collections/community\.general/pull/9728)\)\.
-* incus connection plugin \- adds remote\_user
and incus\_become\_method
parameters for allowing a non\-root user to connect to an Incus instance \([https\://github\.com/ansible\-collections/community\.general/pull/9743](https\://github\.com/ansible\-collections/community\.general/pull/9743)\)\.
-* iocage inventory plugin \- the new parameter hooks\_results
of the plugin is a list of files inside a jail that provide configuration parameters for the inventory\. The inventory plugin reads the files from the jails and put the contents into the items of created variable iocage\_hooks
\([https\://github\.com/ansible\-collections/community\.general/issues/9650](https\://github\.com/ansible\-collections/community\.general/issues/9650)\, [https\://github\.com/ansible\-collections/community\.general/pull/9651](https\://github\.com/ansible\-collections/community\.general/pull/9651)\)\.
-* jira \- adds client\_cert
and client\_key
parameters for supporting client certificate authentification when connecting to Jira \([https\://github\.com/ansible\-collections/community\.general/pull/9753](https\://github\.com/ansible\-collections/community\.general/pull/9753)\)\.
-* lldp \- adds multivalues
parameter to control behavior when lldpctl outputs an attribute multiple times \([https\://github\.com/ansible\-collections/community\.general/pull/9657](https\://github\.com/ansible\-collections/community\.general/pull/9657)\)\.
-* lvg \- add remove\_extra\_pvs
parameter to control if ansible should remove physical volumes which are not in the pvs
parameter \([https\://github\.com/ansible\-collections/community\.general/pull/9698](https\://github\.com/ansible\-collections/community\.general/pull/9698)\)\.
-* lxd connection plugin \- adds remote\_user
and lxd\_become\_method
parameters for allowing a non\-root user to connect to an LXD instance \([https\://github\.com/ansible\-collections/community\.general/pull/9659](https\://github\.com/ansible\-collections/community\.general/pull/9659)\)\.
-* nmcli \- adds VRF support with new type
value vrf
and new slave\_type
value vrf
as well as new table
parameter \([https\://github\.com/ansible\-collections/community\.general/pull/9658](https\://github\.com/ansible\-collections/community\.general/pull/9658)\, [https\://github\.com/ansible\-collections/community\.general/issues/8014](https\://github\.com/ansible\-collections/community\.general/issues/8014)\)\.
-* proxmox\_kvm \- allow hibernation and suspending of VMs \([https\://github\.com/ansible\-collections/community\.general/issues/9620](https\://github\.com/ansible\-collections/community\.general/issues/9620)\, [https\://github\.com/ansible\-collections/community\.general/pull/9653](https\://github\.com/ansible\-collections/community\.general/pull/9653)\)\.
-* redfish\_command \- add PowerFullPowerCycle
to power command options \([https\://github\.com/ansible\-collections/community\.general/pull/9729](https\://github\.com/ansible\-collections/community\.general/pull/9729)\)\.
-* ssh\_config \- add other\_options
option \([https\://github\.com/ansible\-collections/community\.general/issues/8053](https\://github\.com/ansible\-collections/community\.general/issues/8053)\, [https\://github\.com/ansible\-collections/community\.general/pull/9684](https\://github\.com/ansible\-collections/community\.general/pull/9684)\)\.
-* xen\_orchestra inventory plugin \- add use\_vm\_uuid
and use\_host\_uuid
boolean options to allow switching over to using VM/Xen name labels instead of UUIDs as item names \([https\://github\.com/ansible\-collections/community\.general/pull/9787](https\://github\.com/ansible\-collections/community\.general/pull/9787)\)\.
-
-
-### Deprecated Features
-
-* profitbricks \- module is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9733](https\://github\.com/ansible\-collections/community\.general/pull/9733)\)\.
-* profitbricks\_datacenter \- module is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9733](https\://github\.com/ansible\-collections/community\.general/pull/9733)\)\.
-* profitbricks\_nic \- module is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9733](https\://github\.com/ansible\-collections/community\.general/pull/9733)\)\.
-* profitbricks\_volume \- module is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9733](https\://github\.com/ansible\-collections/community\.general/pull/9733)\)\.
-* profitbricks\_volume\_attachments \- module is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9733](https\://github\.com/ansible\-collections/community\.general/pull/9733)\)\.
-
-
-### Bugfixes
-
-* apache2\_mod\_proxy \- make compatible with Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9762](https\://github\.com/ansible\-collections/community\.general/pull/9762)\)\.
-* apache2\_mod\_proxy \- passing the cluster\'s page as referer for the member\'s pages\. This makes the module actually work again for halfway modern Apache versions\. According to some comments founds on the net the referer was required since at least 2019 for some versions of Apache 2 \([https\://github\.com/ansible\-collections/community\.general/pull/9762](https\://github\.com/ansible\-collections/community\.general/pull/9762)\)\.
-* elasticsearch\_plugin \- fix ERROR\: D is not a recognized option
issue when configuring proxy settings \([https\://github\.com/ansible\-collections/community\.general/pull/9774](https\://github\.com/ansible\-collections/community\.general/pull/9774)\, [https\://github\.com/ansible\-collections/community\.general/issues/9773](https\://github\.com/ansible\-collections/community\.general/issues/9773)\)\.
-* ipa\_host \- module revoked existing host certificates even if user\_certificate
was not given \([https\://github\.com/ansible\-collections/community\.general/pull/9694](https\://github\.com/ansible\-collections/community\.general/pull/9694)\)\.
-* keycloak\_client \- in check mode\, detect whether the lists in before client \(for example redirect URI list\) contain items that the lists in the desired client do not contain \([https\://github\.com/ansible\-collections/community\.general/pull/9739](https\://github\.com/ansible\-collections/community\.general/pull/9739)\)\.
-* lldp \- fix crash caused by certain lldpctl output where an attribute is defined as branch and leaf \([https\://github\.com/ansible\-collections/community\.general/pull/9657](https\://github\.com/ansible\-collections/community\.general/pull/9657)\)\.
-* onepassword\_doc lookup plugin \- ensure that 1Password Connect support also works for this plugin \([https\://github\.com/ansible\-collections/community\.general/pull/9625](https\://github\.com/ansible\-collections/community\.general/pull/9625)\)\.
-* passwordstore lookup plugin \- fix subkey creation even when create\=false
\([https\://github\.com/ansible\-collections/community\.general/issues/9105](https\://github\.com/ansible\-collections/community\.general/issues/9105)\, [https\://github\.com/ansible\-collections/community\.general/pull/9106](https\://github\.com/ansible\-collections/community\.general/pull/9106)\)\.
-* proxmox inventory plugin \- plugin did not update cache correctly after meta\: refresh\_inventory
\([https\://github\.com/ansible\-collections/community\.general/issues/9710](https\://github\.com/ansible\-collections/community\.general/issues/9710)\, [https\://github\.com/ansible\-collections/community\.general/pull/9760](https\://github\.com/ansible\-collections/community\.general/pull/9760)\)\.
-* redhat\_subscription \- use the \"enable\_content\" option \(when available\) when
- registering using D\-Bus\, to ensure that subscription\-manager enables the
- content on registration\; this is particular important on EL 10\+ and Fedora
- 41\+
- \([https\://github\.com/ansible\-collections/community\.general/pull/9778](https\://github\.com/ansible\-collections/community\.general/pull/9778)\)\.
-* zfs \- fix handling of multi\-line values of user\-defined ZFS properties \([https\://github\.com/ansible\-collections/community\.general/pull/6264](https\://github\.com/ansible\-collections/community\.general/pull/6264)\)\.
-* zfs\_facts \- parameter type
now accepts multple values as documented \([https\://github\.com/ansible\-collections/community\.general/issues/5909](https\://github\.com/ansible\-collections/community\.general/issues/5909)\, [https\://github\.com/ansible\-collections/community\.general/pull/9697](https\://github\.com/ansible\-collections/community\.general/pull/9697)\)\.
-
-
-### New Modules
-
-* community\.general\.systemd\_info \- Gather C\(systemd\) unit info\.
-
-
-## v10\.3\.1
-
-
-### Release Summary
-
-Bugfix release\.
-
-
-### Minor Changes
-
-* onepassword\_ssh\_key \- refactor to move code to lookup class \([https\://github\.com/ansible\-collections/community\.general/pull/9633](https\://github\.com/ansible\-collections/community\.general/pull/9633)\)\.
-
-
-### Bugfixes
-
-* cloudflare\_dns \- fix crash when deleting a DNS record or when updating a record with solo\=true
\([https\://github\.com/ansible\-collections/community\.general/issues/9652](https\://github\.com/ansible\-collections/community\.general/issues/9652)\, [https\://github\.com/ansible\-collections/community\.general/pull/9649](https\://github\.com/ansible\-collections/community\.general/pull/9649)\)\.
-* homebrew \- make package name parsing more resilient \([https\://github\.com/ansible\-collections/community\.general/pull/9665](https\://github\.com/ansible\-collections/community\.general/pull/9665)\, [https\://github\.com/ansible\-collections/community\.general/issues/9641](https\://github\.com/ansible\-collections/community\.general/issues/9641)\)\.
-* keycloak module utils \- replaces missing return in get\_role\_composites method which caused it to return None instead of composite roles \([https\://github\.com/ansible\-collections/community\.general/issues/9678](https\://github\.com/ansible\-collections/community\.general/issues/9678)\, [https\://github\.com/ansible\-collections/community\.general/pull/9691](https\://github\.com/ansible\-collections/community\.general/pull/9691)\)\.
-* keycloak\_client \- fix and improve existing tests\. The module showed a diff without actual changes\, solved by improving the normalise\_cr\(\)
function \([https\://github\.com/ansible\-collections/community\.general/pull/9644](https\://github\.com/ansible\-collections/community\.general/pull/9644)\)\.
-* proxmox \- adds the pubkey
parameter \(back to\) the update
state \([https\://github\.com/ansible\-collections/community\.general/issues/9642](https\://github\.com/ansible\-collections/community\.general/issues/9642)\, [https\://github\.com/ansible\-collections/community\.general/pull/9645](https\://github\.com/ansible\-collections/community\.general/pull/9645)\)\.
-* proxmox \- fixes a typo in the translation of the pubkey
parameter to proxmox\' ssh\-public\-keys
\([https\://github\.com/ansible\-collections/community\.general/issues/9642](https\://github\.com/ansible\-collections/community\.general/issues/9642)\, [https\://github\.com/ansible\-collections/community\.general/pull/9645](https\://github\.com/ansible\-collections/community\.general/pull/9645)\)\.
-* xml \- ensure file descriptor is closed \([https\://github\.com/ansible\-collections/community\.general/pull/9695](https\://github\.com/ansible\-collections/community\.general/pull/9695)\)\.
-
-
-## v10\.3\.0
-
-
-### Release Summary
-
-Regular bugfix and feature release\.
-
-
-### Minor Changes
-
-* MH module utils \- delegate debug
to the underlying AnsibleModule
instance or issues a warning if an attribute already exists with that name \([https\://github\.com/ansible\-collections/community\.general/pull/9577](https\://github\.com/ansible\-collections/community\.general/pull/9577)\)\.
-* apache2\_mod\_proxy \- better handling regexp extraction \([https\://github\.com/ansible\-collections/community\.general/pull/9609](https\://github\.com/ansible\-collections/community\.general/pull/9609)\)\.
-* apache2\_mod\_proxy \- change type of state
to a list of strings\. No change for the users \([https\://github\.com/ansible\-collections/community\.general/pull/9600](https\://github\.com/ansible\-collections/community\.general/pull/9600)\)\.
-* apache2\_mod\_proxy \- improve readability when using results from fecth\_url\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/9608](https\://github\.com/ansible\-collections/community\.general/pull/9608)\)\.
-* apache2\_mod\_proxy \- refactor repeated code into method \([https\://github\.com/ansible\-collections/community\.general/pull/9599](https\://github\.com/ansible\-collections/community\.general/pull/9599)\)\.
-* apache2\_mod\_proxy \- remove unused parameter and code from Balancer
constructor \([https\://github\.com/ansible\-collections/community\.general/pull/9614](https\://github\.com/ansible\-collections/community\.general/pull/9614)\)\.
-* apache2\_mod\_proxy \- simplified and improved string manipulation \([https\://github\.com/ansible\-collections/community\.general/pull/9614](https\://github\.com/ansible\-collections/community\.general/pull/9614)\)\.
-* apache2\_mod\_proxy \- use deps
to handle dependencies \([https\://github\.com/ansible\-collections/community\.general/pull/9612](https\://github\.com/ansible\-collections/community\.general/pull/9612)\)\.
-* cgroup\_memory\_recap callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* chroot connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* cloud\_init\_data\_facts \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* cobbler inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* context\_demo callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* counter filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* counter\_enabled callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* cpanm \- enable usage of option \-\-with\-recommends
\([https\://github\.com/ansible\-collections/community\.general/issues/9554](https\://github\.com/ansible\-collections/community\.general/issues/9554)\, [https\://github\.com/ansible\-collections/community\.general/pull/9555](https\://github\.com/ansible\-collections/community\.general/pull/9555)\)\.
-* cpanm \- enable usage of option \-\-with\-suggests
\([https\://github\.com/ansible\-collections/community\.general/pull/9555](https\://github\.com/ansible\-collections/community\.general/pull/9555)\)\.
-* crc32 filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* cronvar \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* crypttab \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* default\_without\_diff callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* dense callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* dict filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* dict\_kv filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* diy callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* doas become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* dzdo become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* elastic callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* from\_csv filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* from\_ini filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* funcd connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* gitlab\_runners inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* groupby\_as\_dict filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* hashids filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* icinga2 inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* incus connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* iocage connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* iocage inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* iocage inventory plugin \- the new parameter sudo
of the plugin lets the command iocage list \-l
to run as root on the iocage host\. This is needed to get the IPv4 of a running DHCP jail \([https\://github\.com/ansible\-collections/community\.general/issues/9572](https\://github\.com/ansible\-collections/community\.general/issues/9572)\, [https\://github\.com/ansible\-collections/community\.general/pull/9573](https\://github\.com/ansible\-collections/community\.general/pull/9573)\)\.
-* iptables\_state action plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* jabber callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* jail connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* jc filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* jira \- transition operation now has status\_id
to directly reference wanted transition \([https\://github\.com/ansible\-collections/community\.general/pull/9602](https\://github\.com/ansible\-collections/community\.general/pull/9602)\)\.
-* json\_query filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* keep\_keys filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* keycloak\_\* modules \- refresh\_token
parameter added\. When multiple authentication parameters are provided \(token
\, refresh\_token
\, and auth\_username
/auth\_password
\)\, modules will now automatically retry requests upon authentication errors \(401\)\, using in order the token\, refresh token\, and username/password \([https\://github\.com/ansible\-collections/community\.general/pull/9494](https\://github\.com/ansible\-collections/community\.general/pull/9494)\)\.
-* known\_hosts \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* ksu become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* linode inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* lists filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* lists\_mergeby filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* log\_plays callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* loganalytics callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* logdna callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* logentries callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* logstash callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* lxc connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* lxd connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* lxd inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* machinectl become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* mail callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* memcached cache plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* nmap inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* nmcli \- add a option fail\_over\_mac
\([https\://github\.com/ansible\-collections/community\.general/issues/9570](https\://github\.com/ansible\-collections/community\.general/issues/9570)\, [https\://github\.com/ansible\-collections/community\.general/pull/9571](https\://github\.com/ansible\-collections/community\.general/pull/9571)\)\.
-* nrdp callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* null callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* one\_template \- adds filter
option for retrieving templates which are not owned by the user \([https\://github\.com/ansible\-collections/community\.general/pull/9547](https\://github\.com/ansible\-collections/community\.general/pull/9547)\, [https\://github\.com/ansible\-collections/community\.general/issues/9278](https\://github\.com/ansible\-collections/community\.general/issues/9278)\)\.
-* online inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* opennebula inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* opentelemetry callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* parted \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* pbrun become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* pfexec become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* pickle cache plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* pmrun become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* proxmox \- refactors the proxmox module \([https\://github\.com/ansible\-collections/community\.general/pull/9225](https\://github\.com/ansible\-collections/community\.general/pull/9225)\)\.
-* proxmox inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* proxmox\_pct\_remote connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* proxmox\_template \- add support for checksum validation with new options checksum\_algorithm
and checksum
\([https\://github\.com/ansible\-collections/community\.general/issues/9553](https\://github\.com/ansible\-collections/community\.general/issues/9553)\, [https\://github\.com/ansible\-collections/community\.general/pull/9601](https\://github\.com/ansible\-collections/community\.general/pull/9601)\)\.
-* pulp\_repo \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* qubes connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* random\_mac filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* redfish\_info \- add command GetAccountServiceConfig
to get full information about AccountService configuration \([https\://github\.com/ansible\-collections/community\.general/pull/9403](https\://github\.com/ansible\-collections/community\.general/pull/9403)\)\.
-* redhat\_subscription \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* redis cache plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* remove\_keys filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* replace\_keys filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* reveal\_ansible\_type filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* run0 become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* saltstack connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* say callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* scaleway inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* selective callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* sesu become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* shutdown action plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* slack callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* snap \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9598](https\://github\.com/ansible\-collections/community\.general/pull/9598)\)\.
-* snap\_alias \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9598](https\://github\.com/ansible\-collections/community\.general/pull/9598)\)\.
-* solaris\_zone \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* sorcery \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* splunk callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* stackpath\_compute inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* sudosu become plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* sumologic callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* syslog\_json callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* time filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* timestamp callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* timezone \- open file using open\(\)
as a context manager \([https\://github\.com/ansible\-collections/community\.general/pull/9579](https\://github\.com/ansible\-collections/community\.general/pull/9579)\)\.
-* to\_ini filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* ufw \- add support for vrrp
protocol \([https\://github\.com/ansible\-collections/community\.general/issues/9562](https\://github\.com/ansible\-collections/community\.general/issues/9562)\, [https\://github\.com/ansible\-collections/community\.general/pull/9582](https\://github\.com/ansible\-collections/community\.general/pull/9582)\)\.
-* unicode\_normalize filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* unixy callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* version\_sort filter plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9585](https\://github\.com/ansible\-collections/community\.general/pull/9585)\)\.
-* virtualbox inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* xen\_orchestra inventory plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-* yaml cache plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* yaml callback plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9583](https\://github\.com/ansible\-collections/community\.general/pull/9583)\)\.
-* zone connection plugin \- adjust standard preamble for Python 3 \([https\://github\.com/ansible\-collections/community\.general/pull/9584](https\://github\.com/ansible\-collections/community\.general/pull/9584)\)\.
-
-
-### Deprecated Features
-
-* MH module utils \- attribute debug
definition in subclasses of MH is now deprecated\, as that name will become a delegation to AnsibleModule
in community\.general 12\.0\.0\, and any such attribute will be overridden by that delegation in that version \([https\://github\.com/ansible\-collections/community\.general/pull/9577](https\://github\.com/ansible\-collections/community\.general/pull/9577)\)\.
-* proxmox \- removes default value false
of update
parameter\. This will be changed to a default of true
in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9225](https\://github\.com/ansible\-collections/community\.general/pull/9225)\)\.
-
-
-### Security Fixes
-
-* keycloak\_client \- Sanitize saml\.encryption\.private\.key
so it does not show in the logs \([https\://github\.com/ansible\-collections/community\.general/pull/9621](https\://github\.com/ansible\-collections/community\.general/pull/9621)\)\.
-
-
-### Bugfixes
-
-* homebrew \- fix incorrect handling of homebrew modules when a tap is requested \([https\://github\.com/ansible\-collections/community\.general/pull/9546](https\://github\.com/ansible\-collections/community\.general/pull/9546)\, [https\://github\.com/ansible\-collections/community\.general/issues/9533](https\://github\.com/ansible\-collections/community\.general/issues/9533)\)\.
-* iocage inventory plugin \- the plugin parses the IP4 tab of the jails list and put the elements into the new variable iocage\_ip4\_dict
\. In multiple interface format the variable iocage\_ip4
keeps the comma\-separated list of IP4 \([https\://github\.com/ansible\-collections/community\.general/issues/9538](https\://github\.com/ansible\-collections/community\.general/issues/9538)\)\.
-* pipx \- honor option global
when state\=latest
\([https\://github\.com/ansible\-collections/community\.general/pull/9623](https\://github\.com/ansible\-collections/community\.general/pull/9623)\)\.
-* proxmox \- fixes idempotency of template conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9225](https\://github\.com/ansible\-collections/community\.general/pull/9225)\, [https\://github\.com/ansible\-collections/community\.general/issues/8811](https\://github\.com/ansible\-collections/community\.general/issues/8811)\)\.
-* proxmox \- fixes incorrect parsing for bind\-only mounts \([https\://github\.com/ansible\-collections/community\.general/pull/9225](https\://github\.com/ansible\-collections/community\.general/pull/9225)\, [https\://github\.com/ansible\-collections/community\.general/issues/8982](https\://github\.com/ansible\-collections/community\.general/issues/8982)\)\.
-* proxmox \- fixes issues with disk\_volume variable \([https\://github\.com/ansible\-collections/community\.general/pull/9225](https\://github\.com/ansible\-collections/community\.general/pull/9225)\, [https\://github\.com/ansible\-collections/community\.general/issues/9065](https\://github\.com/ansible\-collections/community\.general/issues/9065)\)\.
-* proxmox module utils \- fixes ignoring of choose\_first\_if\_multiple
argument in get\_vmid
\([https\://github\.com/ansible\-collections/community\.general/pull/9225](https\://github\.com/ansible\-collections/community\.general/pull/9225)\)\.
-* redhat\_subscription \- do not try to unsubscribe \(i\.e\. remove subscriptions\)
- when unregistering a system\: newer versions of subscription\-manager\, as
- available in EL 10 and Fedora 41\+\, do not support entitlements anymore\, and
- thus unsubscribing will fail
- \([https\://github\.com/ansible\-collections/community\.general/pull/9578](https\://github\.com/ansible\-collections/community\.general/pull/9578)\)\.
-
-
-### New Plugins
-
-
-#### Connection
-
-* community\.general\.proxmox\_pct\_remote \- Run tasks in Proxmox LXC container instances using pct CLI via SSH\.
-
-
-#### Filter
-
-* community\.general\.json\_diff \- Create a JSON patch by comparing two JSON files\.
-* community\.general\.json\_patch \- Apply a JSON\-Patch \(RFC 6902\) operation to an object\.
-* community\.general\.json\_patch\_recipe \- Apply JSON\-Patch \(RFC 6902\) operations to an object\.
-
-
-#### Lookup
-
-* community\.general\.onepassword\_ssh\_key \- Fetch SSH keys stored in 1Password\.
-
-
-### New Modules
-
-* community\.general\.proxmox\_backup\_info \- Retrieve information on Proxmox scheduled backups\.
-
-
-## v10\.2\.0
-
-
-### Release Summary
-
-Regular bugfix and feature release\.
-
-
-### Minor Changes
-
-* bitwarden lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* cgroup\_memory\_recap callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* chef\_databag lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* chroot connection plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* chroot connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* cobbler inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* cobbler inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* collection\_version lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* consul\_kv lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* context\_demo callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* counter\_enabled callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* credstash lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* cyberarkpassword lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* cyberarkpassword lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* dense callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* dependent lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* dig lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* dig lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* diy callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* dnstxt lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* dnstxt lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* doas become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* dsv lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* dzdo become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* elastic callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* etcd lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* etcd3 lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* etcd3 lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* filetree lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* from\_csv filter plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* from\_ini filter plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* funcd connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* github\_app\_access\_token lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* gitlab\_instance\_variable \- add support for raw
variables suboption \([https\://github\.com/ansible\-collections/community\.general/pull/9425](https\://github\.com/ansible\-collections/community\.general/pull/9425)\)\.
-* gitlab\_runners inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* gitlab\_runners inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* hiera lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* icinga2 inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* incus connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* iocage connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* iocage inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* iptables\_state action plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9318](https\://github\.com/ansible\-collections/community\.general/pull/9318)\)\.
-* jabber callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* jail connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* keycloak \- add an action group for Keycloak modules to allow module\_defaults
to be set for Keycloak tasks \([https\://github\.com/ansible\-collections/community\.general/pull/9284](https\://github\.com/ansible\-collections/community\.general/pull/9284)\)\.
-* keyring lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* ksu become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* lastpass lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* linode inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* lmdb\_kv lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* lmdb\_kv lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* locale\_gen \- invert the logic to determine ubuntu\_mode
\, making it look first for /etc/locale\.gen
\(set ubuntu\_mode
to False
\) and only then looking for /var/lib/locales/supported\.d/
\(set ubuntu\_mode
to True
\) \([https\://github\.com/ansible\-collections/community\.general/pull/9238](https\://github\.com/ansible\-collections/community\.general/pull/9238)\, [https\://github\.com/ansible\-collections/community\.general/issues/9131](https\://github\.com/ansible\-collections/community\.general/issues/9131)\, [https\://github\.com/ansible\-collections/community\.general/issues/8487](https\://github\.com/ansible\-collections/community\.general/issues/8487)\)\.
-* locale\_gen \- new return value mechanism
to better express the semantics of the ubuntu\_mode
\, with the possible values being either glibc
\(ubuntu\_mode\=False
\) or ubuntu\_legacy
\(ubuntu\_mode\=True
\) \([https\://github\.com/ansible\-collections/community\.general/pull/9238](https\://github\.com/ansible\-collections/community\.general/pull/9238)\)\.
-* log\_plays callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* loganalytics callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* logdna callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* logentries callback plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* logentries callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* lxc connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* lxd connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* lxd inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* lxd inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* machinectl become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* mail callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* manageiq\_alert\_profiles \- improve handling of parameter requirements \([https\://github\.com/ansible\-collections/community\.general/pull/9449](https\://github\.com/ansible\-collections/community\.general/pull/9449)\)\.
-* manifold lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* manifold lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* memcached cache plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9320](https\://github\.com/ansible\-collections/community\.general/pull/9320)\)\.
-* merge\_variables lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* nmap inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* nmap inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* nrdp callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* onepassword lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* onepassword lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* onepassword\_doc lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* online inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* opennebula inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* opennebula inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* opentelemetry callback plugin \- remove code handling Python versions prior to 3\.7 \([https\://github\.com/ansible\-collections/community\.general/pull/9482](https\://github\.com/ansible\-collections/community\.general/pull/9482)\)\.
-* opentelemetry callback plugin \- remove code handling Python versions prior to 3\.7 \([https\://github\.com/ansible\-collections/community\.general/pull/9503](https\://github\.com/ansible\-collections/community\.general/pull/9503)\)\.
-* opentelemetry callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* pacemaker\_cluster \- remove unused code \([https\://github\.com/ansible\-collections/community\.general/pull/9471](https\://github\.com/ansible\-collections/community\.general/pull/9471)\)\.
-* pacemaker\_cluster \- using safer mechanism to run external command \([https\://github\.com/ansible\-collections/community\.general/pull/9471](https\://github\.com/ansible\-collections/community\.general/pull/9471)\)\.
-* passwordstore lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* pbrun become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* pfexec become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* pmrun become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* proxmox inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* proxmox inventory plugin \- strip whitespace from user
\, token\_id
\, and token\_secret
\([https\://github\.com/ansible\-collections/community\.general/issues/9227](https\://github\.com/ansible\-collections/community\.general/issues/9227)\, [https\://github\.com/ansible\-collections/community\.general/pull/9228/](https\://github\.com/ansible\-collections/community\.general/pull/9228/)\)\.
-* proxmox inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* proxmox module utils \- add method api\_task\_complete
that can wait for task completion and return error message \([https\://github\.com/ansible\-collections/community\.general/pull/9256](https\://github\.com/ansible\-collections/community\.general/pull/9256)\)\.
-* proxmox\_backup \- refactor permission checking to improve code readability and maintainability \([https\://github\.com/ansible\-collections/community\.general/pull/9239](https\://github\.com/ansible\-collections/community\.general/pull/9239)\)\.
-* qubes connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* random\_pet lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* redis cache plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* redis cache plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9320](https\://github\.com/ansible\-collections/community\.general/pull/9320)\)\.
-* redis lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* revbitspss lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* saltstack connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* say callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* scaleway inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* scaleway inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* selective callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* sesu become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* shelvefile lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* shutdown action plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* shutdown action plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9318](https\://github\.com/ansible\-collections/community\.general/pull/9318)\)\.
-* slack callback plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* slack callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* splunk callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* stackpath\_compute inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* sudosu become plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9319](https\://github\.com/ansible\-collections/community\.general/pull/9319)\)\.
-* timestamp callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* to\_ini filter plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* tss lookup plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* tss lookup plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9324](https\://github\.com/ansible\-collections/community\.general/pull/9324)\)\.
-* unixy callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* virtualbox inventory plugin \- clean up string conversions \([https\://github\.com/ansible\-collections/community\.general/pull/9379](https\://github\.com/ansible\-collections/community\.general/pull/9379)\)\.
-* virtualbox inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* xbps \- add root
and repository
options to enable bootstrapping new void installations \([https\://github\.com/ansible\-collections/community\.general/pull/9174](https\://github\.com/ansible\-collections/community\.general/pull/9174)\)\.
-* xen\_orchestra inventory plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9323](https\://github\.com/ansible\-collections/community\.general/pull/9323)\)\.
-* xfconf \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9226](https\://github\.com/ansible\-collections/community\.general/pull/9226)\)\.
-* xfconf\_info \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9226](https\://github\.com/ansible\-collections/community\.general/pull/9226)\)\.
-* yaml callback plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9321](https\://github\.com/ansible\-collections/community\.general/pull/9321)\)\.
-* zone connection plugin \- use f\-strings instead of interpolations or format
\([https\://github\.com/ansible\-collections/community\.general/pull/9322](https\://github\.com/ansible\-collections/community\.general/pull/9322)\)\.
-* zypper \- add quiet
option \([https\://github\.com/ansible\-collections/community\.general/pull/9270](https\://github\.com/ansible\-collections/community\.general/pull/9270)\)\.
-* zypper \- add simple\_errors
option \([https\://github\.com/ansible\-collections/community\.general/pull/9270](https\://github\.com/ansible\-collections/community\.general/pull/9270)\)\.
-
-
-### Deprecated Features
-
-* atomic\_container \- module is deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9487](https\://github\.com/ansible\-collections/community\.general/pull/9487)\)\.
-* atomic\_host \- module is deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9487](https\://github\.com/ansible\-collections/community\.general/pull/9487)\)\.
-* atomic\_image \- module is deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9487](https\://github\.com/ansible\-collections/community\.general/pull/9487)\)\.
-* facter \- module is deprecated and will be removed in community\.general 12\.0\.0\, use community\.general\.facter\_facts
instead \([https\://github\.com/ansible\-collections/community\.general/pull/9451](https\://github\.com/ansible\-collections/community\.general/pull/9451)\)\.
-* locale\_gen \- ubuntu\_mode\=True
\, or mechanism\=ubuntu\_legacy
is deprecated and will be removed in community\.general 13\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9238](https\://github\.com/ansible\-collections/community\.general/pull/9238)\)\.
-* pure module utils \- the module utils is deprecated and will be removed from community\.general 12\.0\.0\. The modules using this were removed in community\.general 3\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9432](https\://github\.com/ansible\-collections/community\.general/pull/9432)\)\.
-* purestorage doc fragments \- the doc fragment is deprecated and will be removed from community\.general 12\.0\.0\. The modules using this were removed in community\.general 3\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9432](https\://github\.com/ansible\-collections/community\.general/pull/9432)\)\.
-* sensu\_check \- module is deprecated and will be removed in community\.general 13\.0\.0\, use collection sensu\.sensu\_go
instead \([https\://github\.com/ansible\-collections/community\.general/pull/9483](https\://github\.com/ansible\-collections/community\.general/pull/9483)\)\.
-* sensu\_client \- module is deprecated and will be removed in community\.general 13\.0\.0\, use collection sensu\.sensu\_go
instead \([https\://github\.com/ansible\-collections/community\.general/pull/9483](https\://github\.com/ansible\-collections/community\.general/pull/9483)\)\.
-* sensu\_handler \- module is deprecated and will be removed in community\.general 13\.0\.0\, use collection sensu\.sensu\_go
instead \([https\://github\.com/ansible\-collections/community\.general/pull/9483](https\://github\.com/ansible\-collections/community\.general/pull/9483)\)\.
-* sensu\_silence \- module is deprecated and will be removed in community\.general 13\.0\.0\, use collection sensu\.sensu\_go
instead \([https\://github\.com/ansible\-collections/community\.general/pull/9483](https\://github\.com/ansible\-collections/community\.general/pull/9483)\)\.
-* sensu\_subscription \- module is deprecated and will be removed in community\.general 13\.0\.0\, use collection sensu\.sensu\_go
instead \([https\://github\.com/ansible\-collections/community\.general/pull/9483](https\://github\.com/ansible\-collections/community\.general/pull/9483)\)\.
-* slack \- the default value auto
of the prepend\_hash
option is deprecated and will change to never
in community\.general 12\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/9443](https\://github\.com/ansible\-collections/community\.general/pull/9443)\)\.
-* yaml callback plugin \- deprecate plugin in favor of result\_format\=yaml
in plugin ansible\.bulitin\.default
\([https\://github\.com/ansible\-collections/community\.general/pull/9456](https\://github\.com/ansible\-collections/community\.general/pull/9456)\)\.
-
-
-### Security Fixes
-
-* keycloak\_authentication \- API calls did not properly set the priority
during update resulting in incorrectly sorted authentication flows\. This apparently only affects Keycloak 25 or newer \([https\://github\.com/ansible\-collections/community\.general/pull/9263](https\://github\.com/ansible\-collections/community\.general/pull/9263)\)\.
-
-
-### Bugfixes
-
-* dig lookup plugin \- correctly handle NoNameserver
exception \([https\://github\.com/ansible\-collections/community\.general/pull/9363](https\://github\.com/ansible\-collections/community\.general/pull/9363)\, [https\://github\.com/ansible\-collections/community\.general/issues/9362](https\://github\.com/ansible\-collections/community\.general/issues/9362)\)\.
-* homebrew \- fix incorrect handling of aliased homebrew modules when the alias is requested \([https\://github\.com/ansible\-collections/community\.general/pull/9255](https\://github\.com/ansible\-collections/community\.general/pull/9255)\, [https\://github\.com/ansible\-collections/community\.general/issues/9240](https\://github\.com/ansible\-collections/community\.general/issues/9240)\)\.
-* htpasswd \- report changes when file permissions are adjusted \([https\://github\.com/ansible\-collections/community\.general/issues/9485](https\://github\.com/ansible\-collections/community\.general/issues/9485)\, [https\://github\.com/ansible\-collections/community\.general/pull/9490](https\://github\.com/ansible\-collections/community\.general/pull/9490)\)\.
-* proxmox\_backup \- fix incorrect key lookup in vmid permission check \([https\://github\.com/ansible\-collections/community\.general/pull/9223](https\://github\.com/ansible\-collections/community\.general/pull/9223)\)\.
-* proxmox\_disk \- fix async method and make resize\_disk
method handle errors correctly \([https\://github\.com/ansible\-collections/community\.general/pull/9256](https\://github\.com/ansible\-collections/community\.general/pull/9256)\)\.
-* proxmox\_template \- fix the wrong path called on proxmox\_template\.task\_status
\([https\://github\.com/ansible\-collections/community\.general/issues/9276](https\://github\.com/ansible\-collections/community\.general/issues/9276)\, [https\://github\.com/ansible\-collections/community\.general/pull/9277](https\://github\.com/ansible\-collections/community\.general/pull/9277)\)\.
-* qubes connection plugin \- fix the printing of debug information \([https\://github\.com/ansible\-collections/community\.general/pull/9334](https\://github\.com/ansible\-collections/community\.general/pull/9334)\)\.
-* redfish\_utils module utils \- Fix VerifyBiosAttributes
command on multi system resource nodes \([https\://github\.com/ansible\-collections/community\.general/pull/9234](https\://github\.com/ansible\-collections/community\.general/pull/9234)\)\.
-
-
-### New Plugins
-
-
-#### Inventory
-
-* community\.general\.iocage \- iocage inventory source\.
-
-
-### New Modules
-
-* community\.general\.android\_sdk \- Manages Android SDK packages\.
-* community\.general\.ldap\_inc \- Use the Modify\-Increment LDAP V3 feature to increment an attribute value\.
-* community\.general\.systemd\_creds\_decrypt \- C\(systemd\)\'s C\(systemd\-creds decrypt\) plugin\.
-* community\.general\.systemd\_creds\_encrypt \- C\(systemd\)\'s C\(systemd\-creds encrypt\) plugin\.
-
-
-## v10\.1\.0
-
-
-### Release Summary
-
-Regular bugfix and feature release\.
-
-
-### Minor Changes
-
-* alternatives \- add family
parameter that allows to utilize the \-\-family
option available in RedHat version of update\-alternatives \([https\://github\.com/ansible\-collections/community\.general/issues/5060](https\://github\.com/ansible\-collections/community\.general/issues/5060)\, [https\://github\.com/ansible\-collections/community\.general/pull/9096](https\://github\.com/ansible\-collections/community\.general/pull/9096)\)\.
-* cloudflare\_dns \- add support for comment
and tags
\([https\://github\.com/ansible\-collections/community\.general/pull/9132](https\://github\.com/ansible\-collections/community\.general/pull/9132)\)\.
-* deps module utils \- add deps\.clear\(\)
to clear out previously declared dependencies \([https\://github\.com/ansible\-collections/community\.general/pull/9179](https\://github\.com/ansible\-collections/community\.general/pull/9179)\)\.
-* homebrew \- greatly speed up module when multiple packages are passed in the name
option \([https\://github\.com/ansible\-collections/community\.general/pull/9181](https\://github\.com/ansible\-collections/community\.general/pull/9181)\)\.
-* homebrew \- remove duplicated package name validation \([https\://github\.com/ansible\-collections/community\.general/pull/9076](https\://github\.com/ansible\-collections/community\.general/pull/9076)\)\.
-* iso\_extract \- adds password
parameter that is passed to 7z \([https\://github\.com/ansible\-collections/community\.general/pull/9159](https\://github\.com/ansible\-collections/community\.general/pull/9159)\)\.
-* launchd \- add plist
option for services such as sshd\, where the plist filename doesn\'t match the service name \([https\://github\.com/ansible\-collections/community\.general/pull/9102](https\://github\.com/ansible\-collections/community\.general/pull/9102)\)\.
-* nmcli \- add sriov
parameter that enables support for SR\-IOV settings \([https\://github\.com/ansible\-collections/community\.general/pull/9168](https\://github\.com/ansible\-collections/community\.general/pull/9168)\)\.
-* pipx \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9180](https\://github\.com/ansible\-collections/community\.general/pull/9180)\)\.
-* pipx\_info \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9180](https\://github\.com/ansible\-collections/community\.general/pull/9180)\)\.
-* proxmox\_template \- add server side artifact fetching support \([https\://github\.com/ansible\-collections/community\.general/pull/9113](https\://github\.com/ansible\-collections/community\.general/pull/9113)\)\.
-* redfish\_command \- add update\_custom\_oem\_header
\, update\_custom\_oem\_params
\, and update\_custom\_oem\_mime\_type
options \([https\://github\.com/ansible\-collections/community\.general/pull/9123](https\://github\.com/ansible\-collections/community\.general/pull/9123)\)\.
-* redfish\_utils module utils \- remove redundant code \([https\://github\.com/ansible\-collections/community\.general/pull/9190](https\://github\.com/ansible\-collections/community\.general/pull/9190)\)\.
-* rpm\_ostree\_pkg \- added the options apply\_live
\([https\://github\.com/ansible\-collections/community\.general/pull/9167](https\://github\.com/ansible\-collections/community\.general/pull/9167)\)\.
-* rpm\_ostree\_pkg \- added the return value needs\_reboot
\([https\://github\.com/ansible\-collections/community\.general/pull/9167](https\://github\.com/ansible\-collections/community\.general/pull/9167)\)\.
-* scaleway\_lb \- minor simplification in the code \([https\://github\.com/ansible\-collections/community\.general/pull/9189](https\://github\.com/ansible\-collections/community\.general/pull/9189)\)\.
-* ssh\_config \- add dynamicforward
option \([https\://github\.com/ansible\-collections/community\.general/pull/9192](https\://github\.com/ansible\-collections/community\.general/pull/9192)\)\.
-
-
-### Deprecated Features
-
-* opkg \- deprecate value \"\"
for parameter force
\([https\://github\.com/ansible\-collections/community\.general/pull/9172](https\://github\.com/ansible\-collections/community\.general/pull/9172)\)\.
-* redfish\_utils module utils \- deprecate method RedfishUtils\.\_init\_session\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/9190](https\://github\.com/ansible\-collections/community\.general/pull/9190)\)\.
-
-
-### Bugfixes
-
-* dnf\_config\_manager \- fix hanging when prompting to import GPG keys \([https\://github\.com/ansible\-collections/community\.general/pull/9124](https\://github\.com/ansible\-collections/community\.general/pull/9124)\, [https\://github\.com/ansible\-collections/community\.general/issues/8830](https\://github\.com/ansible\-collections/community\.general/issues/8830)\)\.
-* dnf\_config\_manager \- forces locale to C
before module starts\. If the locale was set to non\-English\, the output of the dnf config\-manager
could not be parsed \([https\://github\.com/ansible\-collections/community\.general/pull/9157](https\://github\.com/ansible\-collections/community\.general/pull/9157)\, [https\://github\.com/ansible\-collections/community\.general/issues/9046](https\://github\.com/ansible\-collections/community\.general/issues/9046)\)\.
-* flatpak \- force the locale language to C
when running the flatpak command \([https\://github\.com/ansible\-collections/community\.general/pull/9187](https\://github\.com/ansible\-collections/community\.general/pull/9187)\, [https\://github\.com/ansible\-collections/community\.general/issues/8883](https\://github\.com/ansible\-collections/community\.general/issues/8883)\)\.
-* gio\_mime \- fix command line when determining version of gio
\([https\://github\.com/ansible\-collections/community\.general/pull/9171](https\://github\.com/ansible\-collections/community\.general/pull/9171)\, [https\://github\.com/ansible\-collections/community\.general/issues/9158](https\://github\.com/ansible\-collections/community\.general/issues/9158)\)\.
-* github\_key \- in check mode\, a faulty call to \`datetime\.strftime\(\.\.\.\)\`
was being made which generated an exception \([https\://github\.com/ansible\-collections/community\.general/issues/9185](https\://github\.com/ansible\-collections/community\.general/issues/9185)\)\.
-* homebrew\_cask \- allow \+
symbol in Homebrew cask name validation regex \([https\://github\.com/ansible\-collections/community\.general/pull/9128](https\://github\.com/ansible\-collections/community\.general/pull/9128)\)\.
-* keycloak\_clientscope\_type \- sort the default and optional clientscope lists to improve the diff \([https\://github\.com/ansible\-collections/community\.general/pull/9202](https\://github\.com/ansible\-collections/community\.general/pull/9202)\)\.
-* slack \- fail if Slack API response is not OK with error message \([https\://github\.com/ansible\-collections/community\.general/pull/9198](https\://github\.com/ansible\-collections/community\.general/pull/9198)\)\.
-
-
-### New Plugins
-
-
-#### Filter
-
-* community\.general\.accumulate \- Produce a list of accumulated sums of the input list contents\.
-
-
-### New Modules
-
-* community\.general\.decompress \- Decompresses compressed files\.
-* community\.general\.proxmox\_backup \- Start a VM backup in Proxmox VE cluster\.
-
-
-## v10\.0\.1
-
-
-### Release Summary
-
-Bugfix release for inclusion in Ansible 11\.0\.0rc1\.
-
-
-### Bugfixes
-
-* keycloak\_client \- fix diff by removing code that turns the attributes dict which contains additional settings into a list \([https\://github\.com/ansible\-collections/community\.general/pull/9077](https\://github\.com/ansible\-collections/community\.general/pull/9077)\)\.
-* keycloak\_clientscope \- fix diff and end\_state
by removing the code that turns the attributes dict\, which contains additional config items\, into a list \([https\://github\.com/ansible\-collections/community\.general/pull/9082](https\://github\.com/ansible\-collections/community\.general/pull/9082)\)\.
-* redfish\_utils module utils \- remove undocumented default applytime \([https\://github\.com/ansible\-collections/community\.general/pull/9114](https\://github\.com/ansible\-collections/community\.general/pull/9114)\)\.
-
-
-## v10\.0\.0
-
-
-### Release Summary
-
-This is release 10\.0\.0 of community\.general
\, released on 2024\-11\-04\.
-
-
-### Minor Changes
-
-* CmdRunner module util \- argument formats can be specified as plain functions without calling cmd\_runner\_fmt\.as\_func\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8479](https\://github\.com/ansible\-collections/community\.general/pull/8479)\)\.
-* CmdRunner module utils \- the parameter force\_lang
now supports the special value auto
which will automatically try and determine the best parsable locale in the system \([https\://github\.com/ansible\-collections/community\.general/pull/8517](https\://github\.com/ansible\-collections/community\.general/pull/8517)\)\.
-* MH module utils \- add parameter when
to cause\_changes
decorator \([https\://github\.com/ansible\-collections/community\.general/pull/8766](https\://github\.com/ansible\-collections/community\.general/pull/8766)\)\.
-* MH module utils \- minor refactor in decorators \([https\://github\.com/ansible\-collections/community\.general/pull/8766](https\://github\.com/ansible\-collections/community\.general/pull/8766)\)\.
-* alternatives \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* ansible\_galaxy\_install \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9060](https\://github\.com/ansible\-collections/community\.general/pull/9060)\)\.
-* ansible\_galaxy\_install \- add upgrade feature \([https\://github\.com/ansible\-collections/community\.general/pull/8431](https\://github\.com/ansible\-collections/community\.general/pull/8431)\, [https\://github\.com/ansible\-collections/community\.general/issues/8351](https\://github\.com/ansible\-collections/community\.general/issues/8351)\)\.
-* ansible\_galaxy\_install \- minor refactor in the module \([https\://github\.com/ansible\-collections/community\.general/pull/8413](https\://github\.com/ansible\-collections/community\.general/pull/8413)\)\.
-* apache2\_mod\_proxy \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* apache2\_mod\_proxy \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* cargo \- add option directory
\, which allows source directory to be specified \([https\://github\.com/ansible\-collections/community\.general/pull/8480](https\://github\.com/ansible\-collections/community\.general/pull/8480)\)\.
-* cgroup\_memory\_recap\, hipchat\, jabber\, log\_plays\, loganalytics\, logentries\, logstash\, slack\, splunk\, sumologic\, syslog\_json callback plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8628](https\://github\.com/ansible\-collections/community\.general/pull/8628)\)\.
-* chef\_databag\, consul\_kv\, cyberarkpassword\, dsv\, etcd\, filetree\, hiera\, onepassword\, onepassword\_doc\, onepassword\_raw\, passwordstore\, redis\, shelvefile\, tss lookup plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8626](https\://github\.com/ansible\-collections/community\.general/pull/8626)\)\.
-* chroot\, funcd\, incus\, iocage\, jail\, lxc\, lxd\, qubes\, zone connection plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8627](https\://github\.com/ansible\-collections/community\.general/pull/8627)\)\.
-* cmd\_runner module utils \- add decorator cmd\_runner\_fmt\.stack
\([https\://github\.com/ansible\-collections/community\.general/pull/8415](https\://github\.com/ansible\-collections/community\.general/pull/8415)\)\.
-* cmd\_runner module utils \- refactor argument formatting code to its own Python module \([https\://github\.com/ansible\-collections/community\.general/pull/8964](https\://github\.com/ansible\-collections/community\.general/pull/8964)\)\.
-* cmd\_runner\_fmt module utils \- simplify implementation of cmd\_runner\_fmt\.as\_bool\_not\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8512](https\://github\.com/ansible\-collections/community\.general/pull/8512)\)\.
-* cobbler\, linode\, lxd\, nmap\, online\, scaleway\, stackpath\_compute\, virtualbox inventory plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8625](https\://github\.com/ansible\-collections/community\.general/pull/8625)\)\.
-* consul\_acl \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* consul\_kv \- add argument for the datacenter option on Consul API \([https\://github\.com/ansible\-collections/community\.general/pull/9026](https\://github\.com/ansible\-collections/community\.general/pull/9026)\)\.
-* copr \- Added includepkgs
and excludepkgs
parameters to limit the list of packages fetched or excluded from the repository\([https\://github\.com/ansible\-collections/community\.general/pull/8779](https\://github\.com/ansible\-collections/community\.general/pull/8779)\)\.
-* cpanm \- add return value cpanm\_version
\([https\://github\.com/ansible\-collections/community\.general/pull/9061](https\://github\.com/ansible\-collections/community\.general/pull/9061)\)\.
-* credstash lookup plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* csv module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* deco MH module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* dig lookup plugin \- add port
option to specify DNS server port \([https\://github\.com/ansible\-collections/community\.general/pull/8966](https\://github\.com/ansible\-collections/community\.general/pull/8966)\)\.
-* django module utils \- always retrieve version \([https\://github\.com/ansible\-collections/community\.general/pull/9063](https\://github\.com/ansible\-collections/community\.general/pull/9063)\)\.
-* django\_check \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9063](https\://github\.com/ansible\-collections/community\.general/pull/9063)\)\.
-* django\_command \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9063](https\://github\.com/ansible\-collections/community\.general/pull/9063)\)\.
-* django\_createcachetable \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9063](https\://github\.com/ansible\-collections/community\.general/pull/9063)\)\.
-* doas\, dzdo\, ksu\, machinectl\, pbrun\, pfexec\, pmrun\, sesu\, sudosu become plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8623](https\://github\.com/ansible\-collections/community\.general/pull/8623)\)\.
-* etcd3 \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* flatpak \- improve the parsing of Flatpak application IDs based on official guidelines \([https\://github\.com/ansible\-collections/community\.general/pull/8909](https\://github\.com/ansible\-collections/community\.general/pull/8909)\)\.
-* gconftool2 \- make use of ModuleHelper
features to simplify code \([https\://github\.com/ansible\-collections/community\.general/pull/8711](https\://github\.com/ansible\-collections/community\.general/pull/8711)\)\.
-* gcontool2 \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9064](https\://github\.com/ansible\-collections/community\.general/pull/9064)\)\.
-* gcontool2 module utils \- add argument formatter version
\([https\://github\.com/ansible\-collections/community\.general/pull/9064](https\://github\.com/ansible\-collections/community\.general/pull/9064)\)\.
-* gcontool2\_info \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9064](https\://github\.com/ansible\-collections/community\.general/pull/9064)\)\.
-* gio\_mime \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9067](https\://github\.com/ansible\-collections/community\.general/pull/9067)\)\.
-* gio\_mime \- adjust code ahead of the old VardDict
deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8855](https\://github\.com/ansible\-collections/community\.general/pull/8855)\)\.
-* gio\_mime \- mute the old VarDict
deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8776](https\://github\.com/ansible\-collections/community\.general/pull/8776)\)\.
-* gio\_mime module utils \- add argument formatter version
\([https\://github\.com/ansible\-collections/community\.general/pull/9067](https\://github\.com/ansible\-collections/community\.general/pull/9067)\)\.
-* github\_app\_access\_token lookup plugin \- adds new private\_key
parameter \([https\://github\.com/ansible\-collections/community\.general/pull/8989](https\://github\.com/ansible\-collections/community\.general/pull/8989)\)\.
-* gitlab\_deploy\_key \- better construct when using dict\.items\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* gitlab\_group \- add many new parameters \([https\://github\.com/ansible\-collections/community\.general/pull/8908](https\://github\.com/ansible\-collections/community\.general/pull/8908)\)\.
-* gitlab\_group \- better construct when using dict\.items\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* gitlab\_group \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* gitlab\_issue \- better construct when using dict\.items\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* gitlab\_merge\_request \- better construct when using dict\.items\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* gitlab\_project \- add option container\_expiration\_policy
to schedule container registry cleanup \([https\://github\.com/ansible\-collections/community\.general/pull/8674](https\://github\.com/ansible\-collections/community\.general/pull/8674)\)\.
-* gitlab\_project \- add option issues\_access\_level
to enable/disable project issues \([https\://github\.com/ansible\-collections/community\.general/pull/8760](https\://github\.com/ansible\-collections/community\.general/pull/8760)\)\.
-* gitlab\_project \- add option model\_registry\_access\_level
to disable model registry \([https\://github\.com/ansible\-collections/community\.general/pull/8688](https\://github\.com/ansible\-collections/community\.general/pull/8688)\)\.
-* gitlab\_project \- add option pages\_access\_level
to disable project pages \([https\://github\.com/ansible\-collections/community\.general/pull/8688](https\://github\.com/ansible\-collections/community\.general/pull/8688)\)\.
-* gitlab\_project \- add option repository\_access\_level
to disable project repository \([https\://github\.com/ansible\-collections/community\.general/pull/8674](https\://github\.com/ansible\-collections/community\.general/pull/8674)\)\.
-* gitlab\_project \- add option service\_desk\_enabled
to disable service desk \([https\://github\.com/ansible\-collections/community\.general/pull/8688](https\://github\.com/ansible\-collections/community\.general/pull/8688)\)\.
-* gitlab\_project \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* gitlab\_project \- sorted parameters in order to avoid future merge conflicts \([https\://github\.com/ansible\-collections/community\.general/pull/8759](https\://github\.com/ansible\-collections/community\.general/pull/8759)\)\.
-* gitlab\_runner \- better construct when using dict\.items\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* hashids filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* homebrew \- speed up brew install and upgrade \([https\://github\.com/ansible\-collections/community\.general/pull/9022](https\://github\.com/ansible\-collections/community\.general/pull/9022)\)\.
-* hwc\_ecs\_instance \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* hwc\_evs\_disk \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* hwc\_vpc\_eip \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* hwc\_vpc\_peering\_connect \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* hwc\_vpc\_port \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* hwc\_vpc\_subnet \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* icinga2\_host \- replace loop with dict comprehension \([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* imc\_rest \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* ipa\_dnsrecord \- adds SSHFP
record type for managing SSH fingerprints in FreeIPA DNS \([https\://github\.com/ansible\-collections/community\.general/pull/8404](https\://github\.com/ansible\-collections/community\.general/pull/8404)\)\.
-* ipa\_otptoken \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* jenkins\_node \- add offline\_message
parameter for updating a Jenkins node offline cause reason when the state is \"disabled\" \(offline\) \([https\://github\.com/ansible\-collections/community\.general/pull/9084](https\://github\.com/ansible\-collections/community\.general/pull/9084)\)\.\"
-* jira \- adjust code ahead of the old VardDict
deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8856](https\://github\.com/ansible\-collections/community\.general/pull/8856)\)\.
-* jira \- mute the old VarDict
deprecation \([https\://github\.com/ansible\-collections/community\.general/pull/8776](https\://github\.com/ansible\-collections/community\.general/pull/8776)\)\.
-* jira \- replace deprecated params when using decorator cause\_changes
\([https\://github\.com/ansible\-collections/community\.general/pull/8791](https\://github\.com/ansible\-collections/community\.general/pull/8791)\)\.
-* keep\_keys filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* keycloak module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* keycloak\_client \- add client\-x509
choice to client\_authenticator\_type
\([https\://github\.com/ansible\-collections/community\.general/pull/8973](https\://github\.com/ansible\-collections/community\.general/pull/8973)\)\.
-* keycloak\_client \- assign auth flow by name \([https\://github\.com/ansible\-collections/community\.general/pull/8428](https\://github\.com/ansible\-collections/community\.general/pull/8428)\)\.
-* keycloak\_client \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* keycloak\_clientscope \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* keycloak\_identity\_provider \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* keycloak\_realm \- add boolean toggle to configure organization support for a given keycloak realm \([https\://github\.com/ansible\-collections/community\.general/issues/9027](https\://github\.com/ansible\-collections/community\.general/issues/9027)\, [https\://github\.com/ansible\-collections/community\.general/pull/8927/](https\://github\.com/ansible\-collections/community\.general/pull/8927/)\)\.
-* keycloak\_user\_federation \- add module argument allowing users to optout of the removal of unspecified mappers\, for example to keep the keycloak default mappers \([https\://github\.com/ansible\-collections/community\.general/pull/8764](https\://github\.com/ansible\-collections/community\.general/pull/8764)\)\.
-* keycloak\_user\_federation \- add the user federation config parameter referral
to the module arguments \([https\://github\.com/ansible\-collections/community\.general/pull/8954](https\://github\.com/ansible\-collections/community\.general/pull/8954)\)\.
-* keycloak\_user\_federation \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* keycloak\_user\_federation \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* keycloak\_user\_federation \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* linode \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* locale\_gen \- add support for multiple locales \([https\://github\.com/ansible\-collections/community\.general/issues/8677](https\://github\.com/ansible\-collections/community\.general/issues/8677)\, [https\://github\.com/ansible\-collections/community\.general/pull/8682](https\://github\.com/ansible\-collections/community\.general/pull/8682)\)\.
-* lxc\_container \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* lxd\_container \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* manageiq\_provider \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* mattermost \- adds support for message priority \([https\://github\.com/ansible\-collections/community\.general/issues/9068](https\://github\.com/ansible\-collections/community\.general/issues/9068)\, [https\://github\.com/ansible\-collections/community\.general/pull/9087](https\://github\.com/ansible\-collections/community\.general/pull/9087)\)\.
-* memcached\, pickle\, redis\, yaml cache plugins \- make sure that all options are typed \([https\://github\.com/ansible\-collections/community\.general/pull/8624](https\://github\.com/ansible\-collections/community\.general/pull/8624)\)\.
-* memset\_dns\_reload \- replace loop with dict\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* memset\_memstore\_info \- replace loop with dict\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* memset\_server\_info \- replace loop with dict\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* memset\_zone \- replace loop with dict\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* memset\_zone\_domain \- replace loop with dict\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* memset\_zone\_record \- replace loop with dict\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* nmcli \- add conn\_enable
param to reload connection \([https\://github\.com/ansible\-collections/community\.general/issues/3752](https\://github\.com/ansible\-collections/community\.general/issues/3752)\, [https\://github\.com/ansible\-collections/community\.general/issues/8704](https\://github\.com/ansible\-collections/community\.general/issues/8704)\, [https\://github\.com/ansible\-collections/community\.general/pull/8897](https\://github\.com/ansible\-collections/community\.general/pull/8897)\)\.
-* nmcli \- add state\=up
and state\=down
to enable/disable connections \([https\://github\.com/ansible\-collections/community\.general/issues/3752](https\://github\.com/ansible\-collections/community\.general/issues/3752)\, [https\://github\.com/ansible\-collections/community\.general/issues/8704](https\://github\.com/ansible\-collections/community\.general/issues/8704)\, [https\://github\.com/ansible\-collections/community\.general/issues/7152](https\://github\.com/ansible\-collections/community\.general/issues/7152)\, [https\://github\.com/ansible\-collections/community\.general/pull/8897](https\://github\.com/ansible\-collections/community\.general/pull/8897)\)\.
-* nmcli \- better construct when using dict\.items\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* npm \- add force
parameter to allow \-\-force
\([https\://github\.com/ansible\-collections/community\.general/pull/8885](https\://github\.com/ansible\-collections/community\.general/pull/8885)\)\.
-* ocapi\_utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* one\_image \- add create
\, template
and datastore\_id
arguments for image creation \([https\://github\.com/ansible\-collections/community\.general/pull/9075](https\://github\.com/ansible\-collections/community\.general/pull/9075)\)\.
-* one\_image \- add wait\_timeout
argument for adjustable timeouts \([https\://github\.com/ansible\-collections/community\.general/pull/9075](https\://github\.com/ansible\-collections/community\.general/pull/9075)\)\.
-* one\_image \- add option persistent
to manage image persistence \([https\://github\.com/ansible\-collections/community\.general/issues/3578](https\://github\.com/ansible\-collections/community\.general/issues/3578)\, [https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
-* one\_image \- extend xsd scheme to make it return a lot more info about image \([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
-* one\_image \- refactor code to make it more similar to one\_template
and one\_vnet
\([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
-* one\_image\_info \- extend xsd scheme to make it return a lot more info about image \([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
-* one\_image\_info \- refactor code to make it more similar to one\_template
and one\_vnet
\([https\://github\.com/ansible\-collections/community\.general/pull/8889](https\://github\.com/ansible\-collections/community\.general/pull/8889)\)\.
-* one\_service \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* one\_vm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* onepassword lookup plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* open\_iscsi \- allow login to a portal with multiple targets without specifying any of them \([https\://github\.com/ansible\-collections/community\.general/pull/8719](https\://github\.com/ansible\-collections/community\.general/pull/8719)\)\.
-* openbsd\_pkg \- adds diff support to show changes in installed package list\. This does not yet work for check mode \([https\://github\.com/ansible\-collections/community\.general/pull/8402](https\://github\.com/ansible\-collections/community\.general/pull/8402)\)\.
-* opennebula\.py \- add VM id
and VM host
to inventory host data \([https\://github\.com/ansible\-collections/community\.general/pull/8532](https\://github\.com/ansible\-collections/community\.general/pull/8532)\)\.
-* opentelemetry callback plugin \- fix default value for store\_spans\_in\_file
causing traces to be produced to a file named None
\([https\://github\.com/ansible\-collections/community\.general/issues/8566](https\://github\.com/ansible\-collections/community\.general/issues/8566)\, [https\://github\.com/ansible\-collections/community\.general/pull/8741](https\://github\.com/ansible\-collections/community\.general/pull/8741)\)\.
-* opkg \- add return value version
\([https\://github\.com/ansible\-collections/community\.general/pull/9086](https\://github\.com/ansible\-collections/community\.general/pull/9086)\)\.
-* passwordstore lookup plugin \- add subkey creation/update support \([https\://github\.com/ansible\-collections/community\.general/pull/8952](https\://github\.com/ansible\-collections/community\.general/pull/8952)\)\.
-* passwordstore lookup plugin \- add the current user to the lockfile file name to address issues on multi\-user systems \([https\://github\.com/ansible\-collections/community\.general/pull/8689](https\://github\.com/ansible\-collections/community\.general/pull/8689)\)\.
-* pids \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* pipx \- add parameter suffix
to module \([https\://github\.com/ansible\-collections/community\.general/pull/8675](https\://github\.com/ansible\-collections/community\.general/pull/8675)\, [https\://github\.com/ansible\-collections/community\.general/issues/8656](https\://github\.com/ansible\-collections/community\.general/issues/8656)\)\.
-* pipx \- added new states install\_all
\, uninject
\, upgrade\_shared
\, pin
\, and unpin
\([https\://github\.com/ansible\-collections/community\.general/pull/8809](https\://github\.com/ansible\-collections/community\.general/pull/8809)\)\.
-* pipx \- added parameter global
to module \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
-* pipx \- refactor out parsing of pipx list
output to module utils \([https\://github\.com/ansible\-collections/community\.general/pull/9044](https\://github\.com/ansible\-collections/community\.general/pull/9044)\)\.
-* pipx \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* pipx\_info \- add new return value pinned
\([https\://github\.com/ansible\-collections/community\.general/pull/9044](https\://github\.com/ansible\-collections/community\.general/pull/9044)\)\.
-* pipx\_info \- added parameter global
to module \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
-* pipx\_info \- refactor out parsing of pipx list
output to module utils \([https\://github\.com/ansible\-collections/community\.general/pull/9044](https\://github\.com/ansible\-collections/community\.general/pull/9044)\)\.
-* pipx\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* pkg5\_publisher \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* pkgng \- add option use\_globs
\(default true
\) to optionally disable glob patterns \([https\://github\.com/ansible\-collections/community\.general/issues/8632](https\://github\.com/ansible\-collections/community\.general/issues/8632)\, [https\://github\.com/ansible\-collections/community\.general/pull/8633](https\://github\.com/ansible\-collections/community\.general/pull/8633)\)\.
-* proxmox \- add disk\_volume
and mount\_volumes
keys for better readability \([https\://github\.com/ansible\-collections/community\.general/pull/8542](https\://github\.com/ansible\-collections/community\.general/pull/8542)\)\.
-* proxmox \- allow specification of the API port when using proxmox\_\* \([https\://github\.com/ansible\-collections/community\.general/issues/8440](https\://github\.com/ansible\-collections/community\.general/issues/8440)\, [https\://github\.com/ansible\-collections/community\.general/pull/8441](https\://github\.com/ansible\-collections/community\.general/pull/8441)\)\.
-* proxmox \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* proxmox \- translate the old disk
and mounts
keys to the new handling internally \([https\://github\.com/ansible\-collections/community\.general/pull/8542](https\://github\.com/ansible\-collections/community\.general/pull/8542)\)\.
-* proxmox inventory plugin \- add new fact for LXC interface details \([https\://github\.com/ansible\-collections/community\.general/pull/8713](https\://github\.com/ansible\-collections/community\.general/pull/8713)\)\.
-* proxmox inventory plugin \- clean up authentication code \([https\://github\.com/ansible\-collections/community\.general/pull/8917](https\://github\.com/ansible\-collections/community\.general/pull/8917)\)\.
-* proxmox inventory plugin \- fix urllib3 InsecureRequestWarnings
not being suppressed when a token is used \([https\://github\.com/ansible\-collections/community\.general/pull/9099](https\://github\.com/ansible\-collections/community\.general/pull/9099)\)\.
-* proxmox\_disk \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* proxmox\_kvm \- adds the ciupgrade
parameter to specify whether cloud\-init should upgrade system packages at first boot \([https\://github\.com/ansible\-collections/community\.general/pull/9066](https\://github\.com/ansible\-collections/community\.general/pull/9066)\)\.
-* proxmox\_kvm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* proxmox\_kvm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* proxmox\_template \- small refactor in logic for determining whether a template exists or not \([https\://github\.com/ansible\-collections/community\.general/pull/8516](https\://github\.com/ansible\-collections/community\.general/pull/8516)\)\.
-* proxmox\_vm\_info \- add network
option to retrieve current network information \([https\://github\.com/ansible\-collections/community\.general/pull/8471](https\://github\.com/ansible\-collections/community\.general/pull/8471)\)\.
-* redfish\_\* modules \- adds ciphers
option for custom cipher selection \([https\://github\.com/ansible\-collections/community\.general/pull/8533](https\://github\.com/ansible\-collections/community\.general/pull/8533)\)\.
-* redfish\_command \- add UpdateUserAccountTypes
command \([https\://github\.com/ansible\-collections/community\.general/issues/9058](https\://github\.com/ansible\-collections/community\.general/issues/9058)\, [https\://github\.com/ansible\-collections/community\.general/pull/9059](https\://github\.com/ansible\-collections/community\.general/pull/9059)\)\.
-* redfish\_command \- add wait
and wait\_timeout
options to allow a user to block a command until a service is accessible after performing the requested command \([https\://github\.com/ansible\-collections/community\.general/issues/8051](https\://github\.com/ansible\-collections/community\.general/issues/8051)\, [https\://github\.com/ansible\-collections/community\.general/pull/8434](https\://github\.com/ansible\-collections/community\.general/pull/8434)\)\.
-* redfish\_command \- add handling of the PasswordChangeRequired
message from services in the UpdateUserPassword
command to directly modify the user\'s password if the requested user is the one invoking the operation \([https\://github\.com/ansible\-collections/community\.general/issues/8652](https\://github\.com/ansible\-collections/community\.general/issues/8652)\, [https\://github\.com/ansible\-collections/community\.general/pull/8653](https\://github\.com/ansible\-collections/community\.general/pull/8653)\)\.
-* redfish\_confg \- remove CapacityBytes
from required paramaters of the CreateVolume
command \([https\://github\.com/ansible\-collections/community\.general/pull/8956](https\://github\.com/ansible\-collections/community\.general/pull/8956)\)\.
-* redfish\_config \- add parameter storage\_none\_volume\_deletion
to CreateVolume
command in order to control the automatic deletion of non\-RAID volumes \([https\://github\.com/ansible\-collections/community\.general/pull/8990](https\://github\.com/ansible\-collections/community\.general/pull/8990)\)\.
-* redfish\_info \- add command CheckAvailability
to check if a service is accessible \([https\://github\.com/ansible\-collections/community\.general/issues/8051](https\://github\.com/ansible\-collections/community\.general/issues/8051)\, [https\://github\.com/ansible\-collections/community\.general/pull/8434](https\://github\.com/ansible\-collections/community\.general/pull/8434)\)\.
-* redfish\_info \- adds RedfishURI
and StorageId
to Disk inventory \([https\://github\.com/ansible\-collections/community\.general/pull/8937](https\://github\.com/ansible\-collections/community\.general/pull/8937)\)\.
-* redfish\_utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* redfish\_utils module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* redfish\_utils module utils \- schedule a BIOS configuration job at next reboot when the BIOS config is changed \([https\://github\.com/ansible\-collections/community\.general/pull/9012](https\://github\.com/ansible\-collections/community\.general/pull/9012)\)\.
-* redis cache plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* redis\, redis\_info \- add client\_cert
and client\_key
options to specify path to certificate for Redis authentication \([https\://github\.com/ansible\-collections/community\.general/pull/8654](https\://github\.com/ansible\-collections/community\.general/pull/8654)\)\.
-* redis\_info \- adds support for getting cluster info \([https\://github\.com/ansible\-collections/community\.general/pull/8464](https\://github\.com/ansible\-collections/community\.general/pull/8464)\)\.
-* remove\_keys filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* replace\_keys filter plugin \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* scaleway \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* scaleway module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* scaleway\_compute \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* scaleway\_container \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_container\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_container\_namespace \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_container\_namespace\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_container\_registry \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_container\_registry\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_function \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_function\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_function\_namespace \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_function\_namespace\_info \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8858](https\://github\.com/ansible\-collections/community\.general/pull/8858)\)\.
-* scaleway\_ip \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* scaleway\_lb \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* scaleway\_security\_group \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* scaleway\_security\_group \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* scaleway\_user\_data \- better construct when using dict\.items\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* scaleway\_user\_data \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* sensu\_silence \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* snmp\_facts \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* sorcery \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8833](https\://github\.com/ansible\-collections/community\.general/pull/8833)\)\.
-* sudosu become plugin \- added an option \(alt\_method
\) to enhance compatibility with more versions of su
\([https\://github\.com/ansible\-collections/community\.general/pull/8214](https\://github\.com/ansible\-collections/community\.general/pull/8214)\)\.
-* udm\_dns\_record \- replace loop with dict\.update\(\)
\([https\://github\.com/ansible\-collections/community\.general/pull/8876](https\://github\.com/ansible\-collections/community\.general/pull/8876)\)\.
-* ufw \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* unsafe plugin utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* vardict module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* vars MH module utils \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8814](https\://github\.com/ansible\-collections/community\.general/pull/8814)\)\.
-* virtualbox inventory plugin \- expose a new parameter enable\_advanced\_group\_parsing
to change how the VirtualBox dynamic inventory parses VM groups \([https\://github\.com/ansible\-collections/community\.general/issues/8508](https\://github\.com/ansible\-collections/community\.general/issues/8508)\, [https\://github\.com/ansible\-collections/community\.general/pull/8510](https\://github\.com/ansible\-collections/community\.general/pull/8510)\)\.
-* vmadm \- replace Python 2\.6 construct with dict comprehensions \([https\://github\.com/ansible\-collections/community\.general/pull/8822](https\://github\.com/ansible\-collections/community\.general/pull/8822)\)\.
-* wdc\_redfish\_command \- minor change to handle upgrade file for Redfish WD platforms \([https\://github\.com/ansible\-collections/community\.general/pull/8444](https\://github\.com/ansible\-collections/community\.general/pull/8444)\)\.
-
-
-### Breaking Changes / Porting Guide
-
-* The collection no longer supports ansible\-core 2\.13 and ansible\-core 2\.14\. While most \(or even all\) modules and plugins might still work with these versions\, they are no longer tested in CI and breakages regarding them will not be fixed \([https\://github\.com/ansible\-collections/community\.general/pull/8921](https\://github\.com/ansible\-collections/community\.general/pull/8921)\)\.
-* cmd\_runner module utils \- CLI arguments created directly from module parameters are no longer assigned a default formatter \([https\://github\.com/ansible\-collections/community\.general/pull/8928](https\://github\.com/ansible\-collections/community\.general/pull/8928)\)\.
-* irc \- the defaults of use\_tls
and validate\_certs
changed from false
to true
\([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
-* rhsm\_repository \- the states present
and absent
have been removed\. Use enabled
and disabled
instead \([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
-
-
-### Deprecated Features
-
-* CmdRunner module util \- setting the value of the ignore\_none
parameter within a CmdRunner
context is deprecated and that feature should be removed in community\.general 12\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8479](https\://github\.com/ansible\-collections/community\.general/pull/8479)\)\.
-* MH decorator cause\_changes module utils \- deprecate parameters on\_success
and on\_failure
\([https\://github\.com/ansible\-collections/community\.general/pull/8791](https\://github\.com/ansible\-collections/community\.general/pull/8791)\)\.
-* git\_config \- the list\_all
option has been deprecated and will be removed in community\.general 11\.0\.0\. Use the community\.general\.git\_config\_info
module instead \([https\://github\.com/ansible\-collections/community\.general/pull/8453](https\://github\.com/ansible\-collections/community\.general/pull/8453)\)\.
-* git\_config \- using state\=present
without providing value
is deprecated and will be disallowed in community\.general 11\.0\.0\. Use the community\.general\.git\_config\_info
module instead to read a value \([https\://github\.com/ansible\-collections/community\.general/pull/8453](https\://github\.com/ansible\-collections/community\.general/pull/8453)\)\.
-* hipchat \- the hipchat service has been discontinued and the self\-hosted variant has been End of Life since 2020\. The module is therefore deprecated and will be removed from community\.general 11\.0\.0 if nobody provides compelling reasons to still keep it \([https\://github\.com/ansible\-collections/community\.general/pull/8919](https\://github\.com/ansible\-collections/community\.general/pull/8919)\)\.
-* pipx \- support for versions of the command line tool pipx
older than 1\.7\.0
is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
-* pipx\_info \- support for versions of the command line tool pipx
older than 1\.7\.0
is deprecated and will be removed in community\.general 11\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/8793](https\://github\.com/ansible\-collections/community\.general/pull/8793)\)\.
-
-
-### Removed Features \(previously deprecated\)
-
-* The consul\_acl module has been removed\. Use community\.general\.consul\_token and/or community\.general\.consul\_policy instead \([https\://github\.com/ansible\-collections/community\.general/pull/8921](https\://github\.com/ansible\-collections/community\.general/pull/8921)\)\.
-* The hipchat callback plugin has been removed\. The hipchat service has been discontinued and the self\-hosted variant has been End of Life since 2020 \([https\://github\.com/ansible\-collections/community\.general/pull/8921](https\://github\.com/ansible\-collections/community\.general/pull/8921)\)\.
-* The redhat module utils has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/8921](https\://github\.com/ansible\-collections/community\.general/pull/8921)\)\.
-* The rhn\_channel module has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/8921](https\://github\.com/ansible\-collections/community\.general/pull/8921)\)\.
-* The rhn\_register module has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/8921](https\://github\.com/ansible\-collections/community\.general/pull/8921)\)\.
-* consul \- removed the ack\_params\_state\_absent
option\. It had no effect anymore \([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
-* ejabberd\_user \- removed the logging
option \([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
-* gitlab modules \- remove basic auth feature \([https\://github\.com/ansible\-collections/community\.general/pull/8405](https\://github\.com/ansible\-collections/community\.general/pull/8405)\)\.
-* proxmox\_kvm \- removed the proxmox\_default\_behavior
option\. Explicitly specify the old default values if you were using proxmox\_default\_behavior\=compatibility
\, otherwise simply remove it \([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
-* redhat\_subscriptions \- removed the pool
option\. Use pool\_ids
instead \([https\://github\.com/ansible\-collections/community\.general/pull/8918](https\://github\.com/ansible\-collections/community\.general/pull/8918)\)\.
-
-
-### Bugfixes
-
-* bitwarden lookup plugin \- fix KeyError
in search\_field
\([https\://github\.com/ansible\-collections/community\.general/issues/8549](https\://github\.com/ansible\-collections/community\.general/issues/8549)\, [https\://github\.com/ansible\-collections/community\.general/pull/8557](https\://github\.com/ansible\-collections/community\.general/pull/8557)\)\.
-* bitwarden lookup plugin \- support BWS v0\.3\.0 syntax breaking change \([https\://github\.com/ansible\-collections/community\.general/pull/9028](https\://github\.com/ansible\-collections/community\.general/pull/9028)\)\.
-* cloudflare\_dns \- fix changing Cloudflare SRV records \([https\://github\.com/ansible\-collections/community\.general/issues/8679](https\://github\.com/ansible\-collections/community\.general/issues/8679)\, [https\://github\.com/ansible\-collections/community\.general/pull/8948](https\://github\.com/ansible\-collections/community\.general/pull/8948)\)\.
-* cmd\_runner module utils \- call to get\_best\_parsable\_locales\(\)
was missing parameter \([https\://github\.com/ansible\-collections/community\.general/pull/8929](https\://github\.com/ansible\-collections/community\.general/pull/8929)\)\.
-* collection\_version lookup plugin \- use importlib
directly instead of the deprecated and in ansible\-core 2\.19 removed ansible\.module\_utils\.compat\.importlib
\([https\://github\.com/ansible\-collections/community\.general/pull/9084](https\://github\.com/ansible\-collections/community\.general/pull/9084)\)\.
-* cpanm \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* dig lookup plugin \- fix using only the last nameserver specified \([https\://github\.com/ansible\-collections/community\.general/pull/8970](https\://github\.com/ansible\-collections/community\.general/pull/8970)\)\.
-* django module utils \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* django\_command \- option command
is now split lexically before passed to underlying PythonRunner \([https\://github\.com/ansible\-collections/community\.general/pull/8944](https\://github\.com/ansible\-collections/community\.general/pull/8944)\)\.
-* gconftool2\_info \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* git\_config \- fix behavior of state\=absent
if value
is present \([https\://github\.com/ansible\-collections/community\.general/issues/8436](https\://github\.com/ansible\-collections/community\.general/issues/8436)\, [https\://github\.com/ansible\-collections/community\.general/pull/8452](https\://github\.com/ansible\-collections/community\.general/pull/8452)\)\.
-* gitlab\_group\_access\_token \- fix crash in check mode caused by attempted access to a newly created access token \([https\://github\.com/ansible\-collections/community\.general/pull/8796](https\://github\.com/ansible\-collections/community\.general/pull/8796)\)\.
-* gitlab\_label \- update label\'s color \([https\://github\.com/ansible\-collections/community\.general/pull/9010](https\://github\.com/ansible\-collections/community\.general/pull/9010)\)\.
-* gitlab\_project \- fix container\_expiration\_policy
not being applied when creating a new project \([https\://github\.com/ansible\-collections/community\.general/pull/8790](https\://github\.com/ansible\-collections/community\.general/pull/8790)\)\.
-* gitlab\_project \- fix crash caused by old Gitlab projects not having a container\_expiration\_policy
attribute \([https\://github\.com/ansible\-collections/community\.general/pull/8790](https\://github\.com/ansible\-collections/community\.general/pull/8790)\)\.
-* gitlab\_project\_access\_token \- fix crash in check mode caused by attempted access to a newly created access token \([https\://github\.com/ansible\-collections/community\.general/pull/8796](https\://github\.com/ansible\-collections/community\.general/pull/8796)\)\.
-* gitlab\_runner \- fix paused
parameter being ignored \([https\://github\.com/ansible\-collections/community\.general/pull/8648](https\://github\.com/ansible\-collections/community\.general/pull/8648)\)\.
-* homebrew \- do not fail when brew prints warnings \([https\://github\.com/ansible\-collections/community\.general/pull/8406](https\://github\.com/ansible\-collections/community\.general/pull/8406)\, [https\://github\.com/ansible\-collections/community\.general/issues/7044](https\://github\.com/ansible\-collections/community\.general/issues/7044)\)\.
-* homebrew\_cask \- fix upgrade\_all
returns changed
when nothing upgraded \([https\://github\.com/ansible\-collections/community\.general/issues/8707](https\://github\.com/ansible\-collections/community\.general/issues/8707)\, [https\://github\.com/ansible\-collections/community\.general/pull/8708](https\://github\.com/ansible\-collections/community\.general/pull/8708)\)\.
-* homectl \- the module now tries to use legacycrypt
on Python 3\.13\+ \([https\://github\.com/ansible\-collections/community\.general/issues/4691](https\://github\.com/ansible\-collections/community\.general/issues/4691)\, [https\://github\.com/ansible\-collections/community\.general/pull/8987](https\://github\.com/ansible\-collections/community\.general/pull/8987)\)\.
-* hponcfg \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* ini\_file \- pass absolute paths to module\.atomic\_move\(\)
\([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
-* ipa\_host \- add force\_create
\, fix enabled
and disabled
states \([https\://github\.com/ansible\-collections/community\.general/issues/1094](https\://github\.com/ansible\-collections/community\.general/issues/1094)\, [https\://github\.com/ansible\-collections/community\.general/pull/8920](https\://github\.com/ansible\-collections/community\.general/pull/8920)\)\.
-* ipa\_hostgroup \- fix enabled \`\` and \`\`disabled
states \([https\://github\.com/ansible\-collections/community\.general/issues/8408](https\://github\.com/ansible\-collections/community\.general/issues/8408)\, [https\://github\.com/ansible\-collections/community\.general/pull/8900](https\://github\.com/ansible\-collections/community\.general/pull/8900)\)\.
-* java\_keystore \- pass absolute paths to module\.atomic\_move\(\)
\([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
-* jenkins\_node \- fixed enabled
\, disable
and absent
node state redirect authorization issues\, same as was present for present
\([https\://github\.com/ansible\-collections/community\.general/pull/9084](https\://github\.com/ansible\-collections/community\.general/pull/9084)\)\.
-* jenkins\_plugin \- pass absolute paths to module\.atomic\_move\(\)
\([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
-* kdeconfig \- pass absolute paths to module\.atomic\_move\(\)
\([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
-* kernel\_blacklist \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* keycloak\_client \- fix TypeError when sanitizing the saml\.signing\.private\.key
attribute in the module\'s diff or state output\. The sanitize\_cr
function expected a dict where in some cases a list might occur \([https\://github\.com/ansible\-collections/community\.general/pull/8403](https\://github\.com/ansible\-collections/community\.general/pull/8403)\)\.
-* keycloak\_clientscope \- remove IDs from clientscope and its protocol mappers on comparison for changed check \([https\://github\.com/ansible\-collections/community\.general/pull/8545](https\://github\.com/ansible\-collections/community\.general/pull/8545)\)\.
-* keycloak\_clientscope\_type \- fix detect changes in check mode \([https\://github\.com/ansible\-collections/community\.general/issues/9092](https\://github\.com/ansible\-collections/community\.general/issues/9092)\, [https\://github\.com/ansible\-collections/community\.general/pull/9093](https\://github\.com/ansible\-collections/community\.general/pull/9093)\)\.
-* keycloak\_group \- fix crash caused in subgroup creation\. The crash was caused by a missing or empty subGroups
property in Keycloak ≥23 \([https\://github\.com/ansible\-collections/community\.general/issues/8788](https\://github\.com/ansible\-collections/community\.general/issues/8788)\, [https\://github\.com/ansible\-collections/community\.general/pull/8979](https\://github\.com/ansible\-collections/community\.general/pull/8979)\)\.
-* keycloak\_realm \- add normalizations for attributes
and protocol\_mappers
\([https\://github\.com/ansible\-collections/community\.general/pull/8496](https\://github\.com/ansible\-collections/community\.general/pull/8496)\)\.
-* keycloak\_realm \- fix change detection in check mode by sorting the lists in the realms beforehand \([https\://github\.com/ansible\-collections/community\.general/pull/8877](https\://github\.com/ansible\-collections/community\.general/pull/8877)\)\.
-* keycloak\_realm\_key \- fix invalid usage of parent\_id
\([https\://github\.com/ansible\-collections/community\.general/issues/7850](https\://github\.com/ansible\-collections/community\.general/issues/7850)\, [https\://github\.com/ansible\-collections/community\.general/pull/8823](https\://github\.com/ansible\-collections/community\.general/pull/8823)\)\.
-* keycloak\_user\_federation \- add module argument allowing users to configure the update mode for the parameter bindCredential
\([https\://github\.com/ansible\-collections/community\.general/pull/8898](https\://github\.com/ansible\-collections/community\.general/pull/8898)\)\.
-* keycloak\_user\_federation \- fix key error when removing mappers during an update and new mappers are specified in the module args \([https\://github\.com/ansible\-collections/community\.general/pull/8762](https\://github\.com/ansible\-collections/community\.general/pull/8762)\)\.
-* keycloak\_user\_federation \- fix the UnboundLocalError
that occurs when an ID is provided for a user federation mapper \([https\://github\.com/ansible\-collections/community\.general/pull/8831](https\://github\.com/ansible\-collections/community\.general/pull/8831)\)\.
-* keycloak\_user\_federation \- get cleartext IDP clientSecret
from full realm info to detect changes to it \([https\://github\.com/ansible\-collections/community\.general/issues/8294](https\://github\.com/ansible\-collections/community\.general/issues/8294)\, [https\://github\.com/ansible\-collections/community\.general/pull/8735](https\://github\.com/ansible\-collections/community\.general/pull/8735)\)\.
-* keycloak\_user\_federation \- minimize change detection by setting krbPrincipalAttribute
to \'\'
in Keycloak responses if missing \([https\://github\.com/ansible\-collections/community\.general/pull/8785](https\://github\.com/ansible\-collections/community\.general/pull/8785)\)\.
-* keycloak\_user\_federation \- remove lastSync
parameter from Keycloak responses to minimize diff/changes \([https\://github\.com/ansible\-collections/community\.general/pull/8812](https\://github\.com/ansible\-collections/community\.general/pull/8812)\)\.
-* keycloak\_user\_federation \- remove existing user federation mappers if they are not present in the federation configuration and will not be updated \([https\://github\.com/ansible\-collections/community\.general/issues/7169](https\://github\.com/ansible\-collections/community\.general/issues/7169)\, [https\://github\.com/ansible\-collections/community\.general/pull/8695](https\://github\.com/ansible\-collections/community\.general/pull/8695)\)\.
-* keycloak\_user\_federation \- sort desired and after mapper list by name \(analog to before mapper list\) to minimize diff and make change detection more accurate \([https\://github\.com/ansible\-collections/community\.general/pull/8761](https\://github\.com/ansible\-collections/community\.general/pull/8761)\)\.
-* keycloak\_userprofile \- fix empty response when fetching userprofile component by removing parent\=parent\_id
filter \([https\://github\.com/ansible\-collections/community\.general/pull/8923](https\://github\.com/ansible\-collections/community\.general/pull/8923)\)\.
-* keycloak\_userprofile \- improve diff by deserializing the fetched kc\.user\.profile\.config
and serialize it only when sending back \([https\://github\.com/ansible\-collections/community\.general/pull/8940](https\://github\.com/ansible\-collections/community\.general/pull/8940)\)\.
-* launched \- correctly report changed status in check mode \([https\://github\.com/ansible\-collections/community\.general/pull/8406](https\://github\.com/ansible\-collections/community\.general/pull/8406)\)\.
-* locale\_gen \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* lxd\_container \- fix bug introduced in previous commit \([https\://github\.com/ansible\-collections/community\.general/pull/8895](https\://github\.com/ansible\-collections/community\.general/pull/8895)\, [https\://github\.com/ansible\-collections/community\.general/issues/8888](https\://github\.com/ansible\-collections/community\.general/issues/8888)\)\.
-* mksysb \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* modprobe \- fix check mode not being honored for persistent
option \([https\://github\.com/ansible\-collections/community\.general/issues/9051](https\://github\.com/ansible\-collections/community\.general/issues/9051)\, [https\://github\.com/ansible\-collections/community\.general/pull/9052](https\://github\.com/ansible\-collections/community\.general/pull/9052)\)\.
-* nsupdate \- fix \'index out of range\' error when changing NS records by falling back to authority section of the response \([https\://github\.com/ansible\-collections/community\.general/issues/8612](https\://github\.com/ansible\-collections/community\.general/issues/8612)\, [https\://github\.com/ansible\-collections/community\.general/pull/8614](https\://github\.com/ansible\-collections/community\.general/pull/8614)\)\.
-* one\_host \- fix if statements for cases when ID\=0
\([https\://github\.com/ansible\-collections/community\.general/issues/1199](https\://github\.com/ansible\-collections/community\.general/issues/1199)\, [https\://github\.com/ansible\-collections/community\.general/pull/8907](https\://github\.com/ansible\-collections/community\.general/pull/8907)\)\.
-* one\_image \- fix module failing due to a class method typo \([https\://github\.com/ansible\-collections/community\.general/pull/9056](https\://github\.com/ansible\-collections/community\.general/pull/9056)\)\.
-* one\_image\_info \- fix module failing due to a class method typo \([https\://github\.com/ansible\-collections/community\.general/pull/9056](https\://github\.com/ansible\-collections/community\.general/pull/9056)\)\.
-* one\_service \- fix service creation after it was deleted with unique
parameter \([https\://github\.com/ansible\-collections/community\.general/issues/3137](https\://github\.com/ansible\-collections/community\.general/issues/3137)\, [https\://github\.com/ansible\-collections/community\.general/pull/8887](https\://github\.com/ansible\-collections/community\.general/pull/8887)\)\.
-* one\_vnet \- fix module failing due to a variable typo \([https\://github\.com/ansible\-collections/community\.general/pull/9019](https\://github\.com/ansible\-collections/community\.general/pull/9019)\)\.
-* opennebula inventory plugin \- fix invalid reference to IP when inventory runs against NICs with no IPv4 address \([https\://github\.com/ansible\-collections/community\.general/pull/8489](https\://github\.com/ansible\-collections/community\.general/pull/8489)\)\.
-* opentelemetry callback \- do not save the JSON response when using the ansible\.builtin\.uri
module \([https\://github\.com/ansible\-collections/community\.general/pull/8430](https\://github\.com/ansible\-collections/community\.general/pull/8430)\)\.
-* opentelemetry callback \- do not save the content response when using the ansible\.builtin\.slurp
module \([https\://github\.com/ansible\-collections/community\.general/pull/8430](https\://github\.com/ansible\-collections/community\.general/pull/8430)\)\.
-* pam\_limits \- pass absolute paths to module\.atomic\_move\(\)
\([https\://github\.com/ansible/ansible/issues/83950](https\://github\.com/ansible/ansible/issues/83950)\, [https\://github\.com/ansible\-collections/community\.general/pull/8925](https\://github\.com/ansible\-collections/community\.general/pull/8925)\)\.
-* paman \- do not fail if an empty list of packages has been provided and there is nothing to do \([https\://github\.com/ansible\-collections/community\.general/pull/8514](https\://github\.com/ansible\-collections/community\.general/pull/8514)\)\.
-* pipx \- it was ignoring global
when listing existing applications \([https\://github\.com/ansible\-collections/community\.general/pull/9044](https\://github\.com/ansible\-collections/community\.general/pull/9044)\)\.
-* pipx module utils \- add missing command line formatter for argument spec\_metadata
\([https\://github\.com/ansible\-collections/community\.general/pull/9044](https\://github\.com/ansible\-collections/community\.general/pull/9044)\)\.
-* pipx\_info \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* proxmox \- fix idempotency on creation of mount volumes using Proxmox\' special \\:\
syntax \([https\://github\.com/ansible\-collections/community\.general/issues/8407](https\://github\.com/ansible\-collections/community\.general/issues/8407)\, [https\://github\.com/ansible\-collections/community\.general/pull/8542](https\://github\.com/ansible\-collections/community\.general/pull/8542)\)\.
-* proxmox \- fixed an issue where the new volume handling incorrectly converted null
values into \"None\"
strings \([https\://github\.com/ansible\-collections/community\.general/pull/8646](https\://github\.com/ansible\-collections/community\.general/pull/8646)\)\.
-* proxmox \- fixed an issue where volume strings where overwritten instead of appended to in the new build\_volume\(\)
method \([https\://github\.com/ansible\-collections/community\.general/pull/8646](https\://github\.com/ansible\-collections/community\.general/pull/8646)\)\.
-* proxmox \- removed the forced conversion of non\-string values to strings to be consistent with the module documentation \([https\://github\.com/ansible\-collections/community\.general/pull/8646](https\://github\.com/ansible\-collections/community\.general/pull/8646)\)\.
-* proxmox inventory plugin \- fixed a possible error on concatenating responses from proxmox\. In case an API call unexpectedly returned an empty result\, the inventory failed with a fatal error\. Added check for empty response \([https\://github\.com/ansible\-collections/community\.general/issues/8798](https\://github\.com/ansible\-collections/community\.general/issues/8798)\, [https\://github\.com/ansible\-collections/community\.general/pull/8794](https\://github\.com/ansible\-collections/community\.general/pull/8794)\)\.
-* python\_runner module utils \- parameter path\_prefix
was being handled as string when it should be a list \([https\://github\.com/ansible\-collections/community\.general/pull/8944](https\://github\.com/ansible\-collections/community\.general/pull/8944)\)\.
-* redfish\_utils module utils \- do not fail when language is not exactly \"en\" \([https\://github\.com/ansible\-collections/community\.general/pull/8613](https\://github\.com/ansible\-collections/community\.general/pull/8613)\)\.
-* redfish\_utils module utils \- fix issue with URI parsing to gracefully handling trailing slashes when extracting member identifiers \([https\://github\.com/ansible\-collections/community\.general/issues/9047](https\://github\.com/ansible\-collections/community\.general/issues/9047)\, [https\://github\.com/ansible\-collections/community\.general/pull/9057](https\://github\.com/ansible\-collections/community\.general/pull/9057)\)\.
-* snap \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* snap\_alias \- use new VarDict
to prevent deprecation warning \([https\://github\.com/ansible\-collections/community\.general/issues/8410](https\://github\.com/ansible\-collections/community\.general/issues/8410)\, [https\://github\.com/ansible\-collections/community\.general/pull/8411](https\://github\.com/ansible\-collections/community\.general/pull/8411)\)\.
-* udm\_user \- the module now tries to use legacycrypt
on Python 3\.13\+ \([https\://github\.com/ansible\-collections/community\.general/issues/4690](https\://github\.com/ansible\-collections/community\.general/issues/4690)\, [https\://github\.com/ansible\-collections/community\.general/pull/8987](https\://github\.com/ansible\-collections/community\.general/pull/8987)\)\.
-
-
-### Known Issues
-
-* jenkins\_node \- the module is not able to update offline message when node is already offline due to internally using toggleOffline API \([https\://github\.com/ansible\-collections/community\.general/pull/9084](https\://github\.com/ansible\-collections/community\.general/pull/9084)\)\.
-
-
-### New Plugins
-
-
-#### Filter
-
-* community\.general\.keep\_keys \- Keep specific keys from dictionaries in a list\.
-* community\.general\.remove\_keys \- Remove specific keys from dictionaries in a list\.
-* community\.general\.replace\_keys \- Replace specific keys in a list of dictionaries\.
-* community\.general\.reveal\_ansible\_type \- Return input type\.
-
-
-#### Test
-
-* community\.general\.ansible\_type \- Validate input type\.
-
-
-### New Modules
-
-* community\.general\.bootc\_manage \- Bootc Switch and Upgrade\.
-* community\.general\.consul\_agent\_check \- Add\, modify\, and delete checks within a consul cluster\.
-* community\.general\.consul\_agent\_service \- Add\, modify and delete services within a consul cluster\.
-* community\.general\.django\_check \- Wrapper for C\(django\-admin check\)\.
-* community\.general\.django\_createcachetable \- Wrapper for C\(django\-admin createcachetable\)\.
-* community\.general\.homebrew\_services \- Services manager for Homebrew\.
-* community\.general\.ipa\_getkeytab \- Manage keytab file in FreeIPA\.
-* community\.general\.jenkins\_node \- Manage Jenkins nodes\.
-* community\.general\.keycloak\_component \- Allows administration of Keycloak components via Keycloak API\.
-* community\.general\.keycloak\_realm\_keys\_metadata\_info \- Allows obtaining Keycloak realm keys metadata via Keycloak API\.
-* community\.general\.keycloak\_userprofile \- Allows managing Keycloak User Profiles\.
-* community\.general\.krb\_ticket \- Kerberos utils for managing tickets\.
-* community\.general\.one\_vnet \- Manages OpenNebula virtual networks\.
-* community\.general\.zypper\_repository\_info \- List Zypper repositories\.
+This file is a placeholder; a version-specific `CHANGELOG-vX.md` will be generated during releases from fragments
+under `changelogs/fragments`. On release branches once a release has been created, consult the branch's version-specific
+file for changes that have occurred in that branch.
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index be5218f651..119e04e170 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -1,937 +1,6 @@
-===============================
-Community General Release Notes
-===============================
+Placeholder changelog
+=====================
-.. contents:: Topics
-
-This changelog describes changes after version 9.0.0.
-
-v10.5.0
-=======
-
-Release Summary
----------------
-
-Regular bugfix and feature release.
-
-Minor Changes
--------------
-
-- CmdRunner module utils - the convenience method ``cmd_runner_fmt.as_fixed()`` now accepts multiple arguments as a list (https://github.com/ansible-collections/community.general/pull/9893).
-- apache2_mod_proxy - code simplification, no change in functionality (https://github.com/ansible-collections/community.general/pull/9457).
-- consul_token - fix idempotency when ``policies`` or ``roles`` are supplied by name (https://github.com/ansible-collections/community.general/issues/9841, https://github.com/ansible-collections/community.general/pull/9845).
-- keycloak_realm - remove ID requirement when creating a realm to allow Keycloak generating its own realm ID (https://github.com/ansible-collections/community.general/pull/9768).
-- nmap inventory plugin - adds ``dns_servers`` option for specifying DNS servers for name resolution. Accepts hostnames or IP addresses in the same format as the ``exclude`` option (https://github.com/ansible-collections/community.general/pull/9849).
-- proxmox_kvm - add missing audio hardware device handling (https://github.com/ansible-collections/community.general/issues/5192, https://github.com/ansible-collections/community.general/pull/9847).
-- redfish_config - add command ``SetPowerRestorePolicy`` to set the desired power state of the system when power is restored (https://github.com/ansible-collections/community.general/pull/9837).
-- redfish_info - add command ``GetPowerRestorePolicy`` to get the desired power state of the system when power is restored (https://github.com/ansible-collections/community.general/pull/9824).
-- rocketchat - option ``is_pre740`` has been added to control the format of the payload. For Rocket.Chat 7.4.0 or newer, it must be set to ``false`` (https://github.com/ansible-collections/community.general/pull/9882).
-- slack callback plugin - add ``http_agent`` option to enable the user to set a custom user agent for slack callback plugin (https://github.com/ansible-collections/community.general/issues/9813, https://github.com/ansible-collections/community.general/pull/9836).
-- systemd_info - add wildcard expression support in ``unitname`` option (https://github.com/ansible-collections/community.general/pull/9821).
-- systemd_info - extend support to timer units (https://github.com/ansible-collections/community.general/pull/9891).
-- vmadm - add new options ``flexible_disk_size`` and ``owner_uuid`` (https://github.com/ansible-collections/community.general/pull/9892).
-
-Bugfixes
---------
-
-- cloudlare_dns - handle exhausted response stream in case of HTTP errors to show nice error message to the user (https://github.com/ansible-collections/community.general/issues/9782, https://github.com/ansible-collections/community.general/pull/9818).
-- dnf_versionlock - add support for dnf5 (https://github.com/ansible-collections/community.general/issues/9556).
-- homebrew - fix crash when package names include tap (https://github.com/ansible-collections/community.general/issues/9777, https://github.com/ansible-collections/community.general/pull/9803).
-- homebrew_cask - handle unusual brew version strings (https://github.com/ansible-collections/community.general/issues/8432, https://github.com/ansible-collections/community.general/pull/9881).
-- nmcli - enable changing only the order of DNS servers or search suffixes (https://github.com/ansible-collections/community.general/issues/8724, https://github.com/ansible-collections/community.general/pull/9880).
-- proxmox - add missing key selection of ``'status'`` key to ``get_lxc_status`` (https://github.com/ansible-collections/community.general/issues/9696, https://github.com/ansible-collections/community.general/pull/9809).
-- proxmox_vm_info - the module no longer expects that the key ``template`` exists in a dictionary returned by Proxmox (https://github.com/ansible-collections/community.general/issues/9875, https://github.com/ansible-collections/community.general/pull/9910).
-- sudoers - display stdout and stderr raised while failed validation (https://github.com/ansible-collections/community.general/issues/9674, https://github.com/ansible-collections/community.general/pull/9871).
-
-New Modules
------------
-
-- community.general.pacemaker_resource - Manage pacemaker resources.
-
-v10.4.0
-=======
-
-Release Summary
----------------
-
-Regular bugfix and feature release.
-
-Minor Changes
--------------
-
-- bitwarden lookup plugin - add new option ``collection_name`` to filter results by collection name, and new option ``result_count`` to validate number of results (https://github.com/ansible-collections/community.general/pull/9728).
-- incus connection plugin - adds ``remote_user`` and ``incus_become_method`` parameters for allowing a non-root user to connect to an Incus instance (https://github.com/ansible-collections/community.general/pull/9743).
-- iocage inventory plugin - the new parameter ``hooks_results`` of the plugin is a list of files inside a jail that provide configuration parameters for the inventory. The inventory plugin reads the files from the jails and put the contents into the items of created variable ``iocage_hooks`` (https://github.com/ansible-collections/community.general/issues/9650, https://github.com/ansible-collections/community.general/pull/9651).
-- jira - adds ``client_cert`` and ``client_key`` parameters for supporting client certificate authentification when connecting to Jira (https://github.com/ansible-collections/community.general/pull/9753).
-- lldp - adds ``multivalues`` parameter to control behavior when lldpctl outputs an attribute multiple times (https://github.com/ansible-collections/community.general/pull/9657).
-- lvg - add ``remove_extra_pvs`` parameter to control if ansible should remove physical volumes which are not in the ``pvs`` parameter (https://github.com/ansible-collections/community.general/pull/9698).
-- lxd connection plugin - adds ``remote_user`` and ``lxd_become_method`` parameters for allowing a non-root user to connect to an LXD instance (https://github.com/ansible-collections/community.general/pull/9659).
-- nmcli - adds VRF support with new ``type`` value ``vrf`` and new ``slave_type`` value ``vrf`` as well as new ``table`` parameter (https://github.com/ansible-collections/community.general/pull/9658, https://github.com/ansible-collections/community.general/issues/8014).
-- proxmox_kvm - allow hibernation and suspending of VMs (https://github.com/ansible-collections/community.general/issues/9620, https://github.com/ansible-collections/community.general/pull/9653).
-- redfish_command - add ``PowerFullPowerCycle`` to power command options (https://github.com/ansible-collections/community.general/pull/9729).
-- ssh_config - add ``other_options`` option (https://github.com/ansible-collections/community.general/issues/8053, https://github.com/ansible-collections/community.general/pull/9684).
-- xen_orchestra inventory plugin - add ``use_vm_uuid`` and ``use_host_uuid`` boolean options to allow switching over to using VM/Xen name labels instead of UUIDs as item names (https://github.com/ansible-collections/community.general/pull/9787).
-
-Deprecated Features
--------------------
-
-- profitbricks - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
-- profitbricks_datacenter - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
-- profitbricks_nic - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
-- profitbricks_volume - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
-- profitbricks_volume_attachments - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
-
-Bugfixes
---------
-
-- apache2_mod_proxy - make compatible with Python 3 (https://github.com/ansible-collections/community.general/pull/9762).
-- apache2_mod_proxy - passing the cluster's page as referer for the member's pages. This makes the module actually work again for halfway modern Apache versions. According to some comments founds on the net the referer was required since at least 2019 for some versions of Apache 2 (https://github.com/ansible-collections/community.general/pull/9762).
-- elasticsearch_plugin - fix ``ERROR: D is not a recognized option`` issue when configuring proxy settings (https://github.com/ansible-collections/community.general/pull/9774, https://github.com/ansible-collections/community.general/issues/9773).
-- ipa_host - module revoked existing host certificates even if ``user_certificate`` was not given (https://github.com/ansible-collections/community.general/pull/9694).
-- keycloak_client - in check mode, detect whether the lists in before client (for example redirect URI list) contain items that the lists in the desired client do not contain (https://github.com/ansible-collections/community.general/pull/9739).
-- lldp - fix crash caused by certain lldpctl output where an attribute is defined as branch and leaf (https://github.com/ansible-collections/community.general/pull/9657).
-- onepassword_doc lookup plugin - ensure that 1Password Connect support also works for this plugin (https://github.com/ansible-collections/community.general/pull/9625).
-- passwordstore lookup plugin - fix subkey creation even when ``create=false`` (https://github.com/ansible-collections/community.general/issues/9105, https://github.com/ansible-collections/community.general/pull/9106).
-- proxmox inventory plugin - plugin did not update cache correctly after ``meta: refresh_inventory`` (https://github.com/ansible-collections/community.general/issues/9710, https://github.com/ansible-collections/community.general/pull/9760).
-- redhat_subscription - use the "enable_content" option (when available) when
- registering using D-Bus, to ensure that subscription-manager enables the
- content on registration; this is particular important on EL 10+ and Fedora
- 41+
- (https://github.com/ansible-collections/community.general/pull/9778).
-- zfs - fix handling of multi-line values of user-defined ZFS properties (https://github.com/ansible-collections/community.general/pull/6264).
-- zfs_facts - parameter ``type`` now accepts multple values as documented (https://github.com/ansible-collections/community.general/issues/5909, https://github.com/ansible-collections/community.general/pull/9697).
-
-New Modules
------------
-
-- community.general.systemd_info - Gather C(systemd) unit info.
-
-v10.3.1
-=======
-
-Release Summary
----------------
-
-Bugfix release.
-
-Minor Changes
--------------
-
-- onepassword_ssh_key - refactor to move code to lookup class (https://github.com/ansible-collections/community.general/pull/9633).
-
-Bugfixes
---------
-
-- cloudflare_dns - fix crash when deleting a DNS record or when updating a record with ``solo=true`` (https://github.com/ansible-collections/community.general/issues/9652, https://github.com/ansible-collections/community.general/pull/9649).
-- homebrew - make package name parsing more resilient (https://github.com/ansible-collections/community.general/pull/9665, https://github.com/ansible-collections/community.general/issues/9641).
-- keycloak module utils - replaces missing return in get_role_composites method which caused it to return None instead of composite roles (https://github.com/ansible-collections/community.general/issues/9678, https://github.com/ansible-collections/community.general/pull/9691).
-- keycloak_client - fix and improve existing tests. The module showed a diff without actual changes, solved by improving the ``normalise_cr()`` function (https://github.com/ansible-collections/community.general/pull/9644).
-- proxmox - adds the ``pubkey`` parameter (back to) the ``update`` state (https://github.com/ansible-collections/community.general/issues/9642, https://github.com/ansible-collections/community.general/pull/9645).
-- proxmox - fixes a typo in the translation of the ``pubkey`` parameter to proxmox' ``ssh-public-keys`` (https://github.com/ansible-collections/community.general/issues/9642, https://github.com/ansible-collections/community.general/pull/9645).
-- xml - ensure file descriptor is closed (https://github.com/ansible-collections/community.general/pull/9695).
-
-v10.3.0
-=======
-
-Release Summary
----------------
-
-Regular bugfix and feature release.
-
-Minor Changes
--------------
-
-- MH module utils - delegate ``debug`` to the underlying ``AnsibleModule`` instance or issues a warning if an attribute already exists with that name (https://github.com/ansible-collections/community.general/pull/9577).
-- apache2_mod_proxy - better handling regexp extraction (https://github.com/ansible-collections/community.general/pull/9609).
-- apache2_mod_proxy - change type of ``state`` to a list of strings. No change for the users (https://github.com/ansible-collections/community.general/pull/9600).
-- apache2_mod_proxy - improve readability when using results from ``fecth_url()`` (https://github.com/ansible-collections/community.general/pull/9608).
-- apache2_mod_proxy - refactor repeated code into method (https://github.com/ansible-collections/community.general/pull/9599).
-- apache2_mod_proxy - remove unused parameter and code from ``Balancer`` constructor (https://github.com/ansible-collections/community.general/pull/9614).
-- apache2_mod_proxy - simplified and improved string manipulation (https://github.com/ansible-collections/community.general/pull/9614).
-- apache2_mod_proxy - use ``deps`` to handle dependencies (https://github.com/ansible-collections/community.general/pull/9612).
-- cgroup_memory_recap callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- chroot connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- cloud_init_data_facts - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- cobbler inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- context_demo callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- counter filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- counter_enabled callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- cpanm - enable usage of option ``--with-recommends`` (https://github.com/ansible-collections/community.general/issues/9554, https://github.com/ansible-collections/community.general/pull/9555).
-- cpanm - enable usage of option ``--with-suggests`` (https://github.com/ansible-collections/community.general/pull/9555).
-- crc32 filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- cronvar - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- crypttab - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- default_without_diff callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- dense callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- dict filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- dict_kv filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- diy callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- doas become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- dzdo become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- elastic callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- from_csv filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- from_ini filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- funcd connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- gitlab_runners inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- groupby_as_dict filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- hashids filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- icinga2 inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- incus connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- iocage connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- iocage inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- iocage inventory plugin - the new parameter ``sudo`` of the plugin lets the command ``iocage list -l`` to run as root on the iocage host. This is needed to get the IPv4 of a running DHCP jail (https://github.com/ansible-collections/community.general/issues/9572, https://github.com/ansible-collections/community.general/pull/9573).
-- iptables_state action plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- jabber callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- jail connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- jc filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- jira - transition operation now has ``status_id`` to directly reference wanted transition (https://github.com/ansible-collections/community.general/pull/9602).
-- json_query filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- keep_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- keycloak_* modules - ``refresh_token`` parameter added. When multiple authentication parameters are provided (``token``, ``refresh_token``, and ``auth_username``/``auth_password``), modules will now automatically retry requests upon authentication errors (401), using in order the token, refresh token, and username/password (https://github.com/ansible-collections/community.general/pull/9494).
-- known_hosts - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- ksu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- linode inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- lists filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- lists_mergeby filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- log_plays callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- loganalytics callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- logdna callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- logentries callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- logstash callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- lxc connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- lxd connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- lxd inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- machinectl become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- mail callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- memcached cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- nmap inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- nmcli - add a option ``fail_over_mac`` (https://github.com/ansible-collections/community.general/issues/9570, https://github.com/ansible-collections/community.general/pull/9571).
-- nrdp callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- null callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- one_template - adds ``filter`` option for retrieving templates which are not owned by the user (https://github.com/ansible-collections/community.general/pull/9547, https://github.com/ansible-collections/community.general/issues/9278).
-- online inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- opennebula inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- opentelemetry callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- parted - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- pbrun become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- pfexec become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- pickle cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- pmrun become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- proxmox - refactors the proxmox module (https://github.com/ansible-collections/community.general/pull/9225).
-- proxmox inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- proxmox_pct_remote connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- proxmox_template - add support for checksum validation with new options ``checksum_algorithm`` and ``checksum`` (https://github.com/ansible-collections/community.general/issues/9553, https://github.com/ansible-collections/community.general/pull/9601).
-- pulp_repo - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- qubes connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- random_mac filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- redfish_info - add command ``GetAccountServiceConfig`` to get full information about AccountService configuration (https://github.com/ansible-collections/community.general/pull/9403).
-- redhat_subscription - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- redis cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- remove_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- replace_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- reveal_ansible_type filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- run0 become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- saltstack connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- say callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- scaleway inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- selective callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- sesu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- shutdown action plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- slack callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- snap - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9598).
-- snap_alias - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9598).
-- solaris_zone - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- sorcery - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- splunk callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- stackpath_compute inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- sudosu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- sumologic callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- syslog_json callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- time filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- timestamp callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- timezone - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
-- to_ini filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- ufw - add support for ``vrrp`` protocol (https://github.com/ansible-collections/community.general/issues/9562, https://github.com/ansible-collections/community.general/pull/9582).
-- unicode_normalize filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- unixy callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- version_sort filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
-- virtualbox inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- xen_orchestra inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-- yaml cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- yaml callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
-- zone connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
-
-Deprecated Features
--------------------
-
-- MH module utils - attribute ``debug`` definition in subclasses of MH is now deprecated, as that name will become a delegation to ``AnsibleModule`` in community.general 12.0.0, and any such attribute will be overridden by that delegation in that version (https://github.com/ansible-collections/community.general/pull/9577).
-- proxmox - removes default value ``false`` of ``update`` parameter. This will be changed to a default of ``true`` in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9225).
-
-Security Fixes
---------------
-
-- keycloak_client - Sanitize ``saml.encryption.private.key`` so it does not show in the logs (https://github.com/ansible-collections/community.general/pull/9621).
-
-Bugfixes
---------
-
-- homebrew - fix incorrect handling of homebrew modules when a tap is requested (https://github.com/ansible-collections/community.general/pull/9546, https://github.com/ansible-collections/community.general/issues/9533).
-- iocage inventory plugin - the plugin parses the IP4 tab of the jails list and put the elements into the new variable ``iocage_ip4_dict``. In multiple interface format the variable ``iocage_ip4`` keeps the comma-separated list of IP4 (https://github.com/ansible-collections/community.general/issues/9538).
-- pipx - honor option ``global`` when ``state=latest`` (https://github.com/ansible-collections/community.general/pull/9623).
-- proxmox - fixes idempotency of template conversions (https://github.com/ansible-collections/community.general/pull/9225, https://github.com/ansible-collections/community.general/issues/8811).
-- proxmox - fixes incorrect parsing for bind-only mounts (https://github.com/ansible-collections/community.general/pull/9225, https://github.com/ansible-collections/community.general/issues/8982).
-- proxmox - fixes issues with disk_volume variable (https://github.com/ansible-collections/community.general/pull/9225, https://github.com/ansible-collections/community.general/issues/9065).
-- proxmox module utils - fixes ignoring of ``choose_first_if_multiple`` argument in ``get_vmid`` (https://github.com/ansible-collections/community.general/pull/9225).
-- redhat_subscription - do not try to unsubscribe (i.e. remove subscriptions)
- when unregistering a system: newer versions of subscription-manager, as
- available in EL 10 and Fedora 41+, do not support entitlements anymore, and
- thus unsubscribing will fail
- (https://github.com/ansible-collections/community.general/pull/9578).
-
-New Plugins
------------
-
-Connection
-~~~~~~~~~~
-
-- community.general.proxmox_pct_remote - Run tasks in Proxmox LXC container instances using pct CLI via SSH.
-
-Filter
-~~~~~~
-
-- community.general.json_diff - Create a JSON patch by comparing two JSON files.
-- community.general.json_patch - Apply a JSON-Patch (RFC 6902) operation to an object.
-- community.general.json_patch_recipe - Apply JSON-Patch (RFC 6902) operations to an object.
-
-Lookup
-~~~~~~
-
-- community.general.onepassword_ssh_key - Fetch SSH keys stored in 1Password.
-
-New Modules
------------
-
-- community.general.proxmox_backup_info - Retrieve information on Proxmox scheduled backups.
-
-v10.2.0
-=======
-
-Release Summary
----------------
-
-Regular bugfix and feature release.
-
-Minor Changes
--------------
-
-- bitwarden lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- cgroup_memory_recap callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- chef_databag lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- chroot connection plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- chroot connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- cobbler inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- cobbler inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- collection_version lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- consul_kv lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- context_demo callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- counter_enabled callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- credstash lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- cyberarkpassword lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- cyberarkpassword lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- dense callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- dependent lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- dig lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- dig lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- diy callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- dnstxt lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- dnstxt lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- doas become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- dsv lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- dzdo become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- elastic callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- etcd lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- etcd3 lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- etcd3 lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- filetree lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- from_csv filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- from_ini filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- funcd connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- github_app_access_token lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- gitlab_instance_variable - add support for ``raw`` variables suboption (https://github.com/ansible-collections/community.general/pull/9425).
-- gitlab_runners inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- gitlab_runners inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- hiera lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- icinga2 inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- incus connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- iocage connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- iocage inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- iptables_state action plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9318).
-- jabber callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- jail connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- keycloak - add an action group for Keycloak modules to allow ``module_defaults`` to be set for Keycloak tasks (https://github.com/ansible-collections/community.general/pull/9284).
-- keyring lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- ksu become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- lastpass lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- linode inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- lmdb_kv lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- lmdb_kv lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- locale_gen - invert the logic to determine ``ubuntu_mode``, making it look first for ``/etc/locale.gen`` (set ``ubuntu_mode`` to ``False``) and only then looking for ``/var/lib/locales/supported.d/`` (set ``ubuntu_mode`` to ``True``) (https://github.com/ansible-collections/community.general/pull/9238, https://github.com/ansible-collections/community.general/issues/9131, https://github.com/ansible-collections/community.general/issues/8487).
-- locale_gen - new return value ``mechanism`` to better express the semantics of the ``ubuntu_mode``, with the possible values being either ``glibc`` (``ubuntu_mode=False``) or ``ubuntu_legacy`` (``ubuntu_mode=True``) (https://github.com/ansible-collections/community.general/pull/9238).
-- log_plays callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- loganalytics callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- logdna callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- logentries callback plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- logentries callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- lxc connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- lxd connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- lxd inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- lxd inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- machinectl become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- mail callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- manageiq_alert_profiles - improve handling of parameter requirements (https://github.com/ansible-collections/community.general/pull/9449).
-- manifold lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- manifold lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- memcached cache plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9320).
-- merge_variables lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- nmap inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- nmap inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- nrdp callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- onepassword lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- onepassword lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- onepassword_doc lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- online inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- opennebula inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- opennebula inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- opentelemetry callback plugin - remove code handling Python versions prior to 3.7 (https://github.com/ansible-collections/community.general/pull/9482).
-- opentelemetry callback plugin - remove code handling Python versions prior to 3.7 (https://github.com/ansible-collections/community.general/pull/9503).
-- opentelemetry callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- pacemaker_cluster - remove unused code (https://github.com/ansible-collections/community.general/pull/9471).
-- pacemaker_cluster - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/9471).
-- passwordstore lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- pbrun become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- pfexec become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- pmrun become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- proxmox inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- proxmox inventory plugin - strip whitespace from ``user``, ``token_id``, and ``token_secret`` (https://github.com/ansible-collections/community.general/issues/9227, https://github.com/ansible-collections/community.general/pull/9228/).
-- proxmox inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- proxmox module utils - add method ``api_task_complete`` that can wait for task completion and return error message (https://github.com/ansible-collections/community.general/pull/9256).
-- proxmox_backup - refactor permission checking to improve code readability and maintainability (https://github.com/ansible-collections/community.general/pull/9239).
-- qubes connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- random_pet lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- redis cache plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- redis cache plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9320).
-- redis lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- revbitspss lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- saltstack connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- say callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- scaleway inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- scaleway inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- selective callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- sesu become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- shelvefile lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- shutdown action plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- shutdown action plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9318).
-- slack callback plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- slack callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- splunk callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- stackpath_compute inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- sudosu become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
-- timestamp callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- to_ini filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- tss lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- tss lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
-- unixy callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- virtualbox inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
-- virtualbox inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- xbps - add ``root`` and ``repository`` options to enable bootstrapping new void installations (https://github.com/ansible-collections/community.general/pull/9174).
-- xen_orchestra inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
-- xfconf - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9226).
-- xfconf_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9226).
-- yaml callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
-- zone connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
-- zypper - add ``quiet`` option (https://github.com/ansible-collections/community.general/pull/9270).
-- zypper - add ``simple_errors`` option (https://github.com/ansible-collections/community.general/pull/9270).
-
-Deprecated Features
--------------------
-
-- atomic_container - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
-- atomic_host - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
-- atomic_image - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
-- facter - module is deprecated and will be removed in community.general 12.0.0, use ``community.general.facter_facts`` instead (https://github.com/ansible-collections/community.general/pull/9451).
-- locale_gen - ``ubuntu_mode=True``, or ``mechanism=ubuntu_legacy`` is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9238).
-- pure module utils - the module utils is deprecated and will be removed from community.general 12.0.0. The modules using this were removed in community.general 3.0.0 (https://github.com/ansible-collections/community.general/pull/9432).
-- purestorage doc fragments - the doc fragment is deprecated and will be removed from community.general 12.0.0. The modules using this were removed in community.general 3.0.0 (https://github.com/ansible-collections/community.general/pull/9432).
-- sensu_check - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
-- sensu_client - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
-- sensu_handler - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
-- sensu_silence - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
-- sensu_subscription - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
-- slack - the default value ``auto`` of the ``prepend_hash`` option is deprecated and will change to ``never`` in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/9443).
-- yaml callback plugin - deprecate plugin in favor of ``result_format=yaml`` in plugin ``ansible.bulitin.default`` (https://github.com/ansible-collections/community.general/pull/9456).
-
-Security Fixes
---------------
-
-- keycloak_authentication - API calls did not properly set the ``priority`` during update resulting in incorrectly sorted authentication flows. This apparently only affects Keycloak 25 or newer (https://github.com/ansible-collections/community.general/pull/9263).
-
-Bugfixes
---------
-
-- dig lookup plugin - correctly handle ``NoNameserver`` exception (https://github.com/ansible-collections/community.general/pull/9363, https://github.com/ansible-collections/community.general/issues/9362).
-- homebrew - fix incorrect handling of aliased homebrew modules when the alias is requested (https://github.com/ansible-collections/community.general/pull/9255, https://github.com/ansible-collections/community.general/issues/9240).
-- htpasswd - report changes when file permissions are adjusted (https://github.com/ansible-collections/community.general/issues/9485, https://github.com/ansible-collections/community.general/pull/9490).
-- proxmox_backup - fix incorrect key lookup in vmid permission check (https://github.com/ansible-collections/community.general/pull/9223).
-- proxmox_disk - fix async method and make ``resize_disk`` method handle errors correctly (https://github.com/ansible-collections/community.general/pull/9256).
-- proxmox_template - fix the wrong path called on ``proxmox_template.task_status`` (https://github.com/ansible-collections/community.general/issues/9276, https://github.com/ansible-collections/community.general/pull/9277).
-- qubes connection plugin - fix the printing of debug information (https://github.com/ansible-collections/community.general/pull/9334).
-- redfish_utils module utils - Fix ``VerifyBiosAttributes`` command on multi system resource nodes (https://github.com/ansible-collections/community.general/pull/9234).
-
-New Plugins
------------
-
-Inventory
-~~~~~~~~~
-
-- community.general.iocage - iocage inventory source.
-
-New Modules
------------
-
-- community.general.android_sdk - Manages Android SDK packages.
-- community.general.ldap_inc - Use the Modify-Increment LDAP V3 feature to increment an attribute value.
-- community.general.systemd_creds_decrypt - C(systemd)'s C(systemd-creds decrypt) plugin.
-- community.general.systemd_creds_encrypt - C(systemd)'s C(systemd-creds encrypt) plugin.
-
-v10.1.0
-=======
-
-Release Summary
----------------
-
-Regular bugfix and feature release.
-
-Minor Changes
--------------
-
-- alternatives - add ``family`` parameter that allows to utilize the ``--family`` option available in RedHat version of update-alternatives (https://github.com/ansible-collections/community.general/issues/5060, https://github.com/ansible-collections/community.general/pull/9096).
-- cloudflare_dns - add support for ``comment`` and ``tags`` (https://github.com/ansible-collections/community.general/pull/9132).
-- deps module utils - add ``deps.clear()`` to clear out previously declared dependencies (https://github.com/ansible-collections/community.general/pull/9179).
-- homebrew - greatly speed up module when multiple packages are passed in the ``name`` option (https://github.com/ansible-collections/community.general/pull/9181).
-- homebrew - remove duplicated package name validation (https://github.com/ansible-collections/community.general/pull/9076).
-- iso_extract - adds ``password`` parameter that is passed to 7z (https://github.com/ansible-collections/community.general/pull/9159).
-- launchd - add ``plist`` option for services such as sshd, where the plist filename doesn't match the service name (https://github.com/ansible-collections/community.general/pull/9102).
-- nmcli - add ``sriov`` parameter that enables support for SR-IOV settings (https://github.com/ansible-collections/community.general/pull/9168).
-- pipx - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9180).
-- pipx_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9180).
-- proxmox_template - add server side artifact fetching support (https://github.com/ansible-collections/community.general/pull/9113).
-- redfish_command - add ``update_custom_oem_header``, ``update_custom_oem_params``, and ``update_custom_oem_mime_type`` options (https://github.com/ansible-collections/community.general/pull/9123).
-- redfish_utils module utils - remove redundant code (https://github.com/ansible-collections/community.general/pull/9190).
-- rpm_ostree_pkg - added the options ``apply_live`` (https://github.com/ansible-collections/community.general/pull/9167).
-- rpm_ostree_pkg - added the return value ``needs_reboot`` (https://github.com/ansible-collections/community.general/pull/9167).
-- scaleway_lb - minor simplification in the code (https://github.com/ansible-collections/community.general/pull/9189).
-- ssh_config - add ``dynamicforward`` option (https://github.com/ansible-collections/community.general/pull/9192).
-
-Deprecated Features
--------------------
-
-- opkg - deprecate value ``""`` for parameter ``force`` (https://github.com/ansible-collections/community.general/pull/9172).
-- redfish_utils module utils - deprecate method ``RedfishUtils._init_session()`` (https://github.com/ansible-collections/community.general/pull/9190).
-
-Bugfixes
---------
-
-- dnf_config_manager - fix hanging when prompting to import GPG keys (https://github.com/ansible-collections/community.general/pull/9124, https://github.com/ansible-collections/community.general/issues/8830).
-- dnf_config_manager - forces locale to ``C`` before module starts. If the locale was set to non-English, the output of the ``dnf config-manager`` could not be parsed (https://github.com/ansible-collections/community.general/pull/9157, https://github.com/ansible-collections/community.general/issues/9046).
-- flatpak - force the locale language to ``C`` when running the flatpak command (https://github.com/ansible-collections/community.general/pull/9187, https://github.com/ansible-collections/community.general/issues/8883).
-- gio_mime - fix command line when determining version of ``gio`` (https://github.com/ansible-collections/community.general/pull/9171, https://github.com/ansible-collections/community.general/issues/9158).
-- github_key - in check mode, a faulty call to ```datetime.strftime(...)``` was being made which generated an exception (https://github.com/ansible-collections/community.general/issues/9185).
-- homebrew_cask - allow ``+`` symbol in Homebrew cask name validation regex (https://github.com/ansible-collections/community.general/pull/9128).
-- keycloak_clientscope_type - sort the default and optional clientscope lists to improve the diff (https://github.com/ansible-collections/community.general/pull/9202).
-- slack - fail if Slack API response is not OK with error message (https://github.com/ansible-collections/community.general/pull/9198).
-
-New Plugins
------------
-
-Filter
-~~~~~~
-
-- community.general.accumulate - Produce a list of accumulated sums of the input list contents.
-
-New Modules
------------
-
-- community.general.decompress - Decompresses compressed files.
-- community.general.proxmox_backup - Start a VM backup in Proxmox VE cluster.
-
-v10.0.1
-=======
-
-Release Summary
----------------
-
-Bugfix release for inclusion in Ansible 11.0.0rc1.
-
-Bugfixes
---------
-
-- keycloak_client - fix diff by removing code that turns the attributes dict which contains additional settings into a list (https://github.com/ansible-collections/community.general/pull/9077).
-- keycloak_clientscope - fix diff and ``end_state`` by removing the code that turns the attributes dict, which contains additional config items, into a list (https://github.com/ansible-collections/community.general/pull/9082).
-- redfish_utils module utils - remove undocumented default applytime (https://github.com/ansible-collections/community.general/pull/9114).
-
-v10.0.0
-=======
-
-Release Summary
----------------
-
-This is release 10.0.0 of ``community.general``, released on 2024-11-04.
-
-Minor Changes
--------------
-
-- CmdRunner module util - argument formats can be specified as plain functions without calling ``cmd_runner_fmt.as_func()`` (https://github.com/ansible-collections/community.general/pull/8479).
-- CmdRunner module utils - the parameter ``force_lang`` now supports the special value ``auto`` which will automatically try and determine the best parsable locale in the system (https://github.com/ansible-collections/community.general/pull/8517).
-- MH module utils - add parameter ``when`` to ``cause_changes`` decorator (https://github.com/ansible-collections/community.general/pull/8766).
-- MH module utils - minor refactor in decorators (https://github.com/ansible-collections/community.general/pull/8766).
-- alternatives - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- ansible_galaxy_install - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9060).
-- ansible_galaxy_install - add upgrade feature (https://github.com/ansible-collections/community.general/pull/8431, https://github.com/ansible-collections/community.general/issues/8351).
-- ansible_galaxy_install - minor refactor in the module (https://github.com/ansible-collections/community.general/pull/8413).
-- apache2_mod_proxy - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- apache2_mod_proxy - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- cargo - add option ``directory``, which allows source directory to be specified (https://github.com/ansible-collections/community.general/pull/8480).
-- cgroup_memory_recap, hipchat, jabber, log_plays, loganalytics, logentries, logstash, slack, splunk, sumologic, syslog_json callback plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8628).
-- chef_databag, consul_kv, cyberarkpassword, dsv, etcd, filetree, hiera, onepassword, onepassword_doc, onepassword_raw, passwordstore, redis, shelvefile, tss lookup plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8626).
-- chroot, funcd, incus, iocage, jail, lxc, lxd, qubes, zone connection plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8627).
-- cmd_runner module utils - add decorator ``cmd_runner_fmt.stack`` (https://github.com/ansible-collections/community.general/pull/8415).
-- cmd_runner module utils - refactor argument formatting code to its own Python module (https://github.com/ansible-collections/community.general/pull/8964).
-- cmd_runner_fmt module utils - simplify implementation of ``cmd_runner_fmt.as_bool_not()`` (https://github.com/ansible-collections/community.general/pull/8512).
-- cobbler, linode, lxd, nmap, online, scaleway, stackpath_compute, virtualbox inventory plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8625).
-- consul_acl - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- consul_kv - add argument for the datacenter option on Consul API (https://github.com/ansible-collections/community.general/pull/9026).
-- copr - Added ``includepkgs`` and ``excludepkgs`` parameters to limit the list of packages fetched or excluded from the repository(https://github.com/ansible-collections/community.general/pull/8779).
-- cpanm - add return value ``cpanm_version`` (https://github.com/ansible-collections/community.general/pull/9061).
-- credstash lookup plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- csv module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- deco MH module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- dig lookup plugin - add ``port`` option to specify DNS server port (https://github.com/ansible-collections/community.general/pull/8966).
-- django module utils - always retrieve version (https://github.com/ansible-collections/community.general/pull/9063).
-- django_check - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9063).
-- django_command - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9063).
-- django_createcachetable - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9063).
-- doas, dzdo, ksu, machinectl, pbrun, pfexec, pmrun, sesu, sudosu become plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8623).
-- etcd3 - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- flatpak - improve the parsing of Flatpak application IDs based on official guidelines (https://github.com/ansible-collections/community.general/pull/8909).
-- gconftool2 - make use of ``ModuleHelper`` features to simplify code (https://github.com/ansible-collections/community.general/pull/8711).
-- gcontool2 - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9064).
-- gcontool2 module utils - add argument formatter ``version`` (https://github.com/ansible-collections/community.general/pull/9064).
-- gcontool2_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9064).
-- gio_mime - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9067).
-- gio_mime - adjust code ahead of the old ``VardDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8855).
-- gio_mime - mute the old ``VarDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8776).
-- gio_mime module utils - add argument formatter ``version`` (https://github.com/ansible-collections/community.general/pull/9067).
-- github_app_access_token lookup plugin - adds new ``private_key`` parameter (https://github.com/ansible-collections/community.general/pull/8989).
-- gitlab_deploy_key - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- gitlab_group - add many new parameters (https://github.com/ansible-collections/community.general/pull/8908).
-- gitlab_group - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- gitlab_group - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- gitlab_issue - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- gitlab_merge_request - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- gitlab_project - add option ``container_expiration_policy`` to schedule container registry cleanup (https://github.com/ansible-collections/community.general/pull/8674).
-- gitlab_project - add option ``issues_access_level`` to enable/disable project issues (https://github.com/ansible-collections/community.general/pull/8760).
-- gitlab_project - add option ``model_registry_access_level`` to disable model registry (https://github.com/ansible-collections/community.general/pull/8688).
-- gitlab_project - add option ``pages_access_level`` to disable project pages (https://github.com/ansible-collections/community.general/pull/8688).
-- gitlab_project - add option ``repository_access_level`` to disable project repository (https://github.com/ansible-collections/community.general/pull/8674).
-- gitlab_project - add option ``service_desk_enabled`` to disable service desk (https://github.com/ansible-collections/community.general/pull/8688).
-- gitlab_project - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- gitlab_project - sorted parameters in order to avoid future merge conflicts (https://github.com/ansible-collections/community.general/pull/8759).
-- gitlab_runner - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- hashids filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- homebrew - speed up brew install and upgrade (https://github.com/ansible-collections/community.general/pull/9022).
-- hwc_ecs_instance - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- hwc_evs_disk - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- hwc_vpc_eip - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- hwc_vpc_peering_connect - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- hwc_vpc_port - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- hwc_vpc_subnet - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- icinga2_host - replace loop with dict comprehension (https://github.com/ansible-collections/community.general/pull/8876).
-- imc_rest - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- ipa_dnsrecord - adds ``SSHFP`` record type for managing SSH fingerprints in FreeIPA DNS (https://github.com/ansible-collections/community.general/pull/8404).
-- ipa_otptoken - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- jenkins_node - add ``offline_message`` parameter for updating a Jenkins node offline cause reason when the state is "disabled" (offline) (https://github.com/ansible-collections/community.general/pull/9084)."
-- jira - adjust code ahead of the old ``VardDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8856).
-- jira - mute the old ``VarDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8776).
-- jira - replace deprecated params when using decorator ``cause_changes`` (https://github.com/ansible-collections/community.general/pull/8791).
-- keep_keys filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- keycloak module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- keycloak_client - add ``client-x509`` choice to ``client_authenticator_type`` (https://github.com/ansible-collections/community.general/pull/8973).
-- keycloak_client - assign auth flow by name (https://github.com/ansible-collections/community.general/pull/8428).
-- keycloak_client - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- keycloak_clientscope - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- keycloak_identity_provider - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- keycloak_realm - add boolean toggle to configure organization support for a given keycloak realm (https://github.com/ansible-collections/community.general/issues/9027, https://github.com/ansible-collections/community.general/pull/8927/).
-- keycloak_user_federation - add module argument allowing users to optout of the removal of unspecified mappers, for example to keep the keycloak default mappers (https://github.com/ansible-collections/community.general/pull/8764).
-- keycloak_user_federation - add the user federation config parameter ``referral`` to the module arguments (https://github.com/ansible-collections/community.general/pull/8954).
-- keycloak_user_federation - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- keycloak_user_federation - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- keycloak_user_federation - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- linode - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- locale_gen - add support for multiple locales (https://github.com/ansible-collections/community.general/issues/8677, https://github.com/ansible-collections/community.general/pull/8682).
-- lxc_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- lxd_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- manageiq_provider - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- mattermost - adds support for message priority (https://github.com/ansible-collections/community.general/issues/9068, https://github.com/ansible-collections/community.general/pull/9087).
-- memcached, pickle, redis, yaml cache plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8624).
-- memset_dns_reload - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- memset_memstore_info - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- memset_server_info - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- memset_zone - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- memset_zone_domain - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- memset_zone_record - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- nmcli - add ``conn_enable`` param to reload connection (https://github.com/ansible-collections/community.general/issues/3752, https://github.com/ansible-collections/community.general/issues/8704, https://github.com/ansible-collections/community.general/pull/8897).
-- nmcli - add ``state=up`` and ``state=down`` to enable/disable connections (https://github.com/ansible-collections/community.general/issues/3752, https://github.com/ansible-collections/community.general/issues/8704, https://github.com/ansible-collections/community.general/issues/7152, https://github.com/ansible-collections/community.general/pull/8897).
-- nmcli - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- npm - add ``force`` parameter to allow ``--force`` (https://github.com/ansible-collections/community.general/pull/8885).
-- ocapi_utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- one_image - add ``create``, ``template`` and ``datastore_id`` arguments for image creation (https://github.com/ansible-collections/community.general/pull/9075).
-- one_image - add ``wait_timeout`` argument for adjustable timeouts (https://github.com/ansible-collections/community.general/pull/9075).
-- one_image - add option ``persistent`` to manage image persistence (https://github.com/ansible-collections/community.general/issues/3578, https://github.com/ansible-collections/community.general/pull/8889).
-- one_image - extend xsd scheme to make it return a lot more info about image (https://github.com/ansible-collections/community.general/pull/8889).
-- one_image - refactor code to make it more similar to ``one_template`` and ``one_vnet`` (https://github.com/ansible-collections/community.general/pull/8889).
-- one_image_info - extend xsd scheme to make it return a lot more info about image (https://github.com/ansible-collections/community.general/pull/8889).
-- one_image_info - refactor code to make it more similar to ``one_template`` and ``one_vnet`` (https://github.com/ansible-collections/community.general/pull/8889).
-- one_service - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- one_vm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- onepassword lookup plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- open_iscsi - allow login to a portal with multiple targets without specifying any of them (https://github.com/ansible-collections/community.general/pull/8719).
-- openbsd_pkg - adds diff support to show changes in installed package list. This does not yet work for check mode (https://github.com/ansible-collections/community.general/pull/8402).
-- opennebula.py - add VM ``id`` and VM ``host`` to inventory host data (https://github.com/ansible-collections/community.general/pull/8532).
-- opentelemetry callback plugin - fix default value for ``store_spans_in_file`` causing traces to be produced to a file named ``None`` (https://github.com/ansible-collections/community.general/issues/8566, https://github.com/ansible-collections/community.general/pull/8741).
-- opkg - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9086).
-- passwordstore lookup plugin - add subkey creation/update support (https://github.com/ansible-collections/community.general/pull/8952).
-- passwordstore lookup plugin - add the current user to the lockfile file name to address issues on multi-user systems (https://github.com/ansible-collections/community.general/pull/8689).
-- pids - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- pipx - add parameter ``suffix`` to module (https://github.com/ansible-collections/community.general/pull/8675, https://github.com/ansible-collections/community.general/issues/8656).
-- pipx - added new states ``install_all``, ``uninject``, ``upgrade_shared``, ``pin``, and ``unpin`` (https://github.com/ansible-collections/community.general/pull/8809).
-- pipx - added parameter ``global`` to module (https://github.com/ansible-collections/community.general/pull/8793).
-- pipx - refactor out parsing of ``pipx list`` output to module utils (https://github.com/ansible-collections/community.general/pull/9044).
-- pipx - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- pipx_info - add new return value ``pinned`` (https://github.com/ansible-collections/community.general/pull/9044).
-- pipx_info - added parameter ``global`` to module (https://github.com/ansible-collections/community.general/pull/8793).
-- pipx_info - refactor out parsing of ``pipx list`` output to module utils (https://github.com/ansible-collections/community.general/pull/9044).
-- pipx_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- pkg5_publisher - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- pkgng - add option ``use_globs`` (default ``true``) to optionally disable glob patterns (https://github.com/ansible-collections/community.general/issues/8632, https://github.com/ansible-collections/community.general/pull/8633).
-- proxmox - add ``disk_volume`` and ``mount_volumes`` keys for better readability (https://github.com/ansible-collections/community.general/pull/8542).
-- proxmox - allow specification of the API port when using proxmox_* (https://github.com/ansible-collections/community.general/issues/8440, https://github.com/ansible-collections/community.general/pull/8441).
-- proxmox - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- proxmox - translate the old ``disk`` and ``mounts`` keys to the new handling internally (https://github.com/ansible-collections/community.general/pull/8542).
-- proxmox inventory plugin - add new fact for LXC interface details (https://github.com/ansible-collections/community.general/pull/8713).
-- proxmox inventory plugin - clean up authentication code (https://github.com/ansible-collections/community.general/pull/8917).
-- proxmox inventory plugin - fix urllib3 ``InsecureRequestWarnings`` not being suppressed when a token is used (https://github.com/ansible-collections/community.general/pull/9099).
-- proxmox_disk - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- proxmox_kvm - adds the ``ciupgrade`` parameter to specify whether cloud-init should upgrade system packages at first boot (https://github.com/ansible-collections/community.general/pull/9066).
-- proxmox_kvm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- proxmox_kvm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- proxmox_template - small refactor in logic for determining whether a template exists or not (https://github.com/ansible-collections/community.general/pull/8516).
-- proxmox_vm_info - add ``network`` option to retrieve current network information (https://github.com/ansible-collections/community.general/pull/8471).
-- redfish_* modules - adds ``ciphers`` option for custom cipher selection (https://github.com/ansible-collections/community.general/pull/8533).
-- redfish_command - add ``UpdateUserAccountTypes`` command (https://github.com/ansible-collections/community.general/issues/9058, https://github.com/ansible-collections/community.general/pull/9059).
-- redfish_command - add ``wait`` and ``wait_timeout`` options to allow a user to block a command until a service is accessible after performing the requested command (https://github.com/ansible-collections/community.general/issues/8051, https://github.com/ansible-collections/community.general/pull/8434).
-- redfish_command - add handling of the ``PasswordChangeRequired`` message from services in the ``UpdateUserPassword`` command to directly modify the user's password if the requested user is the one invoking the operation (https://github.com/ansible-collections/community.general/issues/8652, https://github.com/ansible-collections/community.general/pull/8653).
-- redfish_confg - remove ``CapacityBytes`` from required paramaters of the ``CreateVolume`` command (https://github.com/ansible-collections/community.general/pull/8956).
-- redfish_config - add parameter ``storage_none_volume_deletion`` to ``CreateVolume`` command in order to control the automatic deletion of non-RAID volumes (https://github.com/ansible-collections/community.general/pull/8990).
-- redfish_info - add command ``CheckAvailability`` to check if a service is accessible (https://github.com/ansible-collections/community.general/issues/8051, https://github.com/ansible-collections/community.general/pull/8434).
-- redfish_info - adds ``RedfishURI`` and ``StorageId`` to Disk inventory (https://github.com/ansible-collections/community.general/pull/8937).
-- redfish_utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- redfish_utils module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- redfish_utils module utils - schedule a BIOS configuration job at next reboot when the BIOS config is changed (https://github.com/ansible-collections/community.general/pull/9012).
-- redis cache plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- redis, redis_info - add ``client_cert`` and ``client_key`` options to specify path to certificate for Redis authentication (https://github.com/ansible-collections/community.general/pull/8654).
-- redis_info - adds support for getting cluster info (https://github.com/ansible-collections/community.general/pull/8464).
-- remove_keys filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- replace_keys filter plugin - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- scaleway - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- scaleway module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- scaleway_compute - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- scaleway_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_container_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_container_namespace - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_container_namespace_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_container_registry - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_container_registry_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_function - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_function_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_function_namespace - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_function_namespace_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
-- scaleway_ip - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- scaleway_lb - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- scaleway_security_group - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- scaleway_security_group - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- scaleway_user_data - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- scaleway_user_data - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- sensu_silence - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- snmp_facts - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- sorcery - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
-- sudosu become plugin - added an option (``alt_method``) to enhance compatibility with more versions of ``su`` (https://github.com/ansible-collections/community.general/pull/8214).
-- udm_dns_record - replace loop with ``dict.update()`` (https://github.com/ansible-collections/community.general/pull/8876).
-- ufw - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- unsafe plugin utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- vardict module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- vars MH module utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
-- virtualbox inventory plugin - expose a new parameter ``enable_advanced_group_parsing`` to change how the VirtualBox dynamic inventory parses VM groups (https://github.com/ansible-collections/community.general/issues/8508, https://github.com/ansible-collections/community.general/pull/8510).
-- vmadm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
-- wdc_redfish_command - minor change to handle upgrade file for Redfish WD platforms (https://github.com/ansible-collections/community.general/pull/8444).
-
-Breaking Changes / Porting Guide
---------------------------------
-
-- The collection no longer supports ansible-core 2.13 and ansible-core 2.14. While most (or even all) modules and plugins might still work with these versions, they are no longer tested in CI and breakages regarding them will not be fixed (https://github.com/ansible-collections/community.general/pull/8921).
-- cmd_runner module utils - CLI arguments created directly from module parameters are no longer assigned a default formatter (https://github.com/ansible-collections/community.general/pull/8928).
-- irc - the defaults of ``use_tls`` and ``validate_certs`` changed from ``false`` to ``true`` (https://github.com/ansible-collections/community.general/pull/8918).
-- rhsm_repository - the states ``present`` and ``absent`` have been removed. Use ``enabled`` and ``disabled`` instead (https://github.com/ansible-collections/community.general/pull/8918).
-
-Deprecated Features
--------------------
-
-- CmdRunner module util - setting the value of the ``ignore_none`` parameter within a ``CmdRunner`` context is deprecated and that feature should be removed in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/8479).
-- MH decorator cause_changes module utils - deprecate parameters ``on_success`` and ``on_failure`` (https://github.com/ansible-collections/community.general/pull/8791).
-- git_config - the ``list_all`` option has been deprecated and will be removed in community.general 11.0.0. Use the ``community.general.git_config_info`` module instead (https://github.com/ansible-collections/community.general/pull/8453).
-- git_config - using ``state=present`` without providing ``value`` is deprecated and will be disallowed in community.general 11.0.0. Use the ``community.general.git_config_info`` module instead to read a value (https://github.com/ansible-collections/community.general/pull/8453).
-- hipchat - the hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020. The module is therefore deprecated and will be removed from community.general 11.0.0 if nobody provides compelling reasons to still keep it (https://github.com/ansible-collections/community.general/pull/8919).
-- pipx - support for versions of the command line tool ``pipx`` older than ``1.7.0`` is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793).
-- pipx_info - support for versions of the command line tool ``pipx`` older than ``1.7.0`` is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/8793).
-
-Removed Features (previously deprecated)
-----------------------------------------
-
-- The consul_acl module has been removed. Use community.general.consul_token and/or community.general.consul_policy instead (https://github.com/ansible-collections/community.general/pull/8921).
-- The hipchat callback plugin has been removed. The hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020 (https://github.com/ansible-collections/community.general/pull/8921).
-- The redhat module utils has been removed (https://github.com/ansible-collections/community.general/pull/8921).
-- The rhn_channel module has been removed (https://github.com/ansible-collections/community.general/pull/8921).
-- The rhn_register module has been removed (https://github.com/ansible-collections/community.general/pull/8921).
-- consul - removed the ``ack_params_state_absent`` option. It had no effect anymore (https://github.com/ansible-collections/community.general/pull/8918).
-- ejabberd_user - removed the ``logging`` option (https://github.com/ansible-collections/community.general/pull/8918).
-- gitlab modules - remove basic auth feature (https://github.com/ansible-collections/community.general/pull/8405).
-- proxmox_kvm - removed the ``proxmox_default_behavior`` option. Explicitly specify the old default values if you were using ``proxmox_default_behavior=compatibility``, otherwise simply remove it (https://github.com/ansible-collections/community.general/pull/8918).
-- redhat_subscriptions - removed the ``pool`` option. Use ``pool_ids`` instead (https://github.com/ansible-collections/community.general/pull/8918).
-
-Bugfixes
---------
-
-- bitwarden lookup plugin - fix ``KeyError`` in ``search_field`` (https://github.com/ansible-collections/community.general/issues/8549, https://github.com/ansible-collections/community.general/pull/8557).
-- bitwarden lookup plugin - support BWS v0.3.0 syntax breaking change (https://github.com/ansible-collections/community.general/pull/9028).
-- cloudflare_dns - fix changing Cloudflare SRV records (https://github.com/ansible-collections/community.general/issues/8679, https://github.com/ansible-collections/community.general/pull/8948).
-- cmd_runner module utils - call to ``get_best_parsable_locales()`` was missing parameter (https://github.com/ansible-collections/community.general/pull/8929).
-- collection_version lookup plugin - use ``importlib`` directly instead of the deprecated and in ansible-core 2.19 removed ``ansible.module_utils.compat.importlib`` (https://github.com/ansible-collections/community.general/pull/9084).
-- cpanm - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- dig lookup plugin - fix using only the last nameserver specified (https://github.com/ansible-collections/community.general/pull/8970).
-- django module utils - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- django_command - option ``command`` is now split lexically before passed to underlying PythonRunner (https://github.com/ansible-collections/community.general/pull/8944).
-- gconftool2_info - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- git_config - fix behavior of ``state=absent`` if ``value`` is present (https://github.com/ansible-collections/community.general/issues/8436, https://github.com/ansible-collections/community.general/pull/8452).
-- gitlab_group_access_token - fix crash in check mode caused by attempted access to a newly created access token (https://github.com/ansible-collections/community.general/pull/8796).
-- gitlab_label - update label's color (https://github.com/ansible-collections/community.general/pull/9010).
-- gitlab_project - fix ``container_expiration_policy`` not being applied when creating a new project (https://github.com/ansible-collections/community.general/pull/8790).
-- gitlab_project - fix crash caused by old Gitlab projects not having a ``container_expiration_policy`` attribute (https://github.com/ansible-collections/community.general/pull/8790).
-- gitlab_project_access_token - fix crash in check mode caused by attempted access to a newly created access token (https://github.com/ansible-collections/community.general/pull/8796).
-- gitlab_runner - fix ``paused`` parameter being ignored (https://github.com/ansible-collections/community.general/pull/8648).
-- homebrew - do not fail when brew prints warnings (https://github.com/ansible-collections/community.general/pull/8406, https://github.com/ansible-collections/community.general/issues/7044).
-- homebrew_cask - fix ``upgrade_all`` returns ``changed`` when nothing upgraded (https://github.com/ansible-collections/community.general/issues/8707, https://github.com/ansible-collections/community.general/pull/8708).
-- homectl - the module now tries to use ``legacycrypt`` on Python 3.13+ (https://github.com/ansible-collections/community.general/issues/4691, https://github.com/ansible-collections/community.general/pull/8987).
-- hponcfg - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- ini_file - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
-- ipa_host - add ``force_create``, fix ``enabled`` and ``disabled`` states (https://github.com/ansible-collections/community.general/issues/1094, https://github.com/ansible-collections/community.general/pull/8920).
-- ipa_hostgroup - fix ``enabled `` and ``disabled`` states (https://github.com/ansible-collections/community.general/issues/8408, https://github.com/ansible-collections/community.general/pull/8900).
-- java_keystore - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
-- jenkins_node - fixed ``enabled``, ``disable`` and ``absent`` node state redirect authorization issues, same as was present for ``present`` (https://github.com/ansible-collections/community.general/pull/9084).
-- jenkins_plugin - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
-- kdeconfig - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
-- kernel_blacklist - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- keycloak_client - fix TypeError when sanitizing the ``saml.signing.private.key`` attribute in the module's diff or state output. The ``sanitize_cr`` function expected a dict where in some cases a list might occur (https://github.com/ansible-collections/community.general/pull/8403).
-- keycloak_clientscope - remove IDs from clientscope and its protocol mappers on comparison for changed check (https://github.com/ansible-collections/community.general/pull/8545).
-- keycloak_clientscope_type - fix detect changes in check mode (https://github.com/ansible-collections/community.general/issues/9092, https://github.com/ansible-collections/community.general/pull/9093).
-- keycloak_group - fix crash caused in subgroup creation. The crash was caused by a missing or empty ``subGroups`` property in Keycloak ≥23 (https://github.com/ansible-collections/community.general/issues/8788, https://github.com/ansible-collections/community.general/pull/8979).
-- keycloak_realm - add normalizations for ``attributes`` and ``protocol_mappers`` (https://github.com/ansible-collections/community.general/pull/8496).
-- keycloak_realm - fix change detection in check mode by sorting the lists in the realms beforehand (https://github.com/ansible-collections/community.general/pull/8877).
-- keycloak_realm_key - fix invalid usage of ``parent_id`` (https://github.com/ansible-collections/community.general/issues/7850, https://github.com/ansible-collections/community.general/pull/8823).
-- keycloak_user_federation - add module argument allowing users to configure the update mode for the parameter ``bindCredential`` (https://github.com/ansible-collections/community.general/pull/8898).
-- keycloak_user_federation - fix key error when removing mappers during an update and new mappers are specified in the module args (https://github.com/ansible-collections/community.general/pull/8762).
-- keycloak_user_federation - fix the ``UnboundLocalError`` that occurs when an ID is provided for a user federation mapper (https://github.com/ansible-collections/community.general/pull/8831).
-- keycloak_user_federation - get cleartext IDP ``clientSecret`` from full realm info to detect changes to it (https://github.com/ansible-collections/community.general/issues/8294, https://github.com/ansible-collections/community.general/pull/8735).
-- keycloak_user_federation - minimize change detection by setting ``krbPrincipalAttribute`` to ``''`` in Keycloak responses if missing (https://github.com/ansible-collections/community.general/pull/8785).
-- keycloak_user_federation - remove ``lastSync`` parameter from Keycloak responses to minimize diff/changes (https://github.com/ansible-collections/community.general/pull/8812).
-- keycloak_user_federation - remove existing user federation mappers if they are not present in the federation configuration and will not be updated (https://github.com/ansible-collections/community.general/issues/7169, https://github.com/ansible-collections/community.general/pull/8695).
-- keycloak_user_federation - sort desired and after mapper list by name (analog to before mapper list) to minimize diff and make change detection more accurate (https://github.com/ansible-collections/community.general/pull/8761).
-- keycloak_userprofile - fix empty response when fetching userprofile component by removing ``parent=parent_id`` filter (https://github.com/ansible-collections/community.general/pull/8923).
-- keycloak_userprofile - improve diff by deserializing the fetched ``kc.user.profile.config`` and serialize it only when sending back (https://github.com/ansible-collections/community.general/pull/8940).
-- launched - correctly report changed status in check mode (https://github.com/ansible-collections/community.general/pull/8406).
-- locale_gen - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- lxd_container - fix bug introduced in previous commit (https://github.com/ansible-collections/community.general/pull/8895, https://github.com/ansible-collections/community.general/issues/8888).
-- mksysb - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- modprobe - fix check mode not being honored for ``persistent`` option (https://github.com/ansible-collections/community.general/issues/9051, https://github.com/ansible-collections/community.general/pull/9052).
-- nsupdate - fix 'index out of range' error when changing NS records by falling back to authority section of the response (https://github.com/ansible-collections/community.general/issues/8612, https://github.com/ansible-collections/community.general/pull/8614).
-- one_host - fix if statements for cases when ``ID=0`` (https://github.com/ansible-collections/community.general/issues/1199, https://github.com/ansible-collections/community.general/pull/8907).
-- one_image - fix module failing due to a class method typo (https://github.com/ansible-collections/community.general/pull/9056).
-- one_image_info - fix module failing due to a class method typo (https://github.com/ansible-collections/community.general/pull/9056).
-- one_service - fix service creation after it was deleted with ``unique`` parameter (https://github.com/ansible-collections/community.general/issues/3137, https://github.com/ansible-collections/community.general/pull/8887).
-- one_vnet - fix module failing due to a variable typo (https://github.com/ansible-collections/community.general/pull/9019).
-- opennebula inventory plugin - fix invalid reference to IP when inventory runs against NICs with no IPv4 address (https://github.com/ansible-collections/community.general/pull/8489).
-- opentelemetry callback - do not save the JSON response when using the ``ansible.builtin.uri`` module (https://github.com/ansible-collections/community.general/pull/8430).
-- opentelemetry callback - do not save the content response when using the ``ansible.builtin.slurp`` module (https://github.com/ansible-collections/community.general/pull/8430).
-- pam_limits - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.general/pull/8925).
-- paman - do not fail if an empty list of packages has been provided and there is nothing to do (https://github.com/ansible-collections/community.general/pull/8514).
-- pipx - it was ignoring ``global`` when listing existing applications (https://github.com/ansible-collections/community.general/pull/9044).
-- pipx module utils - add missing command line formatter for argument ``spec_metadata`` (https://github.com/ansible-collections/community.general/pull/9044).
-- pipx_info - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- proxmox - fix idempotency on creation of mount volumes using Proxmox' special ``:`` syntax (https://github.com/ansible-collections/community.general/issues/8407, https://github.com/ansible-collections/community.general/pull/8542).
-- proxmox - fixed an issue where the new volume handling incorrectly converted ``null`` values into ``"None"`` strings (https://github.com/ansible-collections/community.general/pull/8646).
-- proxmox - fixed an issue where volume strings where overwritten instead of appended to in the new ``build_volume()`` method (https://github.com/ansible-collections/community.general/pull/8646).
-- proxmox - removed the forced conversion of non-string values to strings to be consistent with the module documentation (https://github.com/ansible-collections/community.general/pull/8646).
-- proxmox inventory plugin - fixed a possible error on concatenating responses from proxmox. In case an API call unexpectedly returned an empty result, the inventory failed with a fatal error. Added check for empty response (https://github.com/ansible-collections/community.general/issues/8798, https://github.com/ansible-collections/community.general/pull/8794).
-- python_runner module utils - parameter ``path_prefix`` was being handled as string when it should be a list (https://github.com/ansible-collections/community.general/pull/8944).
-- redfish_utils module utils - do not fail when language is not exactly "en" (https://github.com/ansible-collections/community.general/pull/8613).
-- redfish_utils module utils - fix issue with URI parsing to gracefully handling trailing slashes when extracting member identifiers (https://github.com/ansible-collections/community.general/issues/9047, https://github.com/ansible-collections/community.general/pull/9057).
-- snap - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- snap_alias - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
-- udm_user - the module now tries to use ``legacycrypt`` on Python 3.13+ (https://github.com/ansible-collections/community.general/issues/4690, https://github.com/ansible-collections/community.general/pull/8987).
-
-Known Issues
-------------
-
-- jenkins_node - the module is not able to update offline message when node is already offline due to internally using toggleOffline API (https://github.com/ansible-collections/community.general/pull/9084).
-
-New Plugins
------------
-
-Filter
-~~~~~~
-
-- community.general.keep_keys - Keep specific keys from dictionaries in a list.
-- community.general.remove_keys - Remove specific keys from dictionaries in a list.
-- community.general.replace_keys - Replace specific keys in a list of dictionaries.
-- community.general.reveal_ansible_type - Return input type.
-
-Test
-~~~~
-
-- community.general.ansible_type - Validate input type.
-
-New Modules
------------
-
-- community.general.bootc_manage - Bootc Switch and Upgrade.
-- community.general.consul_agent_check - Add, modify, and delete checks within a consul cluster.
-- community.general.consul_agent_service - Add, modify and delete services within a consul cluster.
-- community.general.django_check - Wrapper for C(django-admin check).
-- community.general.django_createcachetable - Wrapper for C(django-admin createcachetable).
-- community.general.homebrew_services - Services manager for Homebrew.
-- community.general.ipa_getkeytab - Manage keytab file in FreeIPA.
-- community.general.jenkins_node - Manage Jenkins nodes.
-- community.general.keycloak_component - Allows administration of Keycloak components via Keycloak API.
-- community.general.keycloak_realm_keys_metadata_info - Allows obtaining Keycloak realm keys metadata via Keycloak API.
-- community.general.keycloak_userprofile - Allows managing Keycloak User Profiles.
-- community.general.krb_ticket - Kerberos utils for managing tickets.
-- community.general.one_vnet - Manages OpenNebula virtual networks.
-- community.general.zypper_repository_info - List Zypper repositories.
+This file is a placeholder; a version-specific ``CHANGELOG-vX.rst`` will be generated during releases from fragments
+under ``changelogs/fragments``. On release branches once a release has been created, consult the branch's version-specific
+file for changes that have occurred in that branch.
diff --git a/README.md b/README.md
index beeca12078..a0dc2db38b 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
# Community General Collection
-[](https://docs.ansible.com/ansible/latest/collections/community/general/)
-[](https://dev.azure.com/ansible/community.general/_build?definitionId=31)
-[](https://github.com/ansible-collections/community.general/actions)
+[](https://docs.ansible.com/ansible/devel/collections/community/general/)
+[](https://dev.azure.com/ansible/community.general/_build?definitionId=31)
+[](https://github.com/ansible-collections/community.general/actions)
[](https://codecov.io/gh/ansible-collections/community.general)
[](https://api.reuse.software/info/github.com/ansible-collections/community.general)
@@ -117,7 +117,7 @@ See the [Releasing guidelines](https://github.com/ansible/community-docs/blob/ma
## Release notes
-See the [changelog](https://github.com/ansible-collections/community.general/blob/stable-10/CHANGELOG.md).
+See the [changelog](https://github.com/ansible-collections/community.general/blob/main/CHANGELOG.md).
## Roadmap
@@ -136,8 +136,8 @@ See [this issue](https://github.com/ansible-collections/community.general/issues
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later.
-See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/stable-10/COPYING) for the full text.
+See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/main/COPYING) for the full text.
-Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/stable-10/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/stable-10/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/stable-10/LICENSES/PSF-2.0.txt).
+Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/PSF-2.0.txt).
All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `.reuse/dep5`. This conforms to the [REUSE specification](https://reuse.software/spec/).
diff --git a/REUSE.toml b/REUSE.toml
new file mode 100644
index 0000000000..ff95bb8217
--- /dev/null
+++ b/REUSE.toml
@@ -0,0 +1,11 @@
+# Copyright (c) Ansible Project
+# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+version = 1
+
+[[annotations]]
+path = "changelogs/fragments/**"
+precedence = "aggregate"
+SPDX-FileCopyrightText = "Ansible Project"
+SPDX-License-Identifier = "GPL-3.0-or-later"
diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml
index 10a94fd5b9..ab0a7be6fd 100644
--- a/changelogs/changelog.yaml
+++ b/changelogs/changelog.yaml
@@ -1,1659 +1,3 @@
---
-ancestor: 9.0.0
-releases:
- 10.0.0:
- changes:
- breaking_changes:
- - The collection no longer supports ansible-core 2.13 and ansible-core 2.14.
- While most (or even all) modules and plugins might still work with these
- versions, they are no longer tested in CI and breakages regarding them will
- not be fixed (https://github.com/ansible-collections/community.general/pull/8921).
- - cmd_runner module utils - CLI arguments created directly from module parameters
- are no longer assigned a default formatter (https://github.com/ansible-collections/community.general/pull/8928).
- - irc - the defaults of ``use_tls`` and ``validate_certs`` changed from ``false``
- to ``true`` (https://github.com/ansible-collections/community.general/pull/8918).
- - rhsm_repository - the states ``present`` and ``absent`` have been removed.
- Use ``enabled`` and ``disabled`` instead (https://github.com/ansible-collections/community.general/pull/8918).
- bugfixes:
- - bitwarden lookup plugin - fix ``KeyError`` in ``search_field`` (https://github.com/ansible-collections/community.general/issues/8549,
- https://github.com/ansible-collections/community.general/pull/8557).
- - bitwarden lookup plugin - support BWS v0.3.0 syntax breaking change (https://github.com/ansible-collections/community.general/pull/9028).
- - cloudflare_dns - fix changing Cloudflare SRV records (https://github.com/ansible-collections/community.general/issues/8679,
- https://github.com/ansible-collections/community.general/pull/8948).
- - cmd_runner module utils - call to ``get_best_parsable_locales()`` was missing
- parameter (https://github.com/ansible-collections/community.general/pull/8929).
- - collection_version lookup plugin - use ``importlib`` directly instead of
- the deprecated and in ansible-core 2.19 removed ``ansible.module_utils.compat.importlib``
- (https://github.com/ansible-collections/community.general/pull/9084).
- - cpanm - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - dig lookup plugin - fix using only the last nameserver specified (https://github.com/ansible-collections/community.general/pull/8970).
- - django module utils - use new ``VarDict`` to prevent deprecation warning
- (https://github.com/ansible-collections/community.general/issues/8410, https://github.com/ansible-collections/community.general/pull/8411).
- - django_command - option ``command`` is now split lexically before passed
- to underlying PythonRunner (https://github.com/ansible-collections/community.general/pull/8944).
- - gconftool2_info - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - git_config - fix behavior of ``state=absent`` if ``value`` is present (https://github.com/ansible-collections/community.general/issues/8436,
- https://github.com/ansible-collections/community.general/pull/8452).
- - gitlab_group_access_token - fix crash in check mode caused by attempted
- access to a newly created access token (https://github.com/ansible-collections/community.general/pull/8796).
- - gitlab_label - update label's color (https://github.com/ansible-collections/community.general/pull/9010).
- - gitlab_project - fix ``container_expiration_policy`` not being applied when
- creating a new project (https://github.com/ansible-collections/community.general/pull/8790).
- - gitlab_project - fix crash caused by old Gitlab projects not having a ``container_expiration_policy``
- attribute (https://github.com/ansible-collections/community.general/pull/8790).
- - gitlab_project_access_token - fix crash in check mode caused by attempted
- access to a newly created access token (https://github.com/ansible-collections/community.general/pull/8796).
- - gitlab_runner - fix ``paused`` parameter being ignored (https://github.com/ansible-collections/community.general/pull/8648).
- - homebrew - do not fail when brew prints warnings (https://github.com/ansible-collections/community.general/pull/8406,
- https://github.com/ansible-collections/community.general/issues/7044).
- - homebrew_cask - fix ``upgrade_all`` returns ``changed`` when nothing upgraded
- (https://github.com/ansible-collections/community.general/issues/8707, https://github.com/ansible-collections/community.general/pull/8708).
- - homectl - the module now tries to use ``legacycrypt`` on Python 3.13+ (https://github.com/ansible-collections/community.general/issues/4691,
- https://github.com/ansible-collections/community.general/pull/8987).
- - hponcfg - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - ini_file - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950,
- https://github.com/ansible-collections/community.general/pull/8925).
- - ipa_host - add ``force_create``, fix ``enabled`` and ``disabled`` states
- (https://github.com/ansible-collections/community.general/issues/1094, https://github.com/ansible-collections/community.general/pull/8920).
- - ipa_hostgroup - fix ``enabled `` and ``disabled`` states (https://github.com/ansible-collections/community.general/issues/8408,
- https://github.com/ansible-collections/community.general/pull/8900).
- - java_keystore - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950,
- https://github.com/ansible-collections/community.general/pull/8925).
- - jenkins_node - fixed ``enabled``, ``disable`` and ``absent`` node state
- redirect authorization issues, same as was present for ``present`` (https://github.com/ansible-collections/community.general/pull/9084).
- - jenkins_plugin - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950,
- https://github.com/ansible-collections/community.general/pull/8925).
- - kdeconfig - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950,
- https://github.com/ansible-collections/community.general/pull/8925).
- - kernel_blacklist - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - keycloak_client - fix TypeError when sanitizing the ``saml.signing.private.key``
- attribute in the module's diff or state output. The ``sanitize_cr`` function
- expected a dict where in some cases a list might occur (https://github.com/ansible-collections/community.general/pull/8403).
- - keycloak_clientscope - remove IDs from clientscope and its protocol mappers
- on comparison for changed check (https://github.com/ansible-collections/community.general/pull/8545).
- - keycloak_clientscope_type - fix detect changes in check mode (https://github.com/ansible-collections/community.general/issues/9092,
- https://github.com/ansible-collections/community.general/pull/9093).
- - "keycloak_group - fix crash caused in subgroup creation. The crash was caused\
- \ by a missing or empty ``subGroups`` property in Keycloak \u226523 (https://github.com/ansible-collections/community.general/issues/8788,\
- \ https://github.com/ansible-collections/community.general/pull/8979)."
- - keycloak_realm - add normalizations for ``attributes`` and ``protocol_mappers``
- (https://github.com/ansible-collections/community.general/pull/8496).
- - keycloak_realm - fix change detection in check mode by sorting the lists
- in the realms beforehand (https://github.com/ansible-collections/community.general/pull/8877).
- - keycloak_realm_key - fix invalid usage of ``parent_id`` (https://github.com/ansible-collections/community.general/issues/7850,
- https://github.com/ansible-collections/community.general/pull/8823).
- - keycloak_user_federation - add module argument allowing users to configure
- the update mode for the parameter ``bindCredential`` (https://github.com/ansible-collections/community.general/pull/8898).
- - keycloak_user_federation - fix key error when removing mappers during an
- update and new mappers are specified in the module args (https://github.com/ansible-collections/community.general/pull/8762).
- - keycloak_user_federation - fix the ``UnboundLocalError`` that occurs when
- an ID is provided for a user federation mapper (https://github.com/ansible-collections/community.general/pull/8831).
- - keycloak_user_federation - get cleartext IDP ``clientSecret`` from full
- realm info to detect changes to it (https://github.com/ansible-collections/community.general/issues/8294,
- https://github.com/ansible-collections/community.general/pull/8735).
- - keycloak_user_federation - minimize change detection by setting ``krbPrincipalAttribute``
- to ``''`` in Keycloak responses if missing (https://github.com/ansible-collections/community.general/pull/8785).
- - keycloak_user_federation - remove ``lastSync`` parameter from Keycloak responses
- to minimize diff/changes (https://github.com/ansible-collections/community.general/pull/8812).
- - keycloak_user_federation - remove existing user federation mappers if they
- are not present in the federation configuration and will not be updated
- (https://github.com/ansible-collections/community.general/issues/7169, https://github.com/ansible-collections/community.general/pull/8695).
- - keycloak_user_federation - sort desired and after mapper list by name (analog
- to before mapper list) to minimize diff and make change detection more accurate
- (https://github.com/ansible-collections/community.general/pull/8761).
- - keycloak_userprofile - fix empty response when fetching userprofile component
- by removing ``parent=parent_id`` filter (https://github.com/ansible-collections/community.general/pull/8923).
- - keycloak_userprofile - improve diff by deserializing the fetched ``kc.user.profile.config``
- and serialize it only when sending back (https://github.com/ansible-collections/community.general/pull/8940).
- - launched - correctly report changed status in check mode (https://github.com/ansible-collections/community.general/pull/8406).
- - locale_gen - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - lxd_container - fix bug introduced in previous commit (https://github.com/ansible-collections/community.general/pull/8895,
- https://github.com/ansible-collections/community.general/issues/8888).
- - mksysb - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - modprobe - fix check mode not being honored for ``persistent`` option (https://github.com/ansible-collections/community.general/issues/9051,
- https://github.com/ansible-collections/community.general/pull/9052).
- - nsupdate - fix 'index out of range' error when changing NS records by falling
- back to authority section of the response (https://github.com/ansible-collections/community.general/issues/8612,
- https://github.com/ansible-collections/community.general/pull/8614).
- - one_host - fix if statements for cases when ``ID=0`` (https://github.com/ansible-collections/community.general/issues/1199,
- https://github.com/ansible-collections/community.general/pull/8907).
- - one_image - fix module failing due to a class method typo (https://github.com/ansible-collections/community.general/pull/9056).
- - one_image_info - fix module failing due to a class method typo (https://github.com/ansible-collections/community.general/pull/9056).
- - one_service - fix service creation after it was deleted with ``unique``
- parameter (https://github.com/ansible-collections/community.general/issues/3137,
- https://github.com/ansible-collections/community.general/pull/8887).
- - one_vnet - fix module failing due to a variable typo (https://github.com/ansible-collections/community.general/pull/9019).
- - opennebula inventory plugin - fix invalid reference to IP when inventory
- runs against NICs with no IPv4 address (https://github.com/ansible-collections/community.general/pull/8489).
- - opentelemetry callback - do not save the JSON response when using the ``ansible.builtin.uri``
- module (https://github.com/ansible-collections/community.general/pull/8430).
- - opentelemetry callback - do not save the content response when using the
- ``ansible.builtin.slurp`` module (https://github.com/ansible-collections/community.general/pull/8430).
- - pam_limits - pass absolute paths to ``module.atomic_move()`` (https://github.com/ansible/ansible/issues/83950,
- https://github.com/ansible-collections/community.general/pull/8925).
- - paman - do not fail if an empty list of packages has been provided and there
- is nothing to do (https://github.com/ansible-collections/community.general/pull/8514).
- - pipx - it was ignoring ``global`` when listing existing applications (https://github.com/ansible-collections/community.general/pull/9044).
- - pipx module utils - add missing command line formatter for argument ``spec_metadata``
- (https://github.com/ansible-collections/community.general/pull/9044).
- - pipx_info - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - proxmox - fix idempotency on creation of mount volumes using Proxmox' special
- ``:`` syntax (https://github.com/ansible-collections/community.general/issues/8407,
- https://github.com/ansible-collections/community.general/pull/8542).
- - proxmox - fixed an issue where the new volume handling incorrectly converted
- ``null`` values into ``"None"`` strings (https://github.com/ansible-collections/community.general/pull/8646).
- - proxmox - fixed an issue where volume strings where overwritten instead
- of appended to in the new ``build_volume()`` method (https://github.com/ansible-collections/community.general/pull/8646).
- - proxmox - removed the forced conversion of non-string values to strings
- to be consistent with the module documentation (https://github.com/ansible-collections/community.general/pull/8646).
- - proxmox inventory plugin - fixed a possible error on concatenating responses
- from proxmox. In case an API call unexpectedly returned an empty result,
- the inventory failed with a fatal error. Added check for empty response
- (https://github.com/ansible-collections/community.general/issues/8798, https://github.com/ansible-collections/community.general/pull/8794).
- - python_runner module utils - parameter ``path_prefix`` was being handled
- as string when it should be a list (https://github.com/ansible-collections/community.general/pull/8944).
- - redfish_utils module utils - do not fail when language is not exactly "en"
- (https://github.com/ansible-collections/community.general/pull/8613).
- - redfish_utils module utils - fix issue with URI parsing to gracefully handling
- trailing slashes when extracting member identifiers (https://github.com/ansible-collections/community.general/issues/9047,
- https://github.com/ansible-collections/community.general/pull/9057).
- - snap - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - snap_alias - use new ``VarDict`` to prevent deprecation warning (https://github.com/ansible-collections/community.general/issues/8410,
- https://github.com/ansible-collections/community.general/pull/8411).
- - udm_user - the module now tries to use ``legacycrypt`` on Python 3.13+ (https://github.com/ansible-collections/community.general/issues/4690,
- https://github.com/ansible-collections/community.general/pull/8987).
- deprecated_features:
- - CmdRunner module util - setting the value of the ``ignore_none`` parameter
- within a ``CmdRunner`` context is deprecated and that feature should be
- removed in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/8479).
- - MH decorator cause_changes module utils - deprecate parameters ``on_success``
- and ``on_failure`` (https://github.com/ansible-collections/community.general/pull/8791).
- - git_config - the ``list_all`` option has been deprecated and will be removed
- in community.general 11.0.0. Use the ``community.general.git_config_info``
- module instead (https://github.com/ansible-collections/community.general/pull/8453).
- - git_config - using ``state=present`` without providing ``value`` is deprecated
- and will be disallowed in community.general 11.0.0. Use the ``community.general.git_config_info``
- module instead to read a value (https://github.com/ansible-collections/community.general/pull/8453).
- - hipchat - the hipchat service has been discontinued and the self-hosted
- variant has been End of Life since 2020. The module is therefore deprecated
- and will be removed from community.general 11.0.0 if nobody provides compelling
- reasons to still keep it (https://github.com/ansible-collections/community.general/pull/8919).
- - 'pipx - support for versions of the command line tool ``pipx`` older than
- ``1.7.0`` is deprecated and will be removed in community.general 11.0.0
- (https://github.com/ansible-collections/community.general/pull/8793).
-
- '
- - 'pipx_info - support for versions of the command line tool ``pipx`` older
- than ``1.7.0`` is deprecated and will be removed in community.general 11.0.0
- (https://github.com/ansible-collections/community.general/pull/8793).
-
- '
- known_issues:
- - jenkins_node - the module is not able to update offline message when node
- is already offline due to internally using toggleOffline API (https://github.com/ansible-collections/community.general/pull/9084).
- minor_changes:
- - CmdRunner module util - argument formats can be specified as plain functions
- without calling ``cmd_runner_fmt.as_func()`` (https://github.com/ansible-collections/community.general/pull/8479).
- - CmdRunner module utils - the parameter ``force_lang`` now supports the special
- value ``auto`` which will automatically try and determine the best parsable
- locale in the system (https://github.com/ansible-collections/community.general/pull/8517).
- - MH module utils - add parameter ``when`` to ``cause_changes`` decorator
- (https://github.com/ansible-collections/community.general/pull/8766).
- - MH module utils - minor refactor in decorators (https://github.com/ansible-collections/community.general/pull/8766).
- - alternatives - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - ansible_galaxy_install - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9060).
- - ansible_galaxy_install - add upgrade feature (https://github.com/ansible-collections/community.general/pull/8431,
- https://github.com/ansible-collections/community.general/issues/8351).
- - ansible_galaxy_install - minor refactor in the module (https://github.com/ansible-collections/community.general/pull/8413).
- - apache2_mod_proxy - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - apache2_mod_proxy - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8833).
- - cargo - add option ``directory``, which allows source directory to be specified
- (https://github.com/ansible-collections/community.general/pull/8480).
- - cgroup_memory_recap, hipchat, jabber, log_plays, loganalytics, logentries,
- logstash, slack, splunk, sumologic, syslog_json callback plugins - make
- sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8628).
- - chef_databag, consul_kv, cyberarkpassword, dsv, etcd, filetree, hiera, onepassword,
- onepassword_doc, onepassword_raw, passwordstore, redis, shelvefile, tss
- lookup plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8626).
- - chroot, funcd, incus, iocage, jail, lxc, lxd, qubes, zone connection plugins
- - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8627).
- - cmd_runner module utils - add decorator ``cmd_runner_fmt.stack`` (https://github.com/ansible-collections/community.general/pull/8415).
- - cmd_runner module utils - refactor argument formatting code to its own Python
- module (https://github.com/ansible-collections/community.general/pull/8964).
- - cmd_runner_fmt module utils - simplify implementation of ``cmd_runner_fmt.as_bool_not()``
- (https://github.com/ansible-collections/community.general/pull/8512).
- - cobbler, linode, lxd, nmap, online, scaleway, stackpath_compute, virtualbox
- inventory plugins - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8625).
- - consul_acl - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - consul_kv - add argument for the datacenter option on Consul API (https://github.com/ansible-collections/community.general/pull/9026).
- - copr - Added ``includepkgs`` and ``excludepkgs`` parameters to limit the
- list of packages fetched or excluded from the repository(https://github.com/ansible-collections/community.general/pull/8779).
- - cpanm - add return value ``cpanm_version`` (https://github.com/ansible-collections/community.general/pull/9061).
- - credstash lookup plugin - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - csv module utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - deco MH module utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - dig lookup plugin - add ``port`` option to specify DNS server port (https://github.com/ansible-collections/community.general/pull/8966).
- - django module utils - always retrieve version (https://github.com/ansible-collections/community.general/pull/9063).
- - django_check - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9063).
- - django_command - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9063).
- - django_createcachetable - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9063).
- - doas, dzdo, ksu, machinectl, pbrun, pfexec, pmrun, sesu, sudosu become plugins
- - make sure that all options are typed (https://github.com/ansible-collections/community.general/pull/8623).
- - etcd3 - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - flatpak - improve the parsing of Flatpak application IDs based on official
- guidelines (https://github.com/ansible-collections/community.general/pull/8909).
- - gconftool2 - make use of ``ModuleHelper`` features to simplify code (https://github.com/ansible-collections/community.general/pull/8711).
- - gcontool2 - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9064).
- - gcontool2 module utils - add argument formatter ``version`` (https://github.com/ansible-collections/community.general/pull/9064).
- - gcontool2_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9064).
- - gio_mime - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9067).
- - gio_mime - adjust code ahead of the old ``VardDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8855).
- - gio_mime - mute the old ``VarDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8776).
- - gio_mime module utils - add argument formatter ``version`` (https://github.com/ansible-collections/community.general/pull/9067).
- - github_app_access_token lookup plugin - adds new ``private_key`` parameter
- (https://github.com/ansible-collections/community.general/pull/8989).
- - gitlab_deploy_key - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - gitlab_group - add many new parameters (https://github.com/ansible-collections/community.general/pull/8908).
- - gitlab_group - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - gitlab_group - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - gitlab_issue - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - gitlab_merge_request - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - gitlab_project - add option ``container_expiration_policy`` to schedule
- container registry cleanup (https://github.com/ansible-collections/community.general/pull/8674).
- - gitlab_project - add option ``issues_access_level`` to enable/disable project
- issues (https://github.com/ansible-collections/community.general/pull/8760).
- - gitlab_project - add option ``model_registry_access_level`` to disable model
- registry (https://github.com/ansible-collections/community.general/pull/8688).
- - gitlab_project - add option ``pages_access_level`` to disable project pages
- (https://github.com/ansible-collections/community.general/pull/8688).
- - gitlab_project - add option ``repository_access_level`` to disable project
- repository (https://github.com/ansible-collections/community.general/pull/8674).
- - gitlab_project - add option ``service_desk_enabled`` to disable service
- desk (https://github.com/ansible-collections/community.general/pull/8688).
- - gitlab_project - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - gitlab_project - sorted parameters in order to avoid future merge conflicts
- (https://github.com/ansible-collections/community.general/pull/8759).
- - gitlab_runner - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - hashids filter plugin - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - homebrew - speed up brew install and upgrade (https://github.com/ansible-collections/community.general/pull/9022).
- - hwc_ecs_instance - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - hwc_evs_disk - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - hwc_vpc_eip - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - hwc_vpc_peering_connect - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - hwc_vpc_port - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - hwc_vpc_subnet - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - icinga2_host - replace loop with dict comprehension (https://github.com/ansible-collections/community.general/pull/8876).
- - imc_rest - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - ipa_dnsrecord - adds ``SSHFP`` record type for managing SSH fingerprints
- in FreeIPA DNS (https://github.com/ansible-collections/community.general/pull/8404).
- - ipa_otptoken - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - jenkins_node - add ``offline_message`` parameter for updating a Jenkins
- node offline cause reason when the state is "disabled" (offline) (https://github.com/ansible-collections/community.general/pull/9084)."
- - jira - adjust code ahead of the old ``VardDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8856).
- - jira - mute the old ``VarDict`` deprecation (https://github.com/ansible-collections/community.general/pull/8776).
- - jira - replace deprecated params when using decorator ``cause_changes``
- (https://github.com/ansible-collections/community.general/pull/8791).
- - keep_keys filter plugin - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - keycloak module utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - keycloak_client - add ``client-x509`` choice to ``client_authenticator_type``
- (https://github.com/ansible-collections/community.general/pull/8973).
- - keycloak_client - assign auth flow by name (https://github.com/ansible-collections/community.general/pull/8428).
- - keycloak_client - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - keycloak_clientscope - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - keycloak_identity_provider - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - keycloak_realm - add boolean toggle to configure organization support for
- a given keycloak realm (https://github.com/ansible-collections/community.general/issues/9027,
- https://github.com/ansible-collections/community.general/pull/8927/).
- - keycloak_user_federation - add module argument allowing users to optout
- of the removal of unspecified mappers, for example to keep the keycloak
- default mappers (https://github.com/ansible-collections/community.general/pull/8764).
- - keycloak_user_federation - add the user federation config parameter ``referral``
- to the module arguments (https://github.com/ansible-collections/community.general/pull/8954).
- - keycloak_user_federation - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - keycloak_user_federation - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - keycloak_user_federation - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8833).
- - linode - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - locale_gen - add support for multiple locales (https://github.com/ansible-collections/community.general/issues/8677,
- https://github.com/ansible-collections/community.general/pull/8682).
- - lxc_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - lxd_container - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - manageiq_provider - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - mattermost - adds support for message priority (https://github.com/ansible-collections/community.general/issues/9068,
- https://github.com/ansible-collections/community.general/pull/9087).
- - memcached, pickle, redis, yaml cache plugins - make sure that all options
- are typed (https://github.com/ansible-collections/community.general/pull/8624).
- - memset_dns_reload - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - memset_memstore_info - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - memset_server_info - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - memset_zone - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - memset_zone_domain - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - memset_zone_record - replace loop with ``dict()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - nmcli - add ``conn_enable`` param to reload connection (https://github.com/ansible-collections/community.general/issues/3752,
- https://github.com/ansible-collections/community.general/issues/8704, https://github.com/ansible-collections/community.general/pull/8897).
- - nmcli - add ``state=up`` and ``state=down`` to enable/disable connections
- (https://github.com/ansible-collections/community.general/issues/3752, https://github.com/ansible-collections/community.general/issues/8704,
- https://github.com/ansible-collections/community.general/issues/7152, https://github.com/ansible-collections/community.general/pull/8897).
- - nmcli - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - npm - add ``force`` parameter to allow ``--force`` (https://github.com/ansible-collections/community.general/pull/8885).
- - ocapi_utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - one_image - add ``create``, ``template`` and ``datastore_id`` arguments
- for image creation (https://github.com/ansible-collections/community.general/pull/9075).
- - one_image - add ``wait_timeout`` argument for adjustable timeouts (https://github.com/ansible-collections/community.general/pull/9075).
- - one_image - add option ``persistent`` to manage image persistence (https://github.com/ansible-collections/community.general/issues/3578,
- https://github.com/ansible-collections/community.general/pull/8889).
- - one_image - extend xsd scheme to make it return a lot more info about image
- (https://github.com/ansible-collections/community.general/pull/8889).
- - one_image - refactor code to make it more similar to ``one_template`` and
- ``one_vnet`` (https://github.com/ansible-collections/community.general/pull/8889).
- - one_image_info - extend xsd scheme to make it return a lot more info about
- image (https://github.com/ansible-collections/community.general/pull/8889).
- - one_image_info - refactor code to make it more similar to ``one_template``
- and ``one_vnet`` (https://github.com/ansible-collections/community.general/pull/8889).
- - one_service - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - one_vm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - onepassword lookup plugin - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8833).
- - open_iscsi - allow login to a portal with multiple targets without specifying
- any of them (https://github.com/ansible-collections/community.general/pull/8719).
- - openbsd_pkg - adds diff support to show changes in installed package list.
- This does not yet work for check mode (https://github.com/ansible-collections/community.general/pull/8402).
- - opennebula.py - add VM ``id`` and VM ``host`` to inventory host data (https://github.com/ansible-collections/community.general/pull/8532).
- - opentelemetry callback plugin - fix default value for ``store_spans_in_file``
- causing traces to be produced to a file named ``None`` (https://github.com/ansible-collections/community.general/issues/8566,
- https://github.com/ansible-collections/community.general/pull/8741).
- - opkg - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9086).
- - passwordstore lookup plugin - add subkey creation/update support (https://github.com/ansible-collections/community.general/pull/8952).
- - passwordstore lookup plugin - add the current user to the lockfile file
- name to address issues on multi-user systems (https://github.com/ansible-collections/community.general/pull/8689).
- - pids - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - pipx - add parameter ``suffix`` to module (https://github.com/ansible-collections/community.general/pull/8675,
- https://github.com/ansible-collections/community.general/issues/8656).
- - pipx - added new states ``install_all``, ``uninject``, ``upgrade_shared``,
- ``pin``, and ``unpin`` (https://github.com/ansible-collections/community.general/pull/8809).
- - pipx - added parameter ``global`` to module (https://github.com/ansible-collections/community.general/pull/8793).
- - pipx - refactor out parsing of ``pipx list`` output to module utils (https://github.com/ansible-collections/community.general/pull/9044).
- - pipx - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - pipx_info - add new return value ``pinned`` (https://github.com/ansible-collections/community.general/pull/9044).
- - pipx_info - added parameter ``global`` to module (https://github.com/ansible-collections/community.general/pull/8793).
- - pipx_info - refactor out parsing of ``pipx list`` output to module utils
- (https://github.com/ansible-collections/community.general/pull/9044).
- - pipx_info - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - pkg5_publisher - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - pkgng - add option ``use_globs`` (default ``true``) to optionally disable
- glob patterns (https://github.com/ansible-collections/community.general/issues/8632,
- https://github.com/ansible-collections/community.general/pull/8633).
- - proxmox - add ``disk_volume`` and ``mount_volumes`` keys for better readability
- (https://github.com/ansible-collections/community.general/pull/8542).
- - proxmox - allow specification of the API port when using proxmox_* (https://github.com/ansible-collections/community.general/issues/8440,
- https://github.com/ansible-collections/community.general/pull/8441).
- - proxmox - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - proxmox - translate the old ``disk`` and ``mounts`` keys to the new handling
- internally (https://github.com/ansible-collections/community.general/pull/8542).
- - proxmox inventory plugin - add new fact for LXC interface details (https://github.com/ansible-collections/community.general/pull/8713).
- - proxmox inventory plugin - clean up authentication code (https://github.com/ansible-collections/community.general/pull/8917).
- - proxmox inventory plugin - fix urllib3 ``InsecureRequestWarnings`` not being
- suppressed when a token is used (https://github.com/ansible-collections/community.general/pull/9099).
- - proxmox_disk - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - proxmox_kvm - adds the ``ciupgrade`` parameter to specify whether cloud-init
- should upgrade system packages at first boot (https://github.com/ansible-collections/community.general/pull/9066).
- - proxmox_kvm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8814).
- - proxmox_kvm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - proxmox_template - small refactor in logic for determining whether a template
- exists or not (https://github.com/ansible-collections/community.general/pull/8516).
- - proxmox_vm_info - add ``network`` option to retrieve current network information
- (https://github.com/ansible-collections/community.general/pull/8471).
- - redfish_* modules - adds ``ciphers`` option for custom cipher selection
- (https://github.com/ansible-collections/community.general/pull/8533).
- - redfish_command - add ``UpdateUserAccountTypes`` command (https://github.com/ansible-collections/community.general/issues/9058,
- https://github.com/ansible-collections/community.general/pull/9059).
- - redfish_command - add ``wait`` and ``wait_timeout`` options to allow a user
- to block a command until a service is accessible after performing the requested
- command (https://github.com/ansible-collections/community.general/issues/8051,
- https://github.com/ansible-collections/community.general/pull/8434).
- - redfish_command - add handling of the ``PasswordChangeRequired`` message
- from services in the ``UpdateUserPassword`` command to directly modify the
- user's password if the requested user is the one invoking the operation
- (https://github.com/ansible-collections/community.general/issues/8652, https://github.com/ansible-collections/community.general/pull/8653).
- - redfish_confg - remove ``CapacityBytes`` from required paramaters of the
- ``CreateVolume`` command (https://github.com/ansible-collections/community.general/pull/8956).
- - redfish_config - add parameter ``storage_none_volume_deletion`` to ``CreateVolume``
- command in order to control the automatic deletion of non-RAID volumes (https://github.com/ansible-collections/community.general/pull/8990).
- - redfish_info - add command ``CheckAvailability`` to check if a service is
- accessible (https://github.com/ansible-collections/community.general/issues/8051,
- https://github.com/ansible-collections/community.general/pull/8434).
- - redfish_info - adds ``RedfishURI`` and ``StorageId`` to Disk inventory (https://github.com/ansible-collections/community.general/pull/8937).
- - redfish_utils - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - redfish_utils module utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - redfish_utils module utils - schedule a BIOS configuration job at next reboot
- when the BIOS config is changed (https://github.com/ansible-collections/community.general/pull/9012).
- - redis cache plugin - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8833).
- - redis, redis_info - add ``client_cert`` and ``client_key`` options to specify
- path to certificate for Redis authentication (https://github.com/ansible-collections/community.general/pull/8654).
- - redis_info - adds support for getting cluster info (https://github.com/ansible-collections/community.general/pull/8464).
- - remove_keys filter plugin - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - replace_keys filter plugin - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - scaleway - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - scaleway module utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - scaleway_compute - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8833).
- - scaleway_container - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_container_info - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_container_namespace - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_container_namespace_info - replace Python 2.6 construct with dict
- comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_container_registry - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_container_registry_info - replace Python 2.6 construct with dict
- comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_function - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_function_info - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_function_namespace - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_function_namespace_info - replace Python 2.6 construct with dict
- comprehensions (https://github.com/ansible-collections/community.general/pull/8858).
- - scaleway_ip - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - scaleway_lb - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - scaleway_security_group - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8822).
- - scaleway_security_group - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8833).
- - scaleway_user_data - better construct when using ``dict.items()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - scaleway_user_data - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8833).
- - sensu_silence - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - snmp_facts - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - sorcery - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8833).
- - sudosu become plugin - added an option (``alt_method``) to enhance compatibility
- with more versions of ``su`` (https://github.com/ansible-collections/community.general/pull/8214).
- - udm_dns_record - replace loop with ``dict.update()`` (https://github.com/ansible-collections/community.general/pull/8876).
- - ufw - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - unsafe plugin utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - vardict module utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - vars MH module utils - replace Python 2.6 construct with dict comprehensions
- (https://github.com/ansible-collections/community.general/pull/8814).
- - virtualbox inventory plugin - expose a new parameter ``enable_advanced_group_parsing``
- to change how the VirtualBox dynamic inventory parses VM groups (https://github.com/ansible-collections/community.general/issues/8508,
- https://github.com/ansible-collections/community.general/pull/8510).
- - vmadm - replace Python 2.6 construct with dict comprehensions (https://github.com/ansible-collections/community.general/pull/8822).
- - wdc_redfish_command - minor change to handle upgrade file for Redfish WD
- platforms (https://github.com/ansible-collections/community.general/pull/8444).
- release_summary: This is release 10.0.0 of ``community.general``, released on
- 2024-11-04.
- removed_features:
- - The consul_acl module has been removed. Use community.general.consul_token
- and/or community.general.consul_policy instead (https://github.com/ansible-collections/community.general/pull/8921).
- - The hipchat callback plugin has been removed. The hipchat service has been
- discontinued and the self-hosted variant has been End of Life since 2020
- (https://github.com/ansible-collections/community.general/pull/8921).
- - The redhat module utils has been removed (https://github.com/ansible-collections/community.general/pull/8921).
- - The rhn_channel module has been removed (https://github.com/ansible-collections/community.general/pull/8921).
- - The rhn_register module has been removed (https://github.com/ansible-collections/community.general/pull/8921).
- - consul - removed the ``ack_params_state_absent`` option. It had no effect
- anymore (https://github.com/ansible-collections/community.general/pull/8918).
- - ejabberd_user - removed the ``logging`` option (https://github.com/ansible-collections/community.general/pull/8918).
- - gitlab modules - remove basic auth feature (https://github.com/ansible-collections/community.general/pull/8405).
- - proxmox_kvm - removed the ``proxmox_default_behavior`` option. Explicitly
- specify the old default values if you were using ``proxmox_default_behavior=compatibility``,
- otherwise simply remove it (https://github.com/ansible-collections/community.general/pull/8918).
- - redhat_subscriptions - removed the ``pool`` option. Use ``pool_ids`` instead
- (https://github.com/ansible-collections/community.general/pull/8918).
- fragments:
- - 10.0.0.yml
- - 8051-Redfish-Wait-For-Service.yml
- - 8214-sudosu-not-working-on-some-BSD-machines.yml
- - 8402-add-diif-mode-openbsd-pkg.yml
- - 8403-fix-typeerror-in-keycloak-client.yaml
- - 8404-ipa_dnsrecord_sshfp.yml
- - 8405-gitlab-remove-basic-auth.yml
- - 8406-fix-homebrew-cask-warning.yaml
- - 8411-locale-gen-vardict.yml
- - 8413-galaxy-refactor.yml
- - 8415-cmd-runner-stack.yml
- - 8428-assign-auth-flow-by-name-keycloak-client.yaml
- - 8430-fix-opentelemetry-when-using-logs-with-uri-or-slurp-tasks.yaml
- - 8431-galaxy-upgrade.yml
- - 8440-allow-api-port-specification.yaml
- - 8444-fix-redfish-gen2-upgrade.yaml
- - 8452-git_config-absent.yml
- - 8453-git_config-deprecate-read.yml
- - 8464-redis-add-cluster-info.yml
- - 8471-proxmox-vm-info-network.yml
- - 8476-launchd-check-mode-changed.yaml
- - 8479-cmdrunner-improvements.yml
- - 8480-directory-feature-cargo.yml
- - 8489-fix-opennebula-inventory-crash-when-nic-has-no-ip.yml
- - 8496-keycloak_clientscope-add-normalizations.yaml
- - 8508-virtualbox-inventory.yml
- - 8512-as-bool-not.yml
- - 8514-pacman-empty.yml
- - 8516-proxmox-template-refactor.yml
- - 8517-cmd-runner-lang-auto.yml
- - 8532-expand-opennuebula-inventory-data.yml
- - 8533-add-ciphers-option.yml
- - 8542-fix-proxmox-volume-handling.yml
- - 8545-keycloak-clientscope-remove-id-on-compare.yml
- - 8557-fix-bug-with-bitwarden.yml
- - 8613-redfish_utils-language.yaml
- - 8614-nsupdate-index-out-of-range.yml
- - 8623-become-types.yml
- - 8624-cache-types.yml
- - 8625-inventory-types.yml
- - 8626-lookup-types.yml
- - 8627-connection-types.yml
- - 8628-callback-types.yml
- - 8632-pkgng-add-option-use_globs.yml
- - 8646-fix-bug-in-proxmox-volumes.yml
- - 8648-fix-gitlab-runner-paused.yaml
- - 8652-Redfish-Password-Change-Required.yml
- - 8654-add-redis-tls-params.yml
- - 8674-add-gitlab-project-cleanup-policy.yml
- - 8675-pipx-install-suffix.yml
- - 8679-fix-cloudflare-srv.yml
- - 8682-locale-gen-multiple.yaml
- - 8688-gitlab_project-add-new-params.yml
- - 8689-passwordstore-lock-naming.yml
- - 8695-keycloak_user_federation-mapper-removal.yml
- - 8708-homebrew_cask-fix-upgrade-all.yml
- - 8711-gconftool2-refactor.yml
- - 8713-proxmox_lxc_interfaces.yml
- - 8719-openiscsi-add-multiple-targets.yaml
- - 8735-keycloak_identity_provider-get-cleartext-secret-from-realm-info.yml
- - 8738-limit-packages-for-copr.yml
- - 8741-fix-opentelemetry-callback.yml
- - 8759-gitlab_project-sort-params.yml
- - 8760-gitlab_project-add-issues-access-level.yml
- - 8761-keycloak_user_federation-sort-desired-and-after-mappers-by-name.yml
- - 8762-keycloac_user_federation-fix-key-error-when-updating.yml
- - 8764-keycloak_user_federation-make-mapper-removal-optout.yml
- - 8766-mh-deco-improve.yml
- - 8776-mute-vardict-deprecation.yml
- - 8785-keycloak_user_federation-set-krbPrincipalAttribute-to-empty-string-if-missing.yaml
- - 8790-gitlab_project-fix-cleanup-policy-on-project-create.yml
- - 8791-mh-cause-changes-param-depr.yml
- - 8793-pipx-global.yml
- - 8794-Fixing-possible-concatination-error.yaml
- - 8796-gitlab-access-token-check-mode.yml
- - 8809-pipx-new-params.yml
- - 8812-keycloak-user-federation-remove-lastSync-param-from-kc-responses.yml
- - 8814-dict-comprehension.yml
- - 8822-dict-comprehension.yml
- - 8823-keycloak-realm-key.yml
- - 8831-fix-error-when-mapper-id-is-provided.yml
- - 8833-dict-comprehension.yml
- - 8855-gio_mime_vardict.yml
- - 8856-jira_vardict.yml
- - 8858-dict-comprehension.yml
- - 8876-dict-items-loop.yml
- - 8877-keycloak_realm-sort-lists-before-change-detection.yaml
- - 8885-add-force-flag-for-nmp.yml
- - 8887-fix-one_service-unique.yml
- - 8889-refactor-one-image-modules.yml
- - 8895-fix-comprehension.yaml
- - 8897-nmcli-add-reload-and-up-down.yml
- - 8898-add-arg-to-exclude-bind-credential-from-change-check.yaml
- - 8900-ipa-hostgroup-fix-states.yml
- - 8907-fix-one-host-id.yml
- - 8908-add-gitlab-group-params.yml
- - 8909-flatpak-improve-name-parsing.yaml
- - 8917-proxmox-clean-auth.yml
- - 8920-ipa-host-fix-state.yml
- - 8923-keycloak_userprofile-fix-empty-response-when-fetching-userprofile.yml
- - 8925-atomic.yml
- - 8928-cmd-runner-10.0.0.yml
- - 8929-cmd_runner-bugfix.yml
- - 8937-add-StorageId-RedfishURI-to-disk-facts.yml
- - 8940-keycloak_userprofile-improve-diff.yml
- - 8944-django-command-fix.yml
- - 8952-password-store-lookup-create-subkey-support.yml
- - 8954-keycloak-user-federation-add-referral-parameter.yml
- - 8956-remove-capacitybytes-from-the-required-parameters_list.yml
- - 8964-cmd-runner-argformat-refactor.yml
- - 8966-dig-add-port-option.yml
- - 8970-fix-dig-multi-nameservers.yml
- - 8973-keycloak_client-add-x509-auth.yml
- - 8979-keycloak_group-fix-subgroups.yml
- - 8987-legacycrypt.yml
- - 8989-github-app-token-from-fact.yml
- - 8990.yml
- - 9010-edit-gitlab-label-color.yaml
- - 9012-dell-pwrbutton-requires-a-job-initiated-at-reboot.yml
- - 9019-onevnet-bugfix.yml
- - 9022-improve-homebrew-perf.yml
- - 9026-consul_kv-datacenter.yml
- - 9027-support-organizations-in-keycloak-realm.yml
- - 9028-bitwarden-secrets-manager-syntax-fix.yml
- - 9044-pipx-fixes.yml
- - 9047-redfish-uri-parsing.yml
- - 9052-modprobe-bugfix.yml
- - 9056-fix-one_image-modules.yml
- - 9059-redfish_command-updateuseraccounttypes.yml
- - 9060-ansible-galaxy-install-version.yml
- - 9061-cpanm-version.yml
- - 9063-django-version.yml
- - 9064-gconftool2-version.yml
- - 9066-proxmox-kvm-ciupgrade.yml
- - 9067-gio-mime-version.yml
- - 9075-add-creation-oneimage.yml
- - 9084-collection_version-importlib.yml
- - 9084-jenkins_node-add-offline-message.yml
- - 9086-gio-mime-version.yml
- - 9087-mattermost-priority.yaml
- - 9092-keycloak-clientscope-type-fix-check-mode.yml
- - 9099-proxmox-fix-insecure.yml
- - deprecate-hipchat.yml
- - deprecations.yml
- - removals.yml
- modules:
- - description: Bootc Switch and Upgrade.
- name: bootc_manage
- namespace: ''
- - description: Add, modify, and delete checks within a consul cluster.
- name: consul_agent_check
- namespace: ''
- - description: Add, modify and delete services within a consul cluster.
- name: consul_agent_service
- namespace: ''
- - description: Wrapper for C(django-admin check).
- name: django_check
- namespace: ''
- - description: Wrapper for C(django-admin createcachetable).
- name: django_createcachetable
- namespace: ''
- - description: Services manager for Homebrew.
- name: homebrew_services
- namespace: ''
- - description: Manage keytab file in FreeIPA.
- name: ipa_getkeytab
- namespace: ''
- - description: Manage Jenkins nodes.
- name: jenkins_node
- namespace: ''
- - description: Allows administration of Keycloak components via Keycloak API.
- name: keycloak_component
- namespace: ''
- - description: Allows obtaining Keycloak realm keys metadata via Keycloak API.
- name: keycloak_realm_keys_metadata_info
- namespace: ''
- - description: Allows managing Keycloak User Profiles.
- name: keycloak_userprofile
- namespace: ''
- - description: Kerberos utils for managing tickets.
- name: krb_ticket
- namespace: ''
- - description: Manages OpenNebula virtual networks.
- name: one_vnet
- namespace: ''
- - description: List Zypper repositories.
- name: zypper_repository_info
- namespace: ''
- plugins:
- filter:
- - description: Keep specific keys from dictionaries in a list.
- name: keep_keys
- namespace: null
- - description: Remove specific keys from dictionaries in a list.
- name: remove_keys
- namespace: null
- - description: Replace specific keys in a list of dictionaries.
- name: replace_keys
- namespace: null
- - description: Return input type.
- name: reveal_ansible_type
- namespace: null
- test:
- - description: Validate input type.
- name: ansible_type
- namespace: null
- release_date: '2024-11-04'
- 10.0.1:
- changes:
- bugfixes:
- - keycloak_client - fix diff by removing code that turns the attributes dict
- which contains additional settings into a list (https://github.com/ansible-collections/community.general/pull/9077).
- - keycloak_clientscope - fix diff and ``end_state`` by removing the code that
- turns the attributes dict, which contains additional config items, into
- a list (https://github.com/ansible-collections/community.general/pull/9082).
- - redfish_utils module utils - remove undocumented default applytime (https://github.com/ansible-collections/community.general/pull/9114).
- release_summary: Bugfix release for inclusion in Ansible 11.0.0rc1.
- fragments:
- - 10.0.1.yml
- - 9077-keycloak_client-fix-attributes-dict-turned-into-list.yml
- - 9082-keycloak_clientscope-fix-attributes-dict-turned-into-list.yml
- - 9114-redfish-utils-update-remove-default-applytime.yml
- release_date: '2024-11-11'
- 10.1.0:
- changes:
- bugfixes:
- - dnf_config_manager - fix hanging when prompting to import GPG keys (https://github.com/ansible-collections/community.general/pull/9124,
- https://github.com/ansible-collections/community.general/issues/8830).
- - dnf_config_manager - forces locale to ``C`` before module starts. If the
- locale was set to non-English, the output of the ``dnf config-manager``
- could not be parsed (https://github.com/ansible-collections/community.general/pull/9157,
- https://github.com/ansible-collections/community.general/issues/9046).
- - flatpak - force the locale language to ``C`` when running the flatpak command
- (https://github.com/ansible-collections/community.general/pull/9187, https://github.com/ansible-collections/community.general/issues/8883).
- - gio_mime - fix command line when determining version of ``gio`` (https://github.com/ansible-collections/community.general/pull/9171,
- https://github.com/ansible-collections/community.general/issues/9158).
- - github_key - in check mode, a faulty call to ```datetime.strftime(...)```
- was being made which generated an exception (https://github.com/ansible-collections/community.general/issues/9185).
- - homebrew_cask - allow ``+`` symbol in Homebrew cask name validation regex
- (https://github.com/ansible-collections/community.general/pull/9128).
- - keycloak_clientscope_type - sort the default and optional clientscope lists
- to improve the diff (https://github.com/ansible-collections/community.general/pull/9202).
- - slack - fail if Slack API response is not OK with error message (https://github.com/ansible-collections/community.general/pull/9198).
- deprecated_features:
- - opkg - deprecate value ``""`` for parameter ``force`` (https://github.com/ansible-collections/community.general/pull/9172).
- - redfish_utils module utils - deprecate method ``RedfishUtils._init_session()``
- (https://github.com/ansible-collections/community.general/pull/9190).
- minor_changes:
- - alternatives - add ``family`` parameter that allows to utilize the ``--family``
- option available in RedHat version of update-alternatives (https://github.com/ansible-collections/community.general/issues/5060,
- https://github.com/ansible-collections/community.general/pull/9096).
- - cloudflare_dns - add support for ``comment`` and ``tags`` (https://github.com/ansible-collections/community.general/pull/9132).
- - deps module utils - add ``deps.clear()`` to clear out previously declared
- dependencies (https://github.com/ansible-collections/community.general/pull/9179).
- - homebrew - greatly speed up module when multiple packages are passed in
- the ``name`` option (https://github.com/ansible-collections/community.general/pull/9181).
- - homebrew - remove duplicated package name validation (https://github.com/ansible-collections/community.general/pull/9076).
- - iso_extract - adds ``password`` parameter that is passed to 7z (https://github.com/ansible-collections/community.general/pull/9159).
- - launchd - add ``plist`` option for services such as sshd, where the plist
- filename doesn't match the service name (https://github.com/ansible-collections/community.general/pull/9102).
- - nmcli - add ``sriov`` parameter that enables support for SR-IOV settings
- (https://github.com/ansible-collections/community.general/pull/9168).
- - pipx - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9180).
- - pipx_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9180).
- - proxmox_template - add server side artifact fetching support (https://github.com/ansible-collections/community.general/pull/9113).
- - redfish_command - add ``update_custom_oem_header``, ``update_custom_oem_params``,
- and ``update_custom_oem_mime_type`` options (https://github.com/ansible-collections/community.general/pull/9123).
- - redfish_utils module utils - remove redundant code (https://github.com/ansible-collections/community.general/pull/9190).
- - rpm_ostree_pkg - added the options ``apply_live`` (https://github.com/ansible-collections/community.general/pull/9167).
- - rpm_ostree_pkg - added the return value ``needs_reboot`` (https://github.com/ansible-collections/community.general/pull/9167).
- - scaleway_lb - minor simplification in the code (https://github.com/ansible-collections/community.general/pull/9189).
- - ssh_config - add ``dynamicforward`` option (https://github.com/ansible-collections/community.general/pull/9192).
- release_summary: Regular bugfix and feature release.
- fragments:
- - 10.1.0.yml
- - 5932-launchd-plist.yml
- - 7402-proxmox-template-support-server-side-artifact-fetching.yaml
- - 9076-remove-duplicated-homebrew-package-name-validation.yml
- - 9096-alternatives-add-family-parameter.yml
- - 9123-redfish-command-custom-oem-params.yml
- - 9124-dnf_config_manager.yml
- - 9128-homebrew_cask-name-regex-fix.yml
- - 9132-cloudflare_dns-comment-and-tags.yml
- - 9157-fix-dnf_config_manager-locale.yml
- - 9159-iso-extract_add_password.yml
- - 9167-rpm_ostree_pkg-apply_live.yml
- - 9168-nmcli-add-sriov-parameter.yml
- - 9171-gio-mime-fix-version.yml
- - 9172-opkg-deprecate-force-none.yml
- - 9179-deps-tests.yml
- - 9180-pipx-version.yml
- - 9181-improve-homebrew-module-performance.yml
- - 9186-fix-broken-check-mode-in-github-key.yml
- - 9187-flatpak-lang.yml
- - 9189-scalway-lb-simplify-return.yml
- - 9190-redfish-utils-unused-code.yml
- - 9198-fail-if-slack-api-response-is-not-ok-with-error-message.yml
- - 9202-keycloak_clientscope_type-sort-lists.yml
- - ssh_config_add_dynamicforward_option.yml
- modules:
- - description: Decompresses compressed files.
- name: decompress
- namespace: ''
- - description: Start a VM backup in Proxmox VE cluster.
- name: proxmox_backup
- namespace: ''
- plugins:
- filter:
- - description: Produce a list of accumulated sums of the input list contents.
- name: accumulate
- namespace: null
- release_date: '2024-12-02'
- 10.2.0:
- changes:
- bugfixes:
- - dig lookup plugin - correctly handle ``NoNameserver`` exception (https://github.com/ansible-collections/community.general/pull/9363,
- https://github.com/ansible-collections/community.general/issues/9362).
- - homebrew - fix incorrect handling of aliased homebrew modules when the alias
- is requested (https://github.com/ansible-collections/community.general/pull/9255,
- https://github.com/ansible-collections/community.general/issues/9240).
- - htpasswd - report changes when file permissions are adjusted (https://github.com/ansible-collections/community.general/issues/9485,
- https://github.com/ansible-collections/community.general/pull/9490).
- - proxmox_backup - fix incorrect key lookup in vmid permission check (https://github.com/ansible-collections/community.general/pull/9223).
- - proxmox_disk - fix async method and make ``resize_disk`` method handle errors
- correctly (https://github.com/ansible-collections/community.general/pull/9256).
- - proxmox_template - fix the wrong path called on ``proxmox_template.task_status``
- (https://github.com/ansible-collections/community.general/issues/9276, https://github.com/ansible-collections/community.general/pull/9277).
- - qubes connection plugin - fix the printing of debug information (https://github.com/ansible-collections/community.general/pull/9334).
- - redfish_utils module utils - Fix ``VerifyBiosAttributes`` command on multi
- system resource nodes (https://github.com/ansible-collections/community.general/pull/9234).
- deprecated_features:
- - atomic_container - module is deprecated and will be removed in community.general
- 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
- - atomic_host - module is deprecated and will be removed in community.general
- 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
- - atomic_image - module is deprecated and will be removed in community.general
- 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
- - facter - module is deprecated and will be removed in community.general 12.0.0,
- use ``community.general.facter_facts`` instead (https://github.com/ansible-collections/community.general/pull/9451).
- - 'locale_gen - ``ubuntu_mode=True``, or ``mechanism=ubuntu_legacy`` is deprecated
- and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9238).
-
- '
- - pure module utils - the module utils is deprecated and will be removed from
- community.general 12.0.0. The modules using this were removed in community.general
- 3.0.0 (https://github.com/ansible-collections/community.general/pull/9432).
- - purestorage doc fragments - the doc fragment is deprecated and will be removed
- from community.general 12.0.0. The modules using this were removed in community.general
- 3.0.0 (https://github.com/ansible-collections/community.general/pull/9432).
- - sensu_check - module is deprecated and will be removed in community.general
- 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
- - sensu_client - module is deprecated and will be removed in community.general
- 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
- - sensu_handler - module is deprecated and will be removed in community.general
- 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
- - sensu_silence - module is deprecated and will be removed in community.general
- 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
- - sensu_subscription - module is deprecated and will be removed in community.general
- 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
- - slack - the default value ``auto`` of the ``prepend_hash`` option is deprecated
- and will change to ``never`` in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/9443).
- - yaml callback plugin - deprecate plugin in favor of ``result_format=yaml``
- in plugin ``ansible.bulitin.default`` (https://github.com/ansible-collections/community.general/pull/9456).
- minor_changes:
- - bitwarden lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - cgroup_memory_recap callback plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
- - chef_databag lookup plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
- - chroot connection plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - chroot connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - cobbler inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - cobbler inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - collection_version lookup plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
- - consul_kv lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - context_demo callback plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
- - counter_enabled callback plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
- - credstash lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - cyberarkpassword lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - cyberarkpassword lookup plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
- - dense callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - dependent lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - dig lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - dig lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - diy callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - dnstxt lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - dnstxt lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - doas become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - dsv lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - dzdo become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - elastic callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - etcd lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - etcd3 lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - etcd3 lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - filetree lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - from_csv filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - from_ini filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - funcd connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - github_app_access_token lookup plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
- - gitlab_instance_variable - add support for ``raw`` variables suboption (https://github.com/ansible-collections/community.general/pull/9425).
- - gitlab_runners inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - gitlab_runners inventory plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
- - hiera lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - icinga2 inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - incus connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - iocage connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - iocage inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - iptables_state action plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9318).
- - jabber callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - jail connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - keycloak - add an action group for Keycloak modules to allow ``module_defaults``
- to be set for Keycloak tasks (https://github.com/ansible-collections/community.general/pull/9284).
- - keyring lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - ksu become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - lastpass lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - linode inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - lmdb_kv lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - lmdb_kv lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - locale_gen - invert the logic to determine ``ubuntu_mode``, making it look
- first for ``/etc/locale.gen`` (set ``ubuntu_mode`` to ``False``) and only
- then looking for ``/var/lib/locales/supported.d/`` (set ``ubuntu_mode``
- to ``True``) (https://github.com/ansible-collections/community.general/pull/9238,
- https://github.com/ansible-collections/community.general/issues/9131, https://github.com/ansible-collections/community.general/issues/8487).
- - 'locale_gen - new return value ``mechanism`` to better express the semantics
- of the ``ubuntu_mode``, with the possible values being either ``glibc``
- (``ubuntu_mode=False``) or ``ubuntu_legacy`` (``ubuntu_mode=True``) (https://github.com/ansible-collections/community.general/pull/9238).
-
- '
- - log_plays callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - loganalytics callback plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
- - logdna callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - logentries callback plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - logentries callback plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
- - lxc connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - lxd connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - lxd inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - lxd inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - machinectl become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - mail callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - manageiq_alert_profiles - improve handling of parameter requirements (https://github.com/ansible-collections/community.general/pull/9449).
- - manifold lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - manifold lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - memcached cache plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9320).
- - merge_variables lookup plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
- - nmap inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - nmap inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - nrdp callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - onepassword lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - onepassword lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - onepassword_doc lookup plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
- - online inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - opennebula inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - opennebula inventory plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
- - opentelemetry callback plugin - remove code handling Python versions prior
- to 3.7 (https://github.com/ansible-collections/community.general/pull/9482).
- - opentelemetry callback plugin - remove code handling Python versions prior
- to 3.7 (https://github.com/ansible-collections/community.general/pull/9503).
- - opentelemetry callback plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
- - pacemaker_cluster - remove unused code (https://github.com/ansible-collections/community.general/pull/9471).
- - pacemaker_cluster - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/9471).
- - passwordstore lookup plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
- - pbrun become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - pfexec become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - pmrun become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - proxmox inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - proxmox inventory plugin - strip whitespace from ``user``, ``token_id``,
- and ``token_secret`` (https://github.com/ansible-collections/community.general/issues/9227,
- https://github.com/ansible-collections/community.general/pull/9228/).
- - proxmox inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - proxmox module utils - add method ``api_task_complete`` that can wait for
- task completion and return error message (https://github.com/ansible-collections/community.general/pull/9256).
- - proxmox_backup - refactor permission checking to improve code readability
- and maintainability (https://github.com/ansible-collections/community.general/pull/9239).
- - qubes connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - random_pet lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - redis cache plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - redis cache plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9320).
- - redis lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - revbitspss lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - saltstack connection plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
- - say callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - scaleway inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - scaleway inventory plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9323).
- - selective callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - sesu become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - shelvefile lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - shutdown action plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - shutdown action plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9318).
- - slack callback plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - slack callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - splunk callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - stackpath_compute inventory plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
- - sudosu become plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9319).
- - timestamp callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - to_ini filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - tss lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - tss lookup plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9324).
- - unixy callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - virtualbox inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379).
- - virtualbox inventory plugin - use f-strings instead of interpolations or
- ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
- - xbps - add ``root`` and ``repository`` options to enable bootstrapping new
- void installations (https://github.com/ansible-collections/community.general/pull/9174).
- - xen_orchestra inventory plugin - use f-strings instead of interpolations
- or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
- - xfconf - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9226).
- - xfconf_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9226).
- - yaml callback plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9321).
- - zone connection plugin - use f-strings instead of interpolations or ``format``
- (https://github.com/ansible-collections/community.general/pull/9322).
- - zypper - add ``quiet`` option (https://github.com/ansible-collections/community.general/pull/9270).
- - zypper - add ``simple_errors`` option (https://github.com/ansible-collections/community.general/pull/9270).
- release_summary: Regular bugfix and feature release.
- security_fixes:
- - keycloak_authentication - API calls did not properly set the ``priority``
- during update resulting in incorrectly sorted authentication flows. This
- apparently only affects Keycloak 25 or newer (https://github.com/ansible-collections/community.general/pull/9263).
- fragments:
- - 10.2.0.yml
- - 9174-xbps-support-rootdir-and-repository.yml
- - 9223-proxmox-backup-bugfixes.yml
- - 9226-xfconf-version.yml
- - 9228-fix-issue-header.yml
- - 9234-fix-verify-bios-attributes-multi-system.yml
- - 9238-locale-gen-rewrite.yml
- - 9239-proxmox-backup-refactor.yml
- - 9255-fix-handling-of-aliased-homebrew-packages.yml
- - 9256-proxmox_disk-fix-async-method-of-resize_disk.yml
- - 9263-kc_authentication-api-priority.yaml
- - 9270-zypper-add-simple_errors.yaml
- - 9277-proxmox_template-fix-the-wrong-path-called-on-proxmox_template.task_status.yaml
- - 9284-add-keycloak-action-group.yml
- - 9318-fstr-actionplugins.yml
- - 9319-fstr-become-plugins.yml
- - 9320-fstr-cache-plugins.yml
- - 9321-fstr-callback-plugins.yml
- - 9322-fstr-connection-plugins.yml
- - 9323-fstr-inventory-plugins.yml
- - 9324-fstr-lookup-plugins.yml
- - 9334-qubes-conn.yml
- - 9363-dig-nonameservers.yml
- - 9379-refactor.yml
- - 9387-pacemaker-cluster-cmd.yml
- - 9425-gitlab-instance-raw-variable.yml
- - 9432-deprecate-pure.yml
- - 9443-slack-prepend_hash.yml
- - 9449-manageiq-alert-profiles-reqs.yml
- - 9451-facter-deprecation.yml
- - 9456-yaml-callback-deprecation.yml
- - 9482-opentelemetry-python-37.yml
- - 9483-sensu-deprecation.yml
- - 9487-atomic-deprecation.yml
- - 9490-htpasswd-permissions.yml
- - 9503-opentelemetry-remove-unused-code.yml
- modules:
- - description: Manages Android SDK packages.
- name: android_sdk
- namespace: ''
- - description: Use the Modify-Increment LDAP V3 feature to increment an attribute
- value.
- name: ldap_inc
- namespace: ''
- - description: C(systemd)'s C(systemd-creds decrypt) plugin.
- name: systemd_creds_decrypt
- namespace: ''
- - description: C(systemd)'s C(systemd-creds encrypt) plugin.
- name: systemd_creds_encrypt
- namespace: ''
- plugins:
- inventory:
- - description: iocage inventory source.
- name: iocage
- namespace: null
- release_date: '2024-12-31'
- 10.3.0:
- changes:
- bugfixes:
- - homebrew - fix incorrect handling of homebrew modules when a tap is requested
- (https://github.com/ansible-collections/community.general/pull/9546, https://github.com/ansible-collections/community.general/issues/9533).
- - iocage inventory plugin - the plugin parses the IP4 tab of the jails list
- and put the elements into the new variable ``iocage_ip4_dict``. In multiple
- interface format the variable ``iocage_ip4`` keeps the comma-separated list
- of IP4 (https://github.com/ansible-collections/community.general/issues/9538).
- - pipx - honor option ``global`` when ``state=latest`` (https://github.com/ansible-collections/community.general/pull/9623).
- - proxmox - fixes idempotency of template conversions (https://github.com/ansible-collections/community.general/pull/9225,
- https://github.com/ansible-collections/community.general/issues/8811).
- - proxmox - fixes incorrect parsing for bind-only mounts (https://github.com/ansible-collections/community.general/pull/9225,
- https://github.com/ansible-collections/community.general/issues/8982).
- - proxmox - fixes issues with disk_volume variable (https://github.com/ansible-collections/community.general/pull/9225,
- https://github.com/ansible-collections/community.general/issues/9065).
- - proxmox module utils - fixes ignoring of ``choose_first_if_multiple`` argument
- in ``get_vmid`` (https://github.com/ansible-collections/community.general/pull/9225).
- - 'redhat_subscription - do not try to unsubscribe (i.e. remove subscriptions)
-
- when unregistering a system: newer versions of subscription-manager, as
-
- available in EL 10 and Fedora 41+, do not support entitlements anymore,
- and
-
- thus unsubscribing will fail
-
- (https://github.com/ansible-collections/community.general/pull/9578).
-
- '
- deprecated_features:
- - 'MH module utils - attribute ``debug`` definition in subclasses of MH is
- now deprecated, as that name will become a delegation to ``AnsibleModule``
- in community.general 12.0.0, and any such attribute will be overridden by
- that delegation in that version (https://github.com/ansible-collections/community.general/pull/9577).
-
- '
- - proxmox - removes default value ``false`` of ``update`` parameter. This
- will be changed to a default of ``true`` in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9225).
- minor_changes:
- - MH module utils - delegate ``debug`` to the underlying ``AnsibleModule``
- instance or issues a warning if an attribute already exists with that name
- (https://github.com/ansible-collections/community.general/pull/9577).
- - apache2_mod_proxy - better handling regexp extraction (https://github.com/ansible-collections/community.general/pull/9609).
- - apache2_mod_proxy - change type of ``state`` to a list of strings. No change
- for the users (https://github.com/ansible-collections/community.general/pull/9600).
- - apache2_mod_proxy - improve readability when using results from ``fecth_url()``
- (https://github.com/ansible-collections/community.general/pull/9608).
- - apache2_mod_proxy - refactor repeated code into method (https://github.com/ansible-collections/community.general/pull/9599).
- - apache2_mod_proxy - remove unused parameter and code from ``Balancer`` constructor
- (https://github.com/ansible-collections/community.general/pull/9614).
- - apache2_mod_proxy - simplified and improved string manipulation (https://github.com/ansible-collections/community.general/pull/9614).
- - apache2_mod_proxy - use ``deps`` to handle dependencies (https://github.com/ansible-collections/community.general/pull/9612).
- - cgroup_memory_recap callback plugin - adjust standard preamble for Python
- 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - chroot connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - cloud_init_data_facts - open file using ``open()`` as a context manager
- (https://github.com/ansible-collections/community.general/pull/9579).
- - cobbler inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - context_demo callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - counter filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - counter_enabled callback plugin - adjust standard preamble for Python 3
- (https://github.com/ansible-collections/community.general/pull/9583).
- - cpanm - enable usage of option ``--with-recommends`` (https://github.com/ansible-collections/community.general/issues/9554,
- https://github.com/ansible-collections/community.general/pull/9555).
- - cpanm - enable usage of option ``--with-suggests`` (https://github.com/ansible-collections/community.general/pull/9555).
- - crc32 filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - cronvar - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - crypttab - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - default_without_diff callback plugin - adjust standard preamble for Python
- 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - dense callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - dict filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - dict_kv filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - diy callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - doas become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - dzdo become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - elastic callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - from_csv filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - from_ini filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - funcd connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - gitlab_runners inventory plugin - adjust standard preamble for Python 3
- (https://github.com/ansible-collections/community.general/pull/9584).
- - groupby_as_dict filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - hashids filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - icinga2 inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - incus connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - iocage connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - iocage inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - iocage inventory plugin - the new parameter ``sudo`` of the plugin lets
- the command ``iocage list -l`` to run as root on the iocage host. This is
- needed to get the IPv4 of a running DHCP jail (https://github.com/ansible-collections/community.general/issues/9572,
- https://github.com/ansible-collections/community.general/pull/9573).
- - iptables_state action plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - jabber callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - jail connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - jc filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - jira - transition operation now has ``status_id`` to directly reference
- wanted transition (https://github.com/ansible-collections/community.general/pull/9602).
- - json_query filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - keep_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - keycloak_* modules - ``refresh_token`` parameter added. When multiple authentication
- parameters are provided (``token``, ``refresh_token``, and ``auth_username``/``auth_password``),
- modules will now automatically retry requests upon authentication errors
- (401), using in order the token, refresh token, and username/password (https://github.com/ansible-collections/community.general/pull/9494).
- - known_hosts - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - ksu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - linode inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - lists filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - lists_mergeby filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - log_plays callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - loganalytics callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - logdna callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - logentries callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - logstash callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - lxc connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - lxd connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - lxd inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - machinectl become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - mail callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - memcached cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - nmap inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - nmcli - add a option ``fail_over_mac`` (https://github.com/ansible-collections/community.general/issues/9570,
- https://github.com/ansible-collections/community.general/pull/9571).
- - nrdp callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - null callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - one_template - adds ``filter`` option for retrieving templates which are
- not owned by the user (https://github.com/ansible-collections/community.general/pull/9547,
- https://github.com/ansible-collections/community.general/issues/9278).
- - online inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - opennebula inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - opentelemetry callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - parted - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - pbrun become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - pfexec become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - pickle cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - pmrun become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - proxmox - refactors the proxmox module (https://github.com/ansible-collections/community.general/pull/9225).
- - proxmox inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - proxmox_pct_remote connection plugin - adjust standard preamble for Python
- 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - proxmox_template - add support for checksum validation with new options
- ``checksum_algorithm`` and ``checksum`` (https://github.com/ansible-collections/community.general/issues/9553,
- https://github.com/ansible-collections/community.general/pull/9601).
- - pulp_repo - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - qubes connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - random_mac filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - redfish_info - add command ``GetAccountServiceConfig`` to get full information
- about AccountService configuration (https://github.com/ansible-collections/community.general/pull/9403).
- - redhat_subscription - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - redis cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - remove_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - replace_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - reveal_ansible_type filter plugin - adjust standard preamble for Python
- 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - run0 become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - saltstack connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - say callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - scaleway inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - selective callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - sesu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - shutdown action plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - slack callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - snap - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9598).
- - snap_alias - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9598).
- - solaris_zone - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - sorcery - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - splunk callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - stackpath_compute inventory plugin - adjust standard preamble for Python
- 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - sudosu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - sumologic callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - syslog_json callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - time filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - timestamp callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - timezone - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
- - to_ini filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - ufw - add support for ``vrrp`` protocol (https://github.com/ansible-collections/community.general/issues/9562,
- https://github.com/ansible-collections/community.general/pull/9582).
- - unicode_normalize filter plugin - adjust standard preamble for Python 3
- (https://github.com/ansible-collections/community.general/pull/9585).
- - unixy callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - version_sort filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
- - virtualbox inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - xen_orchestra inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- - yaml cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - yaml callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
- - zone connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
- release_summary: Regular bugfix and feature release.
- security_fixes:
- - keycloak_client - Sanitize ``saml.encryption.private.key`` so it does not
- show in the logs (https://github.com/ansible-collections/community.general/pull/9621).
- fragments:
- - 10.3.0.yml
- - 9225-proxmox-module-refactoring.yml
- - 9403-redfish-add-get-accountservice.yml
- - 9494-keycloak-modules-retry-request-on-authentication-error.yaml
- - 9539-iocage-inventory-dhcp.yml
- - 9546-fix-handling-of-tap-homebrew-packages.yml
- - 9547-one_template-filter.yml
- - 9554-add-cpanm-option_with-recommends-and-suggests.yml
- - 9570-feat-nmcli-add-fail-over-mac-parameter.yml
- - 9573-iocage-inventory-sudo.yml
- - 9577-mh-delegate-debug.yml
- - 9578-redhat_subscription-no-remove-on-unregister.yml
- - 9579-with-open.yml
- - 9582-add-support-for-vrrp.yml
- - 9583-py3-imports-actionbecomecachecallback.yml
- - 9584-py3-imports-connectioninventory.yml
- - 9585-py3-imports-filter.yml
- - 9586-allow-transition-id-jira.yml
- - 9598-snap-version.yml
- - 9599-apache2-mod-proxy-revamp1.yml
- - 9600-apache2-mod-proxy-revamp2.yml
- - 9601-proxmox-template-support-for-checksums.yml
- - 9608-apache2-mod-proxy-revamp3.yml
- - 9609-apache2-mod-proxy-revamp4.yml
- - 9612-apache2-mod-proxy-revamp5.yml
- - 9614-apache2-mod-proxy-revamp7.yml
- - 9621-keycloak_client-sanitize-saml-encryption-key.yml
- - 9623-pipx-global-latest.yml
- modules:
- - description: Retrieve information on Proxmox scheduled backups.
- name: proxmox_backup_info
- namespace: ''
- plugins:
- connection:
- - description: Run tasks in Proxmox LXC container instances using pct CLI
- via SSH.
- name: proxmox_pct_remote
- namespace: null
- filter:
- - description: Create a JSON patch by comparing two JSON files.
- name: json_diff
- namespace: null
- - description: Apply a JSON-Patch (RFC 6902) operation to an object.
- name: json_patch
- namespace: null
- - description: Apply JSON-Patch (RFC 6902) operations to an object.
- name: json_patch_recipe
- namespace: null
- lookup:
- - description: Fetch SSH keys stored in 1Password.
- name: onepassword_ssh_key
- namespace: null
- release_date: '2025-01-27'
- 10.3.1:
- changes:
- bugfixes:
- - cloudflare_dns - fix crash when deleting a DNS record or when updating a
- record with ``solo=true`` (https://github.com/ansible-collections/community.general/issues/9652,
- https://github.com/ansible-collections/community.general/pull/9649).
- - homebrew - make package name parsing more resilient (https://github.com/ansible-collections/community.general/pull/9665,
- https://github.com/ansible-collections/community.general/issues/9641).
- - keycloak module utils - replaces missing return in get_role_composites method
- which caused it to return None instead of composite roles (https://github.com/ansible-collections/community.general/issues/9678,
- https://github.com/ansible-collections/community.general/pull/9691).
- - keycloak_client - fix and improve existing tests. The module showed a diff
- without actual changes, solved by improving the ``normalise_cr()`` function
- (https://github.com/ansible-collections/community.general/pull/9644).
- - proxmox - adds the ``pubkey`` parameter (back to) the ``update`` state (https://github.com/ansible-collections/community.general/issues/9642,
- https://github.com/ansible-collections/community.general/pull/9645).
- - proxmox - fixes a typo in the translation of the ``pubkey`` parameter to
- proxmox' ``ssh-public-keys`` (https://github.com/ansible-collections/community.general/issues/9642,
- https://github.com/ansible-collections/community.general/pull/9645).
- - xml - ensure file descriptor is closed (https://github.com/ansible-collections/community.general/pull/9695).
- minor_changes:
- - onepassword_ssh_key - refactor to move code to lookup class (https://github.com/ansible-collections/community.general/pull/9633).
- release_summary: Bugfix release.
- fragments:
- - 10.3.1.yml
- - 9633-onepassword_ssh_key.yml
- - 9644-kc_client-test-improvement-and-fix.yaml
- - 9645-proxmox-fix-pubkey.yml
- - 9649-cloudflare_dns-fix-crash-when-deleting-record.yml
- - 9665-more-resilient-handling-of-homebrew-packages-names.yml
- - 9691-keycloak-module-utils-replace-missing-return-in-get_role_composites.yml
- - 9695-xml-close-file.yml
- release_date: '2025-02-10'
- 10.4.0:
- changes:
- bugfixes:
- - apache2_mod_proxy - make compatible with Python 3 (https://github.com/ansible-collections/community.general/pull/9762).
- - apache2_mod_proxy - passing the cluster's page as referer for the member's
- pages. This makes the module actually work again for halfway modern Apache
- versions. According to some comments founds on the net the referer was required
- since at least 2019 for some versions of Apache 2 (https://github.com/ansible-collections/community.general/pull/9762).
- - 'elasticsearch_plugin - fix ``ERROR: D is not a recognized option`` issue
- when configuring proxy settings (https://github.com/ansible-collections/community.general/pull/9774,
- https://github.com/ansible-collections/community.general/issues/9773).'
- - ipa_host - module revoked existing host certificates even if ``user_certificate``
- was not given (https://github.com/ansible-collections/community.general/pull/9694).
- - keycloak_client - in check mode, detect whether the lists in before client
- (for example redirect URI list) contain items that the lists in the desired
- client do not contain (https://github.com/ansible-collections/community.general/pull/9739).
- - lldp - fix crash caused by certain lldpctl output where an attribute is
- defined as branch and leaf (https://github.com/ansible-collections/community.general/pull/9657).
- - onepassword_doc lookup plugin - ensure that 1Password Connect support also
- works for this plugin (https://github.com/ansible-collections/community.general/pull/9625).
- - passwordstore lookup plugin - fix subkey creation even when ``create=false``
- (https://github.com/ansible-collections/community.general/issues/9105, https://github.com/ansible-collections/community.general/pull/9106).
- - 'proxmox inventory plugin - plugin did not update cache correctly after
- ``meta: refresh_inventory`` (https://github.com/ansible-collections/community.general/issues/9710,
- https://github.com/ansible-collections/community.general/pull/9760).'
- - 'redhat_subscription - use the "enable_content" option (when available)
- when
-
- registering using D-Bus, to ensure that subscription-manager enables the
-
- content on registration; this is particular important on EL 10+ and Fedora
-
- 41+
-
- (https://github.com/ansible-collections/community.general/pull/9778).
-
- '
- - zfs - fix handling of multi-line values of user-defined ZFS properties (https://github.com/ansible-collections/community.general/pull/6264).
- - zfs_facts - parameter ``type`` now accepts multple values as documented
- (https://github.com/ansible-collections/community.general/issues/5909, https://github.com/ansible-collections/community.general/pull/9697).
- deprecated_features:
- - profitbricks - module is deprecated and will be removed in community.general
- 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
- - profitbricks_datacenter - module is deprecated and will be removed in community.general
- 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
- - profitbricks_nic - module is deprecated and will be removed in community.general
- 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
- - profitbricks_volume - module is deprecated and will be removed in community.general
- 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
- - profitbricks_volume_attachments - module is deprecated and will be removed
- in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
- minor_changes:
- - bitwarden lookup plugin - add new option ``collection_name`` to filter results
- by collection name, and new option ``result_count`` to validate number of
- results (https://github.com/ansible-collections/community.general/pull/9728).
- - incus connection plugin - adds ``remote_user`` and ``incus_become_method``
- parameters for allowing a non-root user to connect to an Incus instance
- (https://github.com/ansible-collections/community.general/pull/9743).
- - iocage inventory plugin - the new parameter ``hooks_results`` of the plugin
- is a list of files inside a jail that provide configuration parameters for
- the inventory. The inventory plugin reads the files from the jails and put
- the contents into the items of created variable ``iocage_hooks`` (https://github.com/ansible-collections/community.general/issues/9650,
- https://github.com/ansible-collections/community.general/pull/9651).
- - jira - adds ``client_cert`` and ``client_key`` parameters for supporting
- client certificate authentification when connecting to Jira (https://github.com/ansible-collections/community.general/pull/9753).
- - lldp - adds ``multivalues`` parameter to control behavior when lldpctl outputs
- an attribute multiple times (https://github.com/ansible-collections/community.general/pull/9657).
- - lvg - add ``remove_extra_pvs`` parameter to control if ansible should remove
- physical volumes which are not in the ``pvs`` parameter (https://github.com/ansible-collections/community.general/pull/9698).
- - lxd connection plugin - adds ``remote_user`` and ``lxd_become_method`` parameters
- for allowing a non-root user to connect to an LXD instance (https://github.com/ansible-collections/community.general/pull/9659).
- - nmcli - adds VRF support with new ``type`` value ``vrf`` and new ``slave_type``
- value ``vrf`` as well as new ``table`` parameter (https://github.com/ansible-collections/community.general/pull/9658,
- https://github.com/ansible-collections/community.general/issues/8014).
- - proxmox_kvm - allow hibernation and suspending of VMs (https://github.com/ansible-collections/community.general/issues/9620,
- https://github.com/ansible-collections/community.general/pull/9653).
- - redfish_command - add ``PowerFullPowerCycle`` to power command options (https://github.com/ansible-collections/community.general/pull/9729).
- - ssh_config - add ``other_options`` option (https://github.com/ansible-collections/community.general/issues/8053,
- https://github.com/ansible-collections/community.general/pull/9684).
- - xen_orchestra inventory plugin - add ``use_vm_uuid`` and ``use_host_uuid``
- boolean options to allow switching over to using VM/Xen name labels instead
- of UUIDs as item names (https://github.com/ansible-collections/community.general/pull/9787).
- release_summary: Regular bugfix and feature release.
- fragments:
- - 10.4.0.yaml
- - 6264-zfs-multiline-property-value.yml
- - 9106-passwordstore-fix-subkey-creation-even-when-create-==-false.yml
- - 9625-onepassword_doc.yml
- - 9651-iocage-inventory-hooks.yml
- - 9653-proxmox-kvm-allow-vm-hibernation.yml
- - 9657-lldp-handling-attributes-defined-multiple-times.yml
- - 9658-add-vrf-commands-to-nmcli-module.yml
- - 9659-lxd_connection-nonroot-user.yml
- - 9694-ipa-host-certificate-revoked.yml
- - 9697-zfs-facts-type.yml
- - 9698-lvg-remove-extra-pvs-parameter.yml
- - 9728-bitwarden-collection-name-filter.yml
- - 9729-redfish-fullpowercycle-command.yml
- - 9733-profitbrick-deprecation.yml
- - 9739-keycloak_client-compare-before-desired-directly.yml
- - 9743-incus_connection-nonroot-user.yml
- - 9753-jira-add-client-certificate-auth.yml
- - 9760-proxmox-inventory.yml
- - 9762-apache2_mod_proxy.yml
- - 9774-fix-elasticsearch_plugin-proxy-settings.yml
- - 9778-redhat_subscription-ensure-to-enable-content.yml
- - 9787-xoa_allow_using_names_in_inventory.yml
- - ssh_config_add_other_options.yml
- modules:
- - description: Gather C(systemd) unit info.
- name: systemd_info
- namespace: ''
- release_date: '2025-02-24'
- 10.5.0:
- changes:
- bugfixes:
- - cloudlare_dns - handle exhausted response stream in case of HTTP errors
- to show nice error message to the user (https://github.com/ansible-collections/community.general/issues/9782,
- https://github.com/ansible-collections/community.general/pull/9818).
- - dnf_versionlock - add support for dnf5 (https://github.com/ansible-collections/community.general/issues/9556).
- - homebrew - fix crash when package names include tap (https://github.com/ansible-collections/community.general/issues/9777,
- https://github.com/ansible-collections/community.general/pull/9803).
- - homebrew_cask - handle unusual brew version strings (https://github.com/ansible-collections/community.general/issues/8432,
- https://github.com/ansible-collections/community.general/pull/9881).
- - nmcli - enable changing only the order of DNS servers or search suffixes
- (https://github.com/ansible-collections/community.general/issues/8724, https://github.com/ansible-collections/community.general/pull/9880).
- - proxmox - add missing key selection of ``'status'`` key to ``get_lxc_status``
- (https://github.com/ansible-collections/community.general/issues/9696, https://github.com/ansible-collections/community.general/pull/9809).
- - proxmox_vm_info - the module no longer expects that the key ``template``
- exists in a dictionary returned by Proxmox (https://github.com/ansible-collections/community.general/issues/9875,
- https://github.com/ansible-collections/community.general/pull/9910).
- - sudoers - display stdout and stderr raised while failed validation (https://github.com/ansible-collections/community.general/issues/9674,
- https://github.com/ansible-collections/community.general/pull/9871).
- minor_changes:
- - CmdRunner module utils - the convenience method ``cmd_runner_fmt.as_fixed()``
- now accepts multiple arguments as a list (https://github.com/ansible-collections/community.general/pull/9893).
- - apache2_mod_proxy - code simplification, no change in functionality (https://github.com/ansible-collections/community.general/pull/9457).
- - consul_token - fix idempotency when ``policies`` or ``roles`` are supplied
- by name (https://github.com/ansible-collections/community.general/issues/9841,
- https://github.com/ansible-collections/community.general/pull/9845).
- - keycloak_realm - remove ID requirement when creating a realm to allow Keycloak
- generating its own realm ID (https://github.com/ansible-collections/community.general/pull/9768).
- - nmap inventory plugin - adds ``dns_servers`` option for specifying DNS servers
- for name resolution. Accepts hostnames or IP addresses in the same format
- as the ``exclude`` option (https://github.com/ansible-collections/community.general/pull/9849).
- - proxmox_kvm - add missing audio hardware device handling (https://github.com/ansible-collections/community.general/issues/5192,
- https://github.com/ansible-collections/community.general/pull/9847).
- - redfish_config - add command ``SetPowerRestorePolicy`` to set the desired
- power state of the system when power is restored (https://github.com/ansible-collections/community.general/pull/9837).
- - redfish_info - add command ``GetPowerRestorePolicy`` to get the desired
- power state of the system when power is restored (https://github.com/ansible-collections/community.general/pull/9824).
- - rocketchat - option ``is_pre740`` has been added to control the format of
- the payload. For Rocket.Chat 7.4.0 or newer, it must be set to ``false``
- (https://github.com/ansible-collections/community.general/pull/9882).
- - slack callback plugin - add ``http_agent`` option to enable the user to
- set a custom user agent for slack callback plugin (https://github.com/ansible-collections/community.general/issues/9813,
- https://github.com/ansible-collections/community.general/pull/9836).
- - systemd_info - add wildcard expression support in ``unitname`` option (https://github.com/ansible-collections/community.general/pull/9821).
- - systemd_info - extend support to timer units (https://github.com/ansible-collections/community.general/pull/9891).
- - vmadm - add new options ``flexible_disk_size`` and ``owner_uuid`` (https://github.com/ansible-collections/community.general/pull/9892).
- release_summary: Regular bugfix and feature release.
- fragments:
- - 10.5.0.yml
- - 9457-apache2-mod-proxy-revamp.yml
- - 9768-keycloak_realm-remove-id-requirement.yaml
- - 9777-homebrew-fix-crash-when-packages-include-tap.yml
- - 9809-proxmox-fix-status-getter.yml
- - 9818-cloudflare-dns-exhausted-response.yml
- - 9821-systemd_info-add-wildcards.yml
- - 9824-redfish-implement-obtaining-powerrestorepolicy.yml
- - 9836-option-for-http-agent-for-user-to-callback-slack.yml
- - 9837-redfish-implement-setting-powerrestorepolicy.yml
- - 9845-consul_token_idempotency.yml
- - 9847-Adding_audio_device-support_to_proxmox_kvm.yml
- - 9849-nmap_dns_servers.yml
- - 9875-proxmox-dont-expect-key-template-to-exist.yml
- - 9880-nmcli-fix-reorder-same-dns-nameservers-search-suffixes.yml
- - 9882-fix-payload-to-match-rocketchat-740-requirement.yml
- - 9891-systemd_info-add_timer.yml
- - 9892-vmadm-add-new-options.yml
- - 9893-cmdrunner-as-fixed-args.yml
- - dnf_versionlock.yml
- - homebrew_cask.yml
- - sudoers.yml
- modules:
- - description: Manage pacemaker resources.
- name: pacemaker_resource
- namespace: ''
- release_date: '2025-03-24'
+ancestor: 10.0.0
+releases: {}
diff --git a/changelogs/fragments/5932-launchd-plist.yml b/changelogs/fragments/5932-launchd-plist.yml
new file mode 100644
index 0000000000..bf2530841a
--- /dev/null
+++ b/changelogs/fragments/5932-launchd-plist.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - launchd - add ``plist`` option for services such as sshd, where the plist filename doesn't match the service name (https://github.com/ansible-collections/community.general/pull/9102).
diff --git a/changelogs/fragments/6264-zfs-multiline-property-value.yml b/changelogs/fragments/6264-zfs-multiline-property-value.yml
new file mode 100644
index 0000000000..30e06f7919
--- /dev/null
+++ b/changelogs/fragments/6264-zfs-multiline-property-value.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - zfs - fix handling of multi-line values of user-defined ZFS properties (https://github.com/ansible-collections/community.general/pull/6264).
diff --git a/changelogs/fragments/7402-proxmox-template-support-server-side-artifact-fetching.yaml b/changelogs/fragments/7402-proxmox-template-support-server-side-artifact-fetching.yaml
new file mode 100644
index 0000000000..4a5fefdc96
--- /dev/null
+++ b/changelogs/fragments/7402-proxmox-template-support-server-side-artifact-fetching.yaml
@@ -0,0 +1,2 @@
+minor_changes:
+ - proxmox_template - add server side artifact fetching support (https://github.com/ansible-collections/community.general/pull/9113).
\ No newline at end of file
diff --git a/changelogs/fragments/9076-remove-duplicated-homebrew-package-name-validation.yml b/changelogs/fragments/9076-remove-duplicated-homebrew-package-name-validation.yml
new file mode 100644
index 0000000000..b067625c0c
--- /dev/null
+++ b/changelogs/fragments/9076-remove-duplicated-homebrew-package-name-validation.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - homebrew - remove duplicated package name validation (https://github.com/ansible-collections/community.general/pull/9076).
diff --git a/changelogs/fragments/9077-keycloak_client-fix-attributes-dict-turned-into-list.yml b/changelogs/fragments/9077-keycloak_client-fix-attributes-dict-turned-into-list.yml
new file mode 100644
index 0000000000..d693c2e139
--- /dev/null
+++ b/changelogs/fragments/9077-keycloak_client-fix-attributes-dict-turned-into-list.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - keycloak_client - fix diff by removing code that turns the attributes dict which contains additional settings into a list (https://github.com/ansible-collections/community.general/pull/9077).
\ No newline at end of file
diff --git a/changelogs/fragments/9082-keycloak_clientscope-fix-attributes-dict-turned-into-list.yml b/changelogs/fragments/9082-keycloak_clientscope-fix-attributes-dict-turned-into-list.yml
new file mode 100644
index 0000000000..c9d61780b2
--- /dev/null
+++ b/changelogs/fragments/9082-keycloak_clientscope-fix-attributes-dict-turned-into-list.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - keycloak_clientscope - fix diff and ``end_state`` by removing the code that turns the attributes dict, which contains additional config items, into a list (https://github.com/ansible-collections/community.general/pull/9082).
\ No newline at end of file
diff --git a/changelogs/fragments/9096-alternatives-add-family-parameter.yml b/changelogs/fragments/9096-alternatives-add-family-parameter.yml
new file mode 100644
index 0000000000..a0b021f892
--- /dev/null
+++ b/changelogs/fragments/9096-alternatives-add-family-parameter.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - alternatives - add ``family`` parameter that allows to utilize the ``--family`` option available in RedHat version of update-alternatives (https://github.com/ansible-collections/community.general/issues/5060, https://github.com/ansible-collections/community.general/pull/9096).
diff --git a/changelogs/fragments/9106-passwordstore-fix-subkey-creation-even-when-create-==-false.yml b/changelogs/fragments/9106-passwordstore-fix-subkey-creation-even-when-create-==-false.yml
new file mode 100644
index 0000000000..b804d2eed9
--- /dev/null
+++ b/changelogs/fragments/9106-passwordstore-fix-subkey-creation-even-when-create-==-false.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - passwordstore lookup plugin - fix subkey creation even when ``create=false`` (https://github.com/ansible-collections/community.general/issues/9105, https://github.com/ansible-collections/community.general/pull/9106).
diff --git a/changelogs/fragments/9114-redfish-utils-update-remove-default-applytime.yml b/changelogs/fragments/9114-redfish-utils-update-remove-default-applytime.yml
new file mode 100644
index 0000000000..672545a0a8
--- /dev/null
+++ b/changelogs/fragments/9114-redfish-utils-update-remove-default-applytime.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - redfish_utils module utils - remove undocumented default applytime (https://github.com/ansible-collections/community.general/pull/9114).
diff --git a/changelogs/fragments/9123-redfish-command-custom-oem-params.yml b/changelogs/fragments/9123-redfish-command-custom-oem-params.yml
new file mode 100644
index 0000000000..a09219515a
--- /dev/null
+++ b/changelogs/fragments/9123-redfish-command-custom-oem-params.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - redfish_command - add ``update_custom_oem_header``, ``update_custom_oem_params``, and ``update_custom_oem_mime_type`` options (https://github.com/ansible-collections/community.general/pull/9123).
diff --git a/changelogs/fragments/9124-dnf_config_manager.yml b/changelogs/fragments/9124-dnf_config_manager.yml
new file mode 100644
index 0000000000..9c87f02d64
--- /dev/null
+++ b/changelogs/fragments/9124-dnf_config_manager.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - dnf_config_manager - fix hanging when prompting to import GPG keys (https://github.com/ansible-collections/community.general/pull/9124, https://github.com/ansible-collections/community.general/issues/8830).
diff --git a/changelogs/fragments/9128-homebrew_cask-name-regex-fix.yml b/changelogs/fragments/9128-homebrew_cask-name-regex-fix.yml
new file mode 100644
index 0000000000..69765958fb
--- /dev/null
+++ b/changelogs/fragments/9128-homebrew_cask-name-regex-fix.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - homebrew_cask - allow ``+`` symbol in Homebrew cask name validation regex (https://github.com/ansible-collections/community.general/pull/9128).
diff --git a/changelogs/fragments/9132-cloudflare_dns-comment-and-tags.yml b/changelogs/fragments/9132-cloudflare_dns-comment-and-tags.yml
new file mode 100644
index 0000000000..b601e39f55
--- /dev/null
+++ b/changelogs/fragments/9132-cloudflare_dns-comment-and-tags.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - cloudflare_dns - add support for ``comment`` and ``tags`` (https://github.com/ansible-collections/community.general/pull/9132).
diff --git a/changelogs/fragments/9157-fix-dnf_config_manager-locale.yml b/changelogs/fragments/9157-fix-dnf_config_manager-locale.yml
new file mode 100644
index 0000000000..f2084dfa5f
--- /dev/null
+++ b/changelogs/fragments/9157-fix-dnf_config_manager-locale.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - dnf_config_manager - forces locale to ``C`` before module starts. If the locale was set to non-English, the output of the ``dnf config-manager`` could not be parsed (https://github.com/ansible-collections/community.general/pull/9157, https://github.com/ansible-collections/community.general/issues/9046).
\ No newline at end of file
diff --git a/changelogs/fragments/9159-iso-extract_add_password.yml b/changelogs/fragments/9159-iso-extract_add_password.yml
new file mode 100644
index 0000000000..f1b2650d4f
--- /dev/null
+++ b/changelogs/fragments/9159-iso-extract_add_password.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - iso_extract - adds ``password`` parameter that is passed to 7z (https://github.com/ansible-collections/community.general/pull/9159).
diff --git a/changelogs/fragments/9167-rpm_ostree_pkg-apply_live.yml b/changelogs/fragments/9167-rpm_ostree_pkg-apply_live.yml
new file mode 100644
index 0000000000..e473dedd0b
--- /dev/null
+++ b/changelogs/fragments/9167-rpm_ostree_pkg-apply_live.yml
@@ -0,0 +1,3 @@
+minor_changes:
+- rpm_ostree_pkg - added the options ``apply_live`` (https://github.com/ansible-collections/community.general/pull/9167).
+- rpm_ostree_pkg - added the return value ``needs_reboot`` (https://github.com/ansible-collections/community.general/pull/9167).
diff --git a/changelogs/fragments/9168-nmcli-add-sriov-parameter.yml b/changelogs/fragments/9168-nmcli-add-sriov-parameter.yml
new file mode 100644
index 0000000000..77f28e73bf
--- /dev/null
+++ b/changelogs/fragments/9168-nmcli-add-sriov-parameter.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - nmcli - add ``sriov`` parameter that enables support for SR-IOV settings (https://github.com/ansible-collections/community.general/pull/9168).
diff --git a/changelogs/fragments/9171-gio-mime-fix-version.yml b/changelogs/fragments/9171-gio-mime-fix-version.yml
new file mode 100644
index 0000000000..ca9dbddd7f
--- /dev/null
+++ b/changelogs/fragments/9171-gio-mime-fix-version.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - gio_mime - fix command line when determining version of ``gio`` (https://github.com/ansible-collections/community.general/pull/9171, https://github.com/ansible-collections/community.general/issues/9158).
diff --git a/changelogs/fragments/9172-opkg-deprecate-force-none.yml b/changelogs/fragments/9172-opkg-deprecate-force-none.yml
new file mode 100644
index 0000000000..1b11419c5a
--- /dev/null
+++ b/changelogs/fragments/9172-opkg-deprecate-force-none.yml
@@ -0,0 +1,2 @@
+deprecated_features:
+ - opkg - deprecate value ``""`` for parameter ``force`` (https://github.com/ansible-collections/community.general/pull/9172).
diff --git a/changelogs/fragments/9174-xbps-support-rootdir-and-repository.yml b/changelogs/fragments/9174-xbps-support-rootdir-and-repository.yml
new file mode 100644
index 0000000000..9197607684
--- /dev/null
+++ b/changelogs/fragments/9174-xbps-support-rootdir-and-repository.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - xbps - add ``root`` and ``repository`` options to enable bootstrapping new void installations (https://github.com/ansible-collections/community.general/pull/9174).
diff --git a/changelogs/fragments/9179-deps-tests.yml b/changelogs/fragments/9179-deps-tests.yml
new file mode 100644
index 0000000000..1ddf109033
--- /dev/null
+++ b/changelogs/fragments/9179-deps-tests.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - deps module utils - add ``deps.clear()`` to clear out previously declared dependencies (https://github.com/ansible-collections/community.general/pull/9179).
diff --git a/changelogs/fragments/9180-pipx-version.yml b/changelogs/fragments/9180-pipx-version.yml
new file mode 100644
index 0000000000..f07d66c83c
--- /dev/null
+++ b/changelogs/fragments/9180-pipx-version.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - pipx - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9180).
+ - pipx_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9180).
diff --git a/changelogs/fragments/9181-improve-homebrew-module-performance.yml b/changelogs/fragments/9181-improve-homebrew-module-performance.yml
new file mode 100644
index 0000000000..b3b6ba2ca4
--- /dev/null
+++ b/changelogs/fragments/9181-improve-homebrew-module-performance.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - homebrew - greatly speed up module when multiple packages are passed in the ``name`` option (https://github.com/ansible-collections/community.general/pull/9181).
\ No newline at end of file
diff --git a/changelogs/fragments/9186-fix-broken-check-mode-in-github-key.yml b/changelogs/fragments/9186-fix-broken-check-mode-in-github-key.yml
new file mode 100644
index 0000000000..dbf1f145d5
--- /dev/null
+++ b/changelogs/fragments/9186-fix-broken-check-mode-in-github-key.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - github_key - in check mode, a faulty call to ```datetime.strftime(...)``` was being made which generated an exception (https://github.com/ansible-collections/community.general/issues/9185).
\ No newline at end of file
diff --git a/changelogs/fragments/9187-flatpak-lang.yml b/changelogs/fragments/9187-flatpak-lang.yml
new file mode 100644
index 0000000000..159923cbdc
--- /dev/null
+++ b/changelogs/fragments/9187-flatpak-lang.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - flatpak - force the locale language to ``C`` when running the flatpak command (https://github.com/ansible-collections/community.general/pull/9187, https://github.com/ansible-collections/community.general/issues/8883).
diff --git a/changelogs/fragments/9189-scalway-lb-simplify-return.yml b/changelogs/fragments/9189-scalway-lb-simplify-return.yml
new file mode 100644
index 0000000000..39d161f06b
--- /dev/null
+++ b/changelogs/fragments/9189-scalway-lb-simplify-return.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - scaleway_lb - minor simplification in the code (https://github.com/ansible-collections/community.general/pull/9189).
diff --git a/changelogs/fragments/9190-redfish-utils-unused-code.yml b/changelogs/fragments/9190-redfish-utils-unused-code.yml
new file mode 100644
index 0000000000..47f7588b96
--- /dev/null
+++ b/changelogs/fragments/9190-redfish-utils-unused-code.yml
@@ -0,0 +1,4 @@
+minor_changes:
+ - redfish_utils module utils - remove redundant code (https://github.com/ansible-collections/community.general/pull/9190).
+deprecated_features:
+ - redfish_utils module utils - deprecate method ``RedfishUtils._init_session()`` (https://github.com/ansible-collections/community.general/pull/9190).
diff --git a/changelogs/fragments/9198-fail-if-slack-api-response-is-not-ok-with-error-message.yml b/changelogs/fragments/9198-fail-if-slack-api-response-is-not-ok-with-error-message.yml
new file mode 100644
index 0000000000..56ab25f578
--- /dev/null
+++ b/changelogs/fragments/9198-fail-if-slack-api-response-is-not-ok-with-error-message.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - slack - fail if Slack API response is not OK with error message (https://github.com/ansible-collections/community.general/pull/9198).
diff --git a/changelogs/fragments/9202-keycloak_clientscope_type-sort-lists.yml b/changelogs/fragments/9202-keycloak_clientscope_type-sort-lists.yml
new file mode 100644
index 0000000000..ef9fc7a6f7
--- /dev/null
+++ b/changelogs/fragments/9202-keycloak_clientscope_type-sort-lists.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - keycloak_clientscope_type - sort the default and optional clientscope lists to improve the diff (https://github.com/ansible-collections/community.general/pull/9202).
\ No newline at end of file
diff --git a/changelogs/fragments/9223-proxmox-backup-bugfixes.yml b/changelogs/fragments/9223-proxmox-backup-bugfixes.yml
new file mode 100644
index 0000000000..559e1f45bc
--- /dev/null
+++ b/changelogs/fragments/9223-proxmox-backup-bugfixes.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - proxmox_backup - fix incorrect key lookup in vmid permission check (https://github.com/ansible-collections/community.general/pull/9223).
diff --git a/changelogs/fragments/9225-proxmox-module-refactoring.yml b/changelogs/fragments/9225-proxmox-module-refactoring.yml
new file mode 100644
index 0000000000..4e49037ab2
--- /dev/null
+++ b/changelogs/fragments/9225-proxmox-module-refactoring.yml
@@ -0,0 +1,11 @@
+minor_changes:
+ - proxmox - refactors the proxmox module (https://github.com/ansible-collections/community.general/pull/9225).
+
+bugfixes:
+ - proxmox - fixes idempotency of template conversions (https://github.com/ansible-collections/community.general/pull/9225, https://github.com/ansible-collections/community.general/issues/8811).
+ - proxmox - fixes issues with disk_volume variable (https://github.com/ansible-collections/community.general/pull/9225, https://github.com/ansible-collections/community.general/issues/9065).
+ - proxmox - fixes incorrect parsing for bind-only mounts (https://github.com/ansible-collections/community.general/pull/9225, https://github.com/ansible-collections/community.general/issues/8982).
+ - proxmox module utils - fixes ignoring of ``choose_first_if_multiple`` argument in ``get_vmid`` (https://github.com/ansible-collections/community.general/pull/9225).
+
+deprecated_features:
+ - proxmox - removes default value ``false`` of ``update`` parameter. This will be changed to a default of ``true`` in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9225).
diff --git a/changelogs/fragments/9226-xfconf-version.yml b/changelogs/fragments/9226-xfconf-version.yml
new file mode 100644
index 0000000000..517beb9b96
--- /dev/null
+++ b/changelogs/fragments/9226-xfconf-version.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - xfconf - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9226).
+ - xfconf_info - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9226).
diff --git a/changelogs/fragments/9228-fix-issue-header.yml b/changelogs/fragments/9228-fix-issue-header.yml
new file mode 100644
index 0000000000..450a23f8e5
--- /dev/null
+++ b/changelogs/fragments/9228-fix-issue-header.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - proxmox inventory plugin - strip whitespace from ``user``, ``token_id``, and ``token_secret`` (https://github.com/ansible-collections/community.general/issues/9227, https://github.com/ansible-collections/community.general/pull/9228/).
diff --git a/changelogs/fragments/9234-fix-verify-bios-attributes-multi-system.yml b/changelogs/fragments/9234-fix-verify-bios-attributes-multi-system.yml
new file mode 100644
index 0000000000..95bafed8d8
--- /dev/null
+++ b/changelogs/fragments/9234-fix-verify-bios-attributes-multi-system.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - redfish_utils module utils - Fix ``VerifyBiosAttributes`` command on multi system resource nodes (https://github.com/ansible-collections/community.general/pull/9234).
diff --git a/changelogs/fragments/9238-locale-gen-rewrite.yml b/changelogs/fragments/9238-locale-gen-rewrite.yml
new file mode 100644
index 0000000000..c2c9160bfb
--- /dev/null
+++ b/changelogs/fragments/9238-locale-gen-rewrite.yml
@@ -0,0 +1,13 @@
+minor_changes:
+ - "locale_gen - invert the logic to determine ``ubuntu_mode``, making it look first for ``/etc/locale.gen`` (set ``ubuntu_mode`` to ``False``)
+ and only then looking for ``/var/lib/locales/supported.d/`` (set ``ubuntu_mode`` to ``True``)
+ (https://github.com/ansible-collections/community.general/pull/9238,
+ https://github.com/ansible-collections/community.general/issues/9131,
+ https://github.com/ansible-collections/community.general/issues/8487)."
+ - >
+ locale_gen - new return value ``mechanism`` to better express the semantics of the ``ubuntu_mode``, with the possible values being either
+ ``glibc`` (``ubuntu_mode=False``) or ``ubuntu_legacy`` (``ubuntu_mode=True``) (https://github.com/ansible-collections/community.general/pull/9238).
+deprecated_features:
+ - >
+ locale_gen - ``ubuntu_mode=True``, or ``mechanism=ubuntu_legacy`` is deprecated and will be removed in community.general 13.0.0
+ (https://github.com/ansible-collections/community.general/pull/9238).
diff --git a/changelogs/fragments/9239-proxmox-backup-refactor.yml b/changelogs/fragments/9239-proxmox-backup-refactor.yml
new file mode 100644
index 0000000000..4f73fe6dde
--- /dev/null
+++ b/changelogs/fragments/9239-proxmox-backup-refactor.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - proxmox_backup - refactor permission checking to improve code readability and maintainability (https://github.com/ansible-collections/community.general/pull/9239).
diff --git a/changelogs/fragments/9255-fix-handling-of-aliased-homebrew-packages.yml b/changelogs/fragments/9255-fix-handling-of-aliased-homebrew-packages.yml
new file mode 100644
index 0000000000..350e81af8e
--- /dev/null
+++ b/changelogs/fragments/9255-fix-handling-of-aliased-homebrew-packages.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - homebrew - fix incorrect handling of aliased homebrew modules when the alias is requested (https://github.com/ansible-collections/community.general/pull/9255, https://github.com/ansible-collections/community.general/issues/9240).
\ No newline at end of file
diff --git a/changelogs/fragments/9256-proxmox_disk-fix-async-method-of-resize_disk.yml b/changelogs/fragments/9256-proxmox_disk-fix-async-method-of-resize_disk.yml
new file mode 100644
index 0000000000..0b0a826a0d
--- /dev/null
+++ b/changelogs/fragments/9256-proxmox_disk-fix-async-method-of-resize_disk.yml
@@ -0,0 +1,4 @@
+bugfixes:
+ - proxmox_disk - fix async method and make ``resize_disk`` method handle errors correctly (https://github.com/ansible-collections/community.general/pull/9256).
+minor_changes:
+ - proxmox module utils - add method ``api_task_complete`` that can wait for task completion and return error message (https://github.com/ansible-collections/community.general/pull/9256).
diff --git a/changelogs/fragments/9263-kc_authentication-api-priority.yaml b/changelogs/fragments/9263-kc_authentication-api-priority.yaml
new file mode 100644
index 0000000000..a943e659ad
--- /dev/null
+++ b/changelogs/fragments/9263-kc_authentication-api-priority.yaml
@@ -0,0 +1,2 @@
+security_fixes:
+ - keycloak_authentication - API calls did not properly set the ``priority`` during update resulting in incorrectly sorted authentication flows. This apparently only affects Keycloak 25 or newer (https://github.com/ansible-collections/community.general/pull/9263).
\ No newline at end of file
diff --git a/changelogs/fragments/9270-zypper-add-simple_errors.yaml b/changelogs/fragments/9270-zypper-add-simple_errors.yaml
new file mode 100644
index 0000000000..9fcdf3403c
--- /dev/null
+++ b/changelogs/fragments/9270-zypper-add-simple_errors.yaml
@@ -0,0 +1,3 @@
+minor_changes:
+ - zypper - add ``simple_errors`` option (https://github.com/ansible-collections/community.general/pull/9270).
+ - zypper - add ``quiet`` option (https://github.com/ansible-collections/community.general/pull/9270).
\ No newline at end of file
diff --git a/changelogs/fragments/9277-proxmox_template-fix-the-wrong-path-called-on-proxmox_template.task_status.yaml b/changelogs/fragments/9277-proxmox_template-fix-the-wrong-path-called-on-proxmox_template.task_status.yaml
new file mode 100644
index 0000000000..166c040e3b
--- /dev/null
+++ b/changelogs/fragments/9277-proxmox_template-fix-the-wrong-path-called-on-proxmox_template.task_status.yaml
@@ -0,0 +1,2 @@
+bugfixes:
+ - proxmox_template - fix the wrong path called on ``proxmox_template.task_status`` (https://github.com/ansible-collections/community.general/issues/9276, https://github.com/ansible-collections/community.general/pull/9277).
diff --git a/changelogs/fragments/9284-add-keycloak-action-group.yml b/changelogs/fragments/9284-add-keycloak-action-group.yml
new file mode 100644
index 0000000000..b25c370346
--- /dev/null
+++ b/changelogs/fragments/9284-add-keycloak-action-group.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - keycloak - add an action group for Keycloak modules to allow ``module_defaults`` to be set for Keycloak tasks (https://github.com/ansible-collections/community.general/pull/9284).
diff --git a/changelogs/fragments/9318-fstr-actionplugins.yml b/changelogs/fragments/9318-fstr-actionplugins.yml
new file mode 100644
index 0000000000..7df54f3c19
--- /dev/null
+++ b/changelogs/fragments/9318-fstr-actionplugins.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - iptables_state action plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9318).
+ - shutdown action plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9318).
diff --git a/changelogs/fragments/9319-fstr-become-plugins.yml b/changelogs/fragments/9319-fstr-become-plugins.yml
new file mode 100644
index 0000000000..dcdc4b3f52
--- /dev/null
+++ b/changelogs/fragments/9319-fstr-become-plugins.yml
@@ -0,0 +1,10 @@
+minor_changes:
+ - doas become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - dzdo become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - ksu become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - machinectl become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - pbrun become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - pfexec become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - pmrun become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - sesu become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
+ - sudosu become plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9319).
diff --git a/changelogs/fragments/9320-fstr-cache-plugins.yml b/changelogs/fragments/9320-fstr-cache-plugins.yml
new file mode 100644
index 0000000000..cc1aa6ea2e
--- /dev/null
+++ b/changelogs/fragments/9320-fstr-cache-plugins.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - memcached cache plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9320).
+ - redis cache plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9320).
diff --git a/changelogs/fragments/9321-fstr-callback-plugins.yml b/changelogs/fragments/9321-fstr-callback-plugins.yml
new file mode 100644
index 0000000000..d79d3cbfa0
--- /dev/null
+++ b/changelogs/fragments/9321-fstr-callback-plugins.yml
@@ -0,0 +1,22 @@
+minor_changes:
+ - cgroup_memory_recap callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - context_demo callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - counter_enabled callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - dense callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - diy callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - elastic callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - jabber callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - log_plays callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - loganalytics callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - logdna callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - logentries callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - mail callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - nrdp callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - opentelemetry callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - say callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - selective callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - slack callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - splunk callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - timestamp callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - unixy callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
+ - yaml callback plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9321).
diff --git a/changelogs/fragments/9322-fstr-connection-plugins.yml b/changelogs/fragments/9322-fstr-connection-plugins.yml
new file mode 100644
index 0000000000..4b3e264cfb
--- /dev/null
+++ b/changelogs/fragments/9322-fstr-connection-plugins.yml
@@ -0,0 +1,11 @@
+minor_changes:
+ - chroot connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - funcd connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - incus connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - iocage connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - jail connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - lxc connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - lxd connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - qubes connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - saltstack connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
+ - zone connection plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9322).
diff --git a/changelogs/fragments/9323-fstr-inventory-plugins.yml b/changelogs/fragments/9323-fstr-inventory-plugins.yml
new file mode 100644
index 0000000000..03ded1f0ec
--- /dev/null
+++ b/changelogs/fragments/9323-fstr-inventory-plugins.yml
@@ -0,0 +1,14 @@
+minor_changes:
+ - cobbler inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - gitlab_runners inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - icinga2 inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - linode inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - lxd inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - nmap inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - online inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - opennebula inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - proxmox inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - scaleway inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - stackpath_compute inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - virtualbox inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
+ - xen_orchestra inventory plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9323).
diff --git a/changelogs/fragments/9324-fstr-lookup-plugins.yml b/changelogs/fragments/9324-fstr-lookup-plugins.yml
new file mode 100644
index 0000000000..a448ae0d48
--- /dev/null
+++ b/changelogs/fragments/9324-fstr-lookup-plugins.yml
@@ -0,0 +1,29 @@
+minor_changes:
+ - bitwarden lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - chef_databag lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - collection_version lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - consul_kv lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - credstash lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - cyberarkpassword lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - dependent lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - dig lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - dnstxt lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - dsv lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - etcd lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - etcd3 lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - filetree lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - github_app_access_token lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - hiera lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - keyring lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - lastpass lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - lmdb_kv lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - manifold lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - merge_variables lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - onepassword lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - onepassword_doc lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - passwordstore lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - random_pet lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - redis lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - revbitspss lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - shelvefile lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
+ - tss lookup plugin - use f-strings instead of interpolations or ``format`` (https://github.com/ansible-collections/community.general/pull/9324).
diff --git a/changelogs/fragments/9334-qubes-conn.yml b/changelogs/fragments/9334-qubes-conn.yml
new file mode 100644
index 0000000000..3faa8d7981
--- /dev/null
+++ b/changelogs/fragments/9334-qubes-conn.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - qubes connection plugin - fix the printing of debug information (https://github.com/ansible-collections/community.general/pull/9334).
diff --git a/changelogs/fragments/9363-dig-nonameservers.yml b/changelogs/fragments/9363-dig-nonameservers.yml
new file mode 100644
index 0000000000..daa48febec
--- /dev/null
+++ b/changelogs/fragments/9363-dig-nonameservers.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "dig lookup plugin - correctly handle ``NoNameserver`` exception (https://github.com/ansible-collections/community.general/pull/9363, https://github.com/ansible-collections/community.general/issues/9362)."
diff --git a/changelogs/fragments/9379-refactor.yml b/changelogs/fragments/9379-refactor.yml
new file mode 100644
index 0000000000..0a87b2d0c1
--- /dev/null
+++ b/changelogs/fragments/9379-refactor.yml
@@ -0,0 +1,26 @@
+minor_changes:
+ - "shutdown action plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "redis cache plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "logentries callback plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "slack callback plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "chroot connection plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "from_csv filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "from_ini filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "to_ini filter plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "cobbler inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "gitlab_runners inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "iocage inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "lxd inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "nmap inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "opennebula inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "proxmox inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "scaleway inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "virtualbox inventory plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "cyberarkpassword lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "dig lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "dnstxt lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "etcd3 lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "lmdb_kv lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "manifold lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "onepassword lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
+ - "tss lookup plugin - clean up string conversions (https://github.com/ansible-collections/community.general/pull/9379)."
diff --git a/changelogs/fragments/9387-pacemaker-cluster-cmd.yml b/changelogs/fragments/9387-pacemaker-cluster-cmd.yml
new file mode 100644
index 0000000000..d9cc4c35a4
--- /dev/null
+++ b/changelogs/fragments/9387-pacemaker-cluster-cmd.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - pacemaker_cluster - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/pull/9471).
+ - pacemaker_cluster - remove unused code (https://github.com/ansible-collections/community.general/pull/9471).
diff --git a/changelogs/fragments/9403-redfish-add-get-accountservice.yml b/changelogs/fragments/9403-redfish-add-get-accountservice.yml
new file mode 100644
index 0000000000..a57ecfec61
--- /dev/null
+++ b/changelogs/fragments/9403-redfish-add-get-accountservice.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - redfish_info - add command ``GetAccountServiceConfig`` to get full information about AccountService configuration (https://github.com/ansible-collections/community.general/pull/9403).
diff --git a/changelogs/fragments/9425-gitlab-instance-raw-variable.yml b/changelogs/fragments/9425-gitlab-instance-raw-variable.yml
new file mode 100644
index 0000000000..c9d6ec7d4b
--- /dev/null
+++ b/changelogs/fragments/9425-gitlab-instance-raw-variable.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - gitlab_instance_variable - add support for ``raw`` variables suboption (https://github.com/ansible-collections/community.general/pull/9425).
diff --git a/changelogs/fragments/9432-deprecate-pure.yml b/changelogs/fragments/9432-deprecate-pure.yml
new file mode 100644
index 0000000000..21cc8f8633
--- /dev/null
+++ b/changelogs/fragments/9432-deprecate-pure.yml
@@ -0,0 +1,3 @@
+deprecated_features:
+ - purestorage doc fragments - the doc fragment is deprecated and will be removed from community.general 12.0.0. The modules using this were removed in community.general 3.0.0 (https://github.com/ansible-collections/community.general/pull/9432).
+ - pure module utils - the module utils is deprecated and will be removed from community.general 12.0.0. The modules using this were removed in community.general 3.0.0 (https://github.com/ansible-collections/community.general/pull/9432).
diff --git a/changelogs/fragments/9443-slack-prepend_hash.yml b/changelogs/fragments/9443-slack-prepend_hash.yml
new file mode 100644
index 0000000000..98151ba51e
--- /dev/null
+++ b/changelogs/fragments/9443-slack-prepend_hash.yml
@@ -0,0 +1,3 @@
+deprecated_features:
+ - "slack - the default value ``auto`` of the ``prepend_hash`` option is deprecated and will change to ``never`` in community.general 12.0.0
+ (https://github.com/ansible-collections/community.general/pull/9443)."
diff --git a/changelogs/fragments/9449-manageiq-alert-profiles-reqs.yml b/changelogs/fragments/9449-manageiq-alert-profiles-reqs.yml
new file mode 100644
index 0000000000..710cf672cc
--- /dev/null
+++ b/changelogs/fragments/9449-manageiq-alert-profiles-reqs.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - manageiq_alert_profiles - improve handling of parameter requirements (https://github.com/ansible-collections/community.general/pull/9449).
diff --git a/changelogs/fragments/9451-facter-deprecation.yml b/changelogs/fragments/9451-facter-deprecation.yml
new file mode 100644
index 0000000000..63924e9358
--- /dev/null
+++ b/changelogs/fragments/9451-facter-deprecation.yml
@@ -0,0 +1,2 @@
+deprecated_features:
+ - facter - module is deprecated and will be removed in community.general 12.0.0, use ``community.general.facter_facts`` instead (https://github.com/ansible-collections/community.general/pull/9451).
diff --git a/changelogs/fragments/9456-yaml-callback-deprecation.yml b/changelogs/fragments/9456-yaml-callback-deprecation.yml
new file mode 100644
index 0000000000..47c0708c20
--- /dev/null
+++ b/changelogs/fragments/9456-yaml-callback-deprecation.yml
@@ -0,0 +1,2 @@
+deprecated_features:
+ - yaml callback plugin - deprecate plugin in favor of ``result_format=yaml`` in plugin ``ansible.bulitin.default`` (https://github.com/ansible-collections/community.general/pull/9456).
diff --git a/changelogs/fragments/9457-apache2-mod-proxy-revamp.yml b/changelogs/fragments/9457-apache2-mod-proxy-revamp.yml
new file mode 100644
index 0000000000..e85b4b61da
--- /dev/null
+++ b/changelogs/fragments/9457-apache2-mod-proxy-revamp.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - apache2_mod_proxy - code simplification, no change in functionality (https://github.com/ansible-collections/community.general/pull/9457).
diff --git a/changelogs/fragments/9482-opentelemetry-python-37.yml b/changelogs/fragments/9482-opentelemetry-python-37.yml
new file mode 100644
index 0000000000..3cc291265f
--- /dev/null
+++ b/changelogs/fragments/9482-opentelemetry-python-37.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - opentelemetry callback plugin - remove code handling Python versions prior to 3.7 (https://github.com/ansible-collections/community.general/pull/9482).
diff --git a/changelogs/fragments/9483-sensu-deprecation.yml b/changelogs/fragments/9483-sensu-deprecation.yml
new file mode 100644
index 0000000000..daa219202d
--- /dev/null
+++ b/changelogs/fragments/9483-sensu-deprecation.yml
@@ -0,0 +1,6 @@
+deprecated_features:
+ - sensu_check - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
+ - sensu_client - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
+ - sensu_handler - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
+ - sensu_silence - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
+ - sensu_subscription - module is deprecated and will be removed in community.general 13.0.0, use collection ``sensu.sensu_go`` instead (https://github.com/ansible-collections/community.general/pull/9483).
diff --git a/changelogs/fragments/9487-atomic-deprecation.yml b/changelogs/fragments/9487-atomic-deprecation.yml
new file mode 100644
index 0000000000..80897cdccc
--- /dev/null
+++ b/changelogs/fragments/9487-atomic-deprecation.yml
@@ -0,0 +1,4 @@
+deprecated_features:
+ - atomic_container - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
+ - atomic_host - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
+ - atomic_image - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9487).
diff --git a/changelogs/fragments/9490-htpasswd-permissions.yml b/changelogs/fragments/9490-htpasswd-permissions.yml
new file mode 100644
index 0000000000..71d174814e
--- /dev/null
+++ b/changelogs/fragments/9490-htpasswd-permissions.yml
@@ -0,0 +1,3 @@
+bugfixes:
+ - "htpasswd - report changes when file permissions are adjusted
+ (https://github.com/ansible-collections/community.general/issues/9485, https://github.com/ansible-collections/community.general/pull/9490)."
diff --git a/changelogs/fragments/9494-keycloak-modules-retry-request-on-authentication-error.yaml b/changelogs/fragments/9494-keycloak-modules-retry-request-on-authentication-error.yaml
new file mode 100644
index 0000000000..7e5c71ade1
--- /dev/null
+++ b/changelogs/fragments/9494-keycloak-modules-retry-request-on-authentication-error.yaml
@@ -0,0 +1,2 @@
+minor_changes:
+ - keycloak_* modules - ``refresh_token`` parameter added. When multiple authentication parameters are provided (``token``, ``refresh_token``, and ``auth_username``/``auth_password``), modules will now automatically retry requests upon authentication errors (401), using in order the token, refresh token, and username/password (https://github.com/ansible-collections/community.general/pull/9494).
diff --git a/changelogs/fragments/9503-opentelemetry-remove-unused-code.yml b/changelogs/fragments/9503-opentelemetry-remove-unused-code.yml
new file mode 100644
index 0000000000..1381f02554
--- /dev/null
+++ b/changelogs/fragments/9503-opentelemetry-remove-unused-code.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - opentelemetry callback plugin - remove code handling Python versions prior to 3.7 (https://github.com/ansible-collections/community.general/pull/9503).
diff --git a/changelogs/fragments/9539-iocage-inventory-dhcp.yml b/changelogs/fragments/9539-iocage-inventory-dhcp.yml
new file mode 100644
index 0000000000..2432669d25
--- /dev/null
+++ b/changelogs/fragments/9539-iocage-inventory-dhcp.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - iocage inventory plugin - the plugin parses the IP4 tab of the jails list and put the elements into the new variable ``iocage_ip4_dict``. In multiple interface format the variable ``iocage_ip4`` keeps the comma-separated list of IP4 (https://github.com/ansible-collections/community.general/issues/9538).
diff --git a/changelogs/fragments/9546-fix-handling-of-tap-homebrew-packages.yml b/changelogs/fragments/9546-fix-handling-of-tap-homebrew-packages.yml
new file mode 100644
index 0000000000..a8e3f33393
--- /dev/null
+++ b/changelogs/fragments/9546-fix-handling-of-tap-homebrew-packages.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - homebrew - fix incorrect handling of homebrew modules when a tap is requested (https://github.com/ansible-collections/community.general/pull/9546, https://github.com/ansible-collections/community.general/issues/9533).
\ No newline at end of file
diff --git a/changelogs/fragments/9547-one_template-filter.yml b/changelogs/fragments/9547-one_template-filter.yml
new file mode 100644
index 0000000000..f67575d640
--- /dev/null
+++ b/changelogs/fragments/9547-one_template-filter.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - one_template - adds ``filter`` option for retrieving templates which are not owned by the user (https://github.com/ansible-collections/community.general/pull/9547, https://github.com/ansible-collections/community.general/issues/9278).
diff --git a/changelogs/fragments/9554-add-cpanm-option_with-recommends-and-suggests.yml b/changelogs/fragments/9554-add-cpanm-option_with-recommends-and-suggests.yml
new file mode 100644
index 0000000000..5cdaf24e9e
--- /dev/null
+++ b/changelogs/fragments/9554-add-cpanm-option_with-recommends-and-suggests.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - cpanm - enable usage of option ``--with-recommends`` (https://github.com/ansible-collections/community.general/issues/9554, https://github.com/ansible-collections/community.general/pull/9555).
+ - cpanm - enable usage of option ``--with-suggests`` (https://github.com/ansible-collections/community.general/pull/9555).
diff --git a/changelogs/fragments/9570-feat-nmcli-add-fail-over-mac-parameter.yml b/changelogs/fragments/9570-feat-nmcli-add-fail-over-mac-parameter.yml
new file mode 100644
index 0000000000..c46526e2f6
--- /dev/null
+++ b/changelogs/fragments/9570-feat-nmcli-add-fail-over-mac-parameter.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - nmcli - add a option ``fail_over_mac`` (https://github.com/ansible-collections/community.general/issues/9570, https://github.com/ansible-collections/community.general/pull/9571).
\ No newline at end of file
diff --git a/changelogs/fragments/9573-iocage-inventory-sudo.yml b/changelogs/fragments/9573-iocage-inventory-sudo.yml
new file mode 100644
index 0000000000..f636f34055
--- /dev/null
+++ b/changelogs/fragments/9573-iocage-inventory-sudo.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - iocage inventory plugin - the new parameter ``sudo`` of the plugin lets the command ``iocage list -l`` to run as root on the iocage host. This is needed to get the IPv4 of a running DHCP jail (https://github.com/ansible-collections/community.general/issues/9572, https://github.com/ansible-collections/community.general/pull/9573).
diff --git a/changelogs/fragments/9577-mh-delegate-debug.yml b/changelogs/fragments/9577-mh-delegate-debug.yml
new file mode 100644
index 0000000000..9d50f68806
--- /dev/null
+++ b/changelogs/fragments/9577-mh-delegate-debug.yml
@@ -0,0 +1,6 @@
+minor_changes:
+ - MH module utils - delegate ``debug`` to the underlying ``AnsibleModule`` instance or issues a warning if an attribute already exists with that name (https://github.com/ansible-collections/community.general/pull/9577).
+deprecated_features:
+ - >
+ MH module utils - attribute ``debug`` definition in subclasses of MH is now deprecated, as that name will become a delegation to ``AnsibleModule`` in
+ community.general 12.0.0, and any such attribute will be overridden by that delegation in that version (https://github.com/ansible-collections/community.general/pull/9577).
diff --git a/changelogs/fragments/9578-redhat_subscription-no-remove-on-unregister.yml b/changelogs/fragments/9578-redhat_subscription-no-remove-on-unregister.yml
new file mode 100644
index 0000000000..1403b2faa1
--- /dev/null
+++ b/changelogs/fragments/9578-redhat_subscription-no-remove-on-unregister.yml
@@ -0,0 +1,7 @@
+bugfixes:
+ - |
+ redhat_subscription - do not try to unsubscribe (i.e. remove subscriptions)
+ when unregistering a system: newer versions of subscription-manager, as
+ available in EL 10 and Fedora 41+, do not support entitlements anymore, and
+ thus unsubscribing will fail
+ (https://github.com/ansible-collections/community.general/pull/9578).
diff --git a/changelogs/fragments/9579-with-open.yml b/changelogs/fragments/9579-with-open.yml
new file mode 100644
index 0000000000..449ba8b1b1
--- /dev/null
+++ b/changelogs/fragments/9579-with-open.yml
@@ -0,0 +1,11 @@
+minor_changes:
+ - known_hosts - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - cloud_init_data_facts - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - cronvar - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - crypttab - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - parted - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - pulp_repo - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - redhat_subscription - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - solaris_zone - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - sorcery - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
+ - timezone - open file using ``open()`` as a context manager (https://github.com/ansible-collections/community.general/pull/9579).
diff --git a/changelogs/fragments/9582-add-support-for-vrrp.yml b/changelogs/fragments/9582-add-support-for-vrrp.yml
new file mode 100644
index 0000000000..473ccbf258
--- /dev/null
+++ b/changelogs/fragments/9582-add-support-for-vrrp.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - ufw - add support for ``vrrp`` protocol (https://github.com/ansible-collections/community.general/issues/9562, https://github.com/ansible-collections/community.general/pull/9582).
diff --git a/changelogs/fragments/9583-py3-imports-actionbecomecachecallback.yml b/changelogs/fragments/9583-py3-imports-actionbecomecachecallback.yml
new file mode 100644
index 0000000000..3838e52ae9
--- /dev/null
+++ b/changelogs/fragments/9583-py3-imports-actionbecomecachecallback.yml
@@ -0,0 +1,43 @@
+minor_changes:
+ - iptables_state action plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - shutdown action plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - doas become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - dzdo become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - ksu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - machinectl become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - pbrun become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - pfexec become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - pmrun become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - run0 become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - sesu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - sudosu become plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - memcached cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - pickle cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - redis cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - yaml cache plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - cgroup_memory_recap callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - context_demo callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - counter_enabled callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - default_without_diff callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - dense callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - diy callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - elastic callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - jabber callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - log_plays callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - loganalytics callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - logdna callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - logentries callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - logstash callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - mail callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - nrdp callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - null callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - opentelemetry callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - say callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - selective callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - slack callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - splunk callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - sumologic callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - syslog_json callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - timestamp callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - unixy callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
+ - yaml callback plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9583).
diff --git a/changelogs/fragments/9584-py3-imports-connectioninventory.yml b/changelogs/fragments/9584-py3-imports-connectioninventory.yml
new file mode 100644
index 0000000000..0b50cdf052
--- /dev/null
+++ b/changelogs/fragments/9584-py3-imports-connectioninventory.yml
@@ -0,0 +1,26 @@
+minor_changes:
+ - chroot connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - funcd connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - incus connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - iocage connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - jail connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - lxc connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - lxd connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - proxmox_pct_remote connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - qubes connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - saltstack connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - zone connection plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - cobbler inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - gitlab_runners inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - icinga2 inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - iocage inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - linode inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - lxd inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - nmap inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - online inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - opennebula inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - proxmox inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - scaleway inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - stackpath_compute inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - virtualbox inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
+ - xen_orchestra inventory plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9584).
diff --git a/changelogs/fragments/9585-py3-imports-filter.yml b/changelogs/fragments/9585-py3-imports-filter.yml
new file mode 100644
index 0000000000..88644996b2
--- /dev/null
+++ b/changelogs/fragments/9585-py3-imports-filter.yml
@@ -0,0 +1,22 @@
+minor_changes:
+ - counter filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - crc32 filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - dict filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - dict_kv filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - from_csv filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - from_ini filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - groupby_as_dict filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - hashids filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - jc filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - json_query filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - keep_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - lists filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - lists_mergeby filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - random_mac filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - remove_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - replace_keys filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - reveal_ansible_type filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - time filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - to_ini filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - unicode_normalize filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
+ - version_sort filter plugin - adjust standard preamble for Python 3 (https://github.com/ansible-collections/community.general/pull/9585).
diff --git a/changelogs/fragments/9586-allow-transition-id-jira.yml b/changelogs/fragments/9586-allow-transition-id-jira.yml
new file mode 100644
index 0000000000..3c10231376
--- /dev/null
+++ b/changelogs/fragments/9586-allow-transition-id-jira.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - jira - transition operation now has ``status_id`` to directly reference wanted transition (https://github.com/ansible-collections/community.general/pull/9602).
diff --git a/changelogs/fragments/9598-snap-version.yml b/changelogs/fragments/9598-snap-version.yml
new file mode 100644
index 0000000000..d6b5ebb67c
--- /dev/null
+++ b/changelogs/fragments/9598-snap-version.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - snap - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9598).
+ - snap_alias - add return value ``version`` (https://github.com/ansible-collections/community.general/pull/9598).
diff --git a/changelogs/fragments/9599-apache2-mod-proxy-revamp1.yml b/changelogs/fragments/9599-apache2-mod-proxy-revamp1.yml
new file mode 100644
index 0000000000..8f72117d52
--- /dev/null
+++ b/changelogs/fragments/9599-apache2-mod-proxy-revamp1.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - apache2_mod_proxy - refactor repeated code into method (https://github.com/ansible-collections/community.general/pull/9599).
diff --git a/changelogs/fragments/9600-apache2-mod-proxy-revamp2.yml b/changelogs/fragments/9600-apache2-mod-proxy-revamp2.yml
new file mode 100644
index 0000000000..c4e5eea2d3
--- /dev/null
+++ b/changelogs/fragments/9600-apache2-mod-proxy-revamp2.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - apache2_mod_proxy - change type of ``state`` to a list of strings. No change for the users (https://github.com/ansible-collections/community.general/pull/9600).
diff --git a/changelogs/fragments/9601-proxmox-template-support-for-checksums.yml b/changelogs/fragments/9601-proxmox-template-support-for-checksums.yml
new file mode 100644
index 0000000000..40ffbfbec0
--- /dev/null
+++ b/changelogs/fragments/9601-proxmox-template-support-for-checksums.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - proxmox_template - add support for checksum validation with new options ``checksum_algorithm`` and ``checksum`` (https://github.com/ansible-collections/community.general/issues/9553, https://github.com/ansible-collections/community.general/pull/9601).
\ No newline at end of file
diff --git a/changelogs/fragments/9608-apache2-mod-proxy-revamp3.yml b/changelogs/fragments/9608-apache2-mod-proxy-revamp3.yml
new file mode 100644
index 0000000000..4641ae1d9e
--- /dev/null
+++ b/changelogs/fragments/9608-apache2-mod-proxy-revamp3.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - apache2_mod_proxy - improve readability when using results from ``fecth_url()`` (https://github.com/ansible-collections/community.general/pull/9608).
diff --git a/changelogs/fragments/9609-apache2-mod-proxy-revamp4.yml b/changelogs/fragments/9609-apache2-mod-proxy-revamp4.yml
new file mode 100644
index 0000000000..009a2a582d
--- /dev/null
+++ b/changelogs/fragments/9609-apache2-mod-proxy-revamp4.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - apache2_mod_proxy - better handling regexp extraction (https://github.com/ansible-collections/community.general/pull/9609).
diff --git a/changelogs/fragments/9612-apache2-mod-proxy-revamp5.yml b/changelogs/fragments/9612-apache2-mod-proxy-revamp5.yml
new file mode 100644
index 0000000000..57fdccbf3e
--- /dev/null
+++ b/changelogs/fragments/9612-apache2-mod-proxy-revamp5.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - apache2_mod_proxy - use ``deps`` to handle dependencies (https://github.com/ansible-collections/community.general/pull/9612).
diff --git a/changelogs/fragments/9614-apache2-mod-proxy-revamp7.yml b/changelogs/fragments/9614-apache2-mod-proxy-revamp7.yml
new file mode 100644
index 0000000000..e808413318
--- /dev/null
+++ b/changelogs/fragments/9614-apache2-mod-proxy-revamp7.yml
@@ -0,0 +1,3 @@
+minor_changes:
+ - apache2_mod_proxy - simplified and improved string manipulation (https://github.com/ansible-collections/community.general/pull/9614).
+ - apache2_mod_proxy - remove unused parameter and code from ``Balancer`` constructor (https://github.com/ansible-collections/community.general/pull/9614).
diff --git a/changelogs/fragments/9621-keycloak_client-sanitize-saml-encryption-key.yml b/changelogs/fragments/9621-keycloak_client-sanitize-saml-encryption-key.yml
new file mode 100644
index 0000000000..5d3401e430
--- /dev/null
+++ b/changelogs/fragments/9621-keycloak_client-sanitize-saml-encryption-key.yml
@@ -0,0 +1,2 @@
+security_fixes:
+ - keycloak_client - Sanitize ``saml.encryption.private.key`` so it does not show in the logs (https://github.com/ansible-collections/community.general/pull/9621).
\ No newline at end of file
diff --git a/changelogs/fragments/9623-pipx-global-latest.yml b/changelogs/fragments/9623-pipx-global-latest.yml
new file mode 100644
index 0000000000..c939ea5847
--- /dev/null
+++ b/changelogs/fragments/9623-pipx-global-latest.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - pipx - honor option ``global`` when ``state=latest`` (https://github.com/ansible-collections/community.general/pull/9623).
diff --git a/changelogs/fragments/9625-onepassword_doc.yml b/changelogs/fragments/9625-onepassword_doc.yml
new file mode 100644
index 0000000000..e4c4cd5b65
--- /dev/null
+++ b/changelogs/fragments/9625-onepassword_doc.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "onepassword_doc lookup plugin - ensure that 1Password Connect support also works for this plugin (https://github.com/ansible-collections/community.general/pull/9625)."
diff --git a/changelogs/fragments/9633-onepassword_ssh_key.yml b/changelogs/fragments/9633-onepassword_ssh_key.yml
new file mode 100644
index 0000000000..bd4676319e
--- /dev/null
+++ b/changelogs/fragments/9633-onepassword_ssh_key.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - "onepassword_ssh_key - refactor to move code to lookup class (https://github.com/ansible-collections/community.general/pull/9633)."
diff --git a/changelogs/fragments/9644-kc_client-test-improvement-and-fix.yaml b/changelogs/fragments/9644-kc_client-test-improvement-and-fix.yaml
new file mode 100644
index 0000000000..63cba99198
--- /dev/null
+++ b/changelogs/fragments/9644-kc_client-test-improvement-and-fix.yaml
@@ -0,0 +1,2 @@
+bugfixes:
+ - keycloak_client - fix and improve existing tests. The module showed a diff without actual changes, solved by improving the ``normalise_cr()`` function (https://github.com/ansible-collections/community.general/pull/9644).
diff --git a/changelogs/fragments/9645-proxmox-fix-pubkey.yml b/changelogs/fragments/9645-proxmox-fix-pubkey.yml
new file mode 100644
index 0000000000..786daf88df
--- /dev/null
+++ b/changelogs/fragments/9645-proxmox-fix-pubkey.yml
@@ -0,0 +1,3 @@
+bugfixes:
+ - proxmox - fixes a typo in the translation of the ``pubkey`` parameter to proxmox' ``ssh-public-keys`` (https://github.com/ansible-collections/community.general/issues/9642, https://github.com/ansible-collections/community.general/pull/9645).
+ - proxmox - adds the ``pubkey`` parameter (back to) the ``update`` state (https://github.com/ansible-collections/community.general/issues/9642, https://github.com/ansible-collections/community.general/pull/9645).
diff --git a/changelogs/fragments/9646-hpilo-fix-idempotency.yml b/changelogs/fragments/9646-hpilo-fix-idempotency.yml
new file mode 100644
index 0000000000..074fce62fe
--- /dev/null
+++ b/changelogs/fragments/9646-hpilo-fix-idempotency.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - "hpilo_boot - add option to get an idempotent behavior while powering on server, resulting in success instead of failure when using ``state: boot_once`` option (https://github.com/ansible-collections/community.general/pull/9646)."
diff --git a/changelogs/fragments/9649-cloudflare_dns-fix-crash-when-deleting-record.yml b/changelogs/fragments/9649-cloudflare_dns-fix-crash-when-deleting-record.yml
new file mode 100644
index 0000000000..c345947575
--- /dev/null
+++ b/changelogs/fragments/9649-cloudflare_dns-fix-crash-when-deleting-record.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - cloudflare_dns - fix crash when deleting a DNS record or when updating a record with ``solo=true`` (https://github.com/ansible-collections/community.general/issues/9652, https://github.com/ansible-collections/community.general/pull/9649).
diff --git a/changelogs/fragments/9651-iocage-inventory-hooks.yml b/changelogs/fragments/9651-iocage-inventory-hooks.yml
new file mode 100644
index 0000000000..268348ba3c
--- /dev/null
+++ b/changelogs/fragments/9651-iocage-inventory-hooks.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - iocage inventory plugin - the new parameter ``hooks_results`` of the plugin is a list of files inside a jail that provide configuration parameters for the inventory. The inventory plugin reads the files from the jails and put the contents into the items of created variable ``iocage_hooks`` (https://github.com/ansible-collections/community.general/issues/9650, https://github.com/ansible-collections/community.general/pull/9651).
diff --git a/changelogs/fragments/9653-proxmox-kvm-allow-vm-hibernation.yml b/changelogs/fragments/9653-proxmox-kvm-allow-vm-hibernation.yml
new file mode 100644
index 0000000000..b9c347e767
--- /dev/null
+++ b/changelogs/fragments/9653-proxmox-kvm-allow-vm-hibernation.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - proxmox_kvm - allow hibernation and suspending of VMs (https://github.com/ansible-collections/community.general/issues/9620, https://github.com/ansible-collections/community.general/pull/9653).
diff --git a/changelogs/fragments/9657-lldp-handling-attributes-defined-multiple-times.yml b/changelogs/fragments/9657-lldp-handling-attributes-defined-multiple-times.yml
new file mode 100644
index 0000000000..364013afc8
--- /dev/null
+++ b/changelogs/fragments/9657-lldp-handling-attributes-defined-multiple-times.yml
@@ -0,0 +1,4 @@
+bugfixes:
+ - lldp - fix crash caused by certain lldpctl output where an attribute is defined as branch and leaf (https://github.com/ansible-collections/community.general/pull/9657).
+minor_changes:
+ - lldp - adds ``multivalues`` parameter to control behavior when lldpctl outputs an attribute multiple times (https://github.com/ansible-collections/community.general/pull/9657).
diff --git a/changelogs/fragments/9658-add-vrf-commands-to-nmcli-module.yml b/changelogs/fragments/9658-add-vrf-commands-to-nmcli-module.yml
new file mode 100644
index 0000000000..a62fc823c5
--- /dev/null
+++ b/changelogs/fragments/9658-add-vrf-commands-to-nmcli-module.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - nmcli - adds VRF support with new ``type`` value ``vrf`` and new ``slave_type`` value ``vrf`` as well as new ``table`` parameter (https://github.com/ansible-collections/community.general/pull/9658, https://github.com/ansible-collections/community.general/issues/8014).
diff --git a/changelogs/fragments/9659-lxd_connection-nonroot-user.yml b/changelogs/fragments/9659-lxd_connection-nonroot-user.yml
new file mode 100644
index 0000000000..760921f054
--- /dev/null
+++ b/changelogs/fragments/9659-lxd_connection-nonroot-user.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - lxd connection plugin - adds ``remote_user`` and ``lxd_become_method`` parameters for allowing a non-root user to connect to an LXD instance (https://github.com/ansible-collections/community.general/pull/9659).
diff --git a/changelogs/fragments/9665-more-resilient-handling-of-homebrew-packages-names.yml b/changelogs/fragments/9665-more-resilient-handling-of-homebrew-packages-names.yml
new file mode 100644
index 0000000000..4e79dd6ea2
--- /dev/null
+++ b/changelogs/fragments/9665-more-resilient-handling-of-homebrew-packages-names.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - homebrew - make package name parsing more resilient (https://github.com/ansible-collections/community.general/pull/9665, https://github.com/ansible-collections/community.general/issues/9641).
diff --git a/changelogs/fragments/9691-keycloak-module-utils-replace-missing-return-in-get_role_composites.yml b/changelogs/fragments/9691-keycloak-module-utils-replace-missing-return-in-get_role_composites.yml
new file mode 100644
index 0000000000..bf48f5f609
--- /dev/null
+++ b/changelogs/fragments/9691-keycloak-module-utils-replace-missing-return-in-get_role_composites.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - keycloak module utils - replaces missing return in get_role_composites method which caused it to return None instead of composite roles (https://github.com/ansible-collections/community.general/issues/9678, https://github.com/ansible-collections/community.general/pull/9691).
diff --git a/changelogs/fragments/9694-ipa-host-certificate-revoked.yml b/changelogs/fragments/9694-ipa-host-certificate-revoked.yml
new file mode 100644
index 0000000000..71dcbb2a17
--- /dev/null
+++ b/changelogs/fragments/9694-ipa-host-certificate-revoked.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - ipa_host - module revoked existing host certificates even if ``user_certificate`` was not given (https://github.com/ansible-collections/community.general/pull/9694).
diff --git a/changelogs/fragments/9695-xml-close-file.yml b/changelogs/fragments/9695-xml-close-file.yml
new file mode 100644
index 0000000000..d2a1843278
--- /dev/null
+++ b/changelogs/fragments/9695-xml-close-file.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - xml - ensure file descriptor is closed (https://github.com/ansible-collections/community.general/pull/9695).
diff --git a/changelogs/fragments/9697-zfs-facts-type.yml b/changelogs/fragments/9697-zfs-facts-type.yml
new file mode 100644
index 0000000000..b738d3ae9f
--- /dev/null
+++ b/changelogs/fragments/9697-zfs-facts-type.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - zfs_facts - parameter ``type`` now accepts multple values as documented (https://github.com/ansible-collections/community.general/issues/5909, https://github.com/ansible-collections/community.general/pull/9697).
diff --git a/changelogs/fragments/9698-lvg-remove-extra-pvs-parameter.yml b/changelogs/fragments/9698-lvg-remove-extra-pvs-parameter.yml
new file mode 100644
index 0000000000..51c0423e8b
--- /dev/null
+++ b/changelogs/fragments/9698-lvg-remove-extra-pvs-parameter.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - lvg - add ``remove_extra_pvs`` parameter to control if ansible should remove physical volumes which are not in the ``pvs`` parameter (https://github.com/ansible-collections/community.general/pull/9698).
diff --git a/changelogs/fragments/9728-bitwarden-collection-name-filter.yml b/changelogs/fragments/9728-bitwarden-collection-name-filter.yml
new file mode 100644
index 0000000000..f96710072f
--- /dev/null
+++ b/changelogs/fragments/9728-bitwarden-collection-name-filter.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - bitwarden lookup plugin - add new option ``collection_name`` to filter results by collection name, and new option ``result_count`` to validate number of results (https://github.com/ansible-collections/community.general/pull/9728).
\ No newline at end of file
diff --git a/changelogs/fragments/9729-redfish-fullpowercycle-command.yml b/changelogs/fragments/9729-redfish-fullpowercycle-command.yml
new file mode 100644
index 0000000000..2d9974c3d6
--- /dev/null
+++ b/changelogs/fragments/9729-redfish-fullpowercycle-command.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - redfish_command - add ``PowerFullPowerCycle`` to power command options (https://github.com/ansible-collections/community.general/pull/9729).
diff --git a/changelogs/fragments/9733-profitbrick-deprecation.yml b/changelogs/fragments/9733-profitbrick-deprecation.yml
new file mode 100644
index 0000000000..094f2672a4
--- /dev/null
+++ b/changelogs/fragments/9733-profitbrick-deprecation.yml
@@ -0,0 +1,6 @@
+deprecated_features:
+ - profitbricks - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
+ - profitbricks_datacenter - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
+ - profitbricks_nic - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
+ - profitbricks_volume - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
+ - profitbricks_volume_attachments - module is deprecated and will be removed in community.general 11.0.0 (https://github.com/ansible-collections/community.general/pull/9733).
diff --git a/changelogs/fragments/9739-keycloak_client-compare-before-desired-directly.yml b/changelogs/fragments/9739-keycloak_client-compare-before-desired-directly.yml
new file mode 100644
index 0000000000..1d1a3da737
--- /dev/null
+++ b/changelogs/fragments/9739-keycloak_client-compare-before-desired-directly.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - keycloak_client - in check mode, detect whether the lists in before client (for example redirect URI list) contain items that the lists in the desired client do not contain (https://github.com/ansible-collections/community.general/pull/9739).
\ No newline at end of file
diff --git a/changelogs/fragments/9743-incus_connection-nonroot-user.yml b/changelogs/fragments/9743-incus_connection-nonroot-user.yml
new file mode 100644
index 0000000000..f1a7aa9b5f
--- /dev/null
+++ b/changelogs/fragments/9743-incus_connection-nonroot-user.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - incus connection plugin - adds ``remote_user`` and ``incus_become_method`` parameters for allowing a non-root user to connect to an Incus instance (https://github.com/ansible-collections/community.general/pull/9743).
diff --git a/changelogs/fragments/9753-jira-add-client-certificate-auth.yml b/changelogs/fragments/9753-jira-add-client-certificate-auth.yml
new file mode 100644
index 0000000000..8eeb5d01d7
--- /dev/null
+++ b/changelogs/fragments/9753-jira-add-client-certificate-auth.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - jira - adds ``client_cert`` and ``client_key`` parameters for supporting client certificate authentification when connecting to Jira (https://github.com/ansible-collections/community.general/pull/9753).
\ No newline at end of file
diff --git a/changelogs/fragments/9760-proxmox-inventory.yml b/changelogs/fragments/9760-proxmox-inventory.yml
new file mode 100644
index 0000000000..c0405eee32
--- /dev/null
+++ b/changelogs/fragments/9760-proxmox-inventory.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "proxmox inventory plugin - plugin did not update cache correctly after ``meta: refresh_inventory`` (https://github.com/ansible-collections/community.general/issues/9710, https://github.com/ansible-collections/community.general/pull/9760)."
diff --git a/changelogs/fragments/9762-apache2_mod_proxy.yml b/changelogs/fragments/9762-apache2_mod_proxy.yml
new file mode 100644
index 0000000000..423577905e
--- /dev/null
+++ b/changelogs/fragments/9762-apache2_mod_proxy.yml
@@ -0,0 +1,5 @@
+bugfixes:
+ - "apache2_mod_proxy - make compatible with Python 3 (https://github.com/ansible-collections/community.general/pull/9762)."
+ - "apache2_mod_proxy - passing the cluster's page as referer for the member's pages. This makes the module actually work again for halfway modern Apache versions.
+ According to some comments founds on the net the referer was required since at least 2019 for some versions of Apache 2
+ (https://github.com/ansible-collections/community.general/pull/9762)."
diff --git a/changelogs/fragments/9768-keycloak_realm-remove-id-requirement.yaml b/changelogs/fragments/9768-keycloak_realm-remove-id-requirement.yaml
new file mode 100644
index 0000000000..592ac472d9
--- /dev/null
+++ b/changelogs/fragments/9768-keycloak_realm-remove-id-requirement.yaml
@@ -0,0 +1,2 @@
+minor_changes:
+ - keycloak_realm - remove ID requirement when creating a realm to allow Keycloak generating its own realm ID (https://github.com/ansible-collections/community.general/pull/9768).
\ No newline at end of file
diff --git a/changelogs/fragments/9774-fix-elasticsearch_plugin-proxy-settings.yml b/changelogs/fragments/9774-fix-elasticsearch_plugin-proxy-settings.yml
new file mode 100644
index 0000000000..d610032bc4
--- /dev/null
+++ b/changelogs/fragments/9774-fix-elasticsearch_plugin-proxy-settings.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "elasticsearch_plugin - fix ``ERROR: D is not a recognized option`` issue when configuring proxy settings (https://github.com/ansible-collections/community.general/pull/9774, https://github.com/ansible-collections/community.general/issues/9773)."
\ No newline at end of file
diff --git a/changelogs/fragments/9777-homebrew-fix-crash-when-packages-include-tap.yml b/changelogs/fragments/9777-homebrew-fix-crash-when-packages-include-tap.yml
new file mode 100644
index 0000000000..a7649988bc
--- /dev/null
+++ b/changelogs/fragments/9777-homebrew-fix-crash-when-packages-include-tap.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - homebrew - fix crash when package names include tap (https://github.com/ansible-collections/community.general/issues/9777, https://github.com/ansible-collections/community.general/pull/9803).
diff --git a/changelogs/fragments/9778-redhat_subscription-ensure-to-enable-content.yml b/changelogs/fragments/9778-redhat_subscription-ensure-to-enable-content.yml
new file mode 100644
index 0000000000..7163865b6e
--- /dev/null
+++ b/changelogs/fragments/9778-redhat_subscription-ensure-to-enable-content.yml
@@ -0,0 +1,7 @@
+bugfixes:
+ - |
+ redhat_subscription - use the "enable_content" option (when available) when
+ registering using D-Bus, to ensure that subscription-manager enables the
+ content on registration; this is particular important on EL 10+ and Fedora
+ 41+
+ (https://github.com/ansible-collections/community.general/pull/9778).
diff --git a/changelogs/fragments/9787-xoa_allow_using_names_in_inventory.yml b/changelogs/fragments/9787-xoa_allow_using_names_in_inventory.yml
new file mode 100644
index 0000000000..161e94f148
--- /dev/null
+++ b/changelogs/fragments/9787-xoa_allow_using_names_in_inventory.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - xen_orchestra inventory plugin - add ``use_vm_uuid`` and ``use_host_uuid`` boolean options to allow switching over to using VM/Xen name labels instead of UUIDs as item names (https://github.com/ansible-collections/community.general/pull/9787).
diff --git a/changelogs/fragments/9809-proxmox-fix-status-getter.yml b/changelogs/fragments/9809-proxmox-fix-status-getter.yml
new file mode 100644
index 0000000000..eef4ab072e
--- /dev/null
+++ b/changelogs/fragments/9809-proxmox-fix-status-getter.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - proxmox - add missing key selection of ``'status'`` key to ``get_lxc_status`` (https://github.com/ansible-collections/community.general/issues/9696, https://github.com/ansible-collections/community.general/pull/9809).
diff --git a/changelogs/fragments/9818-cloudflare-dns-exhausted-response.yml b/changelogs/fragments/9818-cloudflare-dns-exhausted-response.yml
new file mode 100644
index 0000000000..a60f3145b4
--- /dev/null
+++ b/changelogs/fragments/9818-cloudflare-dns-exhausted-response.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - cloudlare_dns - handle exhausted response stream in case of HTTP errors to show nice error message to the user (https://github.com/ansible-collections/community.general/issues/9782, https://github.com/ansible-collections/community.general/pull/9818).
diff --git a/changelogs/fragments/9821-systemd_info-add-wildcards.yml b/changelogs/fragments/9821-systemd_info-add-wildcards.yml
new file mode 100644
index 0000000000..a1349f8533
--- /dev/null
+++ b/changelogs/fragments/9821-systemd_info-add-wildcards.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - systemd_info - add wildcard expression support in ``unitname`` option (https://github.com/ansible-collections/community.general/pull/9821).
\ No newline at end of file
diff --git a/changelogs/fragments/9824-redfish-implement-obtaining-powerrestorepolicy.yml b/changelogs/fragments/9824-redfish-implement-obtaining-powerrestorepolicy.yml
new file mode 100644
index 0000000000..da8e391cb7
--- /dev/null
+++ b/changelogs/fragments/9824-redfish-implement-obtaining-powerrestorepolicy.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - redfish_info - add command ``GetPowerRestorePolicy`` to get the desired power state of the system when power is restored (https://github.com/ansible-collections/community.general/pull/9824).
diff --git a/changelogs/fragments/9833-data-tagging.yml b/changelogs/fragments/9833-data-tagging.yml
new file mode 100644
index 0000000000..a3f0cb2d25
--- /dev/null
+++ b/changelogs/fragments/9833-data-tagging.yml
@@ -0,0 +1,9 @@
+bugfixes:
+ - "dependent look plugin - make compatible with ansible-core's Data Tagging feature (https://github.com/ansible-collections/community.general/pull/9833)."
+ - "reveal_ansible_type filter plugin and ansible_type test plugin - make compatible with ansible-core's Data Tagging feature (https://github.com/ansible-collections/community.general/pull/9833)."
+ - "diy callback plugin - make compatible with ansible-core's Data Tagging feature (https://github.com/ansible-collections/community.general/pull/9833)."
+ - "yaml callback plugin - use ansible-core internals to avoid breakage with Data Tagging (https://github.com/ansible-collections/community.general/pull/9833)."
+known_issues:
+ - "reveal_ansible_type filter plugin and ansible_type test plugin - note that ansible-core's Data Tagging feature implements new aliases,
+ such as ``_AnsibleTaggedStr`` for ``str``, ``_AnsibleTaggedInt`` for ``int``, and ``_AnsibleTaggedFloat`` for ``float``
+ (https://github.com/ansible-collections/community.general/pull/9833)."
diff --git a/changelogs/fragments/9836-option-for-http-agent-for-user-to-callback-slack.yml b/changelogs/fragments/9836-option-for-http-agent-for-user-to-callback-slack.yml
new file mode 100644
index 0000000000..0a1af56fc2
--- /dev/null
+++ b/changelogs/fragments/9836-option-for-http-agent-for-user-to-callback-slack.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - slack callback plugin - add ``http_agent`` option to enable the user to set a custom user agent for slack callback plugin (https://github.com/ansible-collections/community.general/issues/9813, https://github.com/ansible-collections/community.general/pull/9836).
diff --git a/changelogs/fragments/9837-redfish-implement-setting-powerrestorepolicy.yml b/changelogs/fragments/9837-redfish-implement-setting-powerrestorepolicy.yml
new file mode 100644
index 0000000000..d4b1f505e1
--- /dev/null
+++ b/changelogs/fragments/9837-redfish-implement-setting-powerrestorepolicy.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - redfish_config - add command ``SetPowerRestorePolicy`` to set the desired power state of the system when power is restored (https://github.com/ansible-collections/community.general/pull/9837).
diff --git a/changelogs/fragments/9845-consul_token_idempotency.yml b/changelogs/fragments/9845-consul_token_idempotency.yml
new file mode 100644
index 0000000000..6fe536bbd0
--- /dev/null
+++ b/changelogs/fragments/9845-consul_token_idempotency.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - consul_token - fix idempotency when ``policies`` or ``roles`` are supplied by name (https://github.com/ansible-collections/community.general/issues/9841, https://github.com/ansible-collections/community.general/pull/9845).
diff --git a/changelogs/fragments/9847-Adding_audio_device-support_to_proxmox_kvm.yml b/changelogs/fragments/9847-Adding_audio_device-support_to_proxmox_kvm.yml
new file mode 100644
index 0000000000..27633edfb0
--- /dev/null
+++ b/changelogs/fragments/9847-Adding_audio_device-support_to_proxmox_kvm.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - proxmox_kvm - add missing audio hardware device handling (https://github.com/ansible-collections/community.general/issues/5192, https://github.com/ansible-collections/community.general/pull/9847).
diff --git a/changelogs/fragments/9849-nmap_dns_servers.yml b/changelogs/fragments/9849-nmap_dns_servers.yml
new file mode 100644
index 0000000000..d4b0eef27f
--- /dev/null
+++ b/changelogs/fragments/9849-nmap_dns_servers.yml
@@ -0,0 +1,3 @@
+---
+minor_changes:
+ - nmap inventory plugin - adds ``dns_servers`` option for specifying DNS servers for name resolution. Accepts hostnames or IP addresses in the same format as the ``exclude`` option (https://github.com/ansible-collections/community.general/pull/9849).
diff --git a/changelogs/fragments/9875-proxmox-dont-expect-key-template-to-exist.yml b/changelogs/fragments/9875-proxmox-dont-expect-key-template-to-exist.yml
new file mode 100644
index 0000000000..ff926e9cb3
--- /dev/null
+++ b/changelogs/fragments/9875-proxmox-dont-expect-key-template-to-exist.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - proxmox_vm_info - the module no longer expects that the key ``template`` exists in a dictionary returned by Proxmox (https://github.com/ansible-collections/community.general/issues/9875, https://github.com/ansible-collections/community.general/pull/9910).
diff --git a/changelogs/fragments/9880-nmcli-fix-reorder-same-dns-nameservers-search-suffixes.yml b/changelogs/fragments/9880-nmcli-fix-reorder-same-dns-nameservers-search-suffixes.yml
new file mode 100644
index 0000000000..cefa79f387
--- /dev/null
+++ b/changelogs/fragments/9880-nmcli-fix-reorder-same-dns-nameservers-search-suffixes.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "nmcli - enable changing only the order of DNS servers or search suffixes (https://github.com/ansible-collections/community.general/issues/8724, https://github.com/ansible-collections/community.general/pull/9880)."
diff --git a/changelogs/fragments/9882-fix-payload-to-match-rocketchat-740-requirement.yml b/changelogs/fragments/9882-fix-payload-to-match-rocketchat-740-requirement.yml
new file mode 100644
index 0000000000..8d3c76d963
--- /dev/null
+++ b/changelogs/fragments/9882-fix-payload-to-match-rocketchat-740-requirement.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - rocketchat - option ``is_pre740`` has been added to control the format of the payload. For Rocket.Chat 7.4.0 or newer, it must be set to ``false`` (https://github.com/ansible-collections/community.general/pull/9882).
diff --git a/changelogs/fragments/9891-systemd_info-add_timer.yml b/changelogs/fragments/9891-systemd_info-add_timer.yml
new file mode 100644
index 0000000000..e6239c0dfa
--- /dev/null
+++ b/changelogs/fragments/9891-systemd_info-add_timer.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - systemd_info - extend support to timer units (https://github.com/ansible-collections/community.general/pull/9891).
\ No newline at end of file
diff --git a/changelogs/fragments/9892-vmadm-add-new-options.yml b/changelogs/fragments/9892-vmadm-add-new-options.yml
new file mode 100644
index 0000000000..0e2be951d8
--- /dev/null
+++ b/changelogs/fragments/9892-vmadm-add-new-options.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - vmadm - add new options ``flexible_disk_size`` and ``owner_uuid`` (https://github.com/ansible-collections/community.general/pull/9892).
diff --git a/changelogs/fragments/9893-cmdrunner-as-fixed-args.yml b/changelogs/fragments/9893-cmdrunner-as-fixed-args.yml
new file mode 100644
index 0000000000..109b552385
--- /dev/null
+++ b/changelogs/fragments/9893-cmdrunner-as-fixed-args.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - CmdRunner module utils - the convenience method ``cmd_runner_fmt.as_fixed()`` now accepts multiple arguments as a list (https://github.com/ansible-collections/community.general/pull/9893).
diff --git a/changelogs/fragments/9951-mod-php-identifier.yml b/changelogs/fragments/9951-mod-php-identifier.yml
new file mode 100644
index 0000000000..29d88091db
--- /dev/null
+++ b/changelogs/fragments/9951-mod-php-identifier.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - apache2_module - added workaround for new PHP module name, from ``php7_module`` to ``php_module`` (https://github.com/ansible-collections/community.general/pull/9951).
diff --git a/changelogs/fragments/9952-proxmox-inventory-plugin-improve-ansible_host.yml b/changelogs/fragments/9952-proxmox-inventory-plugin-improve-ansible_host.yml
new file mode 100644
index 0000000000..dc973835c7
--- /dev/null
+++ b/changelogs/fragments/9952-proxmox-inventory-plugin-improve-ansible_host.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - proxmox inventory plugin - fix ``ansible_host`` staying empty for certain Proxmox nodes (https://github.com/ansible-collections/community.general/issues/5906, https://github.com/ansible-collections/community.general/pull/9952).
diff --git a/changelogs/fragments/9953-gitlab-project-members-support-owner-level.yml b/changelogs/fragments/9953-gitlab-project-members-support-owner-level.yml
new file mode 100644
index 0000000000..64cde71053
--- /dev/null
+++ b/changelogs/fragments/9953-gitlab-project-members-support-owner-level.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - gitlab_project_members - extend choices parameter ``access_level`` by missing upstream valid value ``owner`` (https://github.com/ansible-collections/community.general/pull/9953).
diff --git a/changelogs/fragments/9960-gitlab_project-add-build_timeout-option.yml b/changelogs/fragments/9960-gitlab_project-add-build_timeout-option.yml
new file mode 100644
index 0000000000..4178484509
--- /dev/null
+++ b/changelogs/fragments/9960-gitlab_project-add-build_timeout-option.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - gitlab_project - add option ``build_timeout`` (https://github.com/ansible-collections/community.general/pull/9960).
diff --git a/changelogs/fragments/9962-nmcli-add-infiniband-mac-support.yml b/changelogs/fragments/9962-nmcli-add-infiniband-mac-support.yml
new file mode 100644
index 0000000000..0942788868
--- /dev/null
+++ b/changelogs/fragments/9962-nmcli-add-infiniband-mac-support.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - nmcli - add support for Infiniband MAC setting when ``type`` is ``infiniband`` (https://github.com/ansible-collections/community.general/pull/9962).
diff --git a/changelogs/fragments/9963-proxmox_disk-storage.yml b/changelogs/fragments/9963-proxmox_disk-storage.yml
new file mode 100644
index 0000000000..a93fb7d022
--- /dev/null
+++ b/changelogs/fragments/9963-proxmox_disk-storage.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "proxmox_disk - fail gracefully if ``storage`` is required but not provided by the user (https://github.com/ansible-collections/community.general/issues/9941, https://github.com/ansible-collections/community.general/pull/9963)."
diff --git a/changelogs/fragments/9964-redfish-tls.yml b/changelogs/fragments/9964-redfish-tls.yml
new file mode 100644
index 0000000000..edb8e942ff
--- /dev/null
+++ b/changelogs/fragments/9964-redfish-tls.yml
@@ -0,0 +1,7 @@
+minor_changes:
+ - "redfish module utils - add ``REDFISH_COMMON_ARGUMENT_SPEC``, a corresponding ``redfish`` docs fragment, and support for its ``validate_certs``, ``ca_path``, and ``ciphers`` options (https://github.com/ansible-collections/community.general/issues/3686, https://github.com/ansible-collections/community.general/pull/9964)."
+ - "idrac_redfish_command, idrac_redfish_config, idrac_redfish_info - add ``validate_certs``, ``ca_path``, and ``ciphers`` options to configure TLS/SSL (https://github.com/ansible-collections/community.general/issues/3686, https://github.com/ansible-collections/community.general/pull/9964)."
+ - "ilo_redfish_command, ilo_redfish_config, ilo_redfish_info - add ``validate_certs``, ``ca_path``, and ``ciphers`` options to configure TLS/SSL (https://github.com/ansible-collections/community.general/issues/3686, https://github.com/ansible-collections/community.general/pull/9964)."
+ - "redfish_command, redfish_config, redfish_info - add ``validate_certs`` and ``ca_path`` options to configure TLS/SSL (https://github.com/ansible-collections/community.general/issues/3686, https://github.com/ansible-collections/community.general/pull/9964)."
+ - "wdc_redfish_command, wdc_redfish_info - add ``validate_certs``, ``ca_path``, and ``ciphers`` options to configure TLS/SSL (https://github.com/ansible-collections/community.general/issues/3686, https://github.com/ansible-collections/community.general/pull/9964)."
+ - "xcc_redfish_command - add ``validate_certs``, ``ca_path``, and ``ciphers`` options to configure TLS/SSL (https://github.com/ansible-collections/community.general/issues/3686, https://github.com/ansible-collections/community.general/pull/9964)."
diff --git a/changelogs/fragments/9965-fix-duplicate-jsonify-payload-for-rocketchat-pre740.yml b/changelogs/fragments/9965-fix-duplicate-jsonify-payload-for-rocketchat-pre740.yml
new file mode 100644
index 0000000000..3364b4acc8
--- /dev/null
+++ b/changelogs/fragments/9965-fix-duplicate-jsonify-payload-for-rocketchat-pre740.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - rocketchat - fix duplicate JSON conversion for Rocket.Chat < 7.4.0 (https://github.com/ansible-collections/community.general/pull/9965).
diff --git a/changelogs/fragments/9970-pkcs12_alias_cert_alias_optional.yml b/changelogs/fragments/9970-pkcs12_alias_cert_alias_optional.yml
new file mode 100644
index 0000000000..aff7b126c3
--- /dev/null
+++ b/changelogs/fragments/9970-pkcs12_alias_cert_alias_optional.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - java_cert - the module no longer fails if the optional parameters ``pkcs12_alias`` and ``cert_alias`` are not provided (https://github.com/ansible-collections/community.general/pull/9970).
diff --git a/changelogs/fragments/9976-keycloak_client-fix-idempotency-regression.yml b/changelogs/fragments/9976-keycloak_client-fix-idempotency-regression.yml
new file mode 100644
index 0000000000..593298d303
--- /dev/null
+++ b/changelogs/fragments/9976-keycloak_client-fix-idempotency-regression.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - keycloak_client - fix the idempotency regression by normalizing the Keycloak response for ``after_client`` (https://github.com/ansible-collections/community.general/issues/9905, https://github.com/ansible-collections/community.general/pull/9976).
diff --git a/changelogs/fragments/9992-filtertypeerror.yml b/changelogs/fragments/9992-filtertypeerror.yml
new file mode 100644
index 0000000000..ccb2ff8c0c
--- /dev/null
+++ b/changelogs/fragments/9992-filtertypeerror.yml
@@ -0,0 +1,2 @@
+bugfixes:
+ - "hashids and unicode_normalize filter plugins - avoid deprecated ``AnsibleFilterTypeError`` on ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/9992)."
diff --git a/changelogs/fragments/dnf_versionlock.yml b/changelogs/fragments/dnf_versionlock.yml
new file mode 100644
index 0000000000..35a53ff134
--- /dev/null
+++ b/changelogs/fragments/dnf_versionlock.yml
@@ -0,0 +1,3 @@
+---
+bugfixes:
+ - dnf_versionlock - add support for dnf5 (https://github.com/ansible-collections/community.general/issues/9556).
diff --git a/changelogs/fragments/homebrew_cask.yml b/changelogs/fragments/homebrew_cask.yml
new file mode 100644
index 0000000000..623a982455
--- /dev/null
+++ b/changelogs/fragments/homebrew_cask.yml
@@ -0,0 +1,3 @@
+---
+bugfixes:
+ - homebrew_cask - handle unusual brew version strings (https://github.com/ansible-collections/community.general/issues/8432, https://github.com/ansible-collections/community.general/pull/9881).
diff --git a/changelogs/fragments/ssh_config_add_dynamicforward_option.yml b/changelogs/fragments/ssh_config_add_dynamicforward_option.yml
new file mode 100644
index 0000000000..0252c94c46
--- /dev/null
+++ b/changelogs/fragments/ssh_config_add_dynamicforward_option.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - ssh_config - add ``dynamicforward`` option (https://github.com/ansible-collections/community.general/pull/9192).
\ No newline at end of file
diff --git a/changelogs/fragments/ssh_config_add_other_options.yml b/changelogs/fragments/ssh_config_add_other_options.yml
new file mode 100644
index 0000000000..032bd2c073
--- /dev/null
+++ b/changelogs/fragments/ssh_config_add_other_options.yml
@@ -0,0 +1,2 @@
+minor_changes:
+ - ssh_config - add ``other_options`` option (https://github.com/ansible-collections/community.general/issues/8053, https://github.com/ansible-collections/community.general/pull/9684).
\ No newline at end of file
diff --git a/changelogs/fragments/sudoers.yml b/changelogs/fragments/sudoers.yml
new file mode 100644
index 0000000000..f16a007de9
--- /dev/null
+++ b/changelogs/fragments/sudoers.yml
@@ -0,0 +1,3 @@
+---
+bugfixes:
+ - sudoers - display stdout and stderr raised while failed validation (https://github.com/ansible-collections/community.general/issues/9674, https://github.com/ansible-collections/community.general/pull/9871).
diff --git a/galaxy.yml b/galaxy.yml
index e6250a5bf2..d73f85bee1 100644
--- a/galaxy.yml
+++ b/galaxy.yml
@@ -5,7 +5,7 @@
namespace: community
name: general
-version: 10.5.0
+version: 10.6.0
readme: README.md
authors:
- Ansible (https://github.com/ansible)
diff --git a/plugins/callback/diy.py b/plugins/callback/diy.py
index b3cd0cdbce..a4369daadd 100644
--- a/plugins/callback/diy.py
+++ b/plugins/callback/diy.py
@@ -785,6 +785,12 @@ from ansible.vars.manager import VariableManager
from ansible.plugins.callback.default import CallbackModule as Default
from ansible.module_utils.common.text.converters import to_text
+try:
+ from ansible.template import trust_as_template # noqa: F401, pylint: disable=unused-import
+ SUPPORTS_DATA_TAGGING = True
+except ImportError:
+ SUPPORTS_DATA_TAGGING = False
+
class DummyStdout(object):
def flush(self):
@@ -838,7 +844,10 @@ class CallbackModule(Default):
return _ret
def _using_diy(self, spec):
- return (spec['msg'] is not None) and (spec['msg'] != spec['vars']['omit'])
+ sentinel = object()
+ omit = spec['vars'].get('omit', sentinel)
+ # With Data Tagging, omit is sentinel
+ return (spec['msg'] is not None) and (spec['msg'] != omit or omit is sentinel)
def _parent_has_callback(self):
return hasattr(super(CallbackModule, self), sys._getframe(1).f_code.co_name)
@@ -894,7 +903,7 @@ class CallbackModule(Default):
)
_ret.update(_all)
- _ret.update(_ret.get(self.DIY_NS, {self.DIY_NS: CallbackDIYDict()}))
+ _ret.update(_ret.get(self.DIY_NS, {self.DIY_NS: {} if SUPPORTS_DATA_TAGGING else CallbackDIYDict()}))
_ret[self.DIY_NS].update({'playbook': {}})
_playbook_attributes = ['entries', 'file_name', 'basedir']
diff --git a/plugins/callback/yaml.py b/plugins/callback/yaml.py
index 25c797e236..3393e363d5 100644
--- a/plugins/callback/yaml.py
+++ b/plugins/callback/yaml.py
@@ -53,29 +53,77 @@ def should_use_block(value):
return False
-class MyDumper(AnsibleDumper):
- def represent_scalar(self, tag, value, style=None):
- """Uses block style for multi-line strings"""
- if style is None:
- if should_use_block(value):
- style = '|'
- # we care more about readable than accuracy, so...
- # ...no trailing space
- value = value.rstrip()
- # ...and non-printable characters
- value = ''.join(x for x in value if x in string.printable or ord(x) >= 0xA0)
- # ...tabs prevent blocks from expanding
- value = value.expandtabs()
- # ...and odd bits of whitespace
- value = re.sub(r'[\x0b\x0c\r]', '', value)
- # ...as does trailing space
- value = re.sub(r' +\n', '\n', value)
- else:
- style = self.default_style
- node = yaml.representer.ScalarNode(tag, value, style=style)
- if self.alias_key is not None:
- self.represented_objects[self.alias_key] = node
- return node
+try:
+ class MyDumper(AnsibleDumper): # pylint: disable=inherit-non-class
+ def represent_scalar(self, tag, value, style=None):
+ """Uses block style for multi-line strings"""
+ if style is None:
+ if should_use_block(value):
+ style = '|'
+ # we care more about readable than accuracy, so...
+ # ...no trailing space
+ value = value.rstrip()
+ # ...and non-printable characters
+ value = ''.join(x for x in value if x in string.printable or ord(x) >= 0xA0)
+ # ...tabs prevent blocks from expanding
+ value = value.expandtabs()
+ # ...and odd bits of whitespace
+ value = re.sub(r'[\x0b\x0c\r]', '', value)
+ # ...as does trailing space
+ value = re.sub(r' +\n', '\n', value)
+ else:
+ style = self.default_style
+ node = yaml.representer.ScalarNode(tag, value, style=style)
+ if self.alias_key is not None:
+ self.represented_objects[self.alias_key] = node
+ return node
+except: # noqa: E722, pylint: disable=bare-except
+ # This happens with Data Tagging, see https://github.com/ansible/ansible/issues/84781
+ # Until there is a better solution we'll resort to using ansible-core internals.
+ from ansible._internal._yaml import _dumper
+ import typing as t
+
+ class MyDumper(_dumper._BaseDumper):
+ # This code is mostly taken from ansible._internal._yaml._dumper
+ @classmethod
+ def _register_representers(cls) -> None:
+ cls.add_multi_representer(_dumper.AnsibleTaggedObject, cls.represent_ansible_tagged_object)
+ cls.add_multi_representer(_dumper.Tripwire, cls.represent_tripwire)
+ cls.add_multi_representer(_dumper.c.Mapping, _dumper.SafeRepresenter.represent_dict)
+ cls.add_multi_representer(_dumper.c.Sequence, _dumper.SafeRepresenter.represent_list)
+
+ def represent_ansible_tagged_object(self, data):
+ if ciphertext := _dumper.VaultHelper.get_ciphertext(data, with_tags=False):
+ return self.represent_scalar('!vault', ciphertext, style='|')
+
+ return self.represent_data(_dumper.AnsibleTagHelper.as_native_type(data)) # automatically decrypts encrypted strings
+
+ def represent_tripwire(self, data: _dumper.Tripwire) -> t.NoReturn:
+ data.trip()
+
+ # The following function is the same as in the try/except
+ def represent_scalar(self, tag, value, style=None):
+ """Uses block style for multi-line strings"""
+ if style is None:
+ if should_use_block(value):
+ style = '|'
+ # we care more about readable than accuracy, so...
+ # ...no trailing space
+ value = value.rstrip()
+ # ...and non-printable characters
+ value = ''.join(x for x in value if x in string.printable or ord(x) >= 0xA0)
+ # ...tabs prevent blocks from expanding
+ value = value.expandtabs()
+ # ...and odd bits of whitespace
+ value = re.sub(r'[\x0b\x0c\r]', '', value)
+ # ...as does trailing space
+ value = re.sub(r' +\n', '\n', value)
+ else:
+ style = self.default_style
+ node = yaml.representer.ScalarNode(tag, value, style=style)
+ if self.alias_key is not None:
+ self.represented_objects[self.alias_key] = node
+ return node
class CallbackModule(Default):
diff --git a/plugins/doc_fragments/redfish.py b/plugins/doc_fragments/redfish.py
new file mode 100644
index 0000000000..f2e6b37485
--- /dev/null
+++ b/plugins/doc_fragments/redfish.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2025 Ansible community
+# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+from __future__ import (absolute_import, division, print_function)
+__metaclass__ = type
+
+
+class ModuleDocFragment(object):
+
+ # Use together with the community.general.redfish module utils' REDFISH_COMMON_ARGUMENT_SPEC
+ DOCUMENTATION = r"""
+options:
+ validate_certs:
+ description:
+ - If V(false), TLS/SSL certificates will not be validated.
+ - Set this to V(true) to enable certificate checking. Should be used together with O(ca_path).
+ type: bool
+ default: false
+ ca_path:
+ description:
+ - PEM formatted file that contains a CA certificate to be used for validation.
+ - Only used if O(validate_certs=true).
+ type: path
+ ciphers:
+ required: false
+ description:
+ - TLS/SSL Ciphers to use for the request.
+ - When a list is provided, all ciphers are joined in order with V(:).
+ - See the L(OpenSSL Cipher List Format,https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-LIST-FORMAT)
+ for more details.
+ - The available ciphers is dependent on the Python and OpenSSL/LibreSSL versions.
+ type: list
+ elements: str
+"""
diff --git a/plugins/filter/hashids.py b/plugins/filter/hashids.py
index 6ec64d5f59..76e6aaa3a5 100644
--- a/plugins/filter/hashids.py
+++ b/plugins/filter/hashids.py
@@ -9,12 +9,16 @@ from __future__ import annotations
from ansible.errors import (
AnsibleError,
AnsibleFilterError,
- AnsibleFilterTypeError,
)
from ansible.module_utils.common.text.converters import to_native
from ansible.module_utils.common.collections import is_sequence
+try:
+ from ansible.errors import AnsibleTypeError
+except ImportError:
+ from ansible.errors import AnsibleFilterTypeError as AnsibleTypeError
+
try:
from hashids import Hashids
HAS_HASHIDS = True
@@ -63,7 +67,7 @@ def hashids_encode(nums, salt=None, alphabet=None, min_length=None):
try:
hashid = hashids.encode(*nums)
except TypeError as e:
- raise AnsibleFilterTypeError(
+ raise AnsibleTypeError(
"Data to encode must by a tuple or list of ints: %s" % to_native(e)
)
diff --git a/plugins/filter/reveal_ansible_type.py b/plugins/filter/reveal_ansible_type.py
index 36fcba3df2..f2f0d6780b 100644
--- a/plugins/filter/reveal_ansible_type.py
+++ b/plugins/filter/reveal_ansible_type.py
@@ -23,29 +23,29 @@ options:
"""
EXAMPLES = r"""
-# Substitution converts str to AnsibleUnicode
-# -------------------------------------------
+# Substitution converts str to AnsibleUnicode or _AnsibleTaggedStr
+# ----------------------------------------------------------------
-# String. AnsibleUnicode.
+# String. AnsibleUnicode or _AnsibleTaggedStr.
- data: "abc"
result: '{{ data | community.general.reveal_ansible_type }}'
-# result => AnsibleUnicode
+# result => AnsibleUnicode (or _AnsibleTaggedStr)
-# String. AnsibleUnicode alias str.
-- alias: {"AnsibleUnicode": "str"}
+# String. AnsibleUnicode/_AnsibleTaggedStr alias str.
+- alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str"}
data: "abc"
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
# result => str
-# List. All items are AnsibleUnicode.
+# List. All items are AnsibleUnicode/_AnsibleTaggedStr.
- data: ["a", "b", "c"]
result: '{{ data | community.general.reveal_ansible_type }}'
-# result => list[AnsibleUnicode]
+# result => list[AnsibleUnicode] or list[_AnsibleTaggedStr]
-# Dictionary. All keys are AnsibleUnicode. All values are AnsibleUnicode.
+# Dictionary. All keys and values are AnsibleUnicode/_AnsibleTaggedStr.
- data: {"a": "foo", "b": "bar", "c": "baz"}
result: '{{ data | community.general.reveal_ansible_type }}'
-# result => dict[AnsibleUnicode, AnsibleUnicode]
+# result => dict[AnsibleUnicode, AnsibleUnicode] or dict[_AnsibleTaggedStr, _AnsibleTaggedStr]
# No substitution and no alias. Type of strings is str
# ----------------------------------------------------
@@ -82,29 +82,43 @@ EXAMPLES = r"""
- result: '{{ {"a": 1, "b": 2} | community.general.reveal_ansible_type }}'
# result => dict[str, int]
-# Type of strings is AnsibleUnicode or str
-# ----------------------------------------
+# Type of strings is AnsibleUnicode, _AnsibleTaggedStr, or str
+# ------------------------------------------------------------
# Dictionary. The keys are integers or strings. All values are strings.
-- alias: {"AnsibleUnicode": "str"}
+- alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
data: {1: 'a', 'b': 'b'}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
# result => dict[int|str, str]
# Dictionary. All keys are integers. All values are keys.
-- alias: {"AnsibleUnicode": "str"}
+- alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
data: {1: 'a', 2: 'b'}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
# result => dict[int, str]
# Dictionary. All keys are strings. Multiple types values.
-- alias: {"AnsibleUnicode": "str"}
+- alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
+ _AnsibleTaggedFloat: float
data: {'a': 1, 'b': 1.1, 'c': 'abc', 'd': true, 'e': ['x', 'y', 'z'], 'f': {'x': 1, 'y': 2}}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
# result => dict[str, bool|dict|float|int|list|str]
# List. Multiple types items.
-- alias: {"AnsibleUnicode": "str"}
+- alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
+ _AnsibleTaggedFloat: float
data: [1, 2, 1.1, 'abc', true, ['x', 'y', 'z'], {'x': 1, 'y': 2}]
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
# result => list[bool|dict|float|int|list|str]
@@ -122,6 +136,7 @@ from ansible_collections.community.general.plugins.plugin_utils.ansible_type imp
def reveal_ansible_type(data, alias=None):
"""Returns data type"""
+ # TODO: expose use_native_type parameter
return _ansible_type(data, alias)
diff --git a/plugins/filter/unicode_normalize.py b/plugins/filter/unicode_normalize.py
index e897bb9cee..aed7979de8 100644
--- a/plugins/filter/unicode_normalize.py
+++ b/plugins/filter/unicode_normalize.py
@@ -48,9 +48,14 @@ _value:
from unicodedata import normalize
-from ansible.errors import AnsibleFilterError, AnsibleFilterTypeError
+from ansible.errors import AnsibleFilterError
from ansible.module_utils.six import text_type
+try:
+ from ansible.errors import AnsibleTypeError
+except ImportError:
+ from ansible.errors import AnsibleFilterTypeError as AnsibleTypeError
+
def unicode_normalize(data, form='NFC'):
"""Applies normalization to 'unicode' strings.
@@ -65,7 +70,7 @@ def unicode_normalize(data, form='NFC'):
"""
if not isinstance(data, text_type):
- raise AnsibleFilterTypeError("%s is not a valid input type" % type(data))
+ raise AnsibleTypeError("%s is not a valid input type" % type(data))
if form not in ('NFC', 'NFD', 'NFKC', 'NFKD'):
raise AnsibleFilterError("%s is not a valid form" % form)
diff --git a/plugins/inventory/proxmox.py b/plugins/inventory/proxmox.py
index f2efef9bf8..0f41cabe7d 100644
--- a/plugins/inventory/proxmox.py
+++ b/plugins/inventory/proxmox.py
@@ -366,11 +366,26 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
def _get_node_ip(self, node):
ret = self._get_json(f"{self.proxmox_url}/api2/json/nodes/{node}/network")
+ # sort interface by iface name to make selection as stable as possible
+ ret.sort(key=lambda x: x['iface'])
+
for iface in ret:
try:
+ # only process interfaces adhering to these rules
+ if 'active' not in iface:
+ self.display.vvv(f"Interface {iface['iface']} on node {node} does not have an active state")
+ continue
+ if 'address' not in iface:
+ self.display.vvv(f"Interface {iface['iface']} on node {node} does not have an address")
+ continue
+ if 'gateway' not in iface:
+ self.display.vvv(f"Interface {iface['iface']} on node {node} does not have a gateway")
+ continue
+ self.display.vv(f"Using interface {iface['iface']} on node {node} with address {iface['address']} as node ip for ansible_host")
return iface['address']
except Exception:
- return None
+ continue
+ return None
def _get_lxc_interfaces(self, properties, node, vmid):
status_key = self._fact('status')
diff --git a/plugins/lookup/dependent.py b/plugins/lookup/dependent.py
index 1ec4369b32..2b7f293872 100644
--- a/plugins/lookup/dependent.py
+++ b/plugins/lookup/dependent.py
@@ -130,12 +130,24 @@ from ansible.template import Templar
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
+try:
+ from ansible.template import trust_as_template as _trust_as_template
+ HAS_DATATAGGING = True
+except ImportError:
+ HAS_DATATAGGING = False
+
# Whether Templar has a cache, which can be controlled by Templar.template()'s cache option.
# The cache was removed for ansible-core 2.14 (https://github.com/ansible/ansible/pull/78419)
_TEMPLAR_HAS_TEMPLATE_CACHE = LooseVersion(ansible_version) < LooseVersion('2.14.0')
+def _make_safe(value):
+ if HAS_DATATAGGING and isinstance(value, str):
+ return _trust_as_template(value)
+ return value
+
+
class LookupModule(LookupBase):
def __evaluate(self, expression, templar, variables):
"""Evaluate expression with templar.
@@ -144,10 +156,13 @@ class LookupModule(LookupBase):
``variables`` are the variables to use.
"""
templar.available_variables = variables or {}
- expression = "{0}{1}{2}".format("{{", expression, "}}")
+ quoted_expression = "{0}{1}{2}".format("{{", expression, "}}")
if _TEMPLAR_HAS_TEMPLATE_CACHE:
- return templar.template(expression, cache=False)
- return templar.template(expression)
+ return templar.template(quoted_expression, cache=False)
+ if hasattr(templar, 'evaluate_expression'):
+ # This is available since the Data Tagging PR has been merged
+ return templar.evaluate_expression(_make_safe(expression))
+ return templar.template(quoted_expression)
def __process(self, result, terms, index, current, templar, variables):
"""Fills ``result`` list with evaluated items.
diff --git a/plugins/module_utils/redfish_utils.py b/plugins/module_utils/redfish_utils.py
index f4e8cd5a36..f7332aa99b 100644
--- a/plugins/module_utils/redfish_utils.py
+++ b/plugins/module_utils/redfish_utils.py
@@ -38,6 +38,21 @@ FAIL_MSG = 'Issuing a data modification command without specifying the '\
'than one %(resource)s is no longer allowed. Use the `resource_id` '\
'option to specify the target %(resource)s ID.'
+# Use together with the community.general.redfish docs fragment
+REDFISH_COMMON_ARGUMENT_SPEC = {
+ "validate_certs": {
+ "type": "bool",
+ "default": False,
+ },
+ "ca_path": {
+ "type": "path",
+ },
+ "ciphers": {
+ "type": "list",
+ "elements": "str",
+ },
+}
+
class RedfishUtils(object):
@@ -53,8 +68,10 @@ class RedfishUtils(object):
self.resource_id = resource_id
self.data_modification = data_modification
self.strip_etag_quotes = strip_etag_quotes
- self.ciphers = ciphers
+ self.ciphers = ciphers if ciphers is not None else module.params.get("ciphers")
self._vendor = None
+ self.validate_certs = module.params.get("validate_certs", False)
+ self.ca_path = module.params.get("ca_path")
def _auth_params(self, headers):
"""
@@ -132,6 +149,17 @@ class RedfishUtils(object):
resp['msg'] = 'Properties in %s are already set' % uri
return resp
+ def _request(self, uri, **kwargs):
+ kwargs.setdefault("validate_certs", self.validate_certs)
+ kwargs.setdefault("follow_redirects", "all")
+ kwargs.setdefault("use_proxy", True)
+ kwargs.setdefault("timeout", self.timeout)
+ kwargs.setdefault("ciphers", self.ciphers)
+ kwargs.setdefault("ca_path", self.ca_path)
+ resp = open_url(uri, **kwargs)
+ headers = {k.lower(): v for (k, v) in resp.info().items()}
+ return resp, headers
+
# The following functions are to send GET/POST/PATCH/DELETE requests
def get_request(self, uri, override_headers=None, allow_no_resp=False, timeout=None):
req_headers = dict(GET_HEADERS)
@@ -145,12 +173,15 @@ class RedfishUtils(object):
# in case the caller will be using sessions later.
if uri == (self.root_uri + self.service_root):
basic_auth = False
- resp = open_url(uri, method="GET", headers=req_headers,
- url_username=username, url_password=password,
- force_basic_auth=basic_auth, validate_certs=False,
- follow_redirects='all',
- use_proxy=True, timeout=timeout, ciphers=self.ciphers)
- headers = {k.lower(): v for (k, v) in resp.info().items()}
+ resp, headers = self._request(
+ uri,
+ method="GET",
+ headers=req_headers,
+ url_username=username,
+ url_password=password,
+ force_basic_auth=basic_auth,
+ timeout=timeout,
+ )
try:
if headers.get('content-encoding') == 'gzip' and LooseVersion(ansible_version) < LooseVersion('2.14'):
# Older versions of Ansible do not automatically decompress the data
@@ -194,18 +225,20 @@ class RedfishUtils(object):
req_headers['content-type'] = multipart_encoder[1]
else:
data = json.dumps(pyld)
- resp = open_url(uri, data=data,
- headers=req_headers, method="POST",
- url_username=username, url_password=password,
- force_basic_auth=basic_auth, validate_certs=False,
- follow_redirects='all',
- use_proxy=True, timeout=self.timeout, ciphers=self.ciphers)
+ resp, headers = self._request(
+ uri,
+ data=data,
+ headers=req_headers,
+ method="POST",
+ url_username=username,
+ url_password=password,
+ force_basic_auth=basic_auth,
+ )
try:
data = json.loads(to_native(resp.read()))
except Exception as e:
# No response data; this is okay in many cases
data = None
- headers = {k.lower(): v for (k, v) in resp.info().items()}
except HTTPError as e:
msg, data = self._get_extended_message(e)
return {'ret': False,
@@ -248,12 +281,15 @@ class RedfishUtils(object):
username, password, basic_auth = self._auth_params(req_headers)
try:
- resp = open_url(uri, data=json.dumps(pyld),
- headers=req_headers, method="PATCH",
- url_username=username, url_password=password,
- force_basic_auth=basic_auth, validate_certs=False,
- follow_redirects='all',
- use_proxy=True, timeout=self.timeout, ciphers=self.ciphers)
+ resp, dummy = self._request(
+ uri,
+ data=json.dumps(pyld),
+ headers=req_headers,
+ method="PATCH",
+ url_username=username,
+ url_password=password,
+ force_basic_auth=basic_auth,
+ )
except HTTPError as e:
msg, data = self._get_extended_message(e)
return {'ret': False, 'changed': False,
@@ -283,12 +319,15 @@ class RedfishUtils(object):
req_headers['If-Match'] = etag
username, password, basic_auth = self._auth_params(req_headers)
try:
- resp = open_url(uri, data=json.dumps(pyld),
- headers=req_headers, method="PUT",
- url_username=username, url_password=password,
- force_basic_auth=basic_auth, validate_certs=False,
- follow_redirects='all',
- use_proxy=True, timeout=self.timeout, ciphers=self.ciphers)
+ resp, dummy = self._request(
+ uri,
+ data=json.dumps(pyld),
+ headers=req_headers,
+ method="PUT",
+ url_username=username,
+ url_password=password,
+ force_basic_auth=basic_auth,
+ )
except HTTPError as e:
msg, data = self._get_extended_message(e)
return {'ret': False,
@@ -309,12 +348,15 @@ class RedfishUtils(object):
username, password, basic_auth = self._auth_params(req_headers)
try:
data = json.dumps(pyld) if pyld else None
- resp = open_url(uri, data=data,
- headers=req_headers, method="DELETE",
- url_username=username, url_password=password,
- force_basic_auth=basic_auth, validate_certs=False,
- follow_redirects='all',
- use_proxy=True, timeout=self.timeout, ciphers=self.ciphers)
+ resp, dummy = self._request(
+ uri,
+ data=data,
+ headers=req_headers,
+ method="DELETE",
+ url_username=username,
+ url_password=password,
+ force_basic_auth=basic_auth,
+ )
except HTTPError as e:
msg, data = self._get_extended_message(e)
return {'ret': False,
diff --git a/plugins/modules/apache2_module.py b/plugins/modules/apache2_module.py
index cacb870ee0..2007b5d1f1 100644
--- a/plugins/modules/apache2_module.py
+++ b/plugins/modules/apache2_module.py
@@ -194,6 +194,7 @@ def create_apache_identifier(name):
# re expressions to extract subparts of names
re_workarounds = [
+ ('php8', re.compile(r'^(php)[\d\.]+')),
('php', re.compile(r'^(php\d)\.')),
]
diff --git a/plugins/modules/gitlab_project.py b/plugins/modules/gitlab_project.py
index 8ef73de1fd..eec2b0fa7a 100644
--- a/plugins/modules/gitlab_project.py
+++ b/plugins/modules/gitlab_project.py
@@ -44,6 +44,12 @@ options:
- This option is only used on creation, not for updates.
type: path
version_added: "4.2.0"
+ build_timeout:
+ description:
+ - Maximum number of seconds a CI job can run.
+ - If not specified on creation, GitLab will impose a default value.
+ type: int
+ version_added: "10.6.0"
builds_access_level:
description:
- V(private) means that repository CI/CD is allowed only to project members.
@@ -430,6 +436,7 @@ class GitLabProject(object):
project_options = {
'allow_merge_on_skipped_pipeline': options['allow_merge_on_skipped_pipeline'],
'builds_access_level': options['builds_access_level'],
+ 'build_timeout': options['build_timeout'],
'ci_config_path': options['ci_config_path'],
'container_expiration_policy': options['container_expiration_policy'],
'container_registry_access_level': options['container_registry_access_level'],
@@ -591,6 +598,7 @@ def main():
allow_merge_on_skipped_pipeline=dict(type='bool'),
avatar_path=dict(type='path'),
builds_access_level=dict(type='str', choices=['private', 'disabled', 'enabled']),
+ build_timeout=dict(type='int'),
ci_config_path=dict(type='str'),
container_expiration_policy=dict(type='dict', default=None, options=dict(
cadence=dict(type='str', choices=["1d", "7d", "14d", "1month", "3month"]),
@@ -664,6 +672,7 @@ def main():
allow_merge_on_skipped_pipeline = module.params['allow_merge_on_skipped_pipeline']
avatar_path = module.params['avatar_path']
builds_access_level = module.params['builds_access_level']
+ build_timeout = module.params['build_timeout']
ci_config_path = module.params['ci_config_path']
container_expiration_policy = module.params['container_expiration_policy']
container_registry_access_level = module.params['container_registry_access_level']
@@ -748,6 +757,7 @@ def main():
"allow_merge_on_skipped_pipeline": allow_merge_on_skipped_pipeline,
"avatar_path": avatar_path,
"builds_access_level": builds_access_level,
+ "build_timeout": build_timeout,
"ci_config_path": ci_config_path,
"container_expiration_policy": container_expiration_policy,
"container_registry_access_level": container_registry_access_level,
diff --git a/plugins/modules/gitlab_project_members.py b/plugins/modules/gitlab_project_members.py
index 228af9a062..b5d0f6e2d1 100644
--- a/plugins/modules/gitlab_project_members.py
+++ b/plugins/modules/gitlab_project_members.py
@@ -48,8 +48,9 @@ options:
description:
- The access level for the user.
- Required if O(state=present), user state is set to present.
+ - V(owner) was added in community.general 10.6.0.
type: str
- choices: ['guest', 'reporter', 'developer', 'maintainer']
+ choices: ['guest', 'reporter', 'developer', 'maintainer', 'owner']
gitlab_users_access:
description:
- Provide a list of user to access level mappings.
@@ -67,8 +68,9 @@ options:
description:
- The access level for the user.
- Required if O(state=present), user state is set to present.
+ - V(owner) was added in community.general 10.6.0.
type: str
- choices: ['guest', 'reporter', 'developer', 'maintainer']
+ choices: ['guest', 'reporter', 'developer', 'maintainer', 'owner']
required: true
version_added: 3.7.0
state:
@@ -84,9 +86,10 @@ options:
- Adds/remove users of the given access_level to match the given O(gitlab_user)/O(gitlab_users_access) list. If omitted
do not purge orphaned members.
- Is only used when O(state=present).
+ - V(owner) was added in community.general 10.6.0.
type: list
elements: str
- choices: ['guest', 'reporter', 'developer', 'maintainer']
+ choices: ['guest', 'reporter', 'developer', 'maintainer', 'owner']
version_added: 3.7.0
"""
@@ -239,16 +242,16 @@ def main():
project=dict(type='str', required=True),
gitlab_user=dict(type='list', elements='str'),
state=dict(type='str', default='present', choices=['present', 'absent']),
- access_level=dict(type='str', choices=['guest', 'reporter', 'developer', 'maintainer']),
+ access_level=dict(type='str', choices=['guest', 'reporter', 'developer', 'maintainer', 'owner']),
purge_users=dict(type='list', elements='str', choices=[
- 'guest', 'reporter', 'developer', 'maintainer']),
+ 'guest', 'reporter', 'developer', 'maintainer', 'owner']),
gitlab_users_access=dict(
type='list',
elements='dict',
options=dict(
name=dict(type='str', required=True),
access_level=dict(type='str', choices=[
- 'guest', 'reporter', 'developer', 'maintainer'], required=True),
+ 'guest', 'reporter', 'developer', 'maintainer', 'owner'], required=True),
)
),
))
@@ -286,6 +289,7 @@ def main():
'reporter': gitlab.const.REPORTER_ACCESS,
'developer': gitlab.const.DEVELOPER_ACCESS,
'maintainer': gitlab.const.MAINTAINER_ACCESS,
+ 'owner': gitlab.const.OWNER_ACCESS,
}
gitlab_project = module.params['project']
diff --git a/plugins/modules/hpilo_boot.py b/plugins/modules/hpilo_boot.py
index ecef60f66a..c3d14564d6 100644
--- a/plugins/modules/hpilo_boot.py
+++ b/plugins/modules/hpilo_boot.py
@@ -76,6 +76,12 @@ options:
default: TLSv1
type: str
choices: ["SSLv3", "SSLv23", "TLSv1", "TLSv1_1", "TLSv1_2"]
+ idempotent_boot_once:
+ description:
+ - "This option makes O(state=boot_once) succeed instead of failing when the server is already powered on."
+ type: bool
+ default: false
+ version_added: 10.6.0
requirements:
- python-hpilo
notes:
@@ -138,6 +144,7 @@ def main():
image=dict(type='str'),
state=dict(type='str', default='boot_once', choices=['boot_always', 'boot_once', 'connect', 'disconnect', 'no_boot', 'poweroff']),
force=dict(type='bool', default=False),
+ idempotent_boot_once=dict(type='bool', default=False),
ssl_version=dict(type='str', default='TLSv1', choices=['SSLv3', 'SSLv23', 'TLSv1', 'TLSv1_1', 'TLSv1_2']),
)
)
@@ -152,6 +159,7 @@ def main():
image = module.params['image']
state = module.params['state']
force = module.params['force']
+ idempotent_boot_once = module.params['idempotent_boot_once']
ssl_version = getattr(hpilo.ssl, 'PROTOCOL_' + module.params.get('ssl_version').upper().replace('V', 'v'))
ilo = hpilo.Ilo(host, login=login, password=password, ssl_version=ssl_version)
@@ -187,13 +195,21 @@ def main():
power_status = ilo.get_host_power_status()
- if not force and power_status == 'ON':
- module.fail_json(msg='HP iLO (%s) reports that the server is already powered on !' % host)
-
if power_status == 'ON':
- ilo.warm_boot_server()
-# ilo.cold_boot_server()
- changed = True
+ if not force and not idempotent_boot_once:
+ # module.deprecate(
+ # 'The failure of the module when the server is already powered on is being deprecated.'
+ # ' Please set the parameter "idempotent_boot_once=true" to start using the new behavior.',
+ # version='11.0.0',
+ # collection_name='community.general'
+ # )
+ module.fail_json(msg='HP iLO (%s) reports that the server is already powered on !' % host)
+ elif not force and idempotent_boot_once:
+ pass
+ elif force:
+ ilo.warm_boot_server()
+ # ilo.cold_boot_server()
+ changed = True
else:
ilo.press_pwr_btn()
# ilo.reset_server()
diff --git a/plugins/modules/idrac_redfish_command.py b/plugins/modules/idrac_redfish_command.py
index 531da53162..fa4f29e5f5 100644
--- a/plugins/modules/idrac_redfish_command.py
+++ b/plugins/modules/idrac_redfish_command.py
@@ -16,6 +16,7 @@ description:
- For use with Dell iDRAC operations that require Redfish OEM extensions.
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
attributes:
check_mode:
support: none
@@ -62,6 +63,12 @@ options:
- ID of the System, Manager or Chassis to modify.
type: str
version_added: '0.2.0'
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
author: "Jose Delarosa (@jose-delarosa)"
"""
@@ -93,7 +100,7 @@ return_values:
import re
from ansible.module_utils.basic import AnsibleModule
-from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils, REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.common.text.converters import to_native
@@ -147,17 +154,19 @@ CATEGORY_COMMANDS_ALL = {
def main():
result = {}
return_values = {}
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ timeout=dict(type='int', default=10),
+ resource_id=dict()
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- timeout=dict(type='int', default=10),
- resource_id=dict()
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/idrac_redfish_config.py b/plugins/modules/idrac_redfish_config.py
index 97d7a62d04..466e0b344c 100644
--- a/plugins/modules/idrac_redfish_config.py
+++ b/plugins/modules/idrac_redfish_config.py
@@ -16,6 +16,7 @@ description:
- Builds Redfish URIs locally and sends them to remote iDRAC controllers to set or update a configuration attribute.
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
attributes:
check_mode:
support: none
@@ -71,6 +72,12 @@ options:
- ID of the System, Manager or Chassis to modify.
type: str
version_added: '0.2.0'
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
author: "Jose Delarosa (@jose-delarosa)"
"""
@@ -154,7 +161,7 @@ from ansible.module_utils.common.validation import (
check_mutually_exclusive,
check_required_arguments
)
-from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils, REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.common.text.converters import to_native
@@ -246,18 +253,20 @@ CATEGORY_COMMANDS_MUTUALLY_EXCLUSIVE = {
def main():
result = {}
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ manager_attributes=dict(type='dict', default={}),
+ timeout=dict(type='int', default=10),
+ resource_id=dict()
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- manager_attributes=dict(type='dict', default={}),
- timeout=dict(type='int', default=10),
- resource_id=dict()
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/idrac_redfish_info.py b/plugins/modules/idrac_redfish_info.py
index 3a8ea8103f..4b9745f7c2 100644
--- a/plugins/modules/idrac_redfish_info.py
+++ b/plugins/modules/idrac_redfish_info.py
@@ -17,6 +17,7 @@ description:
extends_documentation_fragment:
- community.general.attributes
- community.general.attributes.info_module
+ - community.general.redfish
attributes:
check_mode:
version_added: 3.3.0
@@ -57,6 +58,12 @@ options:
- Timeout in seconds for HTTP requests to iDRAC.
default: 10
type: int
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
author: "Jose Delarosa (@jose-delarosa)"
"""
@@ -124,7 +131,7 @@ msg:
"""
from ansible.module_utils.basic import AnsibleModule
-from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils, REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.common.text.converters import to_native
@@ -177,16 +184,18 @@ CATEGORY_COMMANDS_ALL = {
def main():
result = {}
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ timeout=dict(type='int', default=10)
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- timeout=dict(type='int', default=10)
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/ilo_redfish_command.py b/plugins/modules/ilo_redfish_command.py
index 3e698fc049..52b08f8654 100644
--- a/plugins/modules/ilo_redfish_command.py
+++ b/plugins/modules/ilo_redfish_command.py
@@ -19,6 +19,7 @@ attributes:
support: none
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
options:
category:
required: true
@@ -58,6 +59,12 @@ options:
- Timeout in seconds for HTTP requests to iLO.
default: 60
type: int
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
author:
- Varni H P (@varini-hp)
"""
@@ -96,22 +103,25 @@ CATEGORY_COMMANDS_ALL = {
}
from ansible_collections.community.general.plugins.module_utils.ilo_redfish_utils import iLORedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
def main():
result = {}
+ argument_spec = dict(
+ category=dict(required=True, choices=list(CATEGORY_COMMANDS_ALL.keys())),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ timeout=dict(type="int", default=60),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True)
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True, choices=list(CATEGORY_COMMANDS_ALL.keys())),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- timeout=dict(type="int", default=60),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True)
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/ilo_redfish_config.py b/plugins/modules/ilo_redfish_config.py
index fdda339ab3..95c45590e1 100644
--- a/plugins/modules/ilo_redfish_config.py
+++ b/plugins/modules/ilo_redfish_config.py
@@ -15,6 +15,7 @@ description:
- For use with HPE iLO operations that require Redfish OEM extensions.
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
attributes:
check_mode:
support: none
@@ -65,6 +66,12 @@ options:
description:
- Value of the attribute to be configured.
type: str
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
author:
- "Bhavya B (@bhavya06)"
"""
@@ -113,25 +120,28 @@ CATEGORY_COMMANDS_ALL = {
}
from ansible_collections.community.general.plugins.module_utils.ilo_redfish_utils import iLORedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
def main():
result = {}
+ argument_spec = dict(
+ category=dict(required=True, choices=list(
+ CATEGORY_COMMANDS_ALL.keys())),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ attribute_name=dict(required=True),
+ attribute_value=dict(type='str'),
+ timeout=dict(type='int', default=10)
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True, choices=list(
- CATEGORY_COMMANDS_ALL.keys())),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- attribute_name=dict(required=True),
- attribute_value=dict(type='str'),
- timeout=dict(type='int', default=10)
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/ilo_redfish_info.py b/plugins/modules/ilo_redfish_info.py
index 3bd379e80a..daa43b004e 100644
--- a/plugins/modules/ilo_redfish_info.py
+++ b/plugins/modules/ilo_redfish_info.py
@@ -16,6 +16,7 @@ description:
extends_documentation_fragment:
- community.general.attributes
- community.general.attributes.info_module
+ - community.general.redfish
options:
category:
required: true
@@ -51,6 +52,12 @@ options:
- Timeout in seconds for HTTP requests to iLO.
default: 10
type: int
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
author:
- "Bhavya B (@bhavya06)"
"""
@@ -108,21 +115,24 @@ CATEGORY_COMMANDS_DEFAULT = {
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.ilo_redfish_utils import iLORedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import REDFISH_COMMON_ARGUMENT_SPEC
def main():
result = {}
category_list = []
+ argument_spec = dict(
+ category=dict(required=True, type='list', elements='str'),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ timeout=dict(type='int', default=10)
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True, type='list', elements='str'),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- timeout=dict(type='int', default=10)
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/java_cert.py b/plugins/modules/java_cert.py
index 8746c2d617..b75021fc57 100644
--- a/plugins/modules/java_cert.py
+++ b/plugins/modules/java_cert.py
@@ -315,12 +315,13 @@ def _export_public_cert_from_pkcs12(module, executable, pkcs_file, alias, passwo
"-noprompt",
"-keystore",
pkcs_file,
- "-alias",
- alias,
"-storetype",
"pkcs12",
"-rfc"
]
+ # Append optional alias
+ if alias:
+ export_cmd.extend(["-alias", alias])
(export_rc, export_stdout, export_err) = module.run_command(export_cmd, data=password, check_rc=False)
if export_rc != 0:
@@ -393,6 +394,10 @@ def import_pkcs12_path(module, executable, pkcs12_path, pkcs12_pass, pkcs12_alia
keystore_path, keystore_pass, keystore_alias, keystore_type):
''' Import pkcs12 from path into keystore located on
keystore_path as alias '''
+ optional_aliases = {
+ "-destalias": keystore_alias,
+ "-srcalias": pkcs12_alias
+ }
import_cmd = [
executable,
"-importkeystore",
@@ -401,13 +406,14 @@ def import_pkcs12_path(module, executable, pkcs12_path, pkcs12_pass, pkcs12_alia
"pkcs12",
"-srckeystore",
pkcs12_path,
- "-srcalias",
- pkcs12_alias,
"-destkeystore",
keystore_path,
- "-destalias",
- keystore_alias
]
+ # Append optional aliases
+ for flag, value in optional_aliases.items():
+ if value:
+ import_cmd.extend([flag, value])
+
import_cmd += _get_keystore_type_keytool_parameters(keystore_type)
secret_data = "%s\n%s" % (keystore_pass, pkcs12_pass)
diff --git a/plugins/modules/keycloak_client.py b/plugins/modules/keycloak_client.py
index 70ff21a915..e7a2de7c85 100644
--- a/plugins/modules/keycloak_client.py
+++ b/plugins/modules/keycloak_client.py
@@ -775,6 +775,13 @@ def normalise_cr(clientrep, remove_ids=False):
return clientrep
+def normalize_kc_resp(clientrep):
+ # kc drops the variable 'authorizationServicesEnabled' if set to false
+ # to minimize diff/changes we set it to false if not set by kc
+ if clientrep and 'authorizationServicesEnabled' not in clientrep:
+ clientrep['authorizationServicesEnabled'] = False
+
+
def sanitize_cr(clientrep):
""" Removes probably sensitive details from a client representation.
@@ -966,10 +973,7 @@ def main():
else:
before_client = kc.get_client_by_id(cid, realm=realm)
- # kc drops the variable 'authorizationServicesEnabled' if set to false
- # to minimize diff/changes we set it to false if not set by kc
- if before_client and 'authorizationServicesEnabled' not in before_client:
- before_client['authorizationServicesEnabled'] = False
+ normalize_kc_resp(before_client)
if before_client is None:
before_client = {}
@@ -1050,6 +1054,8 @@ def main():
kc.update_client(cid, desired_client, realm=realm)
after_client = kc.get_client_by_id(cid, realm=realm)
+ normalize_kc_resp(after_client)
+
if before_client == after_client:
result['changed'] = False
if module._diff:
diff --git a/plugins/modules/nmcli.py b/plugins/modules/nmcli.py
index 3c895e76ec..43cf041ddb 100644
--- a/plugins/modules/nmcli.py
+++ b/plugins/modules/nmcli.py
@@ -99,6 +99,11 @@ options:
type: str
choices: [datagram, connected]
version_added: 5.8.0
+ infiniband_mac:
+ description:
+ - MAC address of the Infiniband IPoIB devices.
+ type: str
+ version_added: 10.6.0
slave_type:
description:
- Type of the device of this slave's master connection (for example V(bond)).
@@ -1764,6 +1769,7 @@ class Nmcli(object):
self.wireguard = module.params['wireguard']
self.vpn = module.params['vpn']
self.transport_mode = module.params['transport_mode']
+ self.infiniband_mac = module.params['infiniband_mac']
self.sriov = module.params['sriov']
if self.method4:
@@ -2034,6 +2040,8 @@ class Nmcli(object):
options.update({
'infiniband.transport-mode': self.transport_mode,
})
+ if self.infiniband_mac:
+ options['infiniband.mac-address'] = self.infiniband_mac
elif self.type == 'vrf':
options.update({
'table': self.table,
@@ -2708,9 +2716,12 @@ def main():
tap=dict(type='bool'))),
wireguard=dict(type='dict'),
vpn=dict(type='dict'),
- transport_mode=dict(type='str', choices=['datagram', 'connected']),
sriov=dict(type='dict'),
table=dict(type='int'),
+ # infiniband specific vars
+ transport_mode=dict(type='str', choices=['datagram', 'connected']),
+ infiniband_mac=dict(type='str'),
+
),
mutually_exclusive=[['never_default4', 'gw4'],
['routes4_extended', 'routes4'],
diff --git a/plugins/modules/proxmox_disk.py b/plugins/modules/proxmox_disk.py
index 8bf8e96108..75eb0001e6 100644
--- a/plugins/modules/proxmox_disk.py
+++ b/plugins/modules/proxmox_disk.py
@@ -554,6 +554,8 @@ class ProxmoxDiskAnsible(ProxmoxAnsible):
ok_str = "CD-ROM was created on %s bus in VM %s"
else:
config_str = self.module.params["storage"]
+ if not config_str:
+ self.module.fail_json(msg="The storage option must be specified.")
if self.module.params.get("media") != "cdrom":
config_str += ":%s" % (self.module.params["size"])
ok_str = "Disk %s created in VM %s"
diff --git a/plugins/modules/redfish_command.py b/plugins/modules/redfish_command.py
index 545506f924..25f92bd1f7 100644
--- a/plugins/modules/redfish_command.py
+++ b/plugins/modules/redfish_command.py
@@ -18,6 +18,7 @@ description:
- Manages system power ex. on, off, graceful and forced reboot.
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
attributes:
check_mode:
support: none
@@ -324,16 +325,11 @@ options:
default: 120
version_added: 9.1.0
ciphers:
- required: false
- description:
- - SSL/TLS Ciphers to use for the request.
- - When a list is provided, all ciphers are joined in order with V(:).
- - See the L(OpenSSL Cipher List Format,https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-LIST-FORMAT)
- for more details.
- - The available ciphers is dependent on the Python and OpenSSL/LibreSSL versions.
- type: list
- elements: str
version_added: 9.2.0
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
author:
- "Jose Delarosa (@jose-delarosa)"
@@ -846,7 +842,7 @@ return_values:
"""
from ansible.module_utils.basic import AnsibleModule
-from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils, REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.common.text.converters import to_native
@@ -873,67 +869,68 @@ CATEGORY_COMMANDS_ALL = {
def main():
result = {}
return_values = {}
- module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- session_uri=dict(),
- id=dict(aliases=["account_id"]),
- new_username=dict(aliases=["account_username"]),
- new_password=dict(aliases=["account_password"], no_log=True),
- roleid=dict(aliases=["account_roleid"]),
- account_types=dict(type='list', elements='str', aliases=["account_accounttypes"]),
- oem_account_types=dict(type='list', elements='str', aliases=["account_oemaccounttypes"]),
- update_username=dict(type='str', aliases=["account_updatename"]),
- account_properties=dict(type='dict', default={}),
- bootdevice=dict(),
- timeout=dict(type='int', default=60),
- uefi_target=dict(),
- boot_next=dict(),
- boot_override_mode=dict(choices=['Legacy', 'UEFI']),
- resource_id=dict(),
- update_image_uri=dict(),
- update_image_file=dict(type='path'),
- update_protocol=dict(),
- update_targets=dict(type='list', elements='str', default=[]),
- update_oem_params=dict(type='dict'),
- update_custom_oem_header=dict(type='str'),
- update_custom_oem_mime_type=dict(type='str'),
- update_custom_oem_params=dict(type='raw'),
- update_creds=dict(
- type='dict',
- options=dict(
- username=dict(),
- password=dict(no_log=True)
- )
- ),
- update_apply_time=dict(choices=['Immediate', 'OnReset', 'AtMaintenanceWindowStart',
- 'InMaintenanceWindowOnReset', 'OnStartUpdateRequest']),
- update_handle=dict(),
- virtual_media=dict(
- type='dict',
- options=dict(
- media_types=dict(type='list', elements='str', default=[]),
- image_url=dict(),
- inserted=dict(type='bool', default=True),
- write_protected=dict(type='bool', default=True),
- username=dict(),
- password=dict(no_log=True),
- transfer_protocol_type=dict(),
- transfer_method=dict(),
- )
- ),
- strip_etag_quotes=dict(type='bool', default=False),
- reset_to_defaults_mode=dict(choices=['ResetAll', 'PreserveNetworkAndUsers', 'PreserveNetwork']),
- bios_attributes=dict(type="dict"),
- wait=dict(type='bool', default=False),
- wait_timeout=dict(type='int', default=120),
- ciphers=dict(type='list', elements='str'),
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ session_uri=dict(),
+ id=dict(aliases=["account_id"]),
+ new_username=dict(aliases=["account_username"]),
+ new_password=dict(aliases=["account_password"], no_log=True),
+ roleid=dict(aliases=["account_roleid"]),
+ account_types=dict(type='list', elements='str', aliases=["account_accounttypes"]),
+ oem_account_types=dict(type='list', elements='str', aliases=["account_oemaccounttypes"]),
+ update_username=dict(type='str', aliases=["account_updatename"]),
+ account_properties=dict(type='dict', default={}),
+ bootdevice=dict(),
+ timeout=dict(type='int', default=60),
+ uefi_target=dict(),
+ boot_next=dict(),
+ boot_override_mode=dict(choices=['Legacy', 'UEFI']),
+ resource_id=dict(),
+ update_image_uri=dict(),
+ update_image_file=dict(type='path'),
+ update_protocol=dict(),
+ update_targets=dict(type='list', elements='str', default=[]),
+ update_oem_params=dict(type='dict'),
+ update_custom_oem_header=dict(type='str'),
+ update_custom_oem_mime_type=dict(type='str'),
+ update_custom_oem_params=dict(type='raw'),
+ update_creds=dict(
+ type='dict',
+ options=dict(
+ username=dict(),
+ password=dict(no_log=True)
+ )
),
+ update_apply_time=dict(choices=['Immediate', 'OnReset', 'AtMaintenanceWindowStart',
+ 'InMaintenanceWindowOnReset', 'OnStartUpdateRequest']),
+ update_handle=dict(),
+ virtual_media=dict(
+ type='dict',
+ options=dict(
+ media_types=dict(type='list', elements='str', default=[]),
+ image_url=dict(),
+ inserted=dict(type='bool', default=True),
+ write_protected=dict(type='bool', default=True),
+ username=dict(),
+ password=dict(no_log=True),
+ transfer_protocol_type=dict(),
+ transfer_method=dict(),
+ )
+ ),
+ strip_etag_quotes=dict(type='bool', default=False),
+ reset_to_defaults_mode=dict(choices=['ResetAll', 'PreserveNetworkAndUsers', 'PreserveNetwork']),
+ bios_attributes=dict(type="dict"),
+ wait=dict(type='bool', default=False),
+ wait_timeout=dict(type='int', default=120),
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
+ module = AnsibleModule(
+ argument_spec,
required_together=[
('username', 'password'),
('update_custom_oem_header', 'update_custom_oem_params'),
@@ -1006,14 +1003,10 @@ def main():
# BIOS Attributes options
bios_attributes = module.params['bios_attributes']
- # ciphers
- ciphers = module.params['ciphers']
-
# Build root URI
root_uri = "https://" + module.params['baseuri']
rf_utils = RedfishUtils(creds, root_uri, timeout, module,
- resource_id=resource_id, data_modification=True, strip_etag_quotes=strip_etag_quotes,
- ciphers=ciphers)
+ resource_id=resource_id, data_modification=True, strip_etag_quotes=strip_etag_quotes)
# Check that Category is valid
if category not in CATEGORY_COMMANDS_ALL:
diff --git a/plugins/modules/redfish_config.py b/plugins/modules/redfish_config.py
index 817cc18787..8700d4b8de 100644
--- a/plugins/modules/redfish_config.py
+++ b/plugins/modules/redfish_config.py
@@ -17,6 +17,7 @@ description:
- Manages OOB controller configuration settings.
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
attributes:
check_mode:
support: none
@@ -181,16 +182,11 @@ options:
- LastState
version_added: '10.5.0'
ciphers:
- required: false
- description:
- - SSL/TLS Ciphers to use for the request.
- - When a list is provided, all ciphers are joined in order with V(:).
- - See the L(OpenSSL Cipher List Format,https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-LIST-FORMAT)
- for more details.
- - The available ciphers is dependent on the Python and OpenSSL/LibreSSL versions.
- type: list
- elements: str
version_added: 9.2.0
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
author:
- "Jose Delarosa (@jose-delarosa)"
@@ -395,7 +391,7 @@ msg:
"""
from ansible.module_utils.basic import AnsibleModule
-from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils, REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.common.text.converters import to_native
@@ -411,40 +407,41 @@ CATEGORY_COMMANDS_ALL = {
def main():
result = {}
- module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- bios_attributes=dict(type='dict', default={}),
- timeout=dict(type='int', default=60),
- boot_order=dict(type='list', elements='str', default=[]),
- network_protocols=dict(
- type='dict',
- default={}
- ),
- resource_id=dict(),
- service_id=dict(),
- nic_addr=dict(default='null'),
- nic_config=dict(
- type='dict',
- default={}
- ),
- strip_etag_quotes=dict(type='bool', default=False),
- hostinterface_config=dict(type='dict', default={}),
- hostinterface_id=dict(),
- sessions_config=dict(type='dict', default={}),
- storage_subsystem_id=dict(type='str', default=''),
- storage_none_volume_deletion=dict(type='bool', default=False),
- volume_ids=dict(type='list', default=[], elements='str'),
- secure_boot_enable=dict(type='bool', default=True),
- volume_details=dict(type='dict', default={}),
- power_restore_policy=dict(choices=['AlwaysOn', 'AlwaysOff', 'LastState']),
- ciphers=dict(type='list', elements='str'),
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ bios_attributes=dict(type='dict', default={}),
+ timeout=dict(type='int', default=60),
+ boot_order=dict(type='list', elements='str', default=[]),
+ network_protocols=dict(
+ type='dict',
+ default={}
),
+ resource_id=dict(),
+ service_id=dict(),
+ nic_addr=dict(default='null'),
+ nic_config=dict(
+ type='dict',
+ default={}
+ ),
+ strip_etag_quotes=dict(type='bool', default=False),
+ hostinterface_config=dict(type='dict', default={}),
+ hostinterface_id=dict(),
+ sessions_config=dict(type='dict', default={}),
+ storage_subsystem_id=dict(type='str', default=''),
+ storage_none_volume_deletion=dict(type='bool', default=False),
+ volume_ids=dict(type='list', default=[], elements='str'),
+ secure_boot_enable=dict(type='bool', default=True),
+ volume_details=dict(type='dict', default={}),
+ power_restore_policy=dict(choices=['AlwaysOn', 'AlwaysOff', 'LastState']),
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
+ module = AnsibleModule(
+ argument_spec,
required_together=[
('username', 'password'),
],
@@ -511,14 +508,10 @@ def main():
# Power Restore Policy
power_restore_policy = module.params['power_restore_policy']
- # ciphers
- ciphers = module.params['ciphers']
-
# Build root URI
root_uri = "https://" + module.params['baseuri']
rf_utils = RedfishUtils(creds, root_uri, timeout, module,
- resource_id=resource_id, data_modification=True, strip_etag_quotes=strip_etag_quotes,
- ciphers=ciphers)
+ resource_id=resource_id, data_modification=True, strip_etag_quotes=strip_etag_quotes)
# Check that Category is valid
if category not in CATEGORY_COMMANDS_ALL:
diff --git a/plugins/modules/redfish_info.py b/plugins/modules/redfish_info.py
index 66d41883e5..fb87bef8c6 100644
--- a/plugins/modules/redfish_info.py
+++ b/plugins/modules/redfish_info.py
@@ -17,6 +17,7 @@ description:
extends_documentation_fragment:
- community.general.attributes
- community.general.attributes.info_module
+ - community.general.redfish
attributes:
check_mode:
version_added: 3.3.0
@@ -71,16 +72,11 @@ options:
type: str
version_added: '6.1.0'
ciphers:
- required: false
- description:
- - SSL/TLS Ciphers to use for the request.
- - When a list is provided, all ciphers are joined in order with V(:).
- - See the L(OpenSSL Cipher List Format,https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-LIST-FORMAT)
- for more details.
- - The available ciphers is dependent on the Python and OpenSSL/LibreSSL versions.
- type: list
- elements: str
version_added: 9.2.0
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
author: "Jose Delarosa (@jose-delarosa)"
"""
@@ -404,7 +400,7 @@ result:
"""
from ansible.module_utils.basic import AnsibleModule
-from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils, REDFISH_COMMON_ARGUMENT_SPEC
CATEGORY_COMMANDS_ALL = {
"Systems": ["GetSystemInventory", "GetPsuInventory", "GetCpuInventory",
@@ -437,19 +433,20 @@ CATEGORY_COMMANDS_DEFAULT = {
def main():
result = {}
category_list = []
+ argument_spec = dict(
+ category=dict(type='list', elements='str', default=['Systems']),
+ command=dict(type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ timeout=dict(type='int', default=60),
+ update_handle=dict(),
+ manager=dict(),
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(type='list', elements='str', default=['Systems']),
- command=dict(type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- timeout=dict(type='int', default=60),
- update_handle=dict(),
- manager=dict(),
- ciphers=dict(type='list', elements='str'),
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
@@ -476,12 +473,9 @@ def main():
# manager
manager = module.params['manager']
- # ciphers
- ciphers = module.params['ciphers']
-
# Build root URI
root_uri = "https://" + module.params['baseuri']
- rf_utils = RedfishUtils(creds, root_uri, timeout, module, ciphers=ciphers)
+ rf_utils = RedfishUtils(creds, root_uri, timeout, module)
# Build Category list
if "all" in module.params['category']:
diff --git a/plugins/modules/rocketchat.py b/plugins/modules/rocketchat.py
index 91192875dc..c09d75ace2 100644
--- a/plugins/modules/rocketchat.py
+++ b/plugins/modules/rocketchat.py
@@ -206,7 +206,7 @@ def build_payload_for_rocketchat(module, text, channel, username, icon_url, icon
payload = module.jsonify(payload)
if is_pre740:
- payload = "payload=" + module.jsonify(payload)
+ payload = "payload=" + payload
return payload
diff --git a/plugins/modules/rpm_ostree_pkg.py b/plugins/modules/rpm_ostree_pkg.py
index db084c9091..652801ca67 100644
--- a/plugins/modules/rpm_ostree_pkg.py
+++ b/plugins/modules/rpm_ostree_pkg.py
@@ -78,7 +78,7 @@ EXAMPLES = r"""
register: rpm_ostree_pkg
until: rpm_ostree_pkg is not failed
retries: 10
- dealy: 30
+ delay: 30
"""
RETURN = r"""
diff --git a/plugins/modules/wdc_redfish_command.py b/plugins/modules/wdc_redfish_command.py
index 680bd4b3f9..20afa8add1 100644
--- a/plugins/modules/wdc_redfish_command.py
+++ b/plugins/modules/wdc_redfish_command.py
@@ -17,6 +17,7 @@ description:
- Manages OOB controller firmware. For example, Firmware Activate, Update and Activate.
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
attributes:
check_mode:
support: full
@@ -87,6 +88,12 @@ options:
description:
- The password for retrieving the update image.
type: str
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
notes:
- In the inventory, you can specify baseuri or ioms. See the EXAMPLES section.
- Ioms is a list of FQDNs for the enclosure's IOMs.
@@ -195,6 +202,7 @@ msg:
"""
from ansible_collections.community.general.plugins.module_utils.wdc_redfish_utils import WdcRedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import REDFISH_COMMON_ARGUMENT_SPEC
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
@@ -213,26 +221,28 @@ CATEGORY_COMMANDS_ALL = {
def main():
- module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- ioms=dict(type='list', elements='str'),
- baseuri=dict(),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- update_creds=dict(
- type='dict',
- options=dict(
- username=dict(),
- password=dict(no_log=True)
- )
- ),
- resource_id=dict(),
- update_image_uri=dict(),
- timeout=dict(type='int', default=10)
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ ioms=dict(type='list', elements='str'),
+ baseuri=dict(),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ update_creds=dict(
+ type='dict',
+ options=dict(
+ username=dict(),
+ password=dict(no_log=True)
+ )
),
+ resource_id=dict(),
+ update_image_uri=dict(),
+ timeout=dict(type='int', default=10)
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
+ module = AnsibleModule(
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/wdc_redfish_info.py b/plugins/modules/wdc_redfish_info.py
index caaa9c7fd9..19a513c00d 100644
--- a/plugins/modules/wdc_redfish_info.py
+++ b/plugins/modules/wdc_redfish_info.py
@@ -17,6 +17,7 @@ description:
extends_documentation_fragment:
- community.general.attributes
- community.general.attributes.info_module
+ - community.general.redfish
options:
category:
required: true
@@ -55,6 +56,12 @@ options:
- Timeout in seconds for URL requests to OOB controller.
default: 10
type: int
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
notes:
- In the inventory, you can specify baseuri or ioms. See the EXAMPLES section.
@@ -118,6 +125,7 @@ StatusCode:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible_collections.community.general.plugins.module_utils.wdc_redfish_utils import WdcRedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import REDFISH_COMMON_ARGUMENT_SPEC
CATEGORY_COMMANDS_ALL = {
"Update": ["SimpleUpdateStatus"]
@@ -126,17 +134,19 @@ CATEGORY_COMMANDS_ALL = {
def main():
result = {}
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ ioms=dict(type='list', elements='str'),
+ baseuri=dict(),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ timeout=dict(type='int', default=10)
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- ioms=dict(type='list', elements='str'),
- baseuri=dict(),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- timeout=dict(type='int', default=10)
- ),
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/modules/xcc_redfish_command.py b/plugins/modules/xcc_redfish_command.py
index 509c70e4e9..8e5cbf7d3e 100644
--- a/plugins/modules/xcc_redfish_command.py
+++ b/plugins/modules/xcc_redfish_command.py
@@ -21,6 +21,7 @@ description:
- Supports performing an action using POST method.
extends_documentation_fragment:
- community.general.attributes
+ - community.general.redfish
attributes:
check_mode:
support: none
@@ -117,6 +118,12 @@ options:
description:
- The request body to patch or post.
type: dict
+ validate_certs:
+ version_added: 10.6.0
+ ca_path:
+ version_added: 10.6.0
+ ciphers:
+ version_added: 10.6.0
author: "Yuyan Pan (@panyy3)"
"""
@@ -297,7 +304,7 @@ redfish_facts:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
-from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils
+from ansible_collections.community.general.plugins.module_utils.redfish_utils import RedfishUtils, REDFISH_COMMON_ARGUMENT_SPEC
class XCCRedfishUtils(RedfishUtils):
@@ -678,34 +685,36 @@ CATEGORY_COMMANDS_ALL = {
def main():
result = {}
- module = AnsibleModule(
- argument_spec=dict(
- category=dict(required=True),
- command=dict(required=True, type='list', elements='str'),
- baseuri=dict(required=True),
- username=dict(),
- password=dict(no_log=True),
- auth_token=dict(no_log=True),
- timeout=dict(type='int', default=10),
- resource_id=dict(),
- virtual_media=dict(
- type='dict',
- options=dict(
- media_types=dict(type='list', elements='str', default=[]),
- image_url=dict(),
- inserted=dict(type='bool', default=True),
- write_protected=dict(type='bool', default=True),
- username=dict(),
- password=dict(no_log=True),
- transfer_protocol_type=dict(),
- transfer_method=dict(),
- )
- ),
- resource_uri=dict(),
- request_body=dict(
- type='dict',
- ),
+ argument_spec = dict(
+ category=dict(required=True),
+ command=dict(required=True, type='list', elements='str'),
+ baseuri=dict(required=True),
+ username=dict(),
+ password=dict(no_log=True),
+ auth_token=dict(no_log=True),
+ timeout=dict(type='int', default=10),
+ resource_id=dict(),
+ virtual_media=dict(
+ type='dict',
+ options=dict(
+ media_types=dict(type='list', elements='str', default=[]),
+ image_url=dict(),
+ inserted=dict(type='bool', default=True),
+ write_protected=dict(type='bool', default=True),
+ username=dict(),
+ password=dict(no_log=True),
+ transfer_protocol_type=dict(),
+ transfer_method=dict(),
+ )
),
+ resource_uri=dict(),
+ request_body=dict(
+ type='dict',
+ ),
+ )
+ argument_spec.update(REDFISH_COMMON_ARGUMENT_SPEC)
+ module = AnsibleModule(
+ argument_spec,
required_together=[
('username', 'password'),
],
diff --git a/plugins/plugin_utils/ansible_type.py b/plugins/plugin_utils/ansible_type.py
index ab78b78927..53348ba0f4 100644
--- a/plugins/plugin_utils/ansible_type.py
+++ b/plugins/plugin_utils/ansible_type.py
@@ -8,17 +8,31 @@ __metaclass__ = type
from ansible.errors import AnsibleFilterError
from ansible.module_utils.common._collections_compat import Mapping
+try:
+ # Introduced with Data Tagging (https://github.com/ansible/ansible/pull/84621):
+ from ansible.module_utils.datatag import native_type_name as _native_type_name
+except ImportError:
+ _native_type_name = None
-def _atype(data, alias):
+
+def _atype(data, alias, *, use_native_type: bool = False):
"""
Returns the name of the type class.
"""
- data_type = type(data).__name__
+ if use_native_type and _native_type_name:
+ data_type = _native_type_name(data)
+ else:
+ data_type = type(data).__name__
+ # The following types were introduced with Data Tagging (https://github.com/ansible/ansible/pull/84621):
+ if data_type == "_AnsibleLazyTemplateDict":
+ data_type = "dict"
+ elif data_type == "_AnsibleLazyTemplateList":
+ data_type = "list"
return alias.get(data_type, data_type)
-def _ansible_type(data, alias):
+def _ansible_type(data, alias, *, use_native_type: bool = False):
"""
Returns the Ansible data type.
"""
@@ -30,16 +44,16 @@ def _ansible_type(data, alias):
msg = "The argument alias must be a dictionary. %s is %s"
raise AnsibleFilterError(msg % (alias, type(alias)))
- data_type = _atype(data, alias)
+ data_type = _atype(data, alias, use_native_type=use_native_type)
if data_type == 'list' and len(data) > 0:
- items = [_atype(i, alias) for i in data]
+ items = [_atype(i, alias, use_native_type=use_native_type) for i in data]
items_type = '|'.join(sorted(set(items)))
return ''.join((data_type, '[', items_type, ']'))
if data_type == 'dict' and len(data) > 0:
- keys = [_atype(i, alias) for i in data.keys()]
- vals = [_atype(i, alias) for i in data.values()]
+ keys = [_atype(i, alias, use_native_type=use_native_type) for i in data.keys()]
+ vals = [_atype(i, alias, use_native_type=use_native_type) for i in data.values()]
keys_type = '|'.join(sorted(set(keys)))
vals_type = '|'.join(sorted(set(vals)))
return ''.join((data_type, '[', keys_type, ', ', vals_type, ']'))
diff --git a/plugins/test/ansible_type.py b/plugins/test/ansible_type.py
index 9ac5e138eb..f7c004f33f 100644
--- a/plugins/test/ansible_type.py
+++ b/plugins/test/ansible_type.py
@@ -28,30 +28,36 @@ DOCUMENTATION = '''
EXAMPLES = '''
-# Substitution converts str to AnsibleUnicode
-# -------------------------------------------
+# Substitution converts str to AnsibleUnicode or _AnsibleTaggedStr
+# ----------------------------------------------------------------
-# String. AnsibleUnicode.
-dtype: AnsibleUnicode
+# String. AnsibleUnicode or _AnsibleTaggedStr.
+dtype:
+ - AnsibleUnicode
+ - _AnsibleTaggedStr
data: "abc"
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
-# String. AnsibleUnicode alias str.
-alias: {"AnsibleUnicode": "str"}
+# String. AnsibleUnicode/_AnsibleTaggedStr alias str.
+alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str"}
dtype: str
data: "abc"
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
-# List. All items are AnsibleUnicode.
-dtype: list[AnsibleUnicode]
+# List. All items are AnsibleUnicode/_AnsibleTaggedStr.
+dtype:
+ - list[AnsibleUnicode]
+ - list[_AnsibleTaggedStr]
data: ["a", "b", "c"]
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
-# Dictionary. All keys are AnsibleUnicode. All values are AnsibleUnicode.
-dtype: dict[AnsibleUnicode, AnsibleUnicode]
+# Dictionary. All keys and values are AnsibleUnicode/_AnsibleTaggedStr.
+dtype:
+ - dict[AnsibleUnicode, AnsibleUnicode]
+ - dict[_AnsibleTaggedStr, _AnsibleTaggedStr]
data: {"a": "foo", "b": "bar", "c": "baz"}
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
@@ -99,32 +105,46 @@ dtype: dict[str, int]
result: '{{ {"a": 1, "b": 2} is community.general.ansible_type(dtype) }}'
# result => true
-# Type of strings is AnsibleUnicode or str
-# ----------------------------------------
+# Type of strings is AnsibleUnicode, _AnsibleTaggedStr, or str
+# ------------------------------------------------------------
# Dictionary. The keys are integers or strings. All values are strings.
-alias: {"AnsibleUnicode": "str"}
+alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
dtype: dict[int|str, str]
data: {1: 'a', 'b': 'b'}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
# Dictionary. All keys are integers. All values are keys.
-alias: {"AnsibleUnicode": "str"}
+alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
dtype: dict[int, str]
data: {1: 'a', 2: 'b'}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
# Dictionary. All keys are strings. Multiple types values.
-alias: {"AnsibleUnicode": "str"}
+alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
+ _AnsibleTaggedFloat: float
dtype: dict[str, bool|dict|float|int|list|str]
data: {'a': 1, 'b': 1.1, 'c': 'abc', 'd': True, 'e': ['x', 'y', 'z'], 'f': {'x': 1, 'y': 2}}
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
# List. Multiple types items.
-alias: {"AnsibleUnicode": "str"}
+alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
+ _AnsibleTaggedFloat: float
dtype: list[bool|dict|float|int|list|str]
data: [1, 2, 1.1, 'abc', True, ['x', 'y', 'z'], {'x': 1, 'y': 2}]
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
@@ -133,20 +153,20 @@ result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# Option dtype is list
# --------------------
-# AnsibleUnicode or str
-dtype: ['AnsibleUnicode', 'str']
+# AnsibleUnicode, _AnsibleTaggedStr, or str
+dtype: ['AnsibleUnicode', '_AnsibleTaggedStr', 'str']
data: abc
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
# float or int
-dtype: ['float', 'int']
+dtype: ['float', 'int', "_AnsibleTaggedInt", "_AnsibleTaggedFloat"]
data: 123
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
# float or int
-dtype: ['float', 'int']
+dtype: ['float', 'int', "_AnsibleTaggedInt", "_AnsibleTaggedFloat"]
data: 123.45
result: '{{ data is community.general.ansible_type(dtype) }}'
# result => true
@@ -155,14 +175,22 @@ result: '{{ data is community.general.ansible_type(dtype) }}'
# --------------
# int alias number
-alias: {"int": "number", "float": "number"}
+alias:
+ int: number
+ float: number
+ _AnsibleTaggedInt: number
+ _AnsibleTaggedFloat: float
dtype: number
data: 123
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
# result => true
# float alias number
-alias: {"int": "number", "float": "number"}
+alias:
+ int: number
+ float: number
+ _AnsibleTaggedInt: number
+ _AnsibleTaggedFloat: float
dtype: number
data: 123.45
result: '{{ data is community.general.ansible_type(dtype, alias) }}'
@@ -192,6 +220,7 @@ def ansible_type(data, dtype, alias=None):
else:
data_types = dtype
+ # TODO: expose use_native_type parameter
return _ansible_type(data, alias) in data_types
diff --git a/tests/integration/targets/callback_log_plays/runme.sh b/tests/integration/targets/callback_log_plays/runme.sh
index 88eea16266..54e1c1938f 100755
--- a/tests/integration/targets/callback_log_plays/runme.sh
+++ b/tests/integration/targets/callback_log_plays/runme.sh
@@ -17,5 +17,5 @@ ansible-playbook ping_log.yml -v "$@"
# now force it to fail
export ANSIBLE_LOG_FOLDER="logit.file"
touch "${ANSIBLE_LOG_FOLDER}"
-ansible-playbook ping_log.yml -v "$@" 2>&1| grep 'Failure using method (v2_runner_on_ok) in callback plugin'
+ansible-playbook ping_log.yml -v "$@" 2>&1| grep -E "(Failure using method \(v2_runner_on_ok\) in callback plugin|Callback dispatch 'v2_runner_on_ok' failed for plugin)"
[[ ! -f "${ANSIBLE_LOG_FOLDER}/localhost" ]]
diff --git a/tests/integration/targets/callback_yaml/tasks/main.yml b/tests/integration/targets/callback_yaml/tasks/main.yml
index f3c36663da..a66892e0f0 100644
--- a/tests/integration/targets/callback_yaml/tasks/main.yml
+++ b/tests/integration/targets/callback_yaml/tasks/main.yml
@@ -67,7 +67,7 @@
ANSIBLE_NOCOLOR: 'true'
ANSIBLE_FORCE_COLOR: 'false'
ANSIBLE_STDOUT_CALLBACK: community.general.yaml
- playbook: |
+ playbook: !unsafe |
- hosts: testhost
gather_facts: false
vars:
@@ -78,9 +78,7 @@
tasks:
- name: Test to_yaml
debug:
- msg: "{{ '{{' }}'{{ '{{' }}'{{ '}}' }} data | to_yaml {{ '{{' }}'{{ '}}' }}'{{ '}}' }}"
- # The above should be: msg: "{{ data | to_yaml }}"
- # Unfortunately, the way Ansible handles templating, we need to do some funny 'escaping' tricks...
+ msg: "{{ data | to_yaml }}"
expected_output: [
"",
"PLAY [testhost] ****************************************************************",
diff --git a/tests/integration/targets/cmd_runner/action_plugins/_unsafe_assert.py b/tests/integration/targets/cmd_runner/action_plugins/_unsafe_assert.py
index 498e8258d0..a25e8aa38c 100644
--- a/tests/integration/targets/cmd_runner/action_plugins/_unsafe_assert.py
+++ b/tests/integration/targets/cmd_runner/action_plugins/_unsafe_assert.py
@@ -9,6 +9,12 @@ from ansible.errors import AnsibleError
from ansible.playbook.conditional import Conditional
from ansible.plugins.action import ActionBase
+try:
+ from ansible.utils.datatag import trust_value as _trust_value
+except ImportError:
+ def _trust_value(input):
+ return input
+
class ActionModule(ActionBase):
''' Fail with custom message '''
@@ -36,12 +42,16 @@ class ActionModule(ActionBase):
thats = self._task.args['that']
- cond = Conditional(loader=self._loader)
result['_ansible_verbose_always'] = True
for that in thats:
- cond.when = [str(self._make_safe(that))]
- test_result = cond.evaluate_conditional(templar=self._templar, all_vars=task_vars)
+ if hasattr(self._templar, 'evaluate_conditional'):
+ trusted_that = _trust_value(that) if _trust_value else that
+ test_result = self._templar.evaluate_conditional(conditional=trusted_that)
+ else:
+ cond = Conditional(loader=self._loader)
+ cond.when = [str(self._make_safe(that))]
+ test_result = cond.evaluate_conditional(templar=self._templar, all_vars=task_vars)
if not test_result:
result['failed'] = True
result['evaluated_to'] = test_result
diff --git a/tests/integration/targets/filter_reveal_ansible_type/tasks/tasks.yml b/tests/integration/targets/filter_reveal_ansible_type/tasks/tasks.yml
index 528c01addb..79b42ff7b2 100644
--- a/tests/integration/targets/filter_reveal_ansible_type/tasks/tasks.yml
+++ b/tests/integration/targets/filter_reveal_ansible_type/tasks/tasks.yml
@@ -2,53 +2,60 @@
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
-# Substitution converts str to AnsibleUnicode
-# -------------------------------------------
+# Substitution converts str to AnsibleUnicode/_AnsibleTaggedStr
+# -------------------------------------------------------------
-- name: String. AnsibleUnicode.
+- name: String. AnsibleUnicode/_AnsibleTaggedStr.
assert:
- that: result == dtype
- success_msg: '"abc" is {{ dtype }}'
- fail_msg: '"abc" is {{ result }}'
+ that: result in dtype
+ success_msg: '"abc" is one of {{ dtype }}'
+ fail_msg: '"abc" is {{ result }}, not one of {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
data: "abc"
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: 'AnsibleUnicode'
+ dtype:
+ - 'AnsibleUnicode'
+ - '_AnsibleTaggedStr'
-- name: String. AnsibleUnicode alias str.
+- name: String. AnsibleUnicode/_AnsibleTaggedStr alias str.
assert:
- that: result == dtype
- success_msg: '"abc" is {{ dtype }}'
- fail_msg: '"abc" is {{ result }}'
+ that: result in dtype
+ success_msg: '"abc" is one of {{ dtype }}'
+ fail_msg: '"abc" is {{ result }}, not one of {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str"}
data: "abc"
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
- dtype: 'str'
+ dtype:
+ - 'str'
-- name: List. All items are AnsibleUnicode.
+- name: List. All items are AnsibleUnicode/_AnsibleTaggedStr.
assert:
- that: result == dtype
- success_msg: '["a", "b", "c"] is {{ dtype }}'
- fail_msg: '["a", "b", "c"] is {{ result }}'
+ that: result in dtype
+ success_msg: '["a", "b", "c"] is one of {{ dtype }}'
+ fail_msg: '["a", "b", "c"] is {{ result }}, not one of {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
data: ["a", "b", "c"]
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: 'list[AnsibleUnicode]'
+ dtype:
+ - 'list[AnsibleUnicode]'
+ - 'list[_AnsibleTaggedStr]'
-- name: Dictionary. All keys are AnsibleUnicode. All values are AnsibleUnicode.
+- name: Dictionary. All keys and values are AnsibleUnicode/_AnsibleTaggedStr.
assert:
- that: result == dtype
- success_msg: '{"a": "foo", "b": "bar", "c": "baz"} is {{ dtype }}'
- fail_msg: '{"a": "foo", "b": "bar", "c": "baz"} is {{ result }}'
+ that: result in dtype
+ success_msg: '{"a": "foo", "b": "bar", "c": "baz"} is one of {{ dtype }}'
+ fail_msg: '{"a": "foo", "b": "bar", "c": "baz"} is {{ result }}, not one of {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
data: {"a": "foo", "b": "bar", "c": "baz"}
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: 'dict[AnsibleUnicode, AnsibleUnicode]'
+ dtype:
+ - 'dict[AnsibleUnicode, AnsibleUnicode]'
+ - 'dict[_AnsibleTaggedStr, _AnsibleTaggedStr]'
# No substitution and no alias. Type of strings is str
# ----------------------------------------------------
@@ -57,7 +64,7 @@
assert:
that: result == dtype
success_msg: '"abc" is {{ dtype }}'
- fail_msg: '"abc" is {{ result }}'
+ fail_msg: '"abc" is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ "abc" | community.general.reveal_ansible_type }}'
@@ -67,7 +74,7 @@
assert:
that: result == dtype
success_msg: '123 is {{ dtype }}'
- fail_msg: '123 is {{ result }}'
+ fail_msg: '123 is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ 123 | community.general.reveal_ansible_type }}'
@@ -77,7 +84,7 @@
assert:
that: result == dtype
success_msg: '123.45 is {{ dtype }}'
- fail_msg: '123.45 is {{ result }}'
+ fail_msg: '123.45 is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ 123.45 | community.general.reveal_ansible_type }}'
@@ -87,7 +94,7 @@
assert:
that: result == dtype
success_msg: 'true is {{ dtype }}'
- fail_msg: 'true is {{ result }}'
+ fail_msg: 'true is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ true | community.general.reveal_ansible_type }}'
@@ -97,7 +104,7 @@
assert:
that: result == dtype
success_msg: '["a", "b", "c"] is {{ dtype }}'
- fail_msg: '["a", "b", "c"] is {{ result }}'
+ fail_msg: '["a", "b", "c"] is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ ["a", "b", "c"] | community.general.reveal_ansible_type }}'
@@ -107,7 +114,7 @@
assert:
that: result == dtype
success_msg: '[{"a": 1}, {"b": 2}] is {{ dtype }}'
- fail_msg: '[{"a": 1}, {"b": 2}] is {{ result }}'
+ fail_msg: '[{"a": 1}, {"b": 2}] is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ [{"a": 1}, {"b": 2}] | community.general.reveal_ansible_type }}'
@@ -117,7 +124,7 @@
assert:
that: result == dtype
success_msg: '{"a": 1} is {{ dtype }}'
- fail_msg: '{"a": 1} is {{ result }}'
+ fail_msg: '{"a": 1} is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ {"a": 1} | community.general.reveal_ansible_type }}'
@@ -127,23 +134,23 @@
assert:
that: result == dtype
success_msg: '{"a": 1, "b": 2} is {{ dtype }}'
- fail_msg: '{"a": 1, "b": 2} is {{ result }}'
+ fail_msg: '{"a": 1, "b": 2} is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
result: '{{ {"a": 1, "b": 2} | community.general.reveal_ansible_type }}'
dtype: dict[str, int]
-# Type of strings is AnsibleUnicode or str
-# ----------------------------------------
+# Type of strings is AnsibleUnicode/_AnsibleTaggedStr or str
+# ----------------------------------------------------------
- name: Dictionary. The keys are integers or strings. All values are strings.
assert:
that: result == dtype
success_msg: 'data is {{ dtype }}'
- fail_msg: 'data is {{ result }}'
+ fail_msg: 'data is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str", "_AnsibleTaggedInt": "int"}
data: {1: 'a', 'b': 'b'}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: dict[int|str, str]
@@ -152,10 +159,10 @@
assert:
that: result == dtype
success_msg: 'data is {{ dtype }}'
- fail_msg: 'data is {{ result }}'
+ fail_msg: 'data is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str", "_AnsibleTaggedInt": "int"}
data: {1: 'a', 2: 'b'}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: dict[int, str]
@@ -164,10 +171,10 @@
assert:
that: result == dtype
success_msg: 'data is {{ dtype }}'
- fail_msg: 'data is {{ result }}'
+ fail_msg: 'data is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str", "_AnsibleTaggedInt": "int", "_AnsibleTaggedFloat": "float"}
data: {'a': 1, 'b': 1.1, 'c': 'abc', 'd': True, 'e': ['x', 'y', 'z'], 'f': {'x': 1, 'y': 2}}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: dict[str, bool|dict|float|int|list|str]
@@ -176,10 +183,10 @@
assert:
that: result == dtype
success_msg: 'data is {{ dtype }}'
- fail_msg: 'data is {{ result }}'
+ fail_msg: 'data is {{ result }}, not {{ dtype }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str", "_AnsibleTaggedInt": "int", "_AnsibleTaggedFloat": "float"}
data: [1, 2, 1.1, 'abc', True, ['x', 'y', 'z'], {'x': 1, 'y': 2}]
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: list[bool|dict|float|int|list|str]
diff --git a/tests/integration/targets/gitlab_project_members/defaults/main.yml b/tests/integration/targets/gitlab_project_members/defaults/main.yml
index 72d5a68f15..47062478a8 100644
--- a/tests/integration/targets/gitlab_project_members/defaults/main.yml
+++ b/tests/integration/targets/gitlab_project_members/defaults/main.yml
@@ -16,3 +16,5 @@ dedicated_access_users:
access_level: "developer"
- name: username2
access_level: "maintainer"
+ - name: username3
+ access_level: "owner"
diff --git a/tests/integration/targets/gitlab_project_members/tasks/main.yml b/tests/integration/targets/gitlab_project_members/tasks/main.yml
index 215abad44f..d08896f239 100644
--- a/tests/integration/targets/gitlab_project_members/tasks/main.yml
+++ b/tests/integration/targets/gitlab_project_members/tasks/main.yml
@@ -10,7 +10,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Install required library
- pip:
+ ansible.builtin.pip:
name: python-gitlab
state: present
@@ -20,6 +20,7 @@
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
+ access_level: "{{ gitlab_access_level }}"
state: absent
- name: Add a User to A GitLab Project
@@ -58,6 +59,7 @@
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
+ access_level: "{{ gitlab_access_level }}"
state: absent
register: remove_gitlab_project_members_state
@@ -72,6 +74,7 @@
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
+ access_level: "{{ gitlab_access_level }}"
state: absent
register: remove_gitlab_project_members_state_again
@@ -90,15 +93,16 @@
state: present
- name: Remove a list of Users to A GitLab Project
- community.general.gitlab_project_members::
+ community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ userlist }}"
+ access_level: "{{ gitlab_access_level }}"
state: absent
- name: Add a list of Users with Dedicated Access Levels to A GitLab Project
- community.general.gitlab_project_members::
+ community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
@@ -106,7 +110,7 @@
state: present
- name: Remove a list of Users with Dedicated Access Levels to A GitLab Project
- community.general.gitlab_project_members::
+ community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
@@ -114,11 +118,11 @@
state: absent
- name: Add a user, remove all others which might be on this access level
- community.general.gitlab_project_members::
+ community.general.gitlab_project_members:
api_url: "{{ gitlab_server_url }}"
api_token: "{{ gitlab_api_access_token }}"
project: "{{ gitlab_project }}"
gitlab_user: "{{ username }}"
access_level: "{{ gitlab_access_level }}"
- pruge_users: "{{ gitlab_access_level }}"
+ purge_users: "{{ gitlab_access_level }}"
state: present
diff --git a/tests/integration/targets/java_cert/tasks/main.yml b/tests/integration/targets/java_cert/tasks/main.yml
index 25ec87e8f9..f572f22ee2 100644
--- a/tests/integration/targets/java_cert/tasks/main.yml
+++ b/tests/integration/targets/java_cert/tasks/main.yml
@@ -10,7 +10,6 @@
- when: has_java_keytool
block:
-
- name: prep pkcs12 file
ansible.builtin.copy:
src: "{{ test_pkcs12_path }}"
@@ -33,6 +32,21 @@
that:
- result_success is successful
+ - name: import pkcs12 without alias params
+ community.general.java_cert:
+ pkcs12_path: "{{ remote_tmp_dir }}/{{ test_pkcs12_path }}"
+ pkcs12_password: changeit
+ keystore_path: "{{ remote_tmp_dir }}/{{ test_keystore_path }}"
+ keystore_pass: changeme_keystore
+ keystore_create: true
+ state: present
+ register: result_success_excl_aliases
+
+ - name: verify success
+ ansible.builtin.assert:
+ that:
+ - result_success_excl_aliases is successful
+
- name: import pkcs12 with wrong password
community.general.java_cert:
pkcs12_path: "{{ remote_tmp_dir }}/{{ test_pkcs12_path }}"
diff --git a/tests/integration/targets/module_helper/tasks/mdepfail.yml b/tests/integration/targets/module_helper/tasks/mdepfail.yml
index 1655be54e3..f0be8340e3 100644
--- a/tests/integration/targets/module_helper/tasks/mdepfail.yml
+++ b/tests/integration/targets/module_helper/tasks/mdepfail.yml
@@ -8,11 +8,15 @@
ignore_errors: true
register: result
+- name: Show results
+ debug:
+ var: result
+
- name: assert failing dependency
assert:
that:
- result is failed
- '"Failed to import" in result.msg'
- '"nopackagewiththisname" in result.msg'
- - '"ModuleNotFoundError:" in result.exception or "ImportError:" in result.exception'
- - '"nopackagewiththisname" in result.exception'
+ - '"ModuleNotFoundError:" in result.exception or "ImportError:" in result.exception or "(traceback unavailable)" in result.exception'
+ - '"nopackagewiththisname" in result.exception or "(traceback unavailable)" in result.exception'
diff --git a/tests/integration/targets/module_helper/tasks/msimpleda.yml b/tests/integration/targets/module_helper/tasks/msimpleda.yml
index e01b65e12c..5fe727ca5e 100644
--- a/tests/integration/targets/module_helper/tasks/msimpleda.yml
+++ b/tests/integration/targets/module_helper/tasks/msimpleda.yml
@@ -3,15 +3,19 @@
# SPDX-License-Identifier: GPL-3.0-or-later
- set_fact:
- attr2_d:
+ attr2_depr_dict:
msg: Attribute attr2 is deprecated
version: 9.9.9
collection_name: community.general
- attr2_d_29:
+ # With Data Tagging, the deprecation dict looks a bit different:
+ attr2_depr_dict_dt:
msg: Attribute attr2 is deprecated
version: 9.9.9
-- set_fact:
- attr2_depr_dict: "{{ ((ansible_version.major, ansible_version.minor) < (2, 10))|ternary(attr2_d_29, attr2_d) }}"
+ plugin:
+ requested_name: msimpleda
+ resolved_name: msimpleda
+ type: module
+ collection_name: null # should be "community.general"; this will hopefully change back because this seriously sucks
- name: test msimpleda 1
msimpleda:
@@ -23,17 +27,21 @@
that:
- simple1.a == 1
- simple1.attr1 == "abc"
- - ("deprecations" not in simple1) or attr2_depr_dict not in simple1.deprecations
+ - ("deprecations" not in simple1) or (attr2_depr_dict not in simple1.deprecations and attr2_depr_dict_dt not in simple1.deprecations)
- name: test msimpleda 2
msimpleda:
a: 2
register: simple2
+- name: Show results
+ debug:
+ var: simple2
+
- name: assert simple2
assert:
that:
- simple2.a == 2
- simple2.attr2 == "def"
- '"deprecations" in simple2'
- - attr2_depr_dict in simple2.deprecations
+ - attr2_depr_dict in simple2.deprecations or attr2_depr_dict_dt in simple2.deprecations
diff --git a/tests/integration/targets/test_ansible_type/tasks/tasks.yml b/tests/integration/targets/test_ansible_type/tasks/tasks.yml
index d962838106..eb1ba2ec66 100644
--- a/tests/integration/targets/test_ansible_type/tasks/tasks.yml
+++ b/tests/integration/targets/test_ansible_type/tasks/tasks.yml
@@ -14,7 +14,9 @@
vars:
data: "abc"
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: 'AnsibleUnicode'
+ dtype:
+ - 'AnsibleUnicode'
+ - '_AnsibleTaggedStr'
- name: String. AnsibleUnicode alias str.
assert:
@@ -23,7 +25,7 @@
fail_msg: '"abc" is {{ result }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias: {"AnsibleUnicode": "str", "_AnsibleTaggedStr": "str"}
data: "abc"
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: 'str'
@@ -37,7 +39,9 @@
vars:
data: ["a", "b", "c"]
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: 'list[AnsibleUnicode]'
+ dtype:
+ - 'list[AnsibleUnicode]'
+ - 'list[_AnsibleTaggedStr]'
- name: Dictionary. All keys are AnsibleUnicode. All values are AnsibleUnicode.
assert:
@@ -48,7 +52,9 @@
vars:
data: {"a": "foo", "b": "bar", "c": "baz"}
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: 'dict[AnsibleUnicode, AnsibleUnicode]'
+ dtype:
+ - 'dict[AnsibleUnicode, AnsibleUnicode]'
+ - 'dict[_AnsibleTaggedStr, _AnsibleTaggedStr]'
# No substitution and no alias. Type of strings is str
# ----------------------------------------------------
@@ -143,7 +149,10 @@
fail_msg: '{"1": "a", "b": "b"} is {{ result }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
data: {1: 'a', 'b': 'b'}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: dict[int|str, str]
@@ -155,7 +164,10 @@
fail_msg: '{"1": "a", "2": "b"} is {{ result }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
data: {1: 'a', 2: 'b'}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: dict[int, str]
@@ -167,7 +179,11 @@
fail_msg: '{"a": 1, "b": 1.1, "c": "abc", "d": true, "e": ["x", "y", "z"], "f": {"x": 1, "y": 2}} is {{ result }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
+ _AnsibleTaggedFloat: float
data: {'a': 1, 'b': 1.1, 'c': 'abc', 'd': True, 'e': ['x', 'y', 'z'], 'f': {'x': 1, 'y': 2}}
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: dict[str, bool|dict|float|int|list|str]
@@ -179,7 +195,11 @@
fail_msg: '[1, 2, 1.1, "abc", true, ["x", "y", "z"], {"x": 1, "y": 2}] is {{ result }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"AnsibleUnicode": "str"}
+ alias:
+ AnsibleUnicode: str
+ _AnsibleTaggedStr: str
+ _AnsibleTaggedInt: int
+ _AnsibleTaggedFloat: float
data: [1, 2, 1.1, 'abc', True, ['x', 'y', 'z'], {'x': 1, 'y': 2}]
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: list[bool|dict|float|int|list|str]
@@ -196,7 +216,10 @@
vars:
data: abc
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: ['AnsibleUnicode', 'str']
+ dtype:
+ - 'AnsibleUnicode'
+ - '_AnsibleTaggedStr'
+ - 'str'
- name: float or int
assert:
@@ -207,7 +230,11 @@
vars:
data: 123
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: ['float', 'int']
+ dtype:
+ - 'float'
+ - 'int'
+ - '_AnsibleTaggedInt'
+ - '_AnsibleTaggedFloat'
- name: float or int
assert:
@@ -218,7 +245,11 @@
vars:
data: 123.45
result: '{{ data | community.general.reveal_ansible_type }}'
- dtype: ['float', 'int']
+ dtype:
+ - 'float'
+ - 'int'
+ - '_AnsibleTaggedInt'
+ - '_AnsibleTaggedFloat'
# Multiple alias
# --------------
@@ -230,7 +261,11 @@
fail_msg: '123 is {{ result }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"int": "number", "float": "number"}
+ alias:
+ int: number
+ float: number
+ _AnsibleTaggedInt: number
+ _AnsibleTaggedFloat: number
data: 123
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: number
@@ -242,7 +277,11 @@
fail_msg: '123.45 is {{ result }}'
quiet: '{{ quiet_test | default(true) | bool }}'
vars:
- alias: {"int": "number", "float": "number"}
+ alias:
+ int: number
+ float: number
+ _AnsibleTaggedInt: number
+ _AnsibleTaggedFloat: number
data: 123.45
result: '{{ data | community.general.reveal_ansible_type(alias) }}'
dtype: number
diff --git a/tests/unit/plugins/modules/test_nmcli.py b/tests/unit/plugins/modules/test_nmcli.py
index 45875cb15b..614c58a842 100644
--- a/tests/unit/plugins/modules/test_nmcli.py
+++ b/tests/unit/plugins/modules/test_nmcli.py
@@ -4485,8 +4485,10 @@ def test_bond_connection_unchanged(mocked_generic_connection_diff_check, capfd):
macvlan=dict(type='dict'),
wireguard=dict(type='dict'),
vpn=dict(type='dict'),
- transport_mode=dict(type='str', choices=['datagram', 'connected']),
sriov=dict(type='dict'),
+ # infiniband specific vars
+ transport_mode=dict(type='str', choices=['datagram', 'connected']),
+ infiniband_mac=dict(type='str'),
),
mutually_exclusive=[['never_default4', 'gw4'],
['routes4_extended', 'routes4'],