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.rston thev2.21.3tag - 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.
| Artifact | Type | Size | SHA256 |
|---|---|---|---|
| ansible_core-2.21.3-py3-none-any.whl | Built Distribution (wheel) | 2,446,988 bytes | 9e7dd367f7dc5d5e9fc5ae1baf8af9c4edc09e916a73a40108a3f32e3ad93f10 |
| ansible_core-2.21.3.tar.gz | Source Distribution | 3,397,615 bytes | 4194fbd82273cbacfd06d86d74d2d7168c3c4b8426c03e93562cd7217f811ae1 |
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.