community.general 13.4.0 Released - What's New and How to Update

Introduction

community.general is the large catch-all Ansible collection maintained by the Ansible community, bundling hundreds of modules, plugins, and lookups that don't have a dedicated home in a more specific collection (Consul, GitLab, GitHub, InfluxDB, zypper, vmadm, and many more). It is one of the most frequently installed collections alongside ansible.posix and ships as part of the ansible community package.

Version 13.4.0 has just been published on Ansible Galaxy. This article covers the changes shipped in this release and how to install or upgrade to it.

What's New

13.4.0 is a regular bugfix and feature release. It does not remove or rename any module, but it adds several new options across existing modules and plugins, and it introduces one deprecation.

Minor Changes

  • archive - now uses context managers when reading tar checksums (PR #12569).
  • consul modules - add a new url option that sets the address of the Consul agent as a whole; the existing host, port, and scheme options each override the matching component of it. This does not apply to community.general.consul (PR #12216).
  • consul modules - connection options now fall back to the CONSUL_HTTP_ADDR, CONSUL_HTTP_SSL, CONSUL_HTTP_SSL_VERIFY, CONSUL_HTTP_TOKEN, and CONSUL_CACERT environment variables when not explicitly specified. Again, this excludes community.general.consul, which does not use the shared connection option handling yet (PR #12216).
  • github_repo - added a visibility option to set repository visibility to public, private, or internal (issue #6219, PR #12557).
  • gitlab_hook - added a branch_filter_strategy option to control how push_events_branch_filter filters push events, allowing branches to be filtered by a regular expression (PR #12618).
  • incus connection plugin - added a remote_user_id_command option to configure the command used to retrieve the UID and GID of the remote user (PR #12646).
  • influxdb_user - added a force_password_update option to always update the password when user_password is set, working around InfluxDB installations that do not enforce authentication (issue #3824, PR #12654).
  • maven_artifact - added a keep_name_only_when_resolved option to opt in to the documented scope of keep_name, which is supposed to only control the destination filename when version is resolved dynamically (latest or version_by_spec). Previously keep_name also affected the filename with a fixed version, contradicting its documentation (PR #12606, issue #4796).
  • odbc - added an autocommit option to support statements that must run outside of a transaction (issue #4173, issue #8577, PR #12595).
  • passwordstore lookup plugin - added a keep_trailing_newline option to preserve the trailing newline when returnall=true (PR #12589, issue #3616).
  • vmadm - added a bootrom option to support UEFI boot for bhyve VMs (PR #12601, issue #4282).
  • zypper - added an install_recommends option to explicitly control installation of recommended packages (issue #3497, PR #12648).

Deprecated Features

  • keycloak_realm_users_info - the module is being moved to middleware_automation.keycloak.keycloak_realm_users_info. It will be replaced by a deprecated redirect to that module in community.general 14.0.0, and the redirect itself will be removed in community.general 16.0.0. Anyone currently using the module should consider installing and switching to ansible_middleware.keycloak now.

Affected Modules and Plugins

Module / pluginType of change
archiveInternal cleanup (context managers)
consul, consul_kv, consul_session, consul_acl, ...New url option, env var fallback
github_repoNew visibility option
gitlab_hookNew branch_filter_strategy option
incus (connection plugin)New remote_user_id_command option
influxdb_userNew force_password_update option
maven_artifactNew keep_name_only_when_resolved option
odbcNew autocommit option
passwordstore (lookup)New keep_trailing_newline option
vmadmNew bootrom option
zypperNew install_recommends option
keycloak_realm_users_infoDeprecated, moving to middleware_automation.keycloak

How to Install / Upgrade

The collection can be installed or updated with ansible-galaxy directly from Galaxy:

# install or upgrade community.general to the latest available version
ansible-galaxy collection install community.general --upgrade

# install this exact version
ansible-galaxy collection install community.general:==13.4.0

# verify the installed version
ansible-galaxy collection list community.general

Expected output for the version check:

# /root/.ansible/collections/ansible_collections
Collection          Version
------------------- -------
community.general    13.4.0

If the collection is pinned in a requirements.yml file, update the entry accordingly:

collections:
  - name: community.general
    version: "13.4.0"

and reinstall with:

ansible-galaxy collection install -r requirements.yml --upgrade

Conclusion

13.4.0 is a routine minor release for community.general: no breaking changes, a handful of new options across Consul, GitHub, GitLab, InfluxDB, Maven, ODBC, the passwordstore lookup, vmadm, and zypper, plus the first step in migrating keycloak_realm_users_info out to the dedicated middleware_automation.keycloak collection. Anyone relying on keycloak_realm_users_info should start planning the migration ahead of the 14.0.0 and 16.0.0 milestones mentioned above.