Skip to content

Latest commit

 

History

History
1257 lines (1010 loc) · 116 KB

CHANGELOG.rst

File metadata and controls

1257 lines (1010 loc) · 116 KB

Community General Release Notes

Topics

This changelog describes changes after version 3.0.0.

Final maintenance release of community.general major version 4.

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

Maintenance release.

  • ModuleHelper - fix bug when adjusting the name of reserved output variables (#5755).
  • 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).
  • 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 and timezone - slight refactoring to avoid linter reporting potentially undefined variables (#5933).

Bugfix release.

Note that from now on, community.general 4.x.y only receives security fixes and major bugfixes, but no longer regular bugfixes.

  • 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).
  • ldap_attrs - fix ordering issue by ignoring the {x} prefix on attribute values (#977, #5385).

Regular bugfix release.

  • archive - avoid crash when lzma is not present and format is not xz (#5393).
  • 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).
  • redhat_subscription - make module idempotent when pool_ids are used (#5313).
  • xenserver_facts - fix broken AnsibleModule call that prevented the module from working at all (#5383).

Regular bugfix release.

  • 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_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).

Bugfix and maintenance release.

  • Added MIT license as MIT-license.txt for tests/unit/plugins/modules/packaging/language/test_gem.py (#5065, #5072).
  • 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).
  • 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).

Regular bugfix release.

  • pacman - fixed name resolution of URL packages (#4959).
  • proxmox - fix error handling when getting VM by name when state=absent (#4945).
  • proxmox inventory plugin - fix crash when enabled=1 is used in agent config string (#4910).
  • 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).

Regular bugfix release.

  • 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).
  • 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).

Bugfix release.

  • ModuleHelper module utils - improved ModuleHelperException, using to_native() for the exception message (#4755).
  • nmcli - fix error caused by adding undefined module arguments for list options (#4373, #4813).
  • redhat_subscription - fix unsubscribing on RHEL 9 (#4741).
  • sudoers - ensure sudoers config files are created with the permissions requested by sudoers (0440) (#4814).
  • sudoers - fix incorrect handling of state: absent (#4852).

Regular maintenance and bugfix release.

  • Include simplified_bsd.txt license file for various module utils, the lxca_common docs fragment, and the utm_utils unit tests.
  • 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).
  • gitlab_hook - avoid errors during idempotency check when an attribute does not exist (#4668).
  • 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).

Regular bugfix release. From now on, only bugfix release will be made of the community.general 4.x.y release stream.

  • Include PSF-license.txt file for plugins/module_utils/_version.py.
  • consul - fixed bug where class ConsulService was overwriting the field checks, preventing the addition of checks to a service (#4590).
  • gconftool2 - properly escape values when passing them to gconftool-2 (#4647).
  • onepassword - search all valid configuration locations and use the first found (#4640).
  • 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).
  • terraform - fix list initialization to support both Python 2 and Python 3 (#4531).

Regular feature and bugfix release. Please note that this is the last minor 4.x.0 release. Further releases with major version 4 will be bugfix releases 4.8.y.

  • alternatives - add state parameter, which provides control over whether the alternative should be set as the active selection for its alternatives group (#4543, #4557).
  • 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).
  • datadog_monitor - support new datadog event monitor of type event-v2 alert (#4457)
  • filesystem - add support for resizing btrfs (#4465).
  • lxd_container - adds project option to allow selecting project for LXD instance (#4479).
  • lxd_profile - adds project option to allow selecting project for LXD profile (#4479).
  • nmap inventory plugin - add sudo option in plugin in order to execute sudo nmap so that nmap runs with elevated privileges (#4506).
  • nomad_job - minor refactoring (#4567).
  • nomad_job_info - minor refactoring (#4567).
  • packet_device - minor refactoring (#4567).
  • packet_sshkey - minor refactoring (#4567).
  • packet_volume - minor refactoring (#4567).
  • profitbricks - minor refactoring (#4567).
  • proxmox - minor refactoring (#4567).
  • 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_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).
  • redfish_command - add IndicatorLedOn, IndicatorLedOff, and IndicatorLedBlink commands to the Systems category for controling system LEDs (#4084).
  • seport - minor refactoring (#4471).
  • smartos_image_info - minor refactoring (#4567).
  • terraform - adds terraform_upgrade parameter which allows terraform init to satisfy new provider constraints in an existing Terraform project (#4333).
  • udm_group - minor refactoring (#4556).
  • udm_share - minor refactoring (#4556).
  • vmadm - minor refactoring (#4567).
  • webfaction_app - minor refactoring (#4567).
  • webfaction_db - minor refactoring (#4567).
  • xfconf - added missing value types char, uchar, int64 and uint64 (#4534).
  • 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).
  • 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).
  • dnsmadeeasy - fix failure on deleting DNS entries when API response does not contain monitor value (#3620).
  • git_branch - remove deprecated and unnecessary branch unprotect method (#4496).
  • 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_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_user - handle more than 20 users and SSH keys when finding a user resp. SSH key (#4491).
  • keycloak - fix parameters types for defaultDefaultClientScopes and defaultOptionalClientScopes from list of dictionaries to list of strings (#4526).
  • opennebula inventory plugin - complete the implementation of constructable for opennebula inventory plugin. Now keyed_groups, compose, groups actually work (#4497).
  • pacman - fixed bug where absent state did not work for locally installed packages (#4464).
  • pritunl - fixed bug where pritunl plugin api add unneeded data in auth_string parameter (#4527).
  • proxmox inventory plugin - fix error when parsing container with LXC configs (#4472, #4472).
  • proxmox_kvm - fix a bug when getting a state of VM without name will fail (#4508).
  • xbps - fix error message that is reported when installing packages fails (#4438).
  • lxd_project - Manage LXD projects
  • alerta_customer - Manage customers in Alerta

Regular bugfix and feature release.

  • ipa_service - add skip_host_check parameter. (#4417).
  • keycloak_client - add always_display_in_console parameter (#4390).
  • keycloak_client - add default_client_scopes and optional_client_scopes parameters. (#4385).
  • proxmox inventory plugin - add support for templating the url, user, and password options (#4418).
  • sudoers - add support for runas parameter (#4379).
  • dsv lookup plugin - raise an Ansible error if the wrong python-dsv-sdk version is installed (#4422).
  • 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)
  • nmcli - fix returning "changed" when routes parameters set, also suggest new routes4 and routes6 format (#4131).
  • proxmox inventory plugin - fixed the tags_parsed field when Proxmox returns a single space for the tags entry (#4378).
  • 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).

Extraordinary bugfix release to fix a breaking change in terraform.

  • lxd inventory plugin - do not crash if OS and release metadata are not present (#4351).
  • terraform - revert bugfix #4281 that tried to fix variable handling to allow complex values. It turned out that this was breaking several valid use-cases (#4367, #4370).

Regular feature and bugfix release.

  • jira - when creating a comment, fields now is used for additional data (#4304).
  • ldap_entry - add support for recursive deletion (#3613).
  • mksysb - revamped the module using ModuleHelper (#3295).
  • nmcli - add missing connection aliases 802-3-ethernet and 802-11-wireless (#4108).
  • nmcli - remove nmcli modify dependency on type parameter (#2858).
  • npm - add ability to use production flag when ci is set (#4299).
  • pacman - add remove_nosave parameter to avoid saving modified configuration files as .pacsave files. (#4316, #4315).
  • 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).
  • pipx - added options editable and pip_args (#4300).
  • proxmox inventory plugin - add support for client-side jinja filters (#3553).
  • redis - add authentication parameters login_user, tls, validate_certs, and ca_certs (#4207).
  • syslog_json - add option to skip logging of gather_facts playbook tasks; use v2 callback API (#4223).
  • zypper - add support for --clean-deps option to remove packages that depend on a package being removed (#4195).
  • 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).
  • filesize - add support for busybox dd implementation, that is used by default on Alpine linux (#4288, #4259).
  • linode inventory plugin - fix configuration handling relating to inventory filtering (#4336).
  • mksysb - fixed bug for parameter backup_dmapi_fs was passing the wrong CLI argument (#3295).
  • pacman - Use --groups instead of --group (#4312).
  • pacman - fix URL based package installation (#4286, #4285).
  • pacman - fix upgrade=yes (#4275, #4274).
  • 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).
  • proxmox inventory plugin - always convert strings that follow the key=value[,key=value[...]] form into dictionaries (#4349).
  • proxmox inventory plugin - fixed the description field being ignored if it contained a comma (#4348).
  • proxmox_kvm - fix error in check when creating or cloning (#4306).
  • proxmox_kvm - fix error when checking whether Proxmox VM exists (#4287).
  • terraform - fix variable handling to allow complex values (#4281).
  • 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).

Regular feature and bugfix release.

  • 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).
  • ansible_galaxy_install - added option no_deps to the module (#4174).
  • gitlab_group_variable - new variables parameter (#4038 and #4074).
  • keycloak_* modules - added connection timeout parameter when calling server (#4168).
  • linode inventory plugin - add support for caching inventory results (#4179).
  • opentelemetry_plugin - enrich service when using the jenkins, hetzner or jira modules (#4105).
  • 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).
  • 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).
  • dconf - skip processes that disappeared while we inspected them (#4151).
  • 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_project_variable - value is not necessary when deleting variables (#4150).
  • gitlab_runner - make project and owned mutually exclusive (#4136).
  • homebrew_cask - fix force install operation (#3703).
  • 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).
  • 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).
  • mail callback plugin - fix encoding of the name of sender and recipient (#4060, #4061).
  • passwordstore lookup plugin - fix error detection for non-English locales (#4219).
  • passwordstore lookup plugin - prevent returning path names as passwords by accident (#4185, #4192).
  • vdo - fix options error (#4163).
  • yum_versionlock - fix matching of existing entries with names passed to the module. Match yum and dnf lock format (#4183).
  • scaleway_private_network - Scaleway private network management
  • pmem - Configure Intel Optane Persistent Memory modules

Regular features and bugfixes release.

  • cobbler inventory plugin - add include_profiles option (#4068).
  • gitlab_project_variable - new variables parameter (#4038).
  • icinga2 inventory plugin - implemented constructed interface (#4088).
  • linode inventory plugin - allow templating of access_token variable in Linode inventory plugin (#4040).
  • 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).
  • lxc_container - added wait_for_container parameter. If true the module will wait until the running task reports success as the status (#4039).
  • mail callback plugin - add Message-ID and Date headers (#4055, #4056).
  • mail callback plugin - properly use Ansible's option handling to split lists (#4140).
  • nmcli - adds routes6 and route_metric6 parameters for supporting IPv6 routes (#4059).
  • opennebula - add the release action for VMs in the HOLD state (#4036).
  • opentelemetry_plugin - enrich service when using the docker_login (#4104).
  • proxmox modules - move HAS_PROXMOXER check into module_utils (#4030).
  • scaleway inventory plugin - add profile parameter scw_profile (#4049).
  • snap - add option options permitting to set options using the snap set command (#3943).
  • mail callback plugin - not specifying sender is deprecated and will be disallowed in community.general 6.0.0 (#4140).
  • 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).
  • 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 - use correct API endpoint to create and retrieve project level runners when using project (#3965).
  • listen_ports_facts - local port regex was not handling well IPv6 only binding. Fixes the regex for ss (#4092).
  • mail callback plugin - fix crash on Python 3 (#4025, #4026).
  • opentelemetry - fix generating a trace with a task containing no_log: true (#4043).
  • python_requirements_info - store mismatched return values per package as documented in the module (#4078).
  • 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).
  • homectl - Manage user accounts with systemd-homed

Regular feature and bugfix release.

  • 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).
  • ipmi_power - add machine option to ensure the power state via the remote target address (#3968).
  • mattermost - add the possibility to send attachments instead of text messages (#3946).
  • nmcli - add wireguard connection type (#3985).
  • proxmox - add clone parameter (#3930).
  • 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).
  • 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).
  • Various modules and plugins - use vendored version of distutils.version instead of the deprecated Python standard library distutils (#3936).
  • alternatives - fix output parsing for alternatives groups (#3976).
  • jail connection plugin - replace deprecated distutils.spawn.find_executable with Ansible's get_bin_path to find the executable (#3934).
  • lxd connection plugin - replace deprecated distutils.spawn.find_executable with Ansible's get_bin_path to find the lxc executable (#3934).
  • 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).
  • 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).
  • zone connection plugin - replace deprecated distutils.spawn.find_executable with Ansible's get_bin_path to find the executable (#3934).
  • counter - Counts hashable elements in a sequence
  • keycloak_realm_info - Allows obtaining Keycloak realm public information via Keycloak API
  • cargo - Manage Rust packages with cargo
  • sudoers - Manage sudoers files

Regular bugfix and feature release.

  • 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).
  • gitlab - add more token authentication support with the new options api_oauth_token and api_job_token (#705).
  • gitlab_group, gitlab_project - add new option avatar_path (#3792).
  • gitlab_project - add new option default_branch to gitlab_project (if readme = true) (#3792).
  • hponcfg - revamped module using ModuleHelper (#3840).
  • icinga2 inventory plugin - added the display_name field to variables (#3875, #3906).
  • 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).
  • 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).
  • keycloak_user_federation - add sssd user federation support (#3767).
  • 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 - 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).
  • 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).
  • nmcli - add multiple addresses support for ip6 parameter (#1088).
  • nmcli - add support for eui64 and ipv6privacy parameters (#3357).
  • python_requirements_info - returns python version broken down into its components, and some minor refactoring (#3797).
  • svc - calling run_command with arguments as list instead of str (#3829).
  • xattr - calling run_command with arguments as list instead of str (#3806).
  • xfconf - minor refactor on the base class for the module (#3919).
  • module_helper module utils - deprecated the attribute ModuleHelper.VarDict (#3801).
  • icinga2 inventory plugin - handle 404 error when filter produces no results (#3875, #3906).
  • interfaces_file - fixed the check for existing option in interface (#3841).
  • jira - fixed bug where module returns error related to dictionary key body (#3419).
  • nmcli - fix returning "changed" when no mask set for IPv4 or IPv6 addresses on task rerun (#3768).
  • nmcli - pass flags, ingress, egress params to nmcli (#1086).
  • nrdp callback plugin - fix error string arguments without an encoding (#3903).
  • opentelemetry_plugin - honour ignore_errors when a task has failed instead of reporting an error (#3837).
  • pipx - passes the correct command line option --include-apps (#3791).
  • proxmox - fixed onboot parameter causing module failures when undefined (#3844).
  • python_requirements_info - fails if version operator used without version (#3785).
  • dnsimple_info - Pull basic info from DNSimple API
  • ilo_redfish_config - Sets or updates configuration attributes on HPE iLO with Redfish OEM extensions
  • ilo_redfish_info - Gathers server information through iLO using Redfish APIs
  • gitlab_branch - Create or delete a branch

Regular bugfix and feature release.

  • gitlab - clean up modules and utils (#3694).
  • ipmi_boot - add support for user-specified IPMI encryption key (#3698).
  • ipmi_power - add support for user-specified IPMI encryption key (#3698).
  • listen_ports_facts - add support for ss command besides netstat (#3708).
  • lxd_container - adds type option which also allows to operate on virtual machines and not just containers (#3661).
  • nmcli - add multiple addresses support for ip4 parameter (#1088, #3738).
  • open_iscsi - extended module to allow rescanning of established session for one or all targets (#3763).
  • pacman - add stdout and stderr as return values (#3758).
  • redfish_command - add GetHostInterfaces command to enable reporting Redfish Host Interface information (#3693).
  • redfish_command - add SetHostInterface command to enable configuring the Redfish Host Interface (#3632).
  • github_repo - private and description attributes should not be set to default values when the repo already exists (#2386).
  • terraform - fix command options being ignored during planned/plan in function build_plan such as lock or lock_timeout (#3707, #3726).
  • xen_orchestra - Xen Orchestra inventory source
  • revbitspss - Get secrets from RevBits PAM server

Bugfix release for today's Ansible 5.0.0 beta 2.

  • Support for Ansible 2.9 and ansible-base 2.10 is deprecated, and will be removed in the next major release (community.general 5.0.0) next spring. While most content will probably still work with ansible-base 2.10, we will remove symbolic links for modules and action plugins, which will make it impossible to use them with Ansible 2.9 anymore. Please use community.general 4.x.y with Ansible 2.9 and ansible-base 2.10, as these releases will continue to support Ansible 2.9 and ansible-base 2.10 even after they are End of Life (ansible-community/community-topics#50, #3723).
  • counter_enabled callback plugin - fix output to correctly display host and task counters in serial mode (#3709).
  • ldap_search - allow it to be used even in check mode (#3619).
  • lvol - allows logical volumes to be created with certain size arguments prefixed with + to preserve behavior of older versions of this module (#3665).
  • nmcli - fixed falsely reported changed status when mtu is omitted with dummy connections (#3612, #3625).

Bugfix release for today's Ansible 5.0.0 beta 1.

  • a_module test plugin - fix crash when testing a module name that was tombstoned (#3660).
  • xattr - fix exception caused by _run_xattr() raising a ValueError due to a mishandling of base64-encoded value (#3673).

This is release 4.0.0 of community.general, released on 2021-11-02.

  • bitbucket_* modules - client_id is no longer marked as no_log=true. If you relied on its value not showing up in logs and output, please mark the whole tasks with no_log: true (#2045).
  • Avoid internal ansible-core module_utils in favor of equivalent public API available since at least Ansible 2.9 (#2877).
  • ModuleHelper module utils - improved mechanism for customizing the calculation of changed (#2514).
  • Remove unnecessary __init__.py files from plugins/ (#2632).
  • apache2_module - minor refactoring improving code quality, readability and speed (#3106).
  • archive - added dest_state return value to describe final state of dest after successful task execution (#2913).
  • archive - added exclusion_patterns option to exclude files or subdirectories from archives (#2616).
  • archive - refactoring prior to fix for idempotency checks. The fix will be a breaking change and only appear in community.general 4.0.0 (#2987).
  • bitbucket_* modules - add user and password options for Basic authentication (#2045).
  • chroot connection - minor refactor to make lints and IDEs happy (#2520).
  • cloud_init_data_facts - minor refactor (#2557).
  • cmd (Module Helper) module utils - CmdMixin now pulls the value for run_command() params from self.vars, as opposed to previously retrieving those from self.module.params (#2517).
  • composer - add composer_executable option (#2649).
  • datadog_event - adding parameter api_host to allow selecting a datadog API endpoint instead of using the default one (#2774, #2775).
  • datadog_monitor - allow creation of composite datadog monitors (#2956).
  • dig lookup plugin - add retry_servfail option (#3247).
  • dnsimple - module rewrite to include support for python-dnsimple>=2.0.0; also add sandbox parameter (#2946).
  • elastic callback plugin - enriched the stacktrace information with the message, exception and stderr fields from the failed task (#3556).
  • filesystem - cleanup and revamp module, tests and doc. Pass all commands to module.run_command() as lists. Move the device-vs-mountpoint logic to grow() method. Give to all get_fs_size() the same logic and error handling. (#2472).
  • filesystem - extend support for FreeBSD. Avoid potential data loss by checking existence of a filesystem with fstyp (native command) if blkid (foreign command) doesn't find one. Add support for character devices and ufs filesystem type (#2902).
  • flatpak - add no_dependencies parameter (ansible/ansible#55452, #2751).
  • flatpak - allows installing or uninstalling a list of packages (#2521).
  • funcd connection - minor refactor to make lints and IDEs happy (#2520).
  • gem - add bindir option to specify an installation path for executables such as /home/user/bin or /home/user/.local/bin (#2837).
  • gem - add norc option to avoid loading any .gemrc file (#2837).
  • github_repo - add new option api_url to allow working with on premises installations (#3038).
  • gitlab_group - add new options project_creation_level, auto_devops_enabled, subgroup_creation_level (#3248).
  • gitlab_group - add new property require_two_factor_authentication (#3367).
  • gitlab_group_members - gitlab_user can now also be a list of users (#3047).
  • gitlab_group_members - added functionality to set all members exactly as given (#3047).
  • gitlab_project - add new options allow_merge_on_skipped_pipeline, only_allow_merge_if_all_discussions_are_resolved, only_allow_merge_if_pipeline_succeeds, packages_enabled, remove_source_branch_after_merge, squash_option (#3002).
  • gitlab_project - add new properties ci_config_path and shared_runners_enabled (#3379).
  • gitlab_project - projects can be created under other user's namespaces with the new username option (#2824).
  • gitlab_project_members - gitlab_user can now also be a list of users (#3319).
  • gitlab_project_members - added functionality to set all members exactly as given (#3319).
  • gitlab_runner - support project-scoped gitlab.com runners registration (#634).
  • gitlab_user - add expires_at option (#2325).
  • gitlab_user - add functionality for adding external identity providers to a GitLab user (#2691).
  • gitlab_user - allow to reset an existing password with the new reset_password option (#2691).
  • gitlab_user - specifying a password is no longer necessary (#2691).
  • gunicorn - search for gunicorn binary in more paths (#3092).
  • hana_query - added the abillity to use hdbuserstore (#3125).
  • hpilo_info - added host_power_status return value to report power state of machine with OFF, ON or UNKNOWN (#3079).
  • idrac_redfish_config - modified set_manager_attributes function to skip invalid attribute instead of returning. Added skipped attributes to output. Modified module exit to add warning variable (#1995).
  • influxdb_retention_policy - add state parameter with allowed values present and absent to support deletion of existing retention policies (#2383).
  • influxdb_retention_policy - simplify duration logic parsing (#2385).
  • ini_file - add abbility to define multiple options with the same name but different values (#273, #1204).
  • ini_file - add module option exclusive (boolean) for the ability to add/remove single option=value entries without overwriting existing options with the same name but different values (#3033).
  • ini_file - opening file with encoding utf-8-sig (#2189).
  • interfaces_file - minor refactor (#3328).
  • iocage connection - minor refactor to make lints and IDEs happy (#2520).
  • ipa_config - add ipaselinuxusermaporder option to set the SELinux user map order (#3178).
  • ipa_group - add append option for adding group and users members, instead of replacing the respective lists (#3545).
  • jail connection - minor refactor to make lints and IDEs happy (#2520).
  • java_keystore - added ssl_backend parameter for using the cryptography library instead of the OpenSSL binary (#2485).
  • java_keystore - replace envvar by stdin to pass secret to keytool (#2526).
  • jenkins_build - support stopping a running jenkins build (#2850).
  • jenkins_job_info - the password and token parameters can also be omitted to retrieve only public information (#2948).
  • jenkins_plugin - add fallback url(s) for failure of plugin installation/download (#1334).
  • jira - add comment visibility parameter for comment operation (#2556).
  • kernel_blacklist - revamped the module using ModuleHelper (#3329).
  • keycloak_* modules - refactor many of the keycloak_* modules to have similar structures, comments, and documentation (#3280).
  • keycloak_authentication - enhanced diff mode to also return before and after state when the authentication flow is updated (#2963).
  • keycloak_client - add authentication_flow_binding_overrides option (#2949).
  • keycloak_realm - add events_enabled parameter to allow activation or deactivation of login events (#3231).
  • linode - added proper traceback when failing due to exceptions (#2410).
  • linode - parameter additional_disks is now validated as a list of dictionaries (#2410).
  • linode inventory plugin - adds the ip_style configuration key. Set to api to get more detailed network details back from the remote Linode host (#3203).
  • lxc connection - minor refactor to make lints and IDEs happy (#2520).
  • lxd_container - add ignore_volatile_options option which allows to disable the behavior that the module ignores options starting with volatile. (#3331).
  • mail - added the ehlohost parameter which allows for manual override of the host used in SMTP EHLO (#3425).
  • maven_artifact - added checksum_alg option to support SHA1 checksums in order to support FIPS systems (#2662).
  • module_helper cmd module utils - added the ArgFormat style BOOLEAN_NOT, to add CLI parameters when the module argument is false-ish (#3290).
  • module_helper module utils - added feature flag parameter to CmdMixin to control whether cmd_args is automatically added to the module output (#3648).
  • module_helper module utils - added feature flag parameters to CmdMixin to control whether rc, out and err are automatically added to the module output (#2922).
  • module_helper module utils - break down of the long file into smaller pieces (#2393).
  • module_helper module utils - method CmdMixin.run_command() now accepts process_output specifying a function to process the outcome of the underlying module.run_command() (#2564).
  • module_helper module_utils - added classmethod to trigger the execution of MH modules (#3206).
  • nmcli - add disabled value to method6 option (#2730).
  • nmcli - add dummy interface support (#724).
  • nmcli - add gre tunnel support (#3105, #3262).
  • nmcli - add gsm support (#3313).
  • nmcli - add routing_rules4 and may_fail4 options (#2730).
  • nmcli - add runner and runner_hwaddr_policy options (#2901).
  • nmcli - add wifi-sec option change detection to support managing secure Wi-Fi connections (#3136).
  • nmcli - add wifi option to support managing Wi-Fi settings such as hidden or mode (#3081).
  • nmcli - add new options to ignore automatic DNS servers and gateways (#1087).
  • nmcli - query nmcli directly to determine available WiFi options (#3141).
  • nmcli - remove dead code, options never contains keys from param_alias (#2417).
  • nmcli - the option routing_rules4 can now be specified as a list of strings, instead of as a single string (#3401).
  • nrdp callback plugin - parameters are now converted to strings, except validate_certs which is converted to boolean (#2878).
  • onepassword lookup plugin - add domain option (#2734).
  • open-iscsi - adding support for mutual authentication between target and initiator (#3422).
  • open_iscsi - add auto_portal_startup parameter to allow node.startup setting per portal (#2685).
  • open_iscsi - also consider portal and port to check if already logged in or not (#2683).
  • open_iscsi - minor refactoring (#3286).
  • opentelemetry callback plugin - added option enable_from_environment to support enabling the plugin only if the given environment variable exists and it is set to true (#3498).
  • opentelemetry callback plugin - enriched the span attributes with HTTP metadata for those Ansible tasks that interact with third party systems (#3448).
  • opentelemetry callback plugin - enriched the stacktrace information for loops with the message, exception and stderr fields from the failed item in the tasks in addition to the name of the task and failed item (#3599).
  • opentelemetry callback plugin - enriched the stacktrace information with the message, exception and stderr fields from the failed task (#3496).
  • opentelemetry callback plugin - transformed args in a list of span attributes in addition it redacted username and password from any URLs (#3564).
  • openwrt_init - minor refactoring (#3284).
  • opkg - allow name to be a YAML list of strings (#572, #3554).
  • pacman - add executable option to use an alternative pacman binary (#2524).
  • pacman - speed up checking if the package is installed, when the latest version check is not needed (#3606).
  • pamd - minor refactorings (#3285).
  • passwordstore lookup - add option missing to choose what to do if the password file is missing (#2500).
  • pids - refactor to add support for older psutil versions to the pattern option (#3315).
  • pipx - minor refactor on the changed logic (#3647).
  • pkgin - in case of pkgin tool failue, display returned standard output stdout and standard error stderr to ease debugging (#3146).
  • pkgng - annotation can now also be a YAML list (#3526).
  • pkgng - packages being installed (or upgraded) are acted on in one command (per action) (#2265).
  • pkgng - status message specifies number of packages installed and/or upgraded separately. Previously, all changes were reported as one count of packages "added" (#3393).
  • proxmox inventory plugin - added snapshots to host facts (#3044).
  • proxmox_group_info - minor refactor (#2557).
  • proxmox_kvm - minor refactor (#2557).
  • qubes connection - minor refactor to make lints and IDEs happy (#2520).
  • rax_mon_notification_plan - fixed validation checks by specifying type str as the elements of parameters ok_state, warning_state and critical_state (#2955).
  • redfish_command - add boot_override_mode argument to BootSourceOverride commands (#3134).
  • redfish_command and redfish_config and redfish_utils module utils - add parameter to strip etag of quotes before patch, since some vendors do not properly If-Match etag with quotes (#3296).
  • redfish_config - modified module exit to add warning variable (#1995).
  • redfish_info - include Status property for Thermal objects when querying Thermal properties via GetChassisThermals command (#3232).
  • redfish_utils module utils - modified set_bios_attributes function to skip invalid attribute instead of returning. Added skipped attributes to output (#1995).
  • redhat_subscription - add server_prefix and server_port parameters (#2779).
  • redis - allow to use the term replica instead of slave, which has been the official Redis terminology since 2018 (#2867).
  • rhevm - minor refactor (#2557).
  • saltstack connection - minor refactor to make lints and IDEs happy (#2520).
  • scaleway plugin inventory - parse scw-cli config file for oauth_token (#3250).
  • serverless - minor refactor (#2557).
  • slack - minor refactoring (#3205).
  • snap - added enabled and disabled states (#1990).
  • snap - improved module error handling, especially for the case when snap server is down (#2970).
  • splunk callback plugin - add batch option for user-configurable correlation ID's (#2790).
  • spotinst_aws_elastigroup - elements of list parameters are now validated (#2355).
  • ssh_config - new feature to set ForwardAgent option to yes or no (#2473).
  • stacki_host - minor refactoring (#2681).
  • supervisorctl - add the possibility to restart all programs and program groups (#3551).
  • supervisorctl - using standard Ansible mechanism to validate signalled state required parameter (#3068).
  • terraform - add check_destroy optional parameter to check for deletion of resources before it is applied (#2874).
  • terraform - add parallelism parameter (#3540).
  • terraform - add option overwrite_init to skip init if exists (#2573).
  • terraform - minor refactor (#2557).
  • timezone - print error message to debug instead of warning when timedatectl fails (#1942).
  • tss lookup plugin - added token parameter for token authorization; username and password are optional when token is provided (#3327).
  • tss lookup plugin - added new parameter for domain authorization (#3228).
  • tss lookup plugin - refactored to decouple the supporting third-party library (python-tss-sdk) (#3252).
  • ufw - if delete=true and insert option is present, then insert is now ignored rather than failing with a syntax error (#3514).
  • vdo - minor refactoring of the code (#3191).
  • zfs - added diff mode support (#502).
  • zfs_delegate_admin - drop choices from permissions, allowing any permission supported by the underlying zfs commands (#2540).
  • zone connection - minor refactor to make lints and IDEs happy (#2520).
  • zpool_facts - minor refactoring (#3332).
  • zypper - prefix zypper commands with /sbin/transactional-update --continue --drop-if-no-change --quiet run if transactional updates are detected (#3159).
  • archive - adding idempotency checks for changes to file names and content within the destination file (#3075).
  • lxd inventory plugin - when used with Python 2, the plugin now needs ipaddress installed from pypi (#2441).
  • scaleway_security_group_rule - when used with Python 2, the module now needs ipaddress installed from pypi (#2441).
  • ali_instance_info - marked removal version of deprecated parameters availability_zone and instance_names (#2429).
  • bitbucket_* modules - username options have been deprecated in favor of workspace and will be removed in community.general 6.0.0 (#2045).
  • dnsimple - python-dnsimple < 2.0.0 is deprecated and support for it will be removed in community.general 5.0.0 (#2946 (comment)).
  • gitlab_group_members - setting gitlab_group to name or path is deprecated. Use full_path instead (#3451).
  • keycloak_authentication - the return value flow is now deprecated and will be removed in community.general 6.0.0; use end_state instead (#3280).
  • keycloak_group - the return value group is now deprecated and will be removed in community.general 6.0.0; use end_state instead (#3280).
  • linode - parameter backupsenabled is deprecated and will be removed in community.general 5.0.0 (#2410).
  • lxd_container - the current default value true of ignore_volatile_options is deprecated and will change to false in community.general 6.0.0 (#3429).
  • serverless - deprecating parameter functions because it was not used in the code (#2845).
  • xfconf - deprecate the get state. The new module xfconf_info should be used instead (#3049).
  • All inventory and vault scripts contained in community.general were moved to the contrib-scripts GitHub repository (#2696).
  • ModuleHelper module utils - remove fallback when value could not be determined for a parameter (#3461).
  • Removed deprecated netapp module utils and doc fragments (#3197).
  • The nios, nios_next_ip, nios_next_network lookup plugins, the nios documentation fragment, and the nios_host_record, nios_ptr_record, nios_mx_record, nios_fixed_address, nios_zone, nios_member, nios_a_record, nios_aaaa_record, nios_network, nios_dns_view, nios_txt_record, nios_naptr_record, nios_srv_record, nios_cname_record, nios_nsgroup, and nios_network_view module have been removed from community.general 4.0.0 and were replaced by redirects to the infoblox.nios_modules collection. Please install the infoblox.nios_modules collection to continue using these plugins and modules, and update your FQCNs (#3592).
  • The vendored copy of ipaddress has been removed. Please use ipaddress from the Python 3 standard library, or from pypi. (#2441).
  • cpanm - removed the deprecated system_lib option. Use Ansible's privilege escalation mechanism instead; the option basically used sudo (#3461).
  • grove - removed the deprecated alias message of the message_content option (#3461).
  • proxmox - default value of proxmox_default_behavior changed to no_defaults (#3461).
  • proxmox_kvm - default value of proxmox_default_behavior changed to no_defaults (#3461).
  • runit - removed the deprecated dist option which was not used by the module (#3461).
  • telegram - removed the deprecated msg, msg_format and chat_id options (#3461).
  • xfconf - the default value of disable_facts changed to true, and the value false is no longer allowed. Register the module results instead (#3461).
  • nmcli - do not pass WiFi secrets on the nmcli command line. Use nmcli con edit instead and pass secrets as stdin (#3145).
  • _mount module utils - fixed the sanity checks (#2883).
  • ali_instance_info - added support to check mode (#3084).
  • ansible_galaxy_install - the output value cmd_args was bringing the intermediate command used to gather the state, instead of the command that actually performed the state change (#3655).
  • apache2_module - fix a2enmod/a2dismod detection, and error message when not found (#3253).
  • archive - fixed exclude_path values causing incorrect archive root (#2816).
  • archive - fixed improper file names for single file zip archives (#2818).
  • archive - fixed incorrect state result value documentation (#2816).
  • archive - fixed task failure when using the remove option with a path containing nested files for format``s other than ``zip (#2919).
  • archive - fixing archive root determination when longest common root is / (#3036).
  • composer - use no-interaction option when discovering available options to avoid an issue where composer hangs (#2348).
  • consul_acl - update the hcl allowlist to include all supported options (#2495).
  • consul_kv lookup plugin - allow to set recurse, index, datacenter and token as keyword arguments (#2124).
  • copr - fix chroot naming issues, centos-stream changed naming to centos-stream-<number> (for exmaple centos-stream-8) (#2084, #3237).
  • cpanm - also use LC_ALL to enforce locale choice (#2731).
  • deploy_helper - improved parameter checking by using standard Ansible construct (#3104).
  • django_manage - argument command is being splitted again as it should (#3215).
  • django_manage - parameters apps and fixtures are now splitted instead of being used as a single argument (#3333).
  • django_manage - refactor to call run_command() passing command as a list instead of string (#3098).
  • ejabberd_user - replaced in-code check with required_if, using get_bin_path() for the command, passing args to run_command() as list instead of string (#3093).
  • filesystem - repair reiserfs fstype support after adding it to integration tests (#2472).
  • gitlab_deploy_key - fix idempotency on projects with multiple deploy keys (#3473).
  • gitlab_deploy_key - fix the SSH Deploy Key being deleted accidentally while running task in check mode (#3621, #3622).
  • gitlab_group - avoid passing wrong value for require_two_factor_authentication on creation when the option has not been specified (#3453).
  • gitlab_group_members - get_group_id return the group ID by matching full_path, path or name (#3400).
  • gitlab_group_members - fixes issue when gitlab group has more then 20 members, pagination problem (#3041).
  • gitlab_project - user projects are created using namespace ID now, instead of user ID (#2881).
  • gitlab_project_members - get_project_id return the project id by matching full_path or name (#3602).
  • gitlab_project_members - fixes issue when gitlab group has more then 20 members, pagination problem (#3041).
  • idrac_redfish_info - added support to check mode (#3084).
  • influxdb_retention_policy - fix bug where INF duration values failed parsing (#2385).
  • influxdb_user - allow creation of admin users when InfluxDB authentication is enabled but no other user exists on the database. In this scenario, InfluxDB 1.x allows only CREATE USER queries and rejects any other query (#2364).
  • influxdb_user - fix bug where an influxdb user has no privileges for 2 or more databases (#2499).
  • influxdb_user - fix bug which removed current privileges instead of appending them to existing ones (#2609, #2614).
  • ini_file - fix Unicode processing for Python 2 (#2875).
  • ini_file - fix inconsistency between empty value and no value (#3031).
  • interfaces_file - no longer reporting change when none happened (#3328).
  • inventory and vault scripts - change file permissions to make vendored inventory and vault scripts exectuable (#2337).
  • ipa_* modules - fix environment fallback for ipa_host option (#3560).
  • ipa_sudorule - call sudorule_add_allow_command method instead of sudorule_add_allow_command_group (#2442).
  • iptables_state - call async_status action plugin rather than its module (#2700).
  • iptables_state - fix a 'FutureWarning' in a regex and do some basic code clean up (#2525).
  • iptables_state - fix a broken query of async_status result with current ansible-core development version (#2627, #2671).
  • iptables_state - fix initialization of iptables from null state when adressing more than one table (#2523).
  • java_cert - fix issue with incorrect alias used on PKCS#12 certificate import (#2560).
  • java_cert - import private key as well as public certificate from PKCS#12 (#2460).
  • java_keystore - add parameter keystore_type to control output file format and override keytool's default, which depends on Java version (#2515).
  • jboss - fix the deployment file permission issue when Jboss server is running under non-root user. The deployment file is copied with file content only. The file permission is set to 440 and belongs to root user. When the JBoss WildFly server is running under non-root user, it is unable to read the deployment file (#3426).
  • jenkins_build - examine presence of build_number before deleting a jenkins build (#2850).
  • jenkins_plugin - use POST method for sending request to jenkins API when state option is one of enabled, disabled, pinned, unpinned, or absent (#2510).
  • json_query filter plugin - avoid 'unknown type' errors for more Ansible internal types (#2607).
  • keycloak_authentication - fix bug when two identical executions are in the same authentication flow (#2904).
  • keycloak_authentication - fix bug, the requirement was always on DISABLED when creating a new authentication flow (#3330).
  • keycloak_client - update the check mode to not show differences resulting from sorting and default values relating to the properties, redirectUris, attributes, and protocol_mappers (#3610).
  • keycloak_identity_provider - fix change detection when updating identity provider mappers (#3538, #3537).
  • keycloak_realm - ssl_required changed from a boolean type to accept the strings none, external or all. This is not a breaking change since the module always failed when a boolean was supplied (#2693).
  • keycloak_realm - element type for events_listeners parameter should be string instead of dict (#3231).
  • keycloak_realm - remove warning that reset_password_allowed needs to be marked as no_log (#2694).
  • keycloak_role - quote role name when used in URL path to avoid errors when role names contain special characters (#3535, #3536).
  • launchd - fixed sanity check in the module's code (#2960).
  • launchd - use private attribute to fix sanity errors (#3194).
  • linode inventory plugin - fix default value of new option ip_style (#3337).
  • linode_v4 - changed the error message to point to the correct bugtracker URL (#2430).
  • logdns callback plugin - improve split call to fix sanity errors (#3194).
  • logstash callback plugin - replace _option with context.CLIARGS to fix the plugin on ansible-base and ansible-core (#2692).
  • lvol - fixed rounding errors (#2370).
  • lvol - fixed size unit capitalization to match units used between different tools for comparison (#2360).
  • lvol - honor check_mode on thinpool (#2934).
  • macports - add stdout and stderr to return values (#3499).
  • maven_artifact - improve split call to fix sanity errors (#3194).
  • memcached cache plugin - change function argument names to fix sanity errors (#3194).
  • memset_memstore_info - added support to check mode (#3084).
  • memset_server_info - added support to check mode (#3084).
  • modprobe - added additional checks to ensure module load/unload is effective (#1608).
  • module_helper module utils - CmdMixin must also use LC_ALL to enforce locale choice (#2731).
  • module_helper module utils - avoid failing when non-zero rc is present on regular exit (#2912).
  • module_helper module utils - fixed change-tracking for dictionaries and lists (#2951).
  • netapp module utils - remove always-true conditional to fix sanity errors (#3194).
  • netcup_dns - use str(ex) instead of unreliable ex.message in exception handling to fix AttributeError in error cases (#2590).
  • nmap inventory plugin - fix local variable error when cache is disabled (#2512).
  • nmcli - added ip4/ip6 configuration arguments for sit and ipip tunnels (#3238, #3239).
  • nmcli - compare MAC addresses case insensitively to fix idempotency issue (#2409).
  • nmcli - fixed dns6 option handling so that it is treated as a list internally (#3563).
  • nmcli - fixed ipv4.route-metric being in properties of type list (#3563).
  • nmcli - fixes team-slave configuration by adding connection.slave-type (#766).
  • nmcli - if type is bridge-slave add slave-type bridge to nmcli command (#2408).
  • npm - correctly handle cases where a dependency does not have a version property because it is either missing or invalid (#2917).
  • npm - when the version option is used the comparison of installed vs missing will use name@version instead of just name, allowing version specific updates (#2021).
  • one_image - fix error message when renaming an image (#3626).
  • one_template - change function argument name to fix sanity errors (#3194).
  • one_vm - Allow missing NIC keys (#2435).
  • oneview_datacenter_info - added support to check mode (#3084).
  • oneview_enclosure_info - added support to check mode (#3084).
  • oneview_ethernet_network_info - added support to check mode (#3084).
  • oneview_fc_network_info - added support to check mode (#3084).
  • oneview_fcoe_network_info - added support to check mode (#3084).
  • oneview_logical_interconnect_group_info - added support to check mode (#3084).
  • oneview_network_set_info - added support to check mode (#3084).
  • oneview_san_manager_info - added support to check mode (#3084).
  • online inventory plugin - improve split call to fix sanity errors (#3194).
  • online module utils - improve split call to fix sanity errors (#3194).
  • open_iscsi - calling run_command with arguments as list instead of str (#3286).
  • openbsd_pkg - fix crash from KeyError exception when package installs, but pkg_add returns with a non-zero exit code (#3336).
  • openbsd_pkg - fix regexp matching crash. This bug could trigger on package names with special characters, for example g++ (#3161).
  • opentelemetry callback plugin - validated the task result exception without crashing. Also simplifying code a bit (#3450, ansible/ansible#75726).
  • openwrt_init - calling run_command with arguments as list instead of str (#3284).
  • ovir4 inventory script - improve configparser creation to avoid crashes for options without values (#674).
  • packet_device - use generator to fix sanity errors (#3194).
  • packet_sshkey - use generator to fix sanity errors (#3194).
  • pacman - fix changed status when ignorepkg has been defined (#1758).
  • pamd - code for state=updated when dealing with the pam module arguments, made no distinction between None and an empty list (#3260).
  • pamd - fixed problem with files containing only one or two lines (#2925).
  • pids - avoid crashes for older psutil versions, like on RHEL6 and RHEL7 (#2808).
  • pipx - state=inject was failing to parse the list of injected packages (#3611).
  • pipx - set environment variable USE_EMOJI=0 to prevent errors in platforms that do not support UTF-8 (#3611).
  • pipx - the output value cmd_args was bringing the intermediate command used to gather the state, instead of the command that actually performed the state change (#3655).
  • pkgin - Fix exception encountered when all packages are already installed (#3583).
  • pkgng - name=* state=latest check for upgrades did not count "Number of packages to be reinstalled" as a changed action, giving incorrect results in both regular and check mode (#3526).
  • pkgng - an earlier PR broke check mode so that the module always reports not changed. This is now fixed so that the module reports number of upgrade or install actions that would be performed (#3526).
  • pkgng - the annotation functionality was broken and is now fixed, and now also works with check mode (#3526).
  • proxmox inventory plugin - fixed parsing failures when some cluster nodes are offline (#2931).
  • proxmox inventory plugin - fixed plugin failure when a qemu guest has no template key (#3052).
  • proxmox_group_info - fix module crash if a group parameter is used (#3649).
  • proxmox_kvm - clone operation should return the VMID of the target VM and not that of the source VM. This was failing when the target VM with the chosen name already existed (#3266).
  • proxmox_kvm - fix parsing of Proxmox VM information with device info not containing a comma, like disks backed by ZFS zvols (#2840).
  • proxmox_kvm - fix result of clone, now returns newid instead of vmid (#3034).
  • proxmox_kvm - fixed vmid return value when VM with name already exists (#2648).
  • puppet - replace console` with ``stdout in logdest option when all has been chosen (#1190).
  • rax_facts - added support to check mode (#3084).
  • redfish_command - fix extraneous error caused by missing bootdevice argument when using the DisableBootOverride sub-command (#3005).
  • redfish_info - added support to check mode (#3084).
  • redfish_utils module utils - do not attempt to change the boot source override mode if not specified by the user (#3509).
  • redfish_utils module utils - if a manager network property is not specified in the service, attempt to change the requested settings (#3404).
  • redfish_utils module utils - if given, add account ID of user that should be created to HTTP request (#3343).
  • redis cache - improved connection string parsing (#497).
  • rhsm_release - fix the issue that module considers 8, 7Client and 7Workstation as invalid releases (#2571).
  • saltstack connection plugin - fix function signature (#3194).
  • scaleway module utils - improve split call to fix sanity errors (#3194).
  • scaleway plugin inventory - fix JSON object must be str, not 'bytes' with Python 3.5 (#2769).
  • smartos_image_info - added support to check mode (#3084).
  • snap - also use LC_ALL to enforce locale choice (#2731).
  • snap - fix formatting of --channel argument when the channel option is used (#3028).
  • snap - fix various bugs which prevented the module from working at all, and which resulted in state=absent fail on absent snaps (#2835, #2906, #2912).
  • snap - fixed the order of the --classic parameter in the command line invocation (#2916).
  • snap_alias - the output value cmd_args was bringing the intermediate command used to gather the state, instead of the command that actually performed the state change (#3655).
  • snmp_facts - added support to check mode (#3084).
  • ssh_config - reduce stormssh searches based on host (#2568).
  • stacki_host - when adding a new server, rack and rank must be passed, and network parameters are optional (#2681).
  • stackpath_compute inventory script - fix broken validation checks for client ID and client secret (#2448).
  • supervisorctl - state signalled was not working (#3068).
  • svr4pkg - convert string to a bytes-like object to avoid TypeError with Python 3 (#2373).
  • taiga - some constructs in the module fixed to work also in Python 3 (#3067).
  • terraform - ensure the workspace is set back to its previous value when the apply fails (#2634).
  • tss lookup plugin - fixed backwards compatibility issue with python-tss-sdk version <=0.0.5 (#3192, #3199).
  • tss lookup plugin - fixed incompatibility with python-tss-sdk version 1.0.0 (#3057, #3139).
  • udm_dns_record - fixed managing of PTR records, which can never have worked before (#3256).
  • ufw - use generator to fix sanity errors (#3194).
  • utm_aaa_group_info - added support to check mode (#3084).
  • utm_ca_host_key_cert_info - added support to check mode (#3084).
  • utm_network_interface_address_info - added support to check mode (#3084).
  • utm_proxy_frontend_info - added support to check mode (#3084).
  • utm_proxy_location_info - added support to check mode (#3084).
  • vdo - boolean arguments now compared with proper true and false values instead of string representations like "yes" or "no" (#3191).
  • xenserver_facts - added support to check mode (#3084).
  • xfconf - also use LC_ALL to enforce locale choice (#2715).
  • xfconf_info - added support to check mode (#3084).
  • yaml callback plugin - avoid modifying PyYAML so that other plugins using it on the controller, like the to_yaml filter, do not produce different output (#3471, #3478).
  • yum_versionlock - fix idempotency when using wildcard (asterisk) in name option (#2761).
  • zfs - certain ZFS properties, especially sizes, would lead to a task being falsely marked as "changed" even when no actual change was made (#975, #2454).
  • zfs - treated received properties as local (#502).
  • zypper_repository - fix idempotency on adding repository with $releasever and $basearch variables (#1985).
  • zypper_repository - when an URL to a .repo file was provided in option repo= and state=present only the first run was successful, future runs failed due to missing checks prior starting zypper. Usage of state=absent in combination with a .repo file was not working either (#1791, #3466).
  • elastic - Create distributed traces for each Ansible task in Elastic APM
  • opentelemetry - Create distributed traces with OpenTelemetry
  • groupby_as_dict - Transform a sequence of dictionaries to a dictionary where the dictionaries are indexed by an attribute
  • unicode_normalize - Normalizes unicode strings to facilitate comparison of characters with normalized forms
  • icinga2 - Icinga2 inventory source
  • opennebula - OpenNebula inventory source
  • collection_version - Retrieves the version of an installed collection
  • dependent - Composes a list with nested elements of other lists or dicts which can depend on previous loop variables
  • random_pet - Generates random pet names
  • random_string - Generates random string
  • random_words - Return a number of random words
  • a_module - Check whether the given string refers to an available module or action plugin
  • proxmox_nic - Management of a NIC of a Qemu(KVM) VM in a Proxmox VE cluster.
  • proxmox_tasks_info - Retrieve information about one or more Proxmox VE tasks
  • redis_data - Set key value pairs in Redis
  • redis_data_incr - Increment keys in Redis
  • redis_data_info - Get value of key in Redis database
  • mssql_script - Execute SQL scripts on a MSSQL database
  • hana_query - Execute SQL on HANA
  • sapcar_extract - Manages SAP SAPCAR archives
  • keycloak_authentication - Configure authentication in Keycloak
  • keycloak_client_rolemapping - Allows administration of Keycloak client_rolemapping with the Keycloak API
  • keycloak_clientscope - Allows administration of Keycloak client_scopes via Keycloak API
  • keycloak_identity_provider - Allows administration of Keycloak identity providers via Keycloak API
  • keycloak_role - Allows administration of Keycloak roles via Keycloak API
  • keycloak_user_federation - Allows administration of Keycloak user federations via Keycloak API
  • discord - Send Discord messages
  • ansible_galaxy_install - Install Ansible roles or collections using ansible-galaxy
  • pipx - Manages applications installed with pipx
  • dnf_versionlock - Locks package versions in C(dnf) based systems
  • pacman_key - Manage pacman's list of trusted keys
  • snap_alias - Manages snap aliases
  • gitlab_protected_branch - (un)Marking existing branches for protection
  • sap_task_list_execute - Perform SAP Task list execution
  • xfconf_info - Retrieve XFCE4 configurations
  • rundeck_job_executions_info - Query executions for a Rundeck job
  • rundeck_job_run - Run a Rundeck job