1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-06-17 05:17:33 +00:00

Release 13.1.0.

This commit is contained in:
Felix Fontein 2026-06-16 18:08:24 +02:00
parent 44ead7f83c
commit 73be10786b
No known key found for this signature in database
GPG key ID: 1E60B8598833B166
34 changed files with 317 additions and 105 deletions

View file

@ -2,42 +2,116 @@
**Topics**
- <a href="#v13-0-1">v13\.0\.1</a>
- <a href="#v13-1-0">v13\.1\.0</a>
- <a href="#release-summary">Release Summary</a>
- <a href="#minor-changes">Minor Changes</a>
- <a href="#bugfixes">Bugfixes</a>
- <a href="#v13-0-0">v13\.0\.0</a>
- <a href="#new-plugins">New Plugins</a>
- <a href="#filter">Filter</a>
- <a href="#new-modules">New Modules</a>
- <a href="#v13-0-1">v13\.0\.1</a>
- <a href="#release-summary-1">Release Summary</a>
- <a href="#minor-changes-1">Minor Changes</a>
- <a href="#bugfixes-1">Bugfixes</a>
- <a href="#v13-0-0">v13\.0\.0</a>
- <a href="#release-summary-2">Release Summary</a>
- <a href="#minor-changes-2">Minor Changes</a>
- <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
- <a href="#deprecated-features">Deprecated Features</a>
- <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
- <a href="#bugfixes-1">Bugfixes</a>
- <a href="#new-plugins">New Plugins</a>
- <a href="#bugfixes-2">Bugfixes</a>
- <a href="#new-plugins-1">New Plugins</a>
- <a href="#callback">Callback</a>
- <a href="#filter">Filter</a>
- <a href="#new-modules">New Modules</a>
- <a href="#filter-1">Filter</a>
- <a href="#new-modules-1">New Modules</a>
This changelog describes changes after version 12\.0\.0\.
<a id="v13-0-1"></a>
## v13\.0\.1
<a id="v13-1-0"></a>
## v13\.1\.0
<a id="release-summary"></a>
### Release Summary
Bugfix release for inclusion in Ansible 14\.0\.0rc1\.
Regular bugfix and feature release\.
<a id="minor-changes"></a>
### Minor Changes
* consul\_kv lookup plugin \- add <code>empty\_value</code> option to control what is returned for null Consul values \([https\://github\.com/ansible\-collections/community\.general/issues/11039](https\://github\.com/ansible\-collections/community\.general/issues/11039)\, [https\://github\.com/ansible\-collections/community\.general/pull/12120](https\://github\.com/ansible\-collections/community\.general/pull/12120)\)\.
* dnf\_config\_manager \- lookup path to the <code>dnf</code> binary in <code>PATH</code>\. It used to be fixed to <code>/usr/bin/dnf</code> \([https\://github\.com/ansible\-collections/community\.general/pull/12219](https\://github\.com/ansible\-collections/community\.general/pull/12219)\)\.
* filesystem \- adds GFS2 support \([https\://github\.com/ansible\-collections/community\.general/pull/12285](https\://github\.com/ansible\-collections/community\.general/pull/12285)\)\.
* keycloak\_realm \- add <code>max\_secondary\_auth\_failures</code> parameter to configure brute force detection for secondary authentication mechanisms \([https\://github\.com/ansible\-collections/community\.general/pull/12087](https\://github\.com/ansible\-collections/community\.general/pull/12087)\)\.
* slack \- added support for uploading files to channels and threads using the new Slack WebAPI \([https\://github\.com/ansible\-collections/community\.general/pull/12032](https\://github\.com/ansible\-collections/community\.general/pull/12032)\)\.
* sudoers \- add <code>defaults</code> parameter to allow specifying <code>Defaults</code> directives scoped to the user or group in the generated sudoers file \([https\://github\.com/ansible\-collections/community\.general/pull/12186](https\://github\.com/ansible\-collections/community\.general/pull/12186)\)\.
* xbps \- include <code>stdout</code> and <code>stderr</code> from the last executed command in module output \([https\://github\.com/ansible\-collections/community\.general/issues/2478](https\://github\.com/ansible\-collections/community\.general/issues/2478)\, [https\://github\.com/ansible\-collections/community\.general/pull/12234](https\://github\.com/ansible\-collections/community\.general/pull/12234)\)\.
* xenserver\_guest\_info \- add VDI <code>uuid</code> and <code>vdi\_type</code> \(VHD/QCOW2\) fields to disk info output \([https\://github\.com/ansible\-collections/community\.general/issues/11998](https\://github\.com/ansible\-collections/community\.general/issues/11998)\, [https\://github\.com/ansible\-collections/community\.general/pull/12119](https\://github\.com/ansible\-collections/community\.general/pull/12119)\)\.
<a id="bugfixes"></a>
### Bugfixes
* aix\_devices \- fix <code>chdev</code> command failures being incorrectly reported as successful results\, now properly fails the task when device attribute changes cannot be applied \([https\://github\.com/ansible\-collections/community\.general/pull/12185](https\://github\.com/ansible\-collections/community\.general/pull/12185)\)\.
* composer \- the <code>\-\-working\-dir</code> option is now always placed first on the command line\, before the subcommand\, to ensure consistent behavior across all composer commands \([https\://github\.com/ansible\-collections/community\.general/issues/5204](https\://github\.com/ansible\-collections/community\.general/issues/5204)\, [https\://github\.com/ansible\-collections/community\.general/pull/12084](https\://github\.com/ansible\-collections/community\.general/pull/12084)\)\.
* composer \- use file checksum to determine <code>changed</code> status when <code>command\=config</code>\, instead of relying on the command return output\. The module now compares SHA256 checksums of relevant configuration files \(<code>composer\.json</code>\, <code>auth\.json</code>\, or their global equivalents\) before and after running the command \([https\://github\.com/ansible\-collections/community\.general/pull/12084](https\://github\.com/ansible\-collections/community\.general/pull/12084)\)\.
* counter\_enabled callback \- fix missing output for looped tasks\, including tasks using <code>delegate\_to</code> \([https\://github\.com/ansible\-collections/community\.general/issues/8187](https\://github\.com/ansible\-collections/community\.general/issues/8187)\, [https\://github\.com/ansible\-collections/community\.general/pull/12067](https\://github\.com/ansible\-collections/community\.general/pull/12067)\)\.
* dnf\_config\_manager \- fix incompatibility with DNF5\. The module was crashing on systems with DNF5 due to CLI changes since DNF4 \([https\://github\.com/ansible\-collections/community\.general/issues/9127](https\://github\.com/ansible\-collections/community\.general/issues/9127)\, [https\://github\.com/ansible\-collections/community\.general/pull/12206](https\://github\.com/ansible\-collections/community\.general/pull/12206)\)\.
* filesystem \- handle BusyBox <code>blkid</code> output to correctly detect existing filesystems on systems like Alpine Linux \([https\://github\.com/ansible\-collections/community\.general/issues/7283](https\://github\.com/ansible\-collections/community\.general/issues/7283)\, [https\://github\.com/ansible\-collections/community\.general/pull/12235](https\://github\.com/ansible\-collections/community\.general/pull/12235)\)\.
* filetree lookup plugin \- raise <code>AnsibleLookupError</code> when the <code>exclude</code> option contains an invalid regular expression instead of an uncaught <code>re\.error</code> \([https\://github\.com/ansible\-collections/community\.general/pull/12140](https\://github\.com/ansible\-collections/community\.general/pull/12140)\)\.
* htpasswd \- fix <code>hash\_scheme</code> aliases and Apache\-compatible <code>bcrypt</code> hashes \([https\://github\.com/ansible\-collections/community\.general/issues/6135](https\://github\.com/ansible\-collections/community\.general/issues/6135)\, [https\://github\.com/ansible\-collections/community\.general/pull/12123](https\://github\.com/ansible\-collections/community\.general/pull/12123)\)\.
* incus connection plugin \- improve Windows PowerShell argv handling by stripping wrapper quotes from payload arguments for <code>\-enc</code>\, <code>\-encodedcommand</code>\, <code>\-command</code>\, <code>\-c</code>\, <code>\-file</code> and <code>\-f</code> \([https\://github\.com/ansible\-collections/community\.general/issues/12161](https\://github\.com/ansible\-collections/community\.general/issues/12161)\, [https\://github\.com/ansible\-collections/community\.general/pull/12158](https\://github\.com/ansible\-collections/community\.general/pull/12158)\)\.
* incus connection plugin \- return <code>stdout</code>/<code>stderr</code> as bytes instead of strings to restore compatibility with ansible\-core 2\.21 module execution \([https\://github\.com/ansible\-collections/community\.general/issues/12161](https\://github\.com/ansible\-collections/community\.general/issues/12161)\, [https\://github\.com/ansible\-collections/community\.general/pull/12158](https\://github\.com/ansible\-collections/community\.general/pull/12158)\)\.
* java\_cert \- detect silent <code>keytool</code> failures by verifying the import outcome after the command exits with <code>rc\=0</code> \([https\://github\.com/ansible\-collections/community\.general/issues/6685](https\://github\.com/ansible\-collections/community\.general/issues/6685)\, [https\://github\.com/ansible\-collections/community\.general/pull/12238](https\://github\.com/ansible\-collections/community\.general/pull/12238)\)\.
* java\_cert \- fix <code>NullPointerException</code> when importing from a PKCS12 file with a password on Java 8 \([https\://github\.com/ansible\-collections/community\.general/issues/3023](https\://github\.com/ansible\-collections/community\.general/issues/3023)\, [https\://github\.com/ansible\-collections/community\.general/pull/12151](https\://github\.com/ansible\-collections/community\.general/pull/12151)\)\.
* launchd \- fix <code>restarted</code> and <code>reloaded</code> states always reporting <code>changed\=False</code> \([https\://github\.com/ansible\-collections/community\.general/issues/6199](https\://github\.com/ansible\-collections/community\.general/issues/6199)\, [https\://github\.com/ansible\-collections/community\.general/pull/12122](https\://github\.com/ansible\-collections/community\.general/pull/12122)\)\.
* lxc\_container \- fix <code>create\_script</code> to accept a single tuple argument\, resolving a <code>TypeError</code> that silently prevented <code>container\_command</code> from being executed \([https\://github\.com/ansible\-collections/community\.general/issues/11360](https\://github\.com/ansible\-collections/community\.general/issues/11360)\, [https\://github\.com/ansible\-collections/community\.general/pull/12106](https\://github\.com/ansible\-collections/community\.general/pull/12106)\)\.
* opkg \- correctly set executable search path \([https\://github\.com/ansible\-collections/community\.general/pull/12182](https\://github\.com/ansible\-collections/community\.general/pull/12182)\)\.
* pamd \- handle non\-PAM lines such as authselect template directives without crashing \([https\://github\.com/ansible\-collections/community\.general/issues/5850](https\://github\.com/ansible\-collections/community\.general/issues/5850)\, [https\://github\.com/ansible\-collections/community\.general/pull/12137](https\://github\.com/ansible\-collections/community\.general/pull/12137)\)\.
* parted \- ignore MBR partition type codes \(for example <code>type\=8e</code>\) reported as flags by some parted builds \(for example on SUSE\)\, which cannot be managed via the <code>set</code> command \([https\://github\.com/ansible\-collections/community\.general/issues/6292](https\://github\.com/ansible\-collections/community\.general/issues/6292)\, [https\://github\.com/ansible\-collections/community\.general/pull/12121](https\://github\.com/ansible\-collections/community\.general/pull/12121)\)\.
* portage \- fix <code>depclean\: true</code> crashing with <code>AnsibleModule\.fail\_json\(\) missing 1 required positional argument\: \'msg\'</code> instead of reporting the actual emerge failure \([https\://github\.com/ansible\-collections/community\.general/pull/12168](https\://github\.com/ansible\-collections/community\.general/pull/12168)\)\.
* redfish\_config \- fix <code>KeyError\: \'ret\'</code> when <code>SetManagerNic</code> cannot find a matching NIC \([https\://github\.com/ansible\-collections/community\.general/issues/5892](https\://github\.com/ansible\-collections/community\.general/issues/5892)\, [https\://github\.com/ansible\-collections/community\.general/pull/12124](https\://github\.com/ansible\-collections/community\.general/pull/12124)\)\.
* udm\_dns\_record \- normalize IPv6 addresses in <code>data</code> to expanded form to fix idempotency \([https\://github\.com/ansible\-collections/community\.general/issues/317](https\://github\.com/ansible\-collections/community\.general/issues/317)\, [https\://github\.com/ansible\-collections/community\.general/pull/12149](https\://github\.com/ansible\-collections/community\.general/pull/12149)\)\.
* unixy callback \- handle missing <code>ansible\_host</code> in delegated vars when a task is delegated to a host without it set\, such as <code>localhost</code> \([https\://github\.com/ansible\-collections/community\.general/issues/12112](https\://github\.com/ansible\-collections/community\.general/issues/12112)\, [https\://github\.com/ansible\-collections/community\.general/pull/12113](https\://github\.com/ansible\-collections/community\.general/pull/12113)\)\.
* xenserver\_guest\_info \- use fallback chain for determining VDI format from <code>sm\_config</code> keys <code>image\-format</code>\, <code>vdi\_type</code>\, <code>type</code>\, defaulting to <code>raw</code> \([https\://github\.com/ansible\-collections/community\.general/pull/12119](https\://github\.com/ansible\-collections/community\.general/pull/12119)\, [https\://github\.com/ansible\-collections/community\.general/pull/12215](https\://github\.com/ansible\-collections/community\.general/pull/12215)\)\.
* xml \- preserve DOCTYPE declaration when writing modified XML files \([https\://github\.com/ansible\-collections/community\.general/issues/2762](https\://github\.com/ansible\-collections/community\.general/issues/2762)\, [https\://github\.com/ansible\-collections/community\.general/pull/12148](https\://github\.com/ansible\-collections/community\.general/pull/12148)\)\.
* zypper\_repository \- fix <code>enabled</code>\, <code>autorefresh</code>\, and <code>gpgcheck</code> module parameters being overridden by values read from a <code>\.repo</code> file \([https\://github\.com/ansible\-collections/community\.general/issues/8783](https\://github\.com/ansible\-collections/community\.general/issues/8783)\, [https\://github\.com/ansible\-collections/community\.general/pull/12022](https\://github\.com/ansible\-collections/community\.general/pull/12022)\)\.
<a id="new-plugins"></a>
### New Plugins
<a id="filter"></a>
#### Filter
* community\.general\.from\_toml \- Convert TOML string into dictionary\.
<a id="new-modules"></a>
### New Modules
* community\.general\.gitlab\_project\_approvals \- Manage project\-level merge request approvals settings on GitLab Server\.
* community\.general\.golang\_package \- Manage Go packages with <code>go install</code>\.
* community\.general\.google\_chat \- Send Google Chat notifications\.
* community\.general\.keycloak\_clientscope\_rolemappings \- Allows administration of Keycloak clientscope scope mappings to restrict the usage of certain roles to specific clientscopes\.
* community\.general\.keycloak\_realm\_users\_info \- Retrieve users from a Keycloak realm using the Keycloak API\.
* community\.general\.kopia\_repository \- Manage Kopia repository\.
* community\.general\.kopia\_repository\_info \- Gather information about a Kopia repository\.
<a id="v13-0-1"></a>
## v13\.0\.1
<a id="release-summary-1"></a>
### Release Summary
Bugfix release for inclusion in Ansible 14\.0\.0rc1\.
<a id="minor-changes-1"></a>
### Minor Changes
* homebrew\_services \- replace <code>NamedTuple</code> with dataclass \([https\://github\.com/ansible\-collections/community\.general/pull/12094](https\://github\.com/ansible\-collections/community\.general/pull/12094)\)\.
* one\_service \- replace function\-local <code>namedtuple</code> with module\-level dataclass \([https\://github\.com/ansible\-collections/community\.general/pull/12094](https\://github\.com/ansible\-collections/community\.general/pull/12094)\)\.
* one\_vm \- replace function\-local <code>namedtuple</code> with module\-level dataclass \([https\://github\.com/ansible\-collections/community\.general/pull/12094](https\://github\.com/ansible\-collections/community\.general/pull/12094)\)\.
* opennebula inventory plugin \- replace function\-local <code>namedtuple</code> with module\-level dataclass \([https\://github\.com/ansible\-collections/community\.general/pull/12094](https\://github\.com/ansible\-collections/community\.general/pull/12094)\)\.
* pacman \- replace <code>namedtuple</code> with dataclass for <code>VersionTuple</code> \([https\://github\.com/ansible\-collections/community\.general/pull/12094](https\://github\.com/ansible\-collections/community\.general/pull/12094)\)\.
<a id="bugfixes"></a>
<a id="bugfixes-1"></a>
### Bugfixes
* iptables\_state \- refactor code to avoid unnecessary unused variables and improve internal state handling \([https\://github\.com/ansible\-collections/community\.general/pull/12093](https\://github\.com/ansible\-collections/community\.general/pull/12093)\)\.
@ -48,12 +122,12 @@ Bugfix release for inclusion in Ansible 14\.0\.0rc1\.
<a id="v13-0-0"></a>
## v13\.0\.0
<a id="release-summary-1"></a>
<a id="release-summary-2"></a>
### Release Summary
This is release 13\.0\.0 of <code>community\.general</code>\, released on 2026\-05\-18\.
<a id="minor-changes-1"></a>
<a id="minor-changes-2"></a>
### Minor Changes
* ModuleHelper module utils \- allow to ignore specific exceptions in <code>module\_fails\_on\_exception</code> decorator \([https\://github\.com/ansible\-collections/community\.general/pull/11488](https\://github\.com/ansible\-collections/community\.general/pull/11488)\)\.
@ -696,7 +770,7 @@ This is release 13\.0\.0 of <code>community\.general</code>\, released on 2026\-
* spotinst\_aws\_elastigroup \- the module has been removed\. Use <code>spot\.cloud\_modules\.aws\_elastigroup</code> instead \([https\://github\.com/ansible\-collections/community\.general/pull/11834](https\://github\.com/ansible\-collections/community\.general/pull/11834)\)\.
* typetalk \- the module has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/11834](https\://github\.com/ansible\-collections/community\.general/pull/11834)\)\.
<a id="bugfixes-1"></a>
<a id="bugfixes-2"></a>
### Bugfixes
* \_filelock module utils \- add type hints\. Fix bug if <code>set\_lock\(\)</code> is called with <code>lock\_timeout\=None</code> \([https\://github\.com/ansible\-collections/community\.general/pull/11222](https\://github\.com/ansible\-collections/community\.general/pull/11222)\)\.
@ -1030,7 +1104,7 @@ This is release 13\.0\.0 of <code>community\.general</code>\, released on 2026\-
* zypper\_repository \- set <code>LANGUAGE</code> and <code>LC\_ALL</code> to <code>C</code> in <code>run\_command\(\)</code> calls to ensure locale\-independent output parsing \([https\://github\.com/ansible\-collections/community\.general/issues/11737](https\://github\.com/ansible\-collections/community\.general/issues/11737)\, [https\://github\.com/ansible\-collections/community\.general/pull/11777](https\://github\.com/ansible\-collections/community\.general/pull/11777)\)\.
* zypper\_repository\_info \- set <code>LANGUAGE</code> and <code>LC\_ALL</code> to <code>C</code> in <code>run\_command\(\)</code> calls to ensure locale\-independent output parsing \([https\://github\.com/ansible\-collections/community\.general/issues/11737](https\://github\.com/ansible\-collections/community\.general/issues/11737)\, [https\://github\.com/ansible\-collections/community\.general/pull/11782](https\://github\.com/ansible\-collections/community\.general/pull/11782)\)\.
<a id="new-plugins"></a>
<a id="new-plugins-1"></a>
### New Plugins
<a id="callback"></a>
@ -1038,12 +1112,12 @@ This is release 13\.0\.0 of <code>community\.general</code>\, released on 2026\-
* community\.general\.loganalytics\_ingestion \- Posts task results to an Azure Log Analytics workspace using the new Logs Ingestion API\.
<a id="filter"></a>
<a id="filter-1"></a>
#### Filter
* community\.general\.to\_toml \- Convert variable to TOML string\.
<a id="new-modules"></a>
<a id="new-modules-1"></a>
### New Modules
* community\.general\.file\_remove \- Remove files matching a pattern from a directory\.

View file

@ -6,6 +6,73 @@ Community General Release Notes
This changelog describes changes after version 12.0.0.
v13.1.0
=======
Release Summary
---------------
Regular bugfix and feature release.
Minor Changes
-------------
- consul_kv lookup plugin - add ``empty_value`` option to control what is returned for null Consul values (https://github.com/ansible-collections/community.general/issues/11039, https://github.com/ansible-collections/community.general/pull/12120).
- dnf_config_manager - lookup path to the ``dnf`` binary in ``PATH``. It used to be fixed to ``/usr/bin/dnf`` (https://github.com/ansible-collections/community.general/pull/12219).
- filesystem - adds GFS2 support (https://github.com/ansible-collections/community.general/pull/12285).
- keycloak_realm - add ``max_secondary_auth_failures`` parameter to configure brute force detection for secondary authentication mechanisms (https://github.com/ansible-collections/community.general/pull/12087).
- slack - added support for uploading files to channels and threads using the new Slack WebAPI (https://github.com/ansible-collections/community.general/pull/12032).
- sudoers - add ``defaults`` parameter to allow specifying ``Defaults`` directives scoped to the user or group in the generated sudoers file (https://github.com/ansible-collections/community.general/pull/12186).
- xbps - include ``stdout`` and ``stderr`` from the last executed command in module output (https://github.com/ansible-collections/community.general/issues/2478, https://github.com/ansible-collections/community.general/pull/12234).
- xenserver_guest_info - add VDI ``uuid`` and ``vdi_type`` (VHD/QCOW2) fields to disk info output (https://github.com/ansible-collections/community.general/issues/11998, https://github.com/ansible-collections/community.general/pull/12119).
Bugfixes
--------
- aix_devices - fix ``chdev`` command failures being incorrectly reported as successful results, now properly fails the task when device attribute changes cannot be applied (https://github.com/ansible-collections/community.general/pull/12185).
- composer - the ``--working-dir`` option is now always placed first on the command line, before the subcommand, to ensure consistent behavior across all composer commands (https://github.com/ansible-collections/community.general/issues/5204, https://github.com/ansible-collections/community.general/pull/12084).
- composer - use file checksum to determine ``changed`` status when ``command=config``, instead of relying on the command return output. The module now compares SHA256 checksums of relevant configuration files (``composer.json``, ``auth.json``, or their global equivalents) before and after running the command (https://github.com/ansible-collections/community.general/pull/12084).
- counter_enabled callback - fix missing output for looped tasks, including tasks using ``delegate_to`` (https://github.com/ansible-collections/community.general/issues/8187, https://github.com/ansible-collections/community.general/pull/12067).
- dnf_config_manager - fix incompatibility with DNF5. The module was crashing on systems with DNF5 due to CLI changes since DNF4 (https://github.com/ansible-collections/community.general/issues/9127, https://github.com/ansible-collections/community.general/pull/12206).
- filesystem - handle BusyBox ``blkid`` output to correctly detect existing filesystems on systems like Alpine Linux (https://github.com/ansible-collections/community.general/issues/7283, https://github.com/ansible-collections/community.general/pull/12235).
- filetree lookup plugin - raise ``AnsibleLookupError`` when the ``exclude`` option contains an invalid regular expression instead of an uncaught ``re.error`` (https://github.com/ansible-collections/community.general/pull/12140).
- htpasswd - fix ``hash_scheme`` aliases and Apache-compatible ``bcrypt`` hashes (https://github.com/ansible-collections/community.general/issues/6135, https://github.com/ansible-collections/community.general/pull/12123).
- incus connection plugin - improve Windows PowerShell argv handling by stripping wrapper quotes from payload arguments for ``-enc``, ``-encodedcommand``, ``-command``, ``-c``, ``-file`` and ``-f`` (https://github.com/ansible-collections/community.general/issues/12161, https://github.com/ansible-collections/community.general/pull/12158).
- incus connection plugin - return ``stdout``/``stderr`` as bytes instead of strings to restore compatibility with ansible-core 2.21 module execution (https://github.com/ansible-collections/community.general/issues/12161, https://github.com/ansible-collections/community.general/pull/12158).
- java_cert - detect silent ``keytool`` failures by verifying the import outcome after the command exits with ``rc=0`` (https://github.com/ansible-collections/community.general/issues/6685, https://github.com/ansible-collections/community.general/pull/12238).
- java_cert - fix ``NullPointerException`` when importing from a PKCS12 file with a password on Java 8 (https://github.com/ansible-collections/community.general/issues/3023, https://github.com/ansible-collections/community.general/pull/12151).
- launchd - fix ``restarted`` and ``reloaded`` states always reporting ``changed=False`` (https://github.com/ansible-collections/community.general/issues/6199, https://github.com/ansible-collections/community.general/pull/12122).
- lxc_container - fix ``create_script`` to accept a single tuple argument, resolving a ``TypeError`` that silently prevented ``container_command`` from being executed (https://github.com/ansible-collections/community.general/issues/11360, https://github.com/ansible-collections/community.general/pull/12106).
- opkg - correctly set executable search path (https://github.com/ansible-collections/community.general/pull/12182).
- pamd - handle non-PAM lines such as authselect template directives without crashing (https://github.com/ansible-collections/community.general/issues/5850, https://github.com/ansible-collections/community.general/pull/12137).
- parted - ignore MBR partition type codes (for example ``type=8e``) reported as flags by some parted builds (for example on SUSE), which cannot be managed via the ``set`` command (https://github.com/ansible-collections/community.general/issues/6292, https://github.com/ansible-collections/community.general/pull/12121).
- portage - fix ``depclean: true`` crashing with ``AnsibleModule.fail_json() missing 1 required positional argument: 'msg'`` instead of reporting the actual emerge failure (https://github.com/ansible-collections/community.general/pull/12168).
- redfish_config - fix ``KeyError: 'ret'`` when ``SetManagerNic`` cannot find a matching NIC (https://github.com/ansible-collections/community.general/issues/5892, https://github.com/ansible-collections/community.general/pull/12124).
- udm_dns_record - normalize IPv6 addresses in ``data`` to expanded form to fix idempotency (https://github.com/ansible-collections/community.general/issues/317, https://github.com/ansible-collections/community.general/pull/12149).
- unixy callback - handle missing ``ansible_host`` in delegated vars when a task is delegated to a host without it set, such as ``localhost`` (https://github.com/ansible-collections/community.general/issues/12112, https://github.com/ansible-collections/community.general/pull/12113).
- xenserver_guest_info - use fallback chain for determining VDI format from ``sm_config`` keys ``image-format``, ``vdi_type``, ``type``, defaulting to ``raw`` (https://github.com/ansible-collections/community.general/pull/12119, https://github.com/ansible-collections/community.general/pull/12215).
- xml - preserve DOCTYPE declaration when writing modified XML files (https://github.com/ansible-collections/community.general/issues/2762, https://github.com/ansible-collections/community.general/pull/12148).
- zypper_repository - fix ``enabled``, ``autorefresh``, and ``gpgcheck`` module parameters being overridden by values read from a ``.repo`` file (https://github.com/ansible-collections/community.general/issues/8783, https://github.com/ansible-collections/community.general/pull/12022).
New Plugins
-----------
Filter
~~~~~~
- community.general.from_toml - Convert TOML string into dictionary.
New Modules
-----------
- community.general.gitlab_project_approvals - Manage project\-level merge request approvals settings on GitLab Server.
- community.general.golang_package - Manage Go packages with :literal:`go install`.
- community.general.google_chat - Send Google Chat notifications.
- community.general.keycloak_clientscope_rolemappings - Allows administration of Keycloak clientscope scope mappings to restrict the usage of certain roles to specific clientscopes.
- community.general.keycloak_realm_users_info - Retrieve users from a Keycloak realm using the Keycloak API.
- community.general.kopia_repository - Manage Kopia repository.
- community.general.kopia_repository_info - Gather information about a Kopia repository.
v13.0.1
=======

View file

@ -2013,3 +2013,163 @@ releases:
- 12097-snap-hold-revision.yml
- 13.0.1.yml
release_date: '2026-05-25'
13.1.0:
changes:
bugfixes:
- aix_devices - fix ``chdev`` command failures being incorrectly reported
as successful results, now properly fails the task when device attribute
changes cannot be applied (https://github.com/ansible-collections/community.general/pull/12185).
- composer - the ``--working-dir`` option is now always placed first on the
command line, before the subcommand, to ensure consistent behavior across
all composer commands (https://github.com/ansible-collections/community.general/issues/5204,
https://github.com/ansible-collections/community.general/pull/12084).
- composer - use file checksum to determine ``changed`` status when ``command=config``,
instead of relying on the command return output. The module now compares
SHA256 checksums of relevant configuration files (``composer.json``, ``auth.json``,
or their global equivalents) before and after running the command (https://github.com/ansible-collections/community.general/pull/12084).
- counter_enabled callback - fix missing output for looped tasks, including
tasks using ``delegate_to`` (https://github.com/ansible-collections/community.general/issues/8187,
https://github.com/ansible-collections/community.general/pull/12067).
- dnf_config_manager - fix incompatibility with DNF5. The module was crashing
on systems with DNF5 due to CLI changes since DNF4 (https://github.com/ansible-collections/community.general/issues/9127,
https://github.com/ansible-collections/community.general/pull/12206).
- filesystem - handle BusyBox ``blkid`` output to correctly detect existing
filesystems on systems like Alpine Linux (https://github.com/ansible-collections/community.general/issues/7283,
https://github.com/ansible-collections/community.general/pull/12235).
- filetree lookup plugin - raise ``AnsibleLookupError`` when the ``exclude``
option contains an invalid regular expression instead of an uncaught ``re.error``
(https://github.com/ansible-collections/community.general/pull/12140).
- htpasswd - fix ``hash_scheme`` aliases and Apache-compatible ``bcrypt``
hashes (https://github.com/ansible-collections/community.general/issues/6135,
https://github.com/ansible-collections/community.general/pull/12123).
- incus connection plugin - improve Windows PowerShell argv handling by stripping
wrapper quotes from payload arguments for ``-enc``, ``-encodedcommand``,
``-command``, ``-c``, ``-file`` and ``-f`` (https://github.com/ansible-collections/community.general/issues/12161,
https://github.com/ansible-collections/community.general/pull/12158).
- incus connection plugin - return ``stdout``/``stderr`` as bytes instead
of strings to restore compatibility with ansible-core 2.21 module execution
(https://github.com/ansible-collections/community.general/issues/12161,
https://github.com/ansible-collections/community.general/pull/12158).
- java_cert - detect silent ``keytool`` failures by verifying the import outcome
after the command exits with ``rc=0`` (https://github.com/ansible-collections/community.general/issues/6685,
https://github.com/ansible-collections/community.general/pull/12238).
- java_cert - fix ``NullPointerException`` when importing from a PKCS12 file
with a password on Java 8 (https://github.com/ansible-collections/community.general/issues/3023,
https://github.com/ansible-collections/community.general/pull/12151).
- launchd - fix ``restarted`` and ``reloaded`` states always reporting ``changed=False``
(https://github.com/ansible-collections/community.general/issues/6199, https://github.com/ansible-collections/community.general/pull/12122).
- lxc_container - fix ``create_script`` to accept a single tuple argument,
resolving a ``TypeError`` that silently prevented ``container_command``
from being executed (https://github.com/ansible-collections/community.general/issues/11360,
https://github.com/ansible-collections/community.general/pull/12106).
- opkg - correctly set executable search path (https://github.com/ansible-collections/community.general/pull/12182).
- pamd - handle non-PAM lines such as authselect template directives without
crashing (https://github.com/ansible-collections/community.general/issues/5850,
https://github.com/ansible-collections/community.general/pull/12137).
- parted - ignore MBR partition type codes (for example ``type=8e``) reported
as flags by some parted builds (for example on SUSE), which cannot be managed
via the ``set`` command (https://github.com/ansible-collections/community.general/issues/6292,
https://github.com/ansible-collections/community.general/pull/12121).
- 'portage - fix ``depclean: true`` crashing with ``AnsibleModule.fail_json()
missing 1 required positional argument: ''msg''`` instead of reporting the
actual emerge failure (https://github.com/ansible-collections/community.general/pull/12168).'
- 'redfish_config - fix ``KeyError: ''ret''`` when ``SetManagerNic`` cannot
find a matching NIC (https://github.com/ansible-collections/community.general/issues/5892,
https://github.com/ansible-collections/community.general/pull/12124).'
- udm_dns_record - normalize IPv6 addresses in ``data`` to expanded form to
fix idempotency (https://github.com/ansible-collections/community.general/issues/317,
https://github.com/ansible-collections/community.general/pull/12149).
- unixy callback - handle missing ``ansible_host`` in delegated vars when
a task is delegated to a host without it set, such as ``localhost`` (https://github.com/ansible-collections/community.general/issues/12112,
https://github.com/ansible-collections/community.general/pull/12113).
- xenserver_guest_info - use fallback chain for determining VDI format from
``sm_config`` keys ``image-format``, ``vdi_type``, ``type``, defaulting
to ``raw`` (https://github.com/ansible-collections/community.general/pull/12119,
https://github.com/ansible-collections/community.general/pull/12215).
- xml - preserve DOCTYPE declaration when writing modified XML files (https://github.com/ansible-collections/community.general/issues/2762,
https://github.com/ansible-collections/community.general/pull/12148).
- zypper_repository - fix ``enabled``, ``autorefresh``, and ``gpgcheck`` module
parameters being overridden by values read from a ``.repo`` file (https://github.com/ansible-collections/community.general/issues/8783,
https://github.com/ansible-collections/community.general/pull/12022).
minor_changes:
- consul_kv lookup plugin - add ``empty_value`` option to control what is
returned for null Consul values (https://github.com/ansible-collections/community.general/issues/11039,
https://github.com/ansible-collections/community.general/pull/12120).
- dnf_config_manager - lookup path to the ``dnf`` binary in ``PATH``. It used
to be fixed to ``/usr/bin/dnf`` (https://github.com/ansible-collections/community.general/pull/12219).
- filesystem - adds GFS2 support (https://github.com/ansible-collections/community.general/pull/12285).
- keycloak_realm - add ``max_secondary_auth_failures`` parameter to configure
brute force detection for secondary authentication mechanisms (https://github.com/ansible-collections/community.general/pull/12087).
- slack - added support for uploading files to channels and threads using
the new Slack WebAPI (https://github.com/ansible-collections/community.general/pull/12032).
- sudoers - add ``defaults`` parameter to allow specifying ``Defaults`` directives
scoped to the user or group in the generated sudoers file (https://github.com/ansible-collections/community.general/pull/12186).
- xbps - include ``stdout`` and ``stderr`` from the last executed command
in module output (https://github.com/ansible-collections/community.general/issues/2478,
https://github.com/ansible-collections/community.general/pull/12234).
- xenserver_guest_info - add VDI ``uuid`` and ``vdi_type`` (VHD/QCOW2) fields
to disk info output (https://github.com/ansible-collections/community.general/issues/11998,
https://github.com/ansible-collections/community.general/pull/12119).
release_summary: Regular bugfix and feature release.
fragments:
- 11998-xenserver-disk-uuid-vdi-type.yml
- 12022-zypper-repository-fix-enabled.yml
- 12032-slack-files-support.yml
- 12067-counter-enabled-loop-output.yml
- 12087-keycloak-realm-max-secondary-auth-failures.yml
- 12106-fix-lxc-create_script.yml
- 12113-unixy-delegated-host.yml
- 12119-xenserver-vdi-type-fallback.yml
- 12120-consul-kv-empty-value.yml
- 12121-parted-suse-msdos-type-code.yml
- 12122-launchd-restarted-always-changed.yml
- 12123-htpasswd-crypt-schemes.yml
- 12124-redfish-setmanagernic-keyerror.yml
- 12137-pamd-authselect.yml
- 12140-filetree-exclude-regex-error.yml
- 12148-xml-preserve-doctype.yml
- 12149-udm-dns-record-ipv6-idempotency.yml
- 12151-java-cert-pkcs12-password.yml
- 12158-incus-windows-ansible-core-221.yml
- 12182-opkg-path-prefix.yml
- 12185-aix-devices-chdev-fail.yml
- 12219-unhardcode-dnf_config_manger-dnf-path.yml
- 12234-xbps-report-command-output.yml
- 12235-filesystem-busybox-blkid.yml
- 12238-java-cert-keytool-failure-detection.yml
- 12285-filesystem-gfs2.yaml
- 13.1.0.yml
- composer-working-dir-and-config-sha256.yaml
- fix-dnf5-in-dnf_config_manager.yml
- portage-depclean-fail_json-msg.yml
- sudoers-defaults.yml
modules:
- description: Manage project\-level merge request approvals settings on GitLab
Server.
name: gitlab_project_approvals
namespace: ''
- description: Manage Go packages with :literal:`go install`.
name: golang_package
namespace: ''
- description: Send Google Chat notifications.
name: google_chat
namespace: ''
- description: Allows administration of Keycloak clientscope scope mappings
to restrict the usage of certain roles to specific clientscopes.
name: keycloak_clientscope_rolemappings
namespace: ''
- description: Retrieve users from a Keycloak realm using the Keycloak API.
name: keycloak_realm_users_info
namespace: ''
- description: Manage Kopia repository.
name: kopia_repository
namespace: ''
- description: Gather information about a Kopia repository.
name: kopia_repository_info
namespace: ''
plugins:
filter:
- description: Convert TOML string into dictionary.
name: from_toml
namespace: null
release_date: '2026-06-16'

View file

@ -1,2 +0,0 @@
minor_changes:
- xenserver_guest_info - add VDI ``uuid`` and ``vdi_type`` (VHD/QCOW2) fields to disk info output (https://github.com/ansible-collections/community.general/issues/11998, https://github.com/ansible-collections/community.general/pull/12119).

View file

@ -1,2 +0,0 @@
bugfixes:
- zypper_repository - fix ``enabled``, ``autorefresh``, and ``gpgcheck`` module parameters being overridden by values read from a ``.repo`` file (https://github.com/ansible-collections/community.general/issues/8783, https://github.com/ansible-collections/community.general/pull/12022).

View file

@ -1,2 +0,0 @@
minor_changes:
- slack - added support for uploading files to channels and threads using the new Slack WebAPI (https://github.com/ansible-collections/community.general/pull/12032).

View file

@ -1,2 +0,0 @@
bugfixes:
- counter_enabled callback - fix missing output for looped tasks, including tasks using ``delegate_to`` (https://github.com/ansible-collections/community.general/issues/8187, https://github.com/ansible-collections/community.general/pull/12067).

View file

@ -1,2 +0,0 @@
minor_changes:
- keycloak_realm - add ``max_secondary_auth_failures`` parameter to configure brute force detection for secondary authentication mechanisms (https://github.com/ansible-collections/community.general/pull/12087).

View file

@ -1,2 +0,0 @@
bugfixes:
- lxc_container - fix ``create_script`` to accept a single tuple argument, resolving a ``TypeError`` that silently prevented ``container_command`` from being executed (https://github.com/ansible-collections/community.general/issues/11360, https://github.com/ansible-collections/community.general/pull/12106).

View file

@ -1,2 +0,0 @@
bugfixes:
- "unixy callback - handle missing ``ansible_host`` in delegated vars when a task is delegated to a host without it set, such as ``localhost`` (https://github.com/ansible-collections/community.general/issues/12112, https://github.com/ansible-collections/community.general/pull/12113)."

View file

@ -1,2 +0,0 @@
bugfixes:
- xenserver_guest_info - use fallback chain for determining VDI format from ``sm_config`` keys ``image-format``, ``vdi_type``, ``type``, defaulting to ``raw`` (https://github.com/ansible-collections/community.general/pull/12119, https://github.com/ansible-collections/community.general/pull/12215).

View file

@ -1,2 +0,0 @@
minor_changes:
- consul_kv lookup plugin - add ``empty_value`` option to control what is returned for null Consul values (https://github.com/ansible-collections/community.general/issues/11039, https://github.com/ansible-collections/community.general/pull/12120).

View file

@ -1,5 +0,0 @@
bugfixes:
- parted - ignore MBR partition type codes (for example ``type=8e``) reported as flags
by some parted builds (for example on SUSE), which cannot be managed via the ``set`` command
(https://github.com/ansible-collections/community.general/issues/6292,
https://github.com/ansible-collections/community.general/pull/12121).

View file

@ -1,4 +0,0 @@
bugfixes:
- "launchd - fix ``restarted`` and ``reloaded`` states always reporting ``changed=False``
(https://github.com/ansible-collections/community.general/issues/6199,
https://github.com/ansible-collections/community.general/pull/12122)."

View file

@ -1,4 +0,0 @@
bugfixes:
- "htpasswd - fix ``hash_scheme`` aliases and Apache-compatible ``bcrypt`` hashes
(https://github.com/ansible-collections/community.general/issues/6135,
https://github.com/ansible-collections/community.general/pull/12123)."

View file

@ -1,4 +0,0 @@
bugfixes:
- "redfish_config - fix ``KeyError: 'ret'`` when ``SetManagerNic`` cannot find a matching NIC
(https://github.com/ansible-collections/community.general/issues/5892,
https://github.com/ansible-collections/community.general/pull/12124)."

View file

@ -1,4 +0,0 @@
bugfixes:
- "pamd - handle non-PAM lines such as authselect template directives without crashing
(https://github.com/ansible-collections/community.general/issues/5850,
https://github.com/ansible-collections/community.general/pull/12137)."

View file

@ -1,2 +0,0 @@
bugfixes:
- filetree lookup plugin - raise ``AnsibleLookupError`` when the ``exclude`` option contains an invalid regular expression instead of an uncaught ``re.error`` (https://github.com/ansible-collections/community.general/pull/12140).

View file

@ -1,2 +0,0 @@
bugfixes:
- "xml - preserve DOCTYPE declaration when writing modified XML files (https://github.com/ansible-collections/community.general/issues/2762, https://github.com/ansible-collections/community.general/pull/12148)."

View file

@ -1,2 +0,0 @@
bugfixes:
- "udm_dns_record - normalize IPv6 addresses in ``data`` to expanded form to fix idempotency (https://github.com/ansible-collections/community.general/issues/317, https://github.com/ansible-collections/community.general/pull/12149)."

View file

@ -1,4 +0,0 @@
bugfixes:
- "java_cert - fix ``NullPointerException`` when importing from a PKCS12 file with a password on Java 8
(https://github.com/ansible-collections/community.general/issues/3023,
https://github.com/ansible-collections/community.general/pull/12151)."

View file

@ -1,3 +0,0 @@
bugfixes:
- "incus connection plugin - improve Windows PowerShell argv handling by stripping wrapper quotes from payload arguments for ``-enc``, ``-encodedcommand``, ``-command``, ``-c``, ``-file`` and ``-f`` (https://github.com/ansible-collections/community.general/issues/12161, https://github.com/ansible-collections/community.general/pull/12158)."
- "incus connection plugin - return ``stdout``/``stderr`` as bytes instead of strings to restore compatibility with ansible-core 2.21 module execution (https://github.com/ansible-collections/community.general/issues/12161, https://github.com/ansible-collections/community.general/pull/12158)."

View file

@ -1,2 +0,0 @@
bugfixes:
- opkg - correctly set executable search path (https://github.com/ansible-collections/community.general/pull/12182).

View file

@ -1,2 +0,0 @@
bugfixes:
- "aix_devices - fix ``chdev`` command failures being incorrectly reported as successful results, now properly fails the task when device attribute changes cannot be applied (https://github.com/ansible-collections/community.general/pull/12185)."

View file

@ -1,2 +0,0 @@
minor_changes:
- dnf_config_manager - lookup path to the ``dnf`` binary in ``PATH``. It used to be fixed to ``/usr/bin/dnf`` (https://github.com/ansible-collections/community.general/pull/12219).

View file

@ -1,2 +0,0 @@
minor_changes:
- "xbps - include ``stdout`` and ``stderr`` from the last executed command in module output (https://github.com/ansible-collections/community.general/issues/2478, https://github.com/ansible-collections/community.general/pull/12234)."

View file

@ -1,4 +0,0 @@
bugfixes:
- "filesystem - handle BusyBox ``blkid`` output to correctly detect existing filesystems on systems like Alpine Linux
(https://github.com/ansible-collections/community.general/issues/7283,
https://github.com/ansible-collections/community.general/pull/12235)."

View file

@ -1,4 +0,0 @@
bugfixes:
- "java_cert - detect silent ``keytool`` failures by verifying the import outcome after the command exits with ``rc=0``
(https://github.com/ansible-collections/community.general/issues/6685,
https://github.com/ansible-collections/community.general/pull/12238)."

View file

@ -1,2 +0,0 @@
minor_changes:
- filesystem - adds GFS2 support (https://github.com/ansible-collections/community.general/pull/12285).

View file

@ -1 +0,0 @@
release_summary: Regular bugfix and feature release.

View file

@ -1,12 +0,0 @@
# 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
bugfixes:
- composer - the ``--working-dir`` option is now always placed first on the command line, before the
subcommand, to ensure consistent behavior across all composer commands
(https://github.com/ansible-collections/community.general/issues/5204, https://github.com/ansible-collections/community.general/pull/12084).
- composer - use file checksum to determine ``changed`` status when ``command=config``,
instead of relying on the command return output. The module now compares SHA256 checksums of
relevant configuration files (``composer.json``, ``auth.json``, or their global equivalents)
before and after running the command
(https://github.com/ansible-collections/community.general/pull/12084).

View file

@ -1,2 +0,0 @@
bugfixes:
- dnf_config_manager - fix incompatibility with DNF5. The module was crashing on systems with DNF5 due to CLI changes since DNF4 (https://github.com/ansible-collections/community.general/issues/9127, https://github.com/ansible-collections/community.general/pull/12206).

View file

@ -1,2 +0,0 @@
bugfixes:
- "portage - fix ``depclean: true`` crashing with ``AnsibleModule.fail_json() missing 1 required positional argument: 'msg'`` instead of reporting the actual emerge failure (https://github.com/ansible-collections/community.general/pull/12168)."

View file

@ -1,2 +0,0 @@
minor_changes:
- sudoers - add ``defaults`` parameter to allow specifying ``Defaults`` directives scoped to the user or group in the generated sudoers file (https://github.com/ansible-collections/community.general/pull/12186).