Skip to content

Latest commit

 

History

History
976 lines (781 loc) · 92.9 KB

CHANGELOG.rst

File metadata and controls

976 lines (781 loc) · 92.9 KB

Community General Release Notes

This changelog describes changes after version 4.0.0.

Final maintenance release of community.general major version 5.

  • The community.general 5.x.y release stream is now effectively End of Life. No more releases will be made, and regular CI runs will stop.

Bugfix release.

  • passwordstore lookup plugin - make compatible with ansible-core 2.16 (#6447).

Regular bugfix release.

  • archive - reduce RAM usage by generating CRC32 checksum over chunks (#6274).
  • flatpak - fixes idempotency detection issues. In some cases the module could fail to properly detect already existing Flatpaks because of a parameter witch only checks the installed apps (#6289).
  • icinga2_host - fix the data structure sent to Icinga to make use of host templates and template vars (#6286).
  • idrac_redfish_command - allow user to specify resource_id for CreateBiosConfigJob to specify an exact manager (#2090).
  • ini_file - make section parameter not required so it is possible to pass null as a value. This only was possible in the past due to a bug in ansible-core that now has been fixed (#6404).
  • rhsm_release - make release parameter not required so it is possible to pass null as a value. This only was possible in the past due to a bug in ansible-core that now has been fixed (#6401).

Bugfix release.

  • archive - avoid deprecated exception class on Python 3 (#6180).
  • influxdb_user - fix running in check mode when the user does not exist yet (#6111).
  • interfaces_file - fix reading options in lines not starting with a space (#6120).
  • jail connection plugin - add inventory_hostname to vars under remote_addr. This is needed for compatibility with ansible-core 2.13 (#6118).
  • memset - fix memset urlerror handling (#6114).
  • nmcli - fixed idempotency issue for bridge connections. Module forced default value of bridge.priority to nmcli if not set; if bridge.stp is disabled nmcli ignores it and keep default (#3216, #4683).
  • nmcli - fixed idempotency issue when module params is set to may_fail4=false and method4=disabled; in this case nmcli ignores change and keeps their own default value yes (#6106).
  • nmcli - implemented changing mtu value on vlan interfaces (#4387).
  • xenorchestra inventory plugin - fix failure to receive objects from server due to not checking the id of the response (#6227).

Regular bugfix release.

  • cartesian and flattened lookup plugins - adjust to parameter deprecation in ansible-core 2.14's listify_lookup_plugin_terms helper function (#6074).
  • cloudflare_dns - fixed the idempotency for SRV DNS records (#5972).
  • cloudflare_dns - fixed the possiblity of setting a root-level SRV DNS record (#5972).
  • github_webhook - fix always changed state when no secret is provided (#5994).
  • keycloak_client - fix accidental replacement of value for attribute saml.signing.private.key with no_log in wrong contexts (#5934).
  • lxd_* modules, lxd inventory plugin - fix TLS/SSL certificate validation problems by using the correct purpose when creating the TLS context (#5616, #6034).
  • nmcli - fix change handling of values specified as an integer 0 (#5431).
  • nmcli - fix failure to handle WIFI settings when connection type not specified (#5431).
  • nmcli - fix improper detection of changes to wifi.wake-on-wlan (#5431).
  • nmcli - order is significant for lists of addresses (#6048).
  • terraform and timezone - slight refactoring to avoid linter reporting potentially undefined variables (#5933).
  • various plugins and modules - remove unnecessary imports (#5940).
  • zfs_delegate_admin - zfs allow output can now be parsed when uids/gids are not known to the host system (#5943).
  • zypper - make package managing work on readonly filesystem of openSUSE MicroOS (#5615).

Regular bugfix release.

  • ModuleHelper - fix bug when adjusting the name of reserved output variables (#5755).
  • alternatives - support subcommands on Fedora 37, which uses follower instead of slave (#5794).
  • bitwarden lookup plugin - clarify what to do, if the bitwarden vault is not unlocked (#5811).
  • dig lookup plugin - correctly handle DNSKEY record type's algorithm field (#5914).
  • gem - fix hang due to interactive prompt for confirmation on specific version uninstall (#5751).
  • gitlab_deploy_key - also update title and not just can_push (#5888).
  • keycloak_user_federation - fixes federation creation issue. When a new federation was created and at the same time a default / standard mapper was also changed / updated the creation process failed as a bad None set variable led to a bad malformed url request (#5750).
  • keycloak_user_federation - fixes idempotency detection issues. In some cases the module could fail to properly detect already existing user federations because of a buggy seemingly superflous extra query parameter (#5732).
  • loganalytics callback plugin - adjust type of callback to notification, it was incorrectly classified as aggregate before (#5761).
  • logdna callback plugin - adjust type of callback to notification, it was incorrectly classified as aggregate before (#5761).
  • logstash callback plugin - adjust type of callback to notification, it was incorrectly classified as aggregate before (#5761).
  • nsupdate - fix zone lookup. The SOA record for an existing zone is returned as an answer RR and not as an authority RR (#5817, #5818).
  • redfish_utils - removed basic auth HTTP header when performing a GET on the service root resource and when performing a POST to the session collection (#5886).
  • splunk callback plugin - adjust type of callback to notification, it was incorrectly classified as aggregate before (#5761).
  • sumologic callback plugin - adjust type of callback to notification, it was incorrectly classified as aggregate before (#5761).
  • syslog_json callback plugin - adjust type of callback to notification, it was incorrectly classified as aggregate before (#5761).
  • terraform - fix current workspace never getting appended to the all key in the workspace_ctf object (#5735).
  • terraform - fix terraform init failure when there are multiple workspaces on the remote backend and when default workspace is missing by setting TF_WORKSPACE environmental variable to the value of workspace when used (#5735).
  • terraform module - disable ANSI escape sequences during validation phase (#5843).
  • xml - fixed a bug where empty children list would not be set (#5808).

Regular bugfix release.

  • gconftool2 - fix crash that prevents setting a key (#5591, #5687).
  • gitlab_group_variables - fix dropping variables accidentally when GitLab introduced new properties (#5667).
  • gitlab_project_variables - fix dropping variables accidentally when GitLab introduced new properties (#5667).
  • lxc_container - fix the arguments of the lxc command which broke the creation and cloning of containers (#5578).
  • opkg - fix issue that force=reinstall would not reinstall an existing package (#5705).
  • proxmox_disk - fixed possible issues with redundant vmid parameter (#5492, #5672).
  • proxmox_nic - fixed possible issues with redundant vmid parameter (#5492, #5672).
  • unixy callback plugin - fix typo introduced when updating to use Ansible's configuration manager for handling options (#5600).

Regular bugfix release.

  • keycloak_client_rolemapping - calculate proposed and after return values properly (#5619).
  • keycloak_client_rolemapping - remove only listed mappings with state=absent (#5619).
  • proxmox inventory plugin - handle tags delimited by semicolon instead of comma, which happens from Proxmox 7.3 on (#5602).
  • vdo - now uses yaml.safe_load() to parse command output instead of the deprecated yaml.load() which is potentially unsafe. Using yaml.load() without explicitely setting a Loader= is also an error in pyYAML 6.0 (#5632).
  • vmadm - fix for index out of range error in get_vm_uuid (#5628).

Regular bugfix release.

  • chroot connection plugin - add inventory_hostname to vars under remote_addr. This is needed for compatibility with ansible-core 2.13 (#5570).
  • cmd_runner module utils - fixed bug when handling default cases in cmd_runner_fmt.as_map() (#5538).
  • cmd_runner module utils - formatting arguments cmd_runner_fmt.as_fixed() was expecting an non-existing argument (#5538).
  • unixy callback plugin - fix plugin to work with ansible-core 2.14 by using Ansible's configuration manager for handling options (#5600).

Regular bugfix release.

  • passwordstore lookup plugin - improve error messages to include stderr (#5436)
  • Please note that some tools, like the VScode plugin (ansible/vscode-ansible#573), or ansible-doc --list --type module, suggest to replace the correct FQCNs for modules and actions in community.general with internal names that have more than three components. For example, community.general.ufw is suggested to be replaced by community.general.system.ufw. While these longer names do work, they are considered internal names by the collection and are subject to change and be removed at all time. They will be removed in community.general 6.0.0 and result in deprecation messages. Avoid using these internal names, and use general three-component FQCNs (community.general.<name_of_module>) instead (#5373).
  • dependent lookup plugin - avoid warning on deprecated parameter for Templar.template() (#5543).
  • iso_create - the module somtimes failed to add folders for Joliet and UDF formats (#5275).
  • ldap_attrs - fix bug which caused a Bad search filter error. The error was occuring when the ldap attribute value contained special characters such as ( or * (#5434, #5435).
  • nmcli - fix int options idempotence (#4998).
  • nsupdate - fix silent failures when updating NS entries from Bind9 managed DNS zones (#4657).
  • one_vm - avoid splitting labels that are None (#5489).
  • proxmox_disk - avoid duplicate vmid reference (#5492, #5493).
  • snap - allow values in the options parameter to contain whitespaces (#5475).

Regular feature and bugfix release.

  • newrelic_deployment - removed New Relic v1 API, added support for v2 API (#5341).
  • consul - minor refactoring (#5367).
  • lxc_container - minor refactoring (#5358).
  • nmcli - add transport_mode configuration for Infiniband devices (#5361).
  • opentelemetry callback plugin - send logs. This can be disabled by setting disable_logs=false (#4175).
  • portage - add knobs for Portage's --backtrack and --with-bdeps options (#5349).
  • portage - use Portage's python module instead of calling gentoolkit-provided program in shell (#5349).
  • znode - possibility to use ZooKeeper ACL authentication (#5306).
  • newrelic_deployment - revision is required for v2 API (#5341).
  • ArgFormat module utils - deprecated along CmdMixin, in favor of the cmd_runner_fmt module util (#5370).
  • CmdMixin module utils - deprecated in favor of the CmdRunner module util (#5370).
  • CmdModuleHelper module utils - deprecated in favor of the CmdRunner module util (#5370).
  • CmdStateModuleHelper module utils - deprecated in favor of the CmdRunner module util (#5370).
  • django_manage - support for Django releases older than 4.1 has been deprecated and will be removed in community.general 9.0.0 (#5400).
  • django_manage - support for the commands cleanup, syncdb and validate that have been deprecated in Django long time ago will be removed in community.general 9.0.0 (#5400).
  • django_manage - the behavior of "creating the virtual environment when missing" is being deprecated and will be removed in community.general version 9.0.0 (#5405).
  • newrelic_deployment - appname and environment are no longer valid options in the v2 API. They will be removed in community.general 7.0.0 (#5341).
  • archive - avoid crash when lzma is not present and format is not xz (#5393).
  • ldap_attrs - fix ordering issue by ignoring the {x} prefix on attribute values (#977, #5385).
  • opentelemetry callback plugin - support opentelemetry-api 1.13.0 that removed support for _time_ns (#5342).
  • pfexec become plugin - remove superflous quotes preventing exe wrap from working as expected (#3671, #3889).
  • pkgng - fix case when pkg fails when trying to upgrade all packages (#5363).
  • proxmox_kvm - fix agent parameter when boolean value is specified (#5198).
  • virtualbox inventory plugin - skip parsing values with keys that have both a value and nested data. Skip parsing values that are nested more than two keys deep (#5332, #5348).
  • xenserver_facts - fix broken AnsibleModule call that prevented the module from working at all (#5383).
  • scaleway_container_registry - Scaleway Container registry management module
  • scaleway_container_registry_info - Scaleway Container registry info module
  • iso_customize - Add/remove/change files in ISO file
  • manageiq_policies_info - Listing of resource policy_profiles in ManageIQ
  • manageiq_tags_info - Retrieve resource tags in ManageIQ

Regular feature and bugfix release.

  • bitwarden lookup plugin - add option search to search for other attributes than name (#5297).
  • machinectl become plugin - combine the success command when building the become command to be consistent with other become plugins (#5287).
  • netcup_dnsapi - add timeout parameter (#5301).
  • proxmox module utils, the proxmox* modules - add api_task_ok helper to standardize API task status checks across all proxmox modules (#5274).
  • proxmox_snap - add unbind param to support snapshotting containers with configured mountpoints (#5274).
  • redfish_config - add SetSessionService to set default session timeout policy (#5008).
  • terraform - adds capability to handle complex variable structures for variables parameter in the module. This must be enabled with the new complex_vars parameter (#4797).
  • terraform - run terraform init with -no-color not to mess up the stdout of the task (#5147).
  • lxc_container - the module will no longer make any effort to support Python 2 (#5304).
  • ini_file - minor refactor fixing a python lint error (#5307).
  • locale_gen - fix support for Ubuntu (#5281).
  • lxc_container - the module has been updated to support Python 3 (#5304).
  • nmcli - fix error when setting previously unset MAC address, gsm.apn or vpn.data: current values were being normalized without checking if they might be None (#5291).
  • redhat_subscription - make module idempotent when pool_ids are used (#5313).
  • proxmox_disk - Management of a disk of a Qemu(KVM) VM in a Proxmox VE cluster.
  • keycloak_user_rolemapping - Allows administration of Keycloak user_rolemapping with the Keycloak API

Regular bugfix and feature release.

  • ali_instance - minor refactor when checking for installed dependency (#5240).
  • ali_instance_info - minor refactor when checking for installed dependency (#5240).
  • consul_session - adds token parameter for session (#5193).
  • gitlab module util - minor refactor when checking for installed dependency (#5259).
  • gitlab_branch - minor refactor when checking for installed dependency (#5259).
  • gitlab_deploy_key - minor refactor when checking for installed dependency (#5259).
  • gitlab_group - minor refactor when checking for installed dependency (#5259).
  • gitlab_group_members - minor refactor when checking for installed dependency (#5259).
  • gitlab_group_variable - minor refactor when checking for installed dependency (#5259).
  • gitlab_hook - minor refactor when checking for installed dependency (#5259).
  • gitlab_hook - minor refactoring (#5271).
  • gitlab_project - minor refactor when checking for installed dependency (#5259).
  • gitlab_project_members - minor refactor when checking for installed dependency (#5259).
  • gitlab_project_variable - minor refactor when checking for installed dependency (#5259).
  • gitlab_protected_branch - minor refactor when checking for installed dependency (#5259).
  • gitlab_runner - minor refactor when checking for installed dependency (#5259).
  • gitlab_user - minor refactor when checking for installed dependency (#5259).
  • homebrew, homebrew_tap - added Homebrew on Linux path to defaults (#5241).
  • nagios - minor refactoring on parameter validation for different actions (#5239).
  • nmcli - add bond option xmit_hash_policy to bond options (#5148).
  • nmcli - honor IP options for VPNs (#5228).
  • redfish - added new command GetVirtualMedia, VirtualMediaInsert and VirtualMediaEject to Systems category due to Redfish spec changes the virtualMedia resource location from Manager to System (#5124).
  • seport - added new argument local (#5203)
  • wdc_redfish_command - add PowerModeLow and PowerModeNormal commands for Chassis category (#5145).
  • listen_ports_facts - removed leftover EnvironmentError . The else clause had a wrong indentation. The check is now handled in the split_pid_name function (#5202).
  • nmcli - avoid changed status for most cases with VPN connections (#5126).
  • osx_defaults - no longer expand ~ in value to the user's home directory, or expand environment variables (#5234, #5243).
  • proxmox_kvm - fix exception when no agent argument is specified (#5194).
  • proxmox_kvm - replace new condition with proper condition to allow for using vmid on update (#5206).
  • slack - fix message update for channels which start with CP. When message-id was passed it failed for channels which started with CP because the # symbol was added before the channel_id (#5249).
  • tss lookup plugin - adding support for updated Delinea library (DelineaXPM/python-tss-sdk#9, #5151).
  • pipx_info - Rretrieves information about applications installed with pipx

Feature and bugfix release.

  • Added MIT license as LICENSES/MIT.txt for tests/unit/plugins/modules/packaging/language/test_gem.py (#5065).
  • All software licenses are now in the LICENSES/ directory of the collection root (#5065, #5079, #5080, #5083, #5087, #5095, #5098, #5106).
  • The collection repository conforms to the REUSE specification except for the changelog fragments (#5138).
  • pipx - added state latest to the module (#5105).
  • pipx - changed implementation to use cmd_runner (#5085).
  • pipx - module fails faster when name is missing for states upgrade and reinstall (#5100).
  • pipx module utils - created new module util pipx providing a cmd_runner specific for the pipx module (#5085).
  • proxmox_kvm - allow agent argument to be a string (#5107).
  • wdc_redfish_command - add IndicatorLedOn and IndicatorLedOff commands for Chassis category (#5059).
  • apache2_mod_proxy - avoid crash when reporting inability to parse balancer_member_page HTML caused by using an undefined variable in the error message (#5111).
  • dig lookup plugin - fix evaluation of falsy values for boolean parameters fail_on_error and retry_servfail (#5129).
  • dnsimple_info - correctly report missing library as requests and not another_library (#5111).
  • funcd connection plugin - fix signature of exec_command (#5111).
  • manageiq_alert_profiles - avoid crash when reporting unknown profile caused by trying to return an undefined variable (#5111).
  • nsupdate - compatibility with NS records (#5112).
  • packet_ip_subnet - fix error reporting in case of invalid CIDR prefix lengths (#5111).
  • pip_package_info - remove usage of global variable (#5111).
  • proxmox_kvm - fix wrong condition (#5108).

Regular bugfix and feature release.

  • ModuleHelper module utils - added property verbosity to base class (#5035).
  • apk - add world parameter for supporting a custom world file (#4976).
  • consul - adds ttl parameter for session (#4996).
  • dig lookup plugin - add option fail_on_error to allow stopping execution on lookup failures (#4973).
  • keycloak_* modules - add http_agent parameter with default value Ansible (#5023).
  • lastpass - use config manager for handling plugin options (#5022).
  • listen_ports_facts - add new include_non_listening option which adds -a option to netstat and ss. This shows both listening and non-listening (for TCP this means established connections) sockets, and returns state and foreign_address (#4762, #4953).
  • maven_artifact - add a new unredirected_headers option that can be used with ansible-core 2.12 and above. The default value is to not use Authorization and Cookie headers on redirects for security reasons. With ansible-core 2.11, all headers are still passed on for redirects (#4812).
  • pacman - added parameters reason and reason_for to set/change the install reason of packages (#4956).
  • xfconf - add stdout, stderr and cmd to the module results (#5037).
  • xfconf - use do_raise() instead of defining custom exception class (#4975).
  • xfconf_info - use do_raise() instead of defining custom exception class (#4975).
  • keyring_info - fix the result from the keyring library never getting returned (#4964).
  • pacman - fixed name resolution of URL packages (#4959).
  • passwordstore lookup plugin - fix returnall for gopass (#5027).
  • passwordstore lookup plugin - fix password store path detection for gopass (#4955).
  • proxmox - fix error handling when getting VM by name when state=absent (#4945).
  • proxmox_kvm - fix error handling when getting VM by name when state=absent (#4945).
  • slack - fix incorrect channel prefix # caused by incomplete pattern detection by adding G0 and GF as channel ID patterns (#5019).
  • xfconf - fix setting of boolean values (#4999, #5007).
  • bitwarden - Retrieve secrets from Bitwarden
  • wdc_redfish_command - Manages WDC UltraStar Data102 Out-Of-Band controllers using Redfish APIs
  • wdc_redfish_info - Manages WDC UltraStar Data102 Out-Of-Band controllers using Redfish APIs

Regular bugfix and feature release.

  • machinectl become plugin - can now be used with a password from another user than root, if a polkit rule is present (#4849).
  • opentelemetry callback plugin - allow configuring opentelementry callback via config file (#4916).
  • redfish_info - add GetManagerInventory to report list of Manager inventory information (#4899).
  • cmd_runner module utils - fix bug caused by using the command variable instead of self.command when looking for binary path (#4903).
  • dsv lookup plugin - do not ignore the tld parameter (#4911).
  • lxd connection plugin - fix incorrect inventory_hostname in remote_addr. This is needed for compatibility with ansible-core 2.13 (#4886).
  • proxmox inventory plugin - fix crash when enabled=1 is used in agent config string (#4910).
  • rax_clb_nodes - fix code to be compatible with Python 3 (#4933).
  • redfish_info - fix to GetChassisPower to correctly report power information when multiple chassis exist, but not all chassis report power information (#4901).

Regular bugfix and feature release.

  • cmd_runner module utils - add __call__ method to invoke context (#4791).
  • passwordstore lookup plugin - allow using alternative password managers by detecting wrapper scripts, allow explicit configuration of pass and gopass backends (#4766).
  • sudoers - will attempt to validate the proposed sudoers rule using visudo if available, optionally skipped, or required (#4794, #4745).
  • Include PSF-license.txt file for plugins/module_utils/_mount.py.
  • redfish_command - fix the check if a virtual media is unmounted to just check for instered= false caused by Supermicro hardware that does not clear the ImageName (#4839).
  • redfish_command - the Supermicro Redfish implementation only supports the image_url parameter in the underlying API calls to VirtualMediaInsert and VirtualMediaEject. Any values set (or the defaults) for write_protected or inserted will be ignored (#4839).
  • sudoers - fix incorrect handling of state: absent (#4852).
  • scaleway_compute_private_network - Scaleway compute - private network management
  • keyring - Set or delete a passphrase using the Operating System's native keyring
  • keyring_info - Get a passphrase using the Operating System's native keyring

Bugfix release.

  • alternatives - do not set the priority if the priority was not set by the user (#4810).
  • alternatives - only pass subcommands when they are specified as module arguments (#4803, #4804, #4836).
  • alternatives - when subcommands is specified, link must be given for every subcommand. This was already mentioned in the documentation, but not enforced by the code (#4836).
  • nmcli - fix error caused by adding undefined module arguments for list options (#4373, #4813).
  • proxmox inventory plugin - fixed extended status detection for qemu (#4816).
  • redhat_subscription - fix unsubscribing on RHEL 9 (#4741).
  • sudoers - ensure sudoers config files are created with the permissions requested by sudoers (0440) (#4814).

Regular bugfix and feature release.

  • ModuleHelper module utils - improved ModuleHelperException, using to_native() for the exception message (#4755).
  • alternatives - add state=absent to be able to remove an alternative (#4654).
  • alternatives - add subcommands parameter (#4654).
  • ansible_galaxy_install - minor refactoring using latest ModuleHelper updates (#4752).
  • cmd_runner module util - added parameters check_mode_skip and check_mode_return to CmdRunner.context(), so that the command is not executed when check_mode=True (#4736).
  • nmcli - adds vpn type and parameter for supporting VPN with service type L2TP and PPTP (#4746).
  • proxmox inventory plugin - added new flag qemu_extended_statuses and new groups <group_prefix>prelaunch, <group_prefix>paused. They will be populated only when want_facts=true, qemu_extended_statuses=true and only for QEMU machines (#4723).
  • puppet - adds confdir parameter to configure a custom confir location (#4740).
  • xfconf - changed implementation to use cmd_runner (#4776).
  • xfconf module utils - created new module util xfconf providing a cmd_runner specific for xfconf modules (#4776).
  • xfconf_info - changed implementation to use cmd_runner (#4776).
  • cmd_runner module utils - deprecated fmt in favour of cmd_runner_fmt as the parameter format object (#4777).
  • gconftool2_info - Retrieve GConf configurations

Maintenance and bugfix release for Ansible 6.0.0.

  • Include simplified_bsd.txt license file for various module utils, the lxca_common docs fragment, and the utm_utils unit tests.

Regular bugfix release for inclusion in Ansible 6.0.0.

  • cpanm - using do_raise() to raise exceptions in ModuleHelper derived modules (#4674).
  • mksysb - using do_raise() to raise exceptions in ModuleHelper derived modules (#4674).
  • pipx - using do_raise() to raise exceptions in ModuleHelper derived modules (#4674).
  • snap - using do_raise() to raise exceptions in ModuleHelper derived modules (#4674).
  • xfconf - using do_raise() to raise exceptions in ModuleHelper derived modules (#4674).
  • consul - fixed bug introduced in PR 4590 (#4680).
  • filesystem - handle fatresize --info output lines without : (#4700).
  • filesystem - improve error messages when output cannot be parsed by including newlines in escaped form (#4700).
  • keycloak_realm - fix default groups and roles (#4241).
  • redis* modules - fix call to module.fail_json when failing because of missing Python libraries (#4733).
  • xcc_redfish_command - for compatibility due to Redfish spec changes the virtualMedia resource location changed from Manager to System (#4682).
  • zfs - fix wrong quoting of properties (#4707, #4726).

This is release 5.0.0 of community.general, released on 2022-05-17.

  • The community.general collection no longer supports Ansible 2.9 and ansible-base 2.10. While we take no active measures to prevent usage, we will remove a lot of compatibility code and other compatility measures that will effectively prevent using most content from this collection with Ansible 2.9, and some content of this collection with ansible-base 2.10. Both Ansible 2.9 and ansible-base 2.10 will very soon be End of Life and if you are still using them, you should consider upgrading to ansible-core 2.11 or later as soon as possible (#4548).
  • Avoid internal ansible-core module_utils in favor of equivalent public API available since at least Ansible 2.9. This fixes some instances added since the last time this was fixed (#4232).
  • ModuleHelper module utils - ModuleHelperBase` now delegates the attributes ``check_mode, get_bin_path, warn, and deprecate to the underlying AnsibleModule instance (#4600).
  • ModuleHelper module utils - ModuleHelperBase now has a convenience method do_raise (#4660).
  • Remove vendored copy of distutils.version in favor of vendored copy included with ansible-core 2.12+. For ansible-core 2.11, uses distutils.version for Python < 3.12. There is no support for ansible-core 2.11 with Python 3.12+ (#3988).
  • aix_filesystem - calling run_command with arguments as list instead of str (#3833).
  • aix_lvg - calling run_command with arguments as list instead of str (#3834).
  • alternatives - add state parameter, which provides control over whether the alternative should be set as the active selection for its alternatives group (#4543, #4557).
  • ansible_galaxy_install - added option no_deps to the module (#4174).
  • atomic_container - minor refactoring (#4567).
  • clc_alert_policy - minor refactoring (#4556).
  • clc_group - minor refactoring (#4556).
  • clc_loadbalancer - minor refactoring (#4556).
  • clc_server - minor refactoring (#4556).
  • cmd_runner module util - reusable command runner with consistent argument formatting and sensible defaults (#4476).
  • cobbler inventory plugin - add include_profiles option (#4068).
  • datadog_monitor - support new datadog event monitor of type event-v2 alert (#4457)
  • filesystem - add support for resizing btrfs (#4465).
  • gitlab - add more token authentication support with the new options api_oauth_token and api_job_token (#705).
  • gitlab - clean up modules and utils (#3694).
  • gitlab_group, gitlab_project - add new option avatar_path (#3792).
  • gitlab_group_variable - new variables parameter (#4038 and #4074).
  • gitlab_project - add new option default_branch to gitlab_project (if readme = true) (#3792).
  • gitlab_project_variable - new variables parameter (#4038).
  • hponcfg - revamped module using ModuleHelper (#3840).
  • icinga2 inventory plugin - added the display_name field to variables (#3875, #3906).
  • icinga2 inventory plugin - implemented constructed interface (#4088).
  • icinga2 inventory plugin - inventory object names are changable using inventory_attr in your config file to the host object name, address, or display_name fields (#3875, #3906).
  • ip_netns - calling run_command with arguments as list instead of str (#3822).
  • ipa_dnsrecord - add new argument record_values, mutually exclusive to record_value, which supports multiple values for one record (#4578).
  • ipa_dnszone - dynamicupdate is now a boolean parameter, instead of a string parameter accepting "true" and "false". Also the module is now idempotent with respect to dynamicupdate (#3374).
  • ipa_dnszone - add DNS zone synchronization support (#3374).
  • ipa_service - add skip_host_check parameter. (#4417).
  • ipmi_boot - add support for user-specified IPMI encryption key (#3698).
  • ipmi_power - add machine option to ensure the power state via the remote target address (#3968).
  • ipmi_power - add support for user-specified IPMI encryption key (#3698).
  • iso_extract - calling run_command with arguments as list instead of str (#3805).
  • java_cert - calling run_command with arguments as list instead of str (#3835).
  • jira - add support for Bearer token auth (#3838).
  • jira - when creating a comment, fields now is used for additional data (#4304).
  • keycloak_* modules - added connection timeout parameter when calling server (#4168).
  • keycloak_client - add always_display_in_console parameter (#4390).
  • keycloak_client - add default_client_scopes and optional_client_scopes parameters. (#4385).
  • keycloak_user_federation - add sssd user federation support (#3767).
  • ldap_entry - add support for recursive deletion (#3613).
  • linode inventory plugin - add support for caching inventory results (#4179).
  • linode inventory plugin - allow templating of access_token variable in Linode inventory plugin (#4040).
  • listen_ports_facts - add support for ss command besides netstat (#3708).
  • lists_mergeby filter plugin - add parameters list_merge and recursive. These are only supported when used with ansible-base 2.10 or ansible-core, but not with Ansible 2.9 (#4058).
  • logentries - calling run_command with arguments as list instead of str (#3807).
  • logstash_plugin - calling run_command with arguments as list instead of str (#3808).
  • lxc_container - added wait_for_container parameter. If true the module will wait until the running task reports success as the status (#4039).
  • lxc_container - calling run_command with arguments as list instead of str (#3851).
  • lxd connection plugin - make sure that ansible_lxd_host, ansible_executable, and ansible_lxd_executable work (#3798).
  • lxd inventory plugin - support virtual machines (#3519).
  • lxd_container - adds project option to allow selecting project for LXD instance (#4479).
  • lxd_container - adds type option which also allows to operate on virtual machines and not just containers (#3661).
  • lxd_profile - adds project option to allow selecting project for LXD profile (#4479).
  • mail callback plugin - add Message-ID and Date headers (#4055, #4056).
  • mail callback plugin - properly use Ansible's option handling to split lists (#4140).
  • mattermost - add the possibility to send attachments instead of text messages (#3946).
  • mksysb - revamped the module using ModuleHelper (#3295).
  • module_helper module utils - added decorators check_mode_skip and check_mode_skip_returns for skipping methods when check_mode=True (#3849).
  • monit - calling run_command with arguments as list instead of str (#3821).
  • nmap inventory plugin - add sudo option in plugin in order to execute sudo nmap so that nmap runs with elevated privileges (#4506).
  • nmcli - add wireguard connection type (#3985).
  • nmcli - add missing connection aliases 802-3-ethernet and 802-11-wireless (#4108).
  • nmcli - add multiple addresses support for ip4 parameter (#1088, #3738).
  • nmcli - add multiple addresses support for ip6 parameter (#1088).
  • nmcli - add support for eui64 and ipv6privacy parameters (#3357).
  • nmcli - adds routes6 and route_metric6 parameters for supporting IPv6 routes (#4059).
  • nmcli - remove nmcli modify dependency on type parameter (#2858).
  • nomad_job - minor refactoring (#4567).
  • nomad_job_info - minor refactoring (#4567).
  • npm - add ability to use production flag when ci is set (#4299).
  • open_iscsi - extended module to allow rescanning of established session for one or all targets (#3763).
  • opennebula - add the release action for VMs in the HOLD state (#4036).
  • opentelemetry_plugin - enrich service when using the docker_login (#4104).
  • opentelemetry_plugin - enrich service when using the jenkins, hetzner or jira modules (#4105).
  • packet_device - minor refactoring (#4567).
  • packet_sshkey - minor refactoring (#4567).
  • packet_volume - minor refactoring (#4567).
  • pacman - add remove_nosave parameter to avoid saving modified configuration files as .pacsave files. (#4316, #4315).
  • pacman - add stdout and stderr as return values (#3758).
  • pacman - now implements proper change detection for update_cache=true. Adds cache_updated return value to when update_cache=true to report this result independently of the module's overall changed return value (#4337).
  • pacman - the module has been rewritten and is now much faster when using state=latest. Operations are now done all packages at once instead of package per package and the configured output format of pacman no longer affect the module's operation. (#3907, #3783, #4079)
  • passwordstore lookup plugin - add configurable lock and locktimeout options to avoid race conditions in itself and in the pass utility it calls. By default, the plugin now locks on write operations (#4194).
  • pipx - added options editable and pip_args (#4300).
  • pritunl_user - add mac_addresses parameter (#4535).
  • profitbricks - minor refactoring (#4567).
  • proxmox - add clone parameter (#3930).
  • proxmox - minor refactoring (#4567).
  • proxmox inventory plugin - add support for client-side jinja filters (#3553).
  • proxmox inventory plugin - add support for templating the url, user, and password options (#4418).
  • proxmox inventory plugin - add token authentication as an alternative to username/password (#4540).
  • proxmox inventory plugin - parse LXC configs returned by the proxmox API (#4472).
  • proxmox modules - move HAS_PROXMOXER check into module_utils (#4030).
  • proxmox modules - move common code into module_utils (#4029).
  • proxmox_kvm - added EFI disk support when creating VM with OVMF UEFI BIOS with new efidisk0 option (#4106, #1638).
  • proxmox_kwm - add win11 to ostype parameter for Windows 11 and Windows Server 2022 support (#4023, #4191).
  • proxmox_snap - add restore snapshot option (#4377).
  • proxmox_snap - fixed timeout value to correctly reflect time in seconds. The timeout was off by one second (#4377).
  • puppet - remove deprecation for show_diff parameter. Its alias show-diff is still deprecated and will be removed in community.general 7.0.0 (#3980).
  • python_requirements_info - returns python version broken down into its components, and some minor refactoring (#3797).
  • rax_files_objects - minor refactoring improving code quality (#4649).
  • redfish_* modules - the contents of @Message.ExtendedInfo will be returned as a string in the event that @Message.ExtendedInfo.Messages does not exist. This is likely more useful than the standard HTTP error (#4596).
  • redfish_command - add GetHostInterfaces command to enable reporting Redfish Host Interface information (#3693).
  • redfish_command - add IndicatorLedOn, IndicatorLedOff, and IndicatorLedBlink commands to the Systems category for controling system LEDs (#4084).
  • redfish_command - add SetHostInterface command to enable configuring the Redfish Host Interface (#3632).
  • redis - add authentication parameters login_user, tls, validate_certs, and ca_certs (#4207).
  • scaleway inventory plugin - add profile parameter scw_profile (#4049).
  • scaleway_compute - add possibility to use project identifier (new project option) instead of deprecated organization identifier (#3951).
  • scaleway_volume - all volumes are systematically created on par1 (#3964).
  • seport - minor refactoring (#4471).
  • smartos_image_info - minor refactoring (#4567).
  • snap - add option options permitting to set options using the snap set command (#3943).
  • sudoers - add support for runas parameter (#4379).
  • svc - calling run_command with arguments as list instead of str (#3829).
  • syslog_json - add option to skip logging of gather_facts playbook tasks; use v2 callback API (#4223).
  • terraform - adds terraform_upgrade parameter which allows terraform init to satisfy new provider constraints in an existing Terraform project (#4333).
  • to_time_unit filter plugins - the time filters has been extended to also allow 0 as input (#4612).
  • udm_group - minor refactoring (#4556).
  • udm_share - minor refactoring (#4556).
  • vmadm - minor refactoring (#4567).
  • vmadm - minor refactoring and improvement on the module (#4581).
  • vmadm - minor refactoring and improvement on the module (#4648).
  • webfaction_app - minor refactoring (#4567).
  • webfaction_db - minor refactoring (#4567).
  • xattr - calling run_command with arguments as list instead of str (#3806).
  • xfconf - added missing value types char, uchar, int64 and uint64 (#4534).
  • xfconf - minor refactor on the base class for the module (#3919).
  • zfs - minor refactoring in the code (#4650).
  • zypper - add support for --clean-deps option to remove packages that depend on a package being removed (#4195).
  • Parts of this collection do not work with ansible-core 2.11 on Python 3.12+. Please either upgrade to ansible-core 2.12+, or use Python 3.11 or earlier (#3988).
  • The symbolic links used to implement flatmapping for all modules were removed and replaced by meta/runtime.yml redirects. This effectively breaks compatibility with Ansible 2.9 for all modules (without using their "long" names, which is discouraged and which can change without previous notice since they are considered an implementation detail) (#4548).
  • a_module test plugin - remove Ansible 2.9 compatibility code (#4548).
  • archive - remove Ansible 2.9 compatibility code (#4548).
  • git_config - remove Ansible 2.9 and early ansible-base 2.10 compatibility code (#4548).
  • java_keystore - remove Ansible 2.9 compatibility code (#4548).
  • lists_mergeby and groupby_as_dict filter plugins - adjust filter plugin filename. This change is not visible to end-users, it only affects possible other collections importing Python paths (#4625).
  • lists_mergeby filter plugin - remove Ansible 2.9 compatibility code (#4548).
  • maven_artifact - remove Ansible 2.9 compatibility code (#4548).
  • memcached cache plugin - remove Ansible 2.9 compatibility code (#4548).
  • path_join filter plugin shim - remove Ansible 2.9 compatibility code (#4548).
  • redis cache plugin - remove Ansible 2.9 compatibility code (#4548).
  • yarn - remove unsupported and unnecessary --no-emoji flag (#4662).
  • ansible_galaxy_install - deprecated support for ansible 2.9 and ansible-base 2.10 (#4601).
  • dig lookup plugin - the DLV record type has been decommissioned in 2017 and support for it will be removed from community.general 6.0.0 (#4618).
  • gem - the default of the norc option has been deprecated and will change to true in community.general 6.0.0. Explicitly specify a value to avoid a deprecation warning (#4517).
  • mail callback plugin - not specifying sender is deprecated and will be disallowed in community.general 6.0.0 (#4140).
  • module_helper module utils - deprecated the attribute ModuleHelper.VarDict (#3801).
  • nmcli - deprecate default hairpin mode for a bridge. This so we can change it to false in community.general 7.0.0, as this is also the default in nmcli (#4334).
  • pacman - from community.general 5.0.0 on, the changed status of update_cache will no longer be ignored if name or upgrade is specified. To keep the old behavior, add something like register: result and changed_when: result.packages | length > 0 to your task (#4329).
  • proxmox inventory plugin - the current default true of the want_proxmox_nodes_ansible_host option has been deprecated. The default will change to false in community.general 6.0.0. To keep the current behavior, explicitly set want_proxmox_nodes_ansible_host to true in your inventory configuration. We suggest to already switch to the new behavior by explicitly setting it to false, and by using compose: to set ansible_host to the correct value. See the examples in the plugin documentation for details (#4466).
  • vmadm - deprecated module parameter debug that was not used anywhere (#4580).
  • ali_instance_info - removed the options availability_zone, instance_ids, and instance_names. Use filter item zone_id instead of availability_zone, filter item instance_ids instead of instance_ids, and filter item instance_name instead of instance_names (#4516).
  • apt_rpm - removed the deprecated alias update-cache of update_cache (#4516).
  • compose - removed various deprecated aliases. Use the version with _ instead of - instead (#4516).
  • dnsimple - remove support for dnsimple < 2.0.0 (#4516).
  • github_deploy_key - removed the deprecated alias 2fa_token of otp (#4516).
  • homebrew, homebrew_cask - removed the deprecated alias update-brew of update_brew (#4516).
  • linode - removed the backupsenabled option. Use backupweeklyday or backupwindow to enable backups (#4516).
  • opkg - removed the deprecated alias update-cache of update_cache (#4516).
  • pacman - if update_cache=true is used with name or upgrade, the changed state will now also indicate if only the cache was updated. To keep the old behavior - only indicate changed when a package was installed/upgraded -, use changed_when as indicated in the module examples (#4516).
  • pacman - removed the deprecated alias update-cache of update_cache (#4516).
  • proxmox, proxmox_kvm, proxmox_snap - no longer allow to specify a VM name that matches multiple VMs. If this happens, the modules now fail (#4516).
  • serverless - removed the functions option. It was not used by the module (#4516).
  • slackpkg - removed the deprecated alias update-cache of update_cache (#4516).
  • urpmi - removed the deprecated alias no-recommends of no_recommends (#4516).
  • urpmi - removed the deprecated alias update-cache of update_cache (#4516).
  • xbps - removed the deprecated alias update-cache of update_cache (#4516).
  • xfconf - the get state has been removed. Use the xfconf_info module instead (#4516).
  • Various modules and plugins - use vendored version of distutils.version instead of the deprecated Python standard library distutils (#3936).
  • a_module test plugin - fix crash when testing a module name that was tombstoned (#3660).
  • alternatives - fix output parsing for alternatives groups (#3976).
  • cargo - fix detection of outdated packages when state=latest (#4052).
  • cargo - fix incorrectly reported changed status for packages with a name containing a hyphen (#4044, #4052).
  • consul - fixed bug where class ConsulService was overwriting the field checks, preventing the addition of checks to a service (#4590).
  • counter_enabled callback plugin - fix output to correctly display host and task counters in serial mode (#3709).
  • dconf - skip processes that disappeared while we inspected them (#4151).
  • dnsmadeeasy - fix failure on deleting DNS entries when API response does not contain monitor value (#3620).
  • dsv lookup plugin - raise an Ansible error if the wrong python-dsv-sdk version is installed (#4422).
  • filesize - add support for busybox dd implementation, that is used by default on Alpine linux (#4288, #4259).
  • gconftool2 - properly escape values when passing them to gconftool-2 (#4647).
  • git_branch - remove deprecated and unnecessary branch unprotect method (#4496).
  • github_repo - private and description attributes should not be set to default values when the repo already exists (#2386).
  • gitlab_group - improve searching for projects inside group on deletion (#4491).
  • gitlab_group_members - handle more than 20 groups when finding a group (#4491, #4460, #3729).
  • gitlab_group_variable - add missing documentation about GitLab versions that support environment_scope and variable_type (#4038).
  • gitlab_group_variable - allow to set same variable name under different environment scopes. Due this change, the return value group_variable differs from previous version in check mode. It was counting updated values, because it was accidentally overwriting environment scopes (#4038).
  • gitlab_group_variable - fix idempotent change behaviour for float and integer variables (#4038).
  • gitlab_hook - avoid errors during idempotency check when an attribute does not exist (#4668).
  • gitlab_hook - handle more than 20 hooks when finding a hook (#4491).
  • gitlab_project - handle more than 20 namespaces when finding a namespace (#4491).
  • gitlab_project_members - handle more than 20 projects and users when finding a project resp. user (#4491).
  • gitlab_project_variable - value is not necessary when deleting variables (#4150).
  • gitlab_project_variable - add missing documentation about GitLab versions that support environment_scope and variable_type (#4038).
  • gitlab_project_variable - allow to set same variable name under different environment scopes. Due this change, the return value project_variable differs from previous version in check mode. It was counting updated values, because it was accidentally overwriting environment scopes (#4038).
  • gitlab_project_variable - fix idempotent change behaviour for float and integer variables (#4038).
  • gitlab_runner - make project and owned mutually exclusive (#4136).
  • gitlab_runner - use correct API endpoint to create and retrieve project level runners when using project (#3965).
  • gitlab_user - handle more than 20 users and SSH keys when finding a user resp. SSH key (#4491).
  • homebrew_cask - fix force install operation (#3703).
  • icinga2 inventory plugin - handle 404 error when filter produces no results (#3875, #3906).
  • imc_rest - fixes the module failure due to the usage of itertools.izip_longest which is not available in Python 3 (#4206).
  • ini_file - when removing nothing do not report changed (#4154).
  • interfaces_file - fixed the check for existing option in interface (#3841).
  • jail connection plugin - replace deprecated distutils.spawn.find_executable with Ansible's get_bin_path to find the executable (#3934).
  • jira - fixed bug where module returns error related to dictionary key body (#3419).
  • keycloak - fix parameters types for defaultDefaultClientScopes and defaultOptionalClientScopes from list of dictionaries to list of strings (#4526).
  • keycloak_* - the documented validate_certs parameter was not taken into account when calling the open_url function in some cases, thus enforcing certificate validation even when validate_certs was set to false. (#4382)
  • keycloak_user_federation - creating a user federation while specifying an ID (that does not exist yet) no longer fail with a 404 Not Found (#4212).
  • keycloak_user_federation - mappers auto-created by keycloak are matched and merged by their name and no longer create duplicated entries (#4212).
  • ldap_search - allow it to be used even in check mode (#3619).
  • linode inventory plugin - fix configuration handling relating to inventory filtering (#4336).
  • listen_ports_facts - local port regex was not handling well IPv6 only binding. Fixes the regex for ss (#4092).
  • lvol - allows logical volumes to be created with certain size arguments prefixed with + to preserve behavior of older versions of this module (#3665).
  • lxd connection plugin - replace deprecated distutils.spawn.find_executable with Ansible's get_bin_path to find the lxc executable (#3934).
  • lxd inventory plugin - do not crash if OS and release metadata are not present (#4351).
  • mail callback plugin - fix crash on Python 3 (#4025, #4026).
  • mail callback plugin - fix encoding of the name of sender and recipient (#4060, #4061).
  • mksysb - fixed bug for parameter backup_dmapi_fs was passing the wrong CLI argument (#3295).
  • nmcli - fix returning "changed" when no mask set for IPv4 or IPv6 addresses on task rerun (#3768).
  • nmcli - fix returning "changed" when routes parameters set, also suggest new routes4 and routes6 format (#4131).
  • nmcli - fixed falsely reported changed status when mtu is omitted with dummy connections (#3612, #3625).
  • nmcli - pass flags, ingress, egress params to nmcli (#1086).
  • nrdp callback plugin - fix error string arguments without an encoding (#3903).
  • onepassword - search all valid configuration locations and use the first found (#4640).
  • opennebula inventory plugin - complete the implementation of constructable for opennebula inventory plugin. Now keyed_groups, compose, groups actually work (#4497).
  • opentelemetry - fix generating a trace with a task containing no_log: true (#4043).
  • opentelemetry callback plugin - fix task message attribute that is reported failed regardless of the task result (#4624).
  • opentelemetry callback plugin - fix warning for the include_tasks (#4623).
  • opentelemetry_plugin - honour ignore_errors when a task has failed instead of reporting an error (#3837).
  • pacman - Use --groups instead of --group (#4312).
  • pacman - fix URL based package installation (#4286, #4285).
  • pacman - fix upgrade=yes (#4275, #4274).
  • pacman - fixed bug where absent state did not work for locally installed packages (#4464).
  • pacman - make sure that packages is always returned when name or upgrade is specified, also if nothing is done (#4329).
  • pacman - when the update_cache option is combined with another option such as upgrade, report changed based on the actions performed by the latter option. This was the behavior in community.general 4.4.0 and before. In community.general 4.5.0, a task combining these options would always report changed (#4318).
  • passwordstore lookup plugin - fix error detection for non-English locales (#4219).
  • passwordstore lookup plugin - prevent returning path names as passwords by accident (#4185, #4192).
  • passwordstore lookup plugin - replace deprecated distutils.util.strtobool with Ansible's convert_bool.boolean to interpret values for the create, returnall, overwrite, 'backup``, and nosymbols options (#3934).
  • pipx - passes the correct command line option --include-apps (#3791).
  • pritunl - fixed bug where pritunl plugin api add unneeded data in auth_string parameter (#4527).
  • proxmox - fixed onboot parameter causing module failures when undefined (#3844).
  • proxmox inventory plugin - always convert strings that follow the key=value[,key=value[...]] form into dictionaries (#4349).
  • proxmox inventory plugin - fix error when parsing container with LXC configs (#4472, #4472).
  • proxmox inventory plugin - fixed the description field being ignored if it contained a comma (#4348).
  • proxmox inventory plugin - fixed the tags_parsed field when Proxmox returns a single space for the tags entry (#4378).
  • proxmox_kvm - fix a bug when getting a state of VM without name will fail (#4508).
  • proxmox_kvm - fix error in check when creating or cloning (#4306).
  • proxmox_kvm - fix error when checking whether Proxmox VM exists (#4287).
  • python_requirements_info - fails if version operator used without version (#3785).
  • python_requirements_info - store mismatched return values per package as documented in the module (#4078).
  • redfish_command - the iLO4 Redfish implementation only supports the image_url parameter in the underlying API calls to VirtualMediaInsert and VirtualMediaEject. Any values set (or the defaults) for write_protected or inserted will be ignored (#4596).
  • say callback plugin - replace deprecated distutils.spawn.find_executable with Ansible's get_bin_path to find the say resp. espeak executables (#3934).
  • scaleway_user_data - fix double-quote added where no double-quote is needed to user data in scaleway's server (Content-type -> Content-Type) (#3940).
  • slack - add charset to HTTP headers to avoid Slack API warning (#3932).
  • terraform - fix command options being ignored during planned/plan in function build_plan such as lock or lock_timeout (#3707, #3726).
  • terraform - fix list initialization to support both Python 2 and Python 3 (#4531).
  • vdo - fix options error (#4163).
  • xattr - fix exception caused by _run_xattr() raising a ValueError due to a mishandling of base64-encoded value (#3673).
  • xbps - fix error message that is reported when installing packages fails (#4438).
  • yarn - fix incorrect handling of yarn list and yarn global list output that could result in fatal error (#4050).
  • yarn - fix incorrectly reported status when installing a package globally (#4045, #4050).
  • yarn - fix missing ~ expansion in yarn global install folder which resulted in incorrect task status (#4045, #4048).
  • yum_versionlock - fix matching of existing entries with names passed to the module. Match yum and dnf lock format (#4183).
  • zone connection plugin - replace deprecated distutils.spawn.find_executable with Ansible's get_bin_path to find the executable (#3934).
  • zypper - fix undefined variable when running in check mode (#4667).
  • zypper - fixed bug that caused zypper to always report [ok] and do nothing on state=present when all packages in name had a version specification (#4371, #4421).
  • pacman - update_cache cannot differentiate between up to date and outdated package lists and will report changed in both situations (#4318).
  • pacman - binaries specified in the executable parameter must support --print-format in order to be used by this module. In particular, AUR helper yay is known not to currently support it (#4312).
  • counter - Counts hashable elements in a sequence