Introduction

Ansible-core 2.21.3 has been published on PyPI and tagged on GitHub. This is a maintenance release in the 2.21.x branch, meaning it ships bugfixes and small corrections rather than new features. This article walks through what is included, where to find the full changelog, and how to install or upgrade to this version in a controlled way.

What's New

Ansible-core 2.21.3 is a patch release. As with every point release in the ansible-core 2.21 series, no new modules, plugins, or breaking changes are expected. The purpose of this release is to consolidate fixes accumulated since 2.21.2 (or the prior known tag) into a stable, installable artifact.

Where to Find the Details

The project does not embed the full list of changes in the GitHub release body; instead, it points to the versioned changelog file in the repository:

  • Full changelog: changelogs/CHANGELOG-v2.21.rst on the v2.21.3 tag
  • Release tag: v2.21.3

Anyone tracking specific fixes (module behavior, connection plugin edge cases, inventory parsing, etc.) should consult that RST file directly, since it lists the individual changelog fragments merged for this release.

Release Artifacts

The release provides both a built wheel and a source distribution on PyPI.

ArtifactTypeSizeSHA256
ansible_core-2.21.3-py3-none-any.whlBuilt Distribution (wheel)2,446,988 bytes9e7dd367f7dc5d5e9fc5ae1baf8af9c4edc09e916a73a40108a3f32e3ad93f10
ansible_core-2.21.3.tar.gzSource Distribution3,397,615 bytes4194fbd82273cbacfd06d86d74d2d7168c3c4b8426c03e93562cd7217f811ae1

The wheel is the recommended artifact for most installations via pip, since it avoids building from source. The source distribution is useful for environments that need to build from source or verify provenance manually.

How to Install and Verify

The recommended approach is to use a Python virtual environment to isolate the ansible-core version from system Python packages, especially when testing a new release before rolling it out to a control node used in production.

# Create and activate an isolated environment (optional but recommended)
python3 -m venv ansible-2213-env
source ansible-2213-env/bin/activate

# Install ansible-core 2.21.3 explicitly
pip install ansible-core==2.21.3

# Verify the installed version
ansible --version

# Confirm the wheel checksum manually (optional integrity check)
pip download ansible-core==2.21.3 --no-deps -d /tmp/ansible-core-2213
sha256sum /tmp/ansible-core-2213/ansible_core-2.21.3-py3-none-any.whl
# Compare the output against:
# 9e7dd367f7dc5d5e9fc5ae1baf8af9c4edc09e916a73a40108a3f32e3ad93f10

For an in-place upgrade on an existing control node:

pip install --upgrade ansible-core==2.21.3
ansible --version

After installation, it is good practice to run existing playbooks against a staging or test inventory before promoting the upgrade to production control nodes:

ansible-playbook -i staging_inventory site.yml --check --diff

Should You Upgrade Now

Since this is a patch release within the 2.21.x line, upgrading is generally low-risk for environments already on 2.21.x. Teams should still review the linked CHANGELOG-v2.21.rst for any fix that touches modules, plugins, or connection types they rely on, and run their test suite (or at minimum --check mode against representative playbooks) before rolling the update to all control nodes.

Conclusion

Ansible-core 2.21.3 is available now via PyPI as both a wheel and a source distribution. Users on the 2.21 branch can upgrade with a simple pip install --upgrade ansible-core==2.21.3 after reviewing the full changelog for fixes relevant to their environment.