Community.General Release Notes
This changelog describes changes after version 13.0.0.
v14.0.0
Release Summary
This is release 14.0.0 of community.general, released on 2026-11-02.
Minor Changes
The collection now depends on community.library_inventory_filtering_v1. This runtime dependency is used by inventory plugins only, and will be automatically installed by
ansible-galaxy collection install. If you install community.general by cloning its repository or extracting its release tarball to a specific location, you also need to make sure to install community.library_inventory_filtering_v1 manually if you use one of the affected inventory plugins (https://github.com/ansible-collections/community.general/pull/12302)._alicloud_ecs module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_hwc_utils module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_ipa module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_online module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_opennebula module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_pritunl_api module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_redfish_utils module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_scaleway module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_utm_utils module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
_vexata module utils - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12984).
airbrake_deployment - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
aix_filesystem - use string operations instead of regular expressions for plain-string patterns (https://github.com/ansible-collections/community.general/pull/12996).
aix_lvol - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
alerta_customer - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
alternatives - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
ansible_type test plugin - remove compatibility code for < ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/12919).
apk - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12925).archive - add
zstdas a format choice (https://github.com/ansible-collections/community.general/issues/3455, https://github.com/ansible-collections/community.general/pull/12497).archive - use context managers when reading tar checksums (https://github.com/ansible-collections/community.general/pull/12569).
awall - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12926).bitwarden lookup plugin - add
syncoption to sync items from the vault before lookup (https://github.com/ansible-collections/community.general/pull/12377).bundler - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12967).
cloud_init_data_facts - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
cloudflare_dns - add diff mode support (https://github.com/ansible-collections/community.general/issues/10797, https://github.com/ansible-collections/community.general/pull/12817).
composer - relay composer’s own warning about running as root/super user as an Ansible warning (https://github.com/ansible-collections/community.general/issues/2388, https://github.com/ansible-collections/community.general/pull/12090).
composer - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
consul - remove Python < 2.5 compatibility (https://github.com/ansible-collections/community.general/pull/12893).
consul modules - add a
urloption taking the address of the Consul agent as a whole; the existinghost,portandschemeoptions each override the matching component of it. This does not covercommunity.general.consul(https://github.com/ansible-collections/community.general/pull/12216).consul modules - connection options now fall back to the
CONSUL_HTTP_ADDR,CONSUL_HTTP_SSL,CONSUL_HTTP_SSL_VERIFY,CONSUL_HTTP_TOKENandCONSUL_CACERTenvironment variables when not specified. This applies to all consul modules exceptcommunity.general.consul, which does not use the shared connection option handling yet (https://github.com/ansible-collections/community.general/pull/12216).consul_kv - refactored KV store helpers into shared
_ConsulModulemethods to prepare for theconsul_kv_infomodule (https://github.com/ansible-collections/community.general/pull/12515).consul_kv - the module no longer requires the
py-consulPython library, and is now part of thecommunity.general.consulaction group (https://github.com/ansible-collections/community.general/pull/12221).consul_kv lookup plugin - add
empty_valueoption 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).consul_kv lookup plugin - the plugin no longer requires the
py-consulPython library, it now usesansible.module_utils.urls.open_urldirectly (https://github.com/ansible-collections/community.general/issues/5251, https://github.com/ansible-collections/community.general/pull/12659).consul_session - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12967).
copr - improve the error message when the
dnfPython library is missing on systems where dnf5 is the default package manager (https://github.com/ansible-collections/community.general/issues/12501, https://github.com/ansible-collections/community.general/pull/12913).cronvar - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
dependent lookup plugin - remove compatibility code for < ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/12919).
dnf_config_manager - lookup path to the
dnfbinary inPATH. It used to be fixed to/usr/bin/dnf(https://github.com/ansible-collections/community.general/pull/12219).dnsimple - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12967).
dpkg_divert - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
ejabberd_user - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
elastic callback plugin - internal refactoring that has no visible behavior changes (https://github.com/ansible-collections/community.general/pull/12791).
elastic callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12829).
etcd3 - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
etcd3 lookup plugin - change the type of the
ca_cert,cert_cert, andcert_keyoptions from string to path, since they specify paths to certificates/keys (https://github.com/ansible-collections/community.general/pull/12860).filesystem - adds GFS2 support (https://github.com/ansible-collections/community.general/pull/12285).
filesystem - print a warning if
blkid -cprobe fails and show the error message fromblkid(https://github.com/ansible-collections/community.general/pull/12500).from_csv filter plugin - remove Python 2 compatibility (https://github.com/ansible-collections/community.general/pull/12893).
gem - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
github_app_access_token lookup plugin - add
client_idas an alias forapp_idso the GitHub App’s client ID can be specified without using a confusing option name (https://github.com/ansible-collections/community.general/issues/12802, https://github.com/ansible-collections/community.general/pull/12804).github_deploy_key - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
github_deploy_key - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
github_key - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
github_release - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
github_repo - added
visibilityoption to set repository visibility topublic,private, orinternal(https://github.com/ansible-collections/community.general/issues/6219, https://github.com/ansible-collections/community.general/pull/12557).github_secrets - add support for managing repository environment secrets (https://github.com/ansible-collections/community.general/pull/12756, https://github.com/ansible-collections/community.general/issues/12755).
github_secrets - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
github_secrets_info - add support for listing repository environment secrets (https://github.com/ansible-collections/community.general/pull/12756, https://github.com/ansible-collections/community.general/issues/12755).
github_webhook - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
github_webhook_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
gitlab_group - add new value
unchangedforvisibilityparameter (https://github.com/ansible-collections/community.general/pull/12694).gitlab_hook - add
branch_filter_strategyoption to control howpush_events_branch_filterfilters push events, which allows filtering branches by a regular expression (https://github.com/ansible-collections/community.general/pull/12618).gitlab_hook - add
custom_webhook_templateoption to configure a custom webhook payload template on project hooks (https://github.com/ansible-collections/community.general/issues/11233, https://github.com/ansible-collections/community.general/pull/12496).gitlab_issue - add
allas a valid value for thestate_filterparameter (https://github.com/ansible-collections/community.general/pull/12821).gitlab_project - added
archivedandunarchivedvalues forstate(https://github.com/ansible-collections/community.general/pull/12698).gitlab_runners inventory plugin - wrap the Gitlab API object in a context mananger, and only create the
gitlab_runnersgroup after the API request was successful (https://github.com/ansible-collections/community.general/pull/12378).homebrew - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
homebrew_cask - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
homebrew_cask - use string operations instead of regular expressions for plain-string patterns (https://github.com/ansible-collections/community.general/pull/12996).
homebrew_services - replace
NamedTuplewith dataclass (https://github.com/ansible-collections/community.general/pull/12094).homebrew_tap - add
trustoption to control whether Homebrew trusts the tapped repositories (https://github.com/ansible-collections/community.general/issues/12220, https://github.com/ansible-collections/community.general/pull/12503).honeybadger_deployment - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
hpilo_boot - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
hpilo_info - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
hpilo_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
hwc_ecs_instance - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12974).
hwc_evs_disk - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12968).
hwc_network_vpc - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
hwc_network_vpc - use string operations instead of regular expressions for plain-string patterns (https://github.com/ansible-collections/community.general/pull/12996).
hwc_smn_topic - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
hwc_vpc_eip - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
hwc_vpc_peering_connect - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
hwc_vpc_port - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
hwc_vpc_private_ip - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
hwc_vpc_route - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
hwc_vpc_security_group - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
hwc_vpc_security_group_rule - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
hwc_vpc_subnet - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
ibm_sa_host_ports - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
ibm_sa_vol - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
ibm_sa_vol_map - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
icinga2_feature - use string operations instead of regular expressions for plain-string patterns (https://github.com/ansible-collections/community.general/pull/12996).
icinga2_host - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
incus connection plugin - add
remote_user_id_commandoption to configure the command used to retrieve the UID and GID of the remote user (https://github.com/ansible-collections/community.general/pull/12646).influxdb_query - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
influxdb_user - add
force_password_updateoption to always update the password whenuser_passwordis set, working around InfluxDB installations that do not enforce authentication (https://github.com/ansible-collections/community.general/issues/3824, https://github.com/ansible-collections/community.general/pull/12654).influxdb_write - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
ini_file - use named groups in the internal option-matching regular expressions (https://github.com/ansible-collections/community.general/pull/12493).
installp - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
iocage inventory plugin - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
ip2location_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
ipa_config - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12968).
ipa_dnsrecord - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
ipa_host - return all attributes of the host, including
has_keytabandhas_password, whenever the host exists (https://github.com/ansible-collections/community.general/issues/4929, https://github.com/ansible-collections/community.general/pull/13166).ipa_host - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
ipa_otpconfig - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
ipa_otptoken - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12968).
ipa_pwpolicy - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12967).
ipa_user - add
enable_on_presentoption to keep disabled users disabled withstate=present(https://github.com/ansible-collections/community.general/issues/8296, https://github.com/ansible-collections/community.general/pull/13078).ipa_user - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
ipify_facts - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12909).ipify_facts - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
ipinfoio_facts - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
iptables_state - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
irc - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
iso_create - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
jabber callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
java_cert - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12968).
jenkins_build - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12967).
jenkins_build_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
jenkins_job - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
jenkins_job_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
jenkins_node - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
kopia_repository, kopia_repository_info - normalize handling of CLI parameters across all
kopia_*modules (https://github.com/ansible-collections/community.general/pull/12360).ldap_* modules - add support for specifying a SASL authorization identity (equivalent to
-X 'dn:...' flag) (https://github.com/ansible-collections/community.general/pull/12781).ldap_attrs - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
log_plays callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
loganalytics_ingestion callback plugin - refactor to use ansible-core 2.22’s new secrets API in order to properly mark and mask secrets (https://github.com/ansible-collections/community.general/pull/12758).
logrotate - add diff mode support, showing before/after content of the configuration file when running with
--diff(https://github.com/ansible-collections/community.general/issues/12845, https://github.com/ansible-collections/community.general/pull/12846).logrotate - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
logrotate - refactor without changing functionality (https://github.com/ansible-collections/community.general/pull/12866).
logrotate - refactor without changing functionality (https://github.com/ansible-collections/community.general/pull/12873).
logstash callback plugin - add
ANSIBLE_CALLBACK_LOGSTASH_prefixed environment variables and Ansible variables for all options (https://github.com/ansible-collections/community.general/pull/12939).logstash callback plugin - add support for sending events over HTTP(S), with Basic authentication and TLS client certificate options (https://github.com/ansible-collections/community.general/issues/12897, https://github.com/ansible-collections/community.general/pull/12939).
logstash callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
lvm_pv - add
zero,metadatasize,dataalignment, andpvmetadatacopiesoptions to controlpvcreatebehavior, andallocatable,metadataignore, andtagsoptions to manage existing physical volume attributes withpvchange(https://github.com/ansible-collections/community.general/pull/12701).lvol - add
pool_metadata_sizeoption to set the metadata volume size when creating a thin pool (https://github.com/ansible-collections/community.general/issues/10050, https://github.com/ansible-collections/community.general/pull/12936).lxc_container - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
lxd inventory plugin - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
lxd_container - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
lxd_profile - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
lxd_project - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
macports - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
macports - use string operations instead of regular expressions for plain-string patterns (https://github.com/ansible-collections/community.general/pull/12996).
mail - add the
inlineoption to embed images in the message body viaContent-ID, so an HTML body can reference them withcid:...instead of an external URL (https://github.com/ansible-collections/community.general/pull/12480).mail - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12974).
mail callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
maven_artifact - add SHA-256 and SHA-512 support to
checksum_alg(https://github.com/ansible-collections/community.general/pull/12747).maven_artifact - add
keep_name_only_when_resolvedoption to opt in to the documented scope ofkeep_name, where it only controls the destination filename whenversionis resolved dynamically (latestorversion_by_spec); previouslykeep_namealso affected the filename with a fixedversion, contradicting its documentation (https://github.com/ansible-collections/community.general/pull/12606, https://github.com/ansible-collections/community.general/issues/4796).maven_artifact - internal refactoring, no change in behavior (https://github.com/ansible-collections/community.general/pull/12776).
maven_artifact - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
maven_artifact - use Ansible construct to express the default value of parameter (https://github.com/ansible-collections/community.general/pull/12411).
memset_zone - use existing module utils helper to look up zones (https://github.com/ansible-collections/community.general/pull/12912).
memset_zone_domain - use existing module utils helper to look up zone domains (https://github.com/ansible-collections/community.general/pull/12912).
mqtt - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12967).
netcup_dns - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
nexmo - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
nginx_status_info - stop using a module-level global variable (https://github.com/ansible-collections/community.general/pull/12910).
nginx_status_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
nmap inventory plugin - allow
addressto be a list of networks/IP ranges to scan, in addition to a single string (https://github.com/ansible-collections/community.general/issues/12379, https://github.com/ansible-collections/community.general/pull/12384).nmcli - add
route_table4androute_table6options to set the routing table of a connection (https://github.com/ansible-collections/community.general/issues/12454, https://github.com/ansible-collections/community.general/pull/13052).nmcli - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
npm - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
nrdp callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
ocapi_command - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
ocapi_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
odbc - add
autocommitoption to support statements that must run outside of a transaction (https://github.com/ansible-collections/community.general/issues/4173, https://github.com/ansible-collections/community.general/issues/8577, https://github.com/ansible-collections/community.general/pull/12595).odbc - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
one_service - replace function-local
namedtuplewith module-level dataclass (https://github.com/ansible-collections/community.general/pull/12094).one_service - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
one_vm - add
update_attributesparameter to merge USER_TEMPLATE key/value pairs onto existing VMs via theone.vm.updateAPI with append/merge semantics, enabling idempotent attribute updates on running VMs without teardown (https://github.com/ansible-collections/community.general/issues/12498, https://github.com/ansible-collections/community.general/pull/12536).one_vm - replace function-local
namedtuplewith module-level dataclass (https://github.com/ansible-collections/community.general/pull/12094).one_vm - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
onepassword_info - rewrite module to support op CLI v2 (https://github.com/ansible-collections/community.general/issues/5303, https://github.com/ansible-collections/community.general/issues/7321, https://github.com/ansible-collections/community.general/pull/12089).
onepassword_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
oneview_datacenter_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
oneview_ethernet_network_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
oneview_logical_interconnect_group_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
oneview_network_set_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
oneview_san_manager_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
open_iscsi - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12927).openbsd_pkg - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
openbsd_pkg - use string operations instead of regular expressions for plain-string patterns (https://github.com/ansible-collections/community.general/pull/12996).
opennebula inventory plugin - add
prefer_existing_ansible_hostoption to skip settingansible_hostwhen the host already has one from an earlier inventory source (https://github.com/ansible-collections/community.general/pull/12417).opennebula inventory plugin - add
set_name_variableoption to allow disabling thenamehost variable, avoiding theFound variable using reserved name 'name'warning.inventory_hostnameis unaffected (https://github.com/ansible-collections/community.general/pull/12695).opennebula inventory plugin - add new option
filterthat allows to filter hosts by variables (https://github.com/ansible-collections/community.general/pull/12302).opennebula inventory plugin - expose
UNAME(VM owner) andGNAME(VM group) as host variables, enablingkeyed_groupsbased on ownership (https://github.com/ansible-collections/community.general/pull/12417).opennebula inventory plugin - replace function-local
namedtuplewith module-level dataclass (https://github.com/ansible-collections/community.general/pull/12094).opentelemetry callback plugin - internal refactoring that has no visible behavior changes (https://github.com/ansible-collections/community.general/pull/12791).
opentelemetry callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12787).
openwrt_init - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12911).osx_defaults - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
ovh_ip_failover - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
ovh_ip_loadbalancing_backend - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
ovh_monthly_billing - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
pacemaker_cluster - add support for unmaintenance state (https://github.com/ansible-collections/community.general/issues/12362, https://github.com/ansible-collections/community.general/pull/12364).
pacemaker_cluster - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
packet_device - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12975).
packet_ip_subnet - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
packet_project - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
packet_sshkey - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12968).
packet_volume - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
packet_volume_attachment - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
pacman - replace
namedtuplewith dataclass forVersionTuple(https://github.com/ansible-collections/community.general/pull/12094).pagerduty_alert - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12974).
pam_limits - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
parted - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
passwordstore lookup plugin - add
keep_trailing_newlineoption to preserve the trailing newline whenreturnall=true(https://github.com/ansible-collections/community.general/pull/12589, https://github.com/ansible-collections/community.general/issues/3616).passwordstore lookup plugin - make
directoryconfigurable throughansible.cfg(https://github.com/ansible-collections/community.general/pull/12298).pkg5 - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
pkgin - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
pkgng - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
pkgng - support installing packages from local package files (https://github.com/ansible-collections/community.general/issues/3428, https://github.com/ansible-collections/community.general/pull/12233).
portage - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
portinstall - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
pritunl_org - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
pritunl_org_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
pritunl_user - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
pritunl_user_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
proton_pass lookup plugin - return fields inside custom sections of Custom, SSH Key, Wi-Fi, and Identity items (https://github.com/ansible-collections/community.general/issues/12711, https://github.com/ansible-collections/community.general/pull/13051).
random_mac filter plugin - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
read_csv - remove Python 2 compatibility (https://github.com/ansible-collections/community.general/pull/12893).
redhat_subscription - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
reveal_ansible_type filter plugin - remove compatibility code for < ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/12919).
rhevm - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12976).
riak - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
rollbar_deployment - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
rundeck_acl_policy - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
say callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
scaleway_compute - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
scaleway_database_backup - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
selective callback plugin - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12923).serverless - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
sl_vm - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12976).
slack - add
reply_broadcastoption to allow a threaded reply (thread_id) to also be broadcast to the main channel (https://github.com/ansible-collections/community.general/pull/12535).slack - added support for uploading files to channels and threads using the new Slack WebAPI (https://github.com/ansible-collections/community.general/pull/12032).
slack - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
slack callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
spectrum_device - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
splunk callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
sssd_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
statsd - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
sudoers - add
defaultsparameter to allow specifyingDefaultsdirectives scoped to the user or group in the generated sudoers file (https://github.com/ansible-collections/community.general/pull/12186).sumologic callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
supervisorctl - add
waitoption to wait for programs to reach theRUNNINGstate (https://github.com/ansible-collections/community.general/issues/5599, https://github.com/ansible-collections/community.general/pull/13053).supervisorctl - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
svc - use string operations instead of regular expressions for plain-string patterns (https://github.com/ansible-collections/community.general/pull/12996).
syslog_json callback plugin - redact sensitive output on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12785).
terraform - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12922).terraform - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12975).
timezone - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
to_time_unit filter plugin - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
tss lookup plugin - cache the
TSSClientper process and credential identity so OAuth2 token grants are reused across lookups (rebuilding the client and retrying the lookup once on a stale-token 4xx, while 5xx and other errors propagate unchanged), and add atoken_path_sourceoption whoseautovalue letspython-tss-sdkauto-detect the Secret Server or Delinea Platform token endpoint (https://github.com/ansible-collections/community.general/pull/12328).ufw - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
usb_facts - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
uv_python - simplify result handling in the module code (https://github.com/ansible-collections/community.general/pull/12981).
version_sort filter plugin - add
styleoption to choose the version comparison strategy (https://github.com/ansible-collections/community.general/issues/4451, https://github.com/ansible-collections/community.general/pull/12657).vertica_* modules - remove Python < 2.5 compatibility (https://github.com/ansible-collections/community.general/pull/12893).
vexata module utils - refactor code to remove use of
global(https://github.com/ansible-collections/community.general/pull/12924).vexata_volume - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
vmadm - add
bootromoption to support UEFI boot forbhyveVMs (https://github.com/ansible-collections/community.general/pull/12601, https://github.com/ansible-collections/community.general/issues/4282).wdc_redfish_command - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
wdc_redfish_info - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12950).
xattr - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12952).
xbps - include
stdoutandstderrfrom 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
uuidandvdi_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).zfs - do not try to change create-only properties on existing datasets and compare size properties as byte counts (https://github.com/ansible-collections/community.general/issues/4699, https://github.com/ansible-collections/community.general/pull/12868).
zfs - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12951).
zfs_delegate_admin - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12953).
zpool - compile regular expressions once outside of loops (https://github.com/ansible-collections/community.general/pull/12999).
zpool - make
vdevsoptional when the pool already exists, leaving its vdev layout unchanged (https://github.com/ansible-collections/community.general/issues/10766, https://github.com/ansible-collections/community.general/pull/12816).zpool - update code to follow coding conventions, without changing functionality (https://github.com/ansible-collections/community.general/pull/12966).
zypper -
allow_vendor_changenow also applies to theinstall,updateandpatchcommands, not only todist-upgrade(https://github.com/ansible-collections/community.general/issues/10851, https://github.com/ansible-collections/community.general/pull/13076).zypper -
state=absentno longer silently ignores names containing the wildcards*or?; they are now matched against the installed packages and removed likezypper removedoes (https://github.com/ansible-collections/community.general/issues/3138, https://github.com/ansible-collections/community.general/pull/13075).zypper - add
install_recommendsoption to explicitly control installation of recommended packages (https://github.com/ansible-collections/community.general/issues/3497, https://github.com/ansible-collections/community.general/pull/12648).zypper - add
reboot_requiredreturn value (https://github.com/ansible-collections/community.general/issues/12960, https://github.com/ansible-collections/community.general/pull/12977, https://github.com/ansible-collections/community.general/pull/13180).zypper_repository - add
allow_unsigned_metadataoption to accept unsigned repository metadata while keeping the package GPG check (--gpgcheck-allow-unsigned-repo) (https://github.com/ansible-collections/community.general/issues/2519, https://github.com/ansible-collections/community.general/pull/13092).
Breaking Changes / Porting Guide
pfexec become plugin - the default for
wrap_exechanged fromfalsetotrue(https://github.com/ansible-collections/community.general/pull/12891).
Deprecated Features
All redirections of Dell iDRAC/OME content to dellemc.openmanage are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of Docker content to community.docker are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of Google Cloud content to community.google are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of HashiCorp Vault content to community.hashi_vault are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of Hetzner content to community.hrobot are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of Kubevirt content to community.kubevirt are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of NIOS content to infoblox.nios_modules are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of OKD content to community.okd are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of PostgreSQL content to community.postgresql are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
All redirections of SAP/HANA content to community.sap_libs are deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
cisco_spark - the redirect to community.general.cisco_webex is deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
django_check - the
skip_checksoption is ignored and deprecated, it will be removed in community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/13001).django_command - the
skip_checksoption is ignored and deprecated, it will be removed in community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/13001).django_createcachetable - the
skip_checksoption is ignored and deprecated, it will be removed in community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/13001).keycloak_authentication - the redirect to
middleware_automation.keycloak.keycloak_authenticationis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authentication_required_actions - the redirect to
middleware_automation.keycloak.keycloak_authentication_required_actionsis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authentication_v2 - the redirect to
middleware_automation.keycloak.keycloak_authentication_v2is deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_authorization_scope - the redirect to
middleware_automation.keycloak.keycloak_authz_authorization_scopeis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_custom_policy - the redirect to
middleware_automation.keycloak.keycloak_authz_custom_policyis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_permission - the redirect to
middleware_automation.keycloak.keycloak_authz_permissionis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_permission_info - the redirect to
middleware_automation.keycloak.keycloak_authz_permission_infois deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_client - the redirect to
middleware_automation.keycloak.keycloak_clientis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_client_rolemapping - the redirect to
middleware_automation.keycloak.keycloak_client_rolemappingis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_client_rolescope - the redirect to
middleware_automation.keycloak.keycloak_client_rolescopeis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientscope - the redirect to
middleware_automation.keycloak.keycloak_client_scopeis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientscope_rolemappings - the redirect to
middleware_automation.keycloak.keycloak_client_scope_rolemappingsis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientscope_type - the redirect to
middleware_automation.keycloak.keycloak_client_scope_typeis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientsecret_info - the redirect to
middleware_automation.keycloak.keycloak_clientsecret_infois deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientsecret_regenerate - the redirect to
middleware_automation.keycloak.keycloak_clientsecret_regenerateis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clienttemplate - the redirect to
middleware_automation.keycloak.keycloak_clienttemplateis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_component - the redirect to
middleware_automation.keycloak.keycloak_componentis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_component_info - the redirect to
middleware_automation.keycloak.keycloak_component_infois deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_group - the redirect to
middleware_automation.keycloak.keycloak_groupis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_identity_provider - the redirect to
middleware_automation.keycloak.keycloak_identity_provideris deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm - the redirect to
middleware_automation.keycloak.keycloak_realmis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_info - the redirect to
middleware_automation.keycloak.keycloak_realm_infois deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_key - the redirect to
middleware_automation.keycloak.keycloak_realm_keyis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_keys_metadata_info - the redirect to
middleware_automation.keycloak.keycloak_realm_keys_metadata_infois deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_localization - the redirect to
middleware_automation.keycloak.keycloak_realm_localizationis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_rolemapping - the redirect to
middleware_automation.keycloak.keycloak_realm_rolemappingis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_users_info - the redirect to
middleware_automation.keycloak.keycloak_realm_users_infois deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_role - the redirect to
middleware_automation.keycloak.keycloak_roleis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user - the redirect to
middleware_automation.keycloak.keycloak_useris deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user_execute_actions_email - the redirect to
middleware_automation.keycloak.keycloak_user_execute_actions_emailis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user_federation - the redirect to
middleware_automation.keycloak.keycloak_user_federationis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user_rolemapping - the redirect to
middleware_automation.keycloak.keycloak_user_rolemappingis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).keycloak_userprofile - the redirect to
middleware_automation.keycloak.keycloak_userprofileis deprecated and will be removed from community.general 16.0.0 (https://github.com/ansible-collections/community.general/pull/12483).lldp - the redirect to community.general.lldp_facts is now deprecated and will be removed from community.general 16.0.0. Please update your roles and playbooks to use the new name (https://github.com/ansible-collections/community.general/pull/12488).
osx_say - the redirect to community.general.say is deprecated and will be removed in community.general 18.0.0. Please update your roles/playbooks (https://github.com/ansible-collections/community.general/pull/12489).
yum_versionlock - the module is deprecated and will be removed from community.general 16.0.0. Use
community.general.dnf_versionlockinstead (https://github.com/ansible-collections/community.general/pull/13173).
Removed Features (previously deprecated)
The collection no longer supports ansible-core 2.18. It requires at least ansible-core 2.19.0+ (https://github.com/ansible-collections/community.general/pull/12891).
jboss - the deprecated module has been removed. Please migrate to the role middleware_automation.wildfly.wildfly_app_deploy instead (https://github.com/ansible-collections/community.general/pull/12891).
keycloak_authentication - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_authentication. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authentication_required_actions - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_authentication_required_actions. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authentication_v2 - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_authentication_v2. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_authorization_scope - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_authz_authorization_scope. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_custom_policy - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_authz_custom_policy. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_permission - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_authz_permission. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_authz_permission_info - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_authz_permission_info. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_client - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_client. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_client_rolemapping - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_client_rolemapping. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_client_rolescope - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_client_rolescope. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientscope - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_client_scope. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientscope_rolemappings - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_client_scope_rolemappings. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientscope_type - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_client_scope_type. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientsecret_info - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_clientsecret_info. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clientsecret_regenerate - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_clientsecret_regenerate. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_clienttemplate - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_clienttemplate. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_component - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_component. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_component_info - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_component_info. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_group - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_group. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_identity_provider - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_identity_provider. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_realm. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_info - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_realm_info. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_key - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_realm_key. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_keys_metadata_info - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_realm_keys_metadata_info. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_localization - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_realm_localization. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_rolemapping - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_realm_rolemapping. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_realm_users_info - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_realm_users_info. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_role - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_role. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_user. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user_execute_actions_email - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_user_execute_actions_email. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user_federation - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_user_federation. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_user_rolemapping - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_user_rolemapping. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).keycloak_userprofile - the module has been replaced by a redirect to
middleware_automation.keycloak.keycloak_userprofile. You need to installmiddleware_automation.keycloakto make this redirect work (https://github.com/ansible-collections/community.general/pull/12483).layman - the deprecated module has been removed (https://github.com/ansible-collections/community.general/pull/12891).
linode - the deprecated module has been removed. Use community.general.linode_v4 instead (https://github.com/ansible-collections/community.general/pull/12891).
loganalytics callback plugin - the deprecated plugin has been removed. Please migrate to the community.general.loganalytics_ingestion callback plugin instead (https://github.com/ansible-collections/community.general/pull/12891).
monit - no longer supports monit < 5.19 (https://github.com/ansible-collections/community.general/pull/12891).
pacemaker_cluster - the deprecated
cleanupstate has been removed. Use the community.general.pacemaker_resource module instead (https://github.com/ansible-collections/community.general/pull/12891).puppet - the deprecated
timeoutoption has been removed. Use the task-leveltimeoutinstead (https://github.com/ansible-collections/community.general/pull/12891).
Security Fixes
proton_pass lookup plugin - no longer exposes the personal access token in error messages, verbose output, or the process list (https://github.com/ansible-collections/community.general/issues/12710, https://github.com/ansible-collections/community.general/pull/12726).
Bugfixes
aix_devices - fix
chdevcommand 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).apache2_module - determine
changedfrom the output ofa2enmod/a2dismodwhenignore_configcheck=trueand the Apache configuration check fails (https://github.com/ansible-collections/community.general/issues/3510, https://github.com/ansible-collections/community.general/pull/13147).apache2_module - fix
state=absentdoing nothing whenignore_configcheck=trueand the Apache configuration check fails (https://github.com/ansible-collections/community.general/issues/3510, https://github.com/ansible-collections/community.general/pull/13147).apache2_module - fix false failures when
ignore_configcheckis set and the configuration is broken for a reason unrelated to the module being changed (https://github.com/ansible-collections/community.general/issues/4592, https://github.com/ansible-collections/community.general/pull/12597).apk - fail cleanly when the
worldfile cannot be read (https://github.com/ansible-collections/community.general/issues/10739, https://github.com/ansible-collections/community.general/pull/13179).apk - the
upgradeoperation no longer reportschanged=truewhen nothing was upgraded but an apk commit hook (for examplemrtest, or anything installed in/etc/apk/commit_hooks.d/) printed output before the trailingOK:summary line; the change status is now derived from the packages apk actually reports upgrading (https://github.com/ansible-collections/community.general/issues/12223, https://github.com/ansible-collections/community.general/pull/12376).bitwarden lookup plugin - mark the
bw_sessionoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).bitwarden_secrets_manager lookup plugin - mark the
bws_access_tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).capabilities - fix idempotency when the installed
libcapnormalizes capability operators or flags, or when multiple capabilities are set at once (https://github.com/ansible-collections/community.general/issues/4067, https://github.com/ansible-collections/community.general/pull/12650).cloudflare_dns - fix detection of existing CAA, SRV, and TLSA records (https://github.com/ansible-collections/community.general/issues/7766, https://github.com/ansible-collections/community.general/issues/7780, https://github.com/ansible-collections/community.general/pull/13170).
cloudflare_dns - fix failure when looking up records whose value contains a comma (https://github.com/ansible-collections/community.general/issues/10208, https://github.com/ansible-collections/community.general/pull/13119).
cobbler inventory plugin - do not use TLS when connecting to
http://URLs (https://github.com/ansible-collections/community.general/issues/11246, https://github.com/ansible-collections/community.general/pull/12847).cobbler inventory plugin - fix crash about a missing
_cacheattribute when inventory caching is disabled (https://github.com/ansible-collections/community.general/pull/12848).cobbler inventory plugin - mark the
passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).composer - fix
apcu_autoloadernever passing--apcu-autoloaderto composer, because the option was mapped to the misspelledacpu-autoloader(https://github.com/ansible-collections/community.general/pull/12988).composer - pass
--apcuforapcu_autoloadertodump-autoload, which has no--apcu-autoloaderflag (https://github.com/ansible-collections/community.general/pull/12989).composer - restore compatibility with older compose versions when using
working_dir(https://github.com/ansible-collections/community.general/issues/12293, https://github.com/ansible-collections/community.general/pull/12339).composer - the
--working-diroption 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
changedstatus whencommand=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).consul_kv lookup plugin - mark the
tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).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).credstash lookup plugin - mark the
aws_secret_access_keyandaws_session_tokenoptions as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).diy callback plugin - no longer emits deprecation warnings about
v2_on_anyandconvert_datawith ansible-core 2.19 and later (https://github.com/ansible-collections/community.general/issues/10545, https://github.com/ansible-collections/community.general/pull/13093).django_createcachetable - do not pass the unsupported
--noinputoption todjango-admin createcachetable(https://github.com/ansible-collections/community.general/pull/13002).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).
doas become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).dsv lookup plugin - mark the
client_secretoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).dzdo become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).elastic callback plugin - mark the
apm_secret_tokenandapm_api_keyoptions as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).etcd3 lookup plugin - mark the
passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).filesystem - handle BusyBox
blkidoutput 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).filesystem - the module now also handles the output format of bcachefs-tools v1.38.4 and above (https://github.com/ansible-collections/community.general/issues/12259, https://github.com/ansible-collections/community.general/pull/12291).
filetree lookup plugin - raise
AnsibleLookupErrorwhen theexcludeoption contains an invalid regular expression instead of an uncaughtre.error(https://github.com/ansible-collections/community.general/pull/12140).git_config and git_config_info - allow empty string values and preserve idempotency (https://github.com/ansible-collections/community.general/issues/12502, https://github.com/ansible-collections/community.general/pull/12708).
github_app_access_token lookup plugin - mark the
private_keyoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).github_app_access_token lookup plugin - mark the return value as a secret on ansible-core 2.22+ (https://github.com/ansible-collections/community.general/pull/12884).
github_deploy_key - do not delete an existing deploy key when running with
state=absentin check mode (https://github.com/ansible-collections/community.general/issues/12348, https://github.com/ansible-collections/community.general/pull/13132).gitlab_instance_variable - ignore the
hiddenattribute that GitLab 19.1 and newer return for instance variables when comparing them with the requested variables. Before,purge=truedeleted every instance variable, including the ones the task had just created, and every run reported a change (https://github.com/ansible-collections/community.general/issues/12349, https://github.com/ansible-collections/community.general/pull/13029).gitlab_project - fix
'bool' object has no attribute 'attributes'(https://github.com/ansible-collections/community.general/issues/12902, https://github.com/ansible-collections/community.general/pull/12903).gitlab_project - return
projectin the result when running in check mode (https://github.com/ansible-collections/community.general/pull/12689, https://github.com/ansible-collections/community.general/issues/5689).gitlab_runner - do not fail with
'<' not supported between instances of 'str' and 'int'when python-gitlab cannot read the GitLab server version. The module now assumes that the server is new enough and emits a warning (https://github.com/ansible-collections/community.general/issues/12707, https://github.com/ansible-collections/community.general/pull/12899).gitlab_runners inventory plugin - mark the
api_tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).gitlab_user - fix lookup of existing users whose username contains uppercase letters (https://github.com/ansible-collections/community.general/issues/5999, https://github.com/ansible-collections/community.general/pull/13064).
haproxy - fix
state=disabledwithdrain=truetiming out instead of putting a server that is already down into maintenance mode (https://github.com/ansible-collections/community.general/issues/9020, https://github.com/ansible-collections/community.general/pull/12640).homebrew_cask - fix
brew --versionparsing to handle version strings with more than three dot-separated segments (for example, some vendor Homebrew builds report a fourth segment). The previous regex could silently drop the leading segment, misjudging whether the deprecatedbrew caskcommand syntax is still required and causing installs to fail with an unknown-command error (https://github.com/ansible-collections/community.general/pull/12559).htpasswd - fix
hash_schemealiases and Apache-compatiblebcrypthashes (https://github.com/ansible-collections/community.general/issues/6135, https://github.com/ansible-collections/community.general/pull/12123).icinga2 inventory plugin - mark the
passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).icinga2_host - fix
JSONDecodeErrorraised when the Icinga2 API returns an HTTP error response (https://github.com/ansible-collections/community.general/pull/12687, https://github.com/ansible-collections/community.general/issues/4948).idrac_redfish_config - fix setting attributes on iDRAC10 (https://github.com/ansible-collections/community.general/issues/10232, https://github.com/ansible-collections/community.general/pull/13141).
incus connection plugin - detect failed
incus file push/incus file pulltransfers and raise a clear error naming the instance and the CLI stderr, instead of silently reporting success and failing later with a misleadingchmod: No such file or directoryerror (https://github.com/ansible-collections/community.general/pull/12464).incus connection plugin - improve Windows PowerShell argv handling by stripping wrapper quotes from payload arguments for
-enc,-encodedcommand,-command,-c,-fileand-f(https://github.com/ansible-collections/community.general/issues/12161, https://github.com/ansible-collections/community.general/pull/12158).incus connection plugin - return
stdout/stderras 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).influxdb_retention_policy - fix
TypeErrorwhen altering a retention policy withoutshard_group_durationset (https://github.com/ansible-collections/community.general/issues/3897, https://github.com/ansible-collections/community.general/pull/12652).ini_file - do not add an option without value when
allow_no_value=trueand the requested values already exist (https://github.com/ansible-collections/community.general/issues/9296, https://github.com/ansible-collections/community.general/pull/13089).ini_file - do not delete comment-only lines that contain the option name (https://github.com/ansible-collections/community.general/issues/11919, https://github.com/ansible-collections/community.general/pull/12083).
ip_netns - fix namespace existence checks when one namespace name is a prefix of another (https://github.com/ansible-collections/community.general/issues/12731, https://github.com/ansible-collections/community.general/pull/12743).
ip_netns - report no change in check mode for
state=presentwhen the requested namespace already exists (https://github.com/ansible-collections/community.general/issues/12839, https://github.com/ansible-collections/community.general/pull/12842).ipa_hostgroup - fix task failure when it actually succeeded (https://github.com/ansible-collections/community.general/issues/12853, https://github.com/ansible-collections/community.general/pull/12854).
ipa_user - send only changed attributes when modifying a user (https://github.com/ansible-collections/community.general/issues/8296, https://github.com/ansible-collections/community.general/pull/13078).
ipa_user - set
krbpasswordexpirationin a separate request after the password, because FreeIPA resets the expiration date when an administrator sets the password (https://github.com/ansible-collections/community.general/issues/12850, https://github.com/ansible-collections/community.general/pull/13171).iptables_state - refactor code to avoid unnecessary unused variables and improve internal state handling (https://github.com/ansible-collections/community.general/pull/12093).
iso_create - fix failure with non-conforming ISO9660 path characters (https://github.com/ansible-collections/community.general/issues/5103, https://github.com/ansible-collections/community.general/pull/12028).
jabber - do not send an unnecessary
muc#usertag on groupchat messages (https://github.com/ansible-collections/community.general/pull/12658, https://github.com/ansible-collections/community.general/issues/5343).jabber callback plugin - mark the
passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).java_cert - detect silent
keytoolfailures by verifying the import outcome after the command exits withrc=0(https://github.com/ansible-collections/community.general/issues/6685, https://github.com/ansible-collections/community.general/pull/12238).java_cert - fix
NullPointerExceptionwhen 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).jenkins_job_info - fix
KeyError: 'color'when filtering folder jobs by color (https://github.com/ansible-collections/community.general/issues/12232), https://github.com/ansible-collections/community.general/pull/12369).ksu become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).launchd - fix
restartedandreloadedstates always reportingchanged=False(https://github.com/ansible-collections/community.general/issues/6199, https://github.com/ansible-collections/community.general/pull/12122).ldap_attrs - when the server raises
INAPPROPRIATE_MATCHINGbecause an attribute has no EQUALITY matching rule (for example, certainolcTLS*attributes on older OpenLDAP versions), the module now falls back to Python-side value comparison instead of crashing (https://github.com/ansible-collections/community.general/issues/3559, https://github.com/ansible-collections/community.general/issues/12596, https://github.com/ansible-collections/community.general/pull/12628).linode inventory plugin - mark the
access_tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).log_plays callback plugin - change type of the
log_folderoption fromstrtopath(https://github.com/ansible-collections/community.general/issues/5389, https://github.com/ansible-collections/community.general/pull/13047).loganalytics_ingestion callback plugin - mark the
shared_keyoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).logdna callback plugin - mark the
conf_keyoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).logentries callback plugin - mark the
tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).lvol - fix a hang when ensuring an LVM snapshot that already exists (https://github.com/ansible-collections/community.general/issues/12477, https://github.com/ansible-collections/community.general/pull/12810).
lxc_container - fix
create_scriptto accept a single tuple argument, resolving aTypeErrorthat silently preventedcontainer_commandfrom being executed (https://github.com/ansible-collections/community.general/issues/11360, https://github.com/ansible-collections/community.general/pull/12106).lxc_container - fix archiving containers on LXC 2.1 and newer, which failed with
KeyErrorbecause the module read the removedlxc.rootfsconfig key instead oflxc.rootfs.path(https://github.com/ansible-collections/community.general/issues/12562, https://github.com/ansible-collections/community.general/pull/12982).lxd connection plugin - detect failed
lxc file push/lxc file pulltransfers and raise a clear error naming the instance and the CLI stderr, instead of silently reporting success and failing later with a misleadingchmod: No such file or directoryerror (https://github.com/ansible-collections/community.general/pull/12464).lxd inventory plugin - mark the
trust_passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).machinectl become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).mail - fail when an encrypted connection cannot be established with
secure=always, instead of sending the mail unencrypted (https://github.com/ansible-collections/community.general/pull/13068).mail - open only one connection to the SMTP server instead of two (https://github.com/ansible-collections/community.general/pull/13069).
mail - report connection errors such as a refused connection as a module failure instead of a traceback (https://github.com/ansible-collections/community.general/issues/7122, https://github.com/ansible-collections/community.general/pull/13067).
modules using
CmdRunner- environment variables set for a single command are no longer passed to subsequent commands (https://github.com/ansible-collections/community.general/issues/12904, https://github.com/ansible-collections/community.general/pull/12905).nmcli - add
bond_mode_behaviorto control whether omittedmodepreserves the existing bond mode or uses the legacybalance-rrdefault on existing connections (https://github.com/ansible-collections/community.general/issues/9201, https://github.com/ansible-collections/community.general/pull/12114).nmcli - fail when the connection editor reports an error instead of reporting a change (https://github.com/ansible-collections/community.general/issues/9091, https://github.com/ansible-collections/community.general/pull/13116).
nmcli - fix
wifi_secflags options always reporting changes and failing with integer values (https://github.com/ansible-collections/community.general/issues/9121, https://github.com/ansible-collections/community.general/pull/13080).nmcli - fix check/diff reporting changes for bond
arp_intervalandarp_ip_targetoptions when they are already configured (https://github.com/ansible-collections/community.general/issues/11588, https://github.com/ansible-collections/community.general/pull/12085).nmcli - fix incorrectly reports diff for bond connections when
mtuis unset and NetworkManager reports no explicit MTU value (https://github.com/ansible-collections/community.general/pull/12085).nmcli - fix list suboptions of
wifiandwifi_secbeing sent to nmcli one character at a time when given as a string (https://github.com/ansible-collections/community.general/issues/7500, https://github.com/ansible-collections/community.general/pull/13072).nmcli - now handles connection names derived from MAC addresses, and generally names that contain
:or\\(https://github.com/ansible-collections/community.general/issues/12386, https://github.com/ansible-collections/community.general/pull/12387).npm - fix
JSONDecodeErrorwhen npm’s stdout output contains warnings or notices alongside the JSON payload (https://github.com/ansible-collections/community.general/pull/12665, https://github.com/ansible-collections/community.general/issues/4960).nrdp callback plugin - mark the
tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).onepassword lookup plugin - the
op://secret reference lookup returned raw bytes instead of a string, which broke passing the value into other modules (https://github.com/ansible-collections/community.general/pull/11958).onepassword, onepassword_doc, onepassword_raw, and onepassword_ssh_key lookup plugins - mark the
master_password,secret_key,service_account_token, andconnect_tokenoptions as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).online inventory plugin - mark the
oauth_tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).open_iscsi - fix login to a single target ignoring login failures and the
portaloption (https://github.com/ansible-collections/community.general/pull/12928).opennebula inventory plugin - coerce
SSH_PORTto an integer before settingansible_port(https://github.com/ansible-collections/community.general/pull/12437).opennebula inventory plugin - fix crash when retrieving VM without NIC (https://github.com/ansible-collections/community.general/pull/12361).
opennebula inventory plugin - mark the
api_passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).opentelemetry callback plugin - each host’s span event now carries that host’s task result instead of the result of the host that reported last (https://github.com/ansible-collections/community.general/issues/12987, https://github.com/ansible-collections/community.general/pull/13011).
opentelemetry callback plugin - fix
KeyErrorwhen a meta task is skipped by itswhencondition (https://github.com/ansible-collections/community.general/issues/12833, https://github.com/ansible-collections/community.general/pull/12837).opkg - correctly set executable search path (https://github.com/ansible-collections/community.general/pull/12182).
pacemaker_cluster - skip
pcs cluster startinstate=onlinewhen the cluster is already running, improving idempotency and allowing maintenance mode to be disabled without pcsd connectivity (https://github.com/ansible-collections/community.general/issues/12362, https://github.com/ansible-collections/community.general/pull/12403).pacemaker_resource - fix bug where the resource-ready state check did not recognize all valid ready states, causing the module to time out on resources that never reach the
Startedstate (https://github.com/ansible-collections/community.general/issues/12351, https://github.com/ansible-collections/community.general/pull/12355).pacemaker_resource - fix non-idempotent behaviour when
state=clonedis applied to a resource or group that is already part of a clone set (https://github.com/ansible-collections/community.general/issues/12217, https://github.com/ansible-collections/community.general/pull/12288).pacman - tolerate the AUR package age badge (for example
[9d2h]) that AUR helpers such asyayappend to the--query --upgradesoutput, instead of failing with anInvalid lineerror (https://github.com/ansible-collections/community.general/pull/12857).pamd - fix crash when removing a rule that is the only line in the file with
state=absent(https://github.com/ansible-collections/community.general/pull/13115).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 thesetcommand (https://github.com/ansible-collections/community.general/issues/6292, https://github.com/ansible-collections/community.general/pull/12121).passwordstore lookup plugin - do not return the folder tree as the password when the passname is a folder with
backend=gopass(https://github.com/ansible-collections/community.general/issues/5028, https://github.com/ansible-collections/community.general/pull/13167).passwordstore lookup plugin - mark the
userpassoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).pbrun become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).pfexec become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).pkgng - fix
state=latestfor specific packages on FreeBSD 14.4+ (https://github.com/ansible-collections/community.general/issues/11907, https://github.com/ansible-collections/community.general/pull/12789).pkgng - fix failure to install packages when the package repository has never been updated (https://github.com/ansible-collections/community.general/pull/12507).
pkgng - the module no longer hangs forever when
pkgasks an interactive question, such as the one about an OS version mismatch; the question now takes its default answer, so the task fails instead of blocking (https://github.com/ansible-collections/community.general/issues/12896, https://github.com/ansible-collections/community.general/pull/12898).pmrun become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).portage - fix
depclean: truecrashing withAnsibleModule.fail_json() missing 1 required positional argument: 'msg'instead of reporting the actual emerge failure (https://github.com/ansible-collections/community.general/pull/12168).proton_pass lookup plugin - mark the
patoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).proton_pass lookup plugin - use
pass-cli infoinstead of the removedpass-cli testcommand when checking for an active session, restoring session detection withpass-cli2.2.4 and later (https://github.com/ansible-collections/community.general/pull/12639).redfish_command - add workaround in
VirtualMediaInsertfor Supermicro systems to treat slots marked asNotConnectedas empty (https://github.com/ansible-collections/community.general/issues/6969, https://github.com/ansible-collections/community.general/pull/12537).redfish_config - fix
KeyError: 'ret'whenSetManagerNiccannot find a matching NIC (https://github.com/ansible-collections/community.general/issues/5892, https://github.com/ansible-collections/community.general/pull/12124).revbitspss lookup plugin - mark the
api_keyoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).scaleway inventory plugin - mark the
oauth_tokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).scaleway_ip - fix failure when creating an IP with
reverseset, and show the error details from the API when updating an IP fails (https://github.com/ansible-collections/community.general/issues/11362, https://github.com/ansible-collections/community.general/pull/13140).sefcontext - fix idempotence of
<<none>>file contexts (https://github.com/ansible-collections/community.general/pull/12561)sesu become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).snap - enforce
snap refresh --holdafter installing at a specific revision (https://github.com/ansible-collections/community.general/issues/12088, https://github.com/ansible-collections/community.general/pull/12097).snap - fix
IndexErrorwhen a single snap does not exist (https://github.com/ansible-collections/community.general/issues/12375, https://github.com/ansible-collections/community.general/pull/12570).splunk callback plugin - mark the
authtokenoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).sudosu become plugin - mark the
become_passoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).supervisorctl - treat the
BACKOFFprocess state as active so thatstate=starteddoes not fail on a program still being retried bysupervisord(https://github.com/ansible-collections/community.general/issues/5599, https://github.com/ansible-collections/community.general/pull/12688).sysrc - keep leading and trailing whitespace of the current value when comparing it, so setting a value that starts or ends with whitespace is idempotent, and report the correct change status for
state=value_presentandstate=value_absentwhen a list item has leading or trailing whitespace (https://github.com/ansible-collections/community.general/issues/13108, https://github.com/ansible-collections/community.general/pull/13117).terraform - allow
project_pathto be a relative path without a/, such asmyproject(https://github.com/ansible-collections/community.general/issues/6463, https://github.com/ansible-collections/community.general/pull/12937).terraform - fix return value
command, showing terraform plan name twice (https://github.com/ansible-collections/community.general/issues/12530, https://github.com/ansible-collections/community.general/pull/12540).terraform - pass
state_fileto theapplyanddestroycommands, not only toplan(https://github.com/ansible-collections/community.general/issues/6490, https://github.com/ansible-collections/community.general/pull/12997).timezone - fix failure when setting timezone aliases on Debian and Ubuntu without systemd (https://github.com/ansible-collections/community.general/issues/7498, https://github.com/ansible-collections/community.general/pull/13169).
timezone - no longer requires the
hwclockexecutable for name-only changes on non-systemd systems (https://github.com/ansible-collections/community.general/issues/12516, https://github.com/ansible-collections/community.general/pull/12526).timezone - update
/etc/timezonewhen usingtimedatectl(https://github.com/ansible-collections/community.general/issues/8784, https://github.com/ansible-collections/community.general/pull/13074).tss lookup plugin - mark the
passwordandtokenoptions as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).udm_dns_record - normalize IPv6 addresses in
datato expanded form to fix idempotency (https://github.com/ansible-collections/community.general/issues/317, https://github.com/ansible-collections/community.general/pull/12149).ufw - do not reload the default policy when it is already set to the requested value (https://github.com/ansible-collections/community.general/issues/1843, https://github.com/ansible-collections/community.general/pull/12590).
ufw - fix IPv6 rule determination and
insert_relative_to(https://github.com/ansible-collections/community.general/pull/12531).unixy callback - handle missing
ansible_hostin delegated vars when a task is delegated to a host without it set, such aslocalhost(https://github.com/ansible-collections/community.general/issues/12112, https://github.com/ansible-collections/community.general/pull/12113).wsl connection plugin - mark the
passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).xen_orchestra inventory plugin - mark the
passwordoption as sensitive so that ansible-core 2.22+ will automatically redact its values in outputs (https://github.com/ansible-collections/community.general/pull/12723).xenserver_guest - skip provisioning when existing VM is used as a template (https://github.com/ansible-collections/community.general/issues/12576, https://github.com/ansible-collections/community.general/pull/12717).
xenserver_guest_info - use fallback chain for determining VDI format from
sm_configkeysimage-format,vdi_type,type, defaulting toraw(https://github.com/ansible-collections/community.general/pull/12119, https://github.com/ansible-collections/community.general/pull/12215).xml - fix crash and idempotency of namespaced
attributevalues (https://github.com/ansible-collections/community.general/issues/10683, https://github.com/ansible-collections/community.general/pull/13121).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).
zpool - fix idempotency of
vdevswith short device names, symbolic links, partitions, multi-disk stripes, and role groups (https://github.com/ansible-collections/community.general/issues/10771, https://github.com/ansible-collections/community.general/issues/10744, https://github.com/ansible-collections/community.general/pull/12948).zpool - fix idempotency of vdevs
specialanddedup(https://github.com/ansible-collections/community.general/issues/12744, https://github.com/ansible-collections/community.general/pull/12745).zypper - do not fail when zypper returns
102(reboot needed) after a successful run, for example when applying patches with--with-interactive(https://github.com/ansible-collections/community.general/issues/12960, https://github.com/ansible-collections/community.general/pull/12965).zypper - do not pass
extra_argsto thezypper searchcommand used to determine the installed packages (https://github.com/ansible-collections/community.general/issues/4242, https://github.com/ansible-collections/community.general/pull/12958).zypper - fail when
zypperreports errors while run throughtransactional-updateversions that return success regardless (https://github.com/ansible-collections/community.general/issues/9011, https://github.com/ansible-collections/community.general/pull/12957).zypper - fix version specifier parsing when the version contains non-numeric characters, which caused packages to not be removed or installed (https://github.com/ansible-collections/community.general/pull/12588, https://github.com/ansible-collections/community.general/issues/6564).
zypper_repository - fix
enabled,autorefresh, andgpgcheckmodule parameters being overridden by values read from a.repofile (https://github.com/ansible-collections/community.general/issues/8783, https://github.com/ansible-collections/community.general/pull/12022).zypper_repository - fix idempotency when the repository URL contains
$releaseveron openSUSE Leap 16.0 (https://github.com/ansible-collections/community.general/pull/13017).
New Plugins
Callback
community.general.oneline - One-line Ansible screen output.
Filter
community.general.from_toml - Convert TOML string into dictionary.
Lookup
community.general.proton_pass - Fetch secrets from Proton Pass via the
pass-clicommand-line tool.
New Modules
community.general.appimage - Manage AppImage packages.
community.general.consul_kv_info - Retrieve entries from the key/value store of a Consul cluster.
community.general.django_flush - Wrapper for
django-admin flush.community.general.django_makemigrations - Wrapper for
django-admin makemigrations.community.general.flatpak_mask - Mask Flatpak applications.
community.general.gitlab_project_approvals - Manage project-level merge request approvals settings on GitLab Server.
community.general.golang_package - Manage Go packages with
go install.community.general.google_chat - Send Google Chat notifications.
community.general.kopia_repository - Manage Kopia repository.
community.general.kopia_repository_info - Gather information about a Kopia repository.
community.general.packer - Manage HashiCorp Packer builds.
community.general.serestorecon - Restore SELinux file contexts.
community.general.write_binary_file - Write binary file from Base64 encoded input.
community.general.xattr_info - Retrieve filesystem extended attributes.
community.general.xml_info - Query XML files or strings.
community.general.zypper_updates_info - List available Zypper updates.