Introduction
Ansible community package 14.0.0rc1 has been released for testing (June 2026). This is the first release candidate for the next major version, which depends on ansible-core 2.20. If you maintain playbooks, roles, or collections, now is the time to test before the final release.
Install the RC
# Install in a virtual environment (recommended)
python3 -m venv ansible14-test
source ansible14-test/bin/activate
# Install the release candidate
pip install ansible==14.0.0rc1
# Verify
ansible --version
# ansible [core 2.20.x]
# ansible-community 14.0.0rc1
What's New
ansible-core 2.20
Ansible 14 requires ansible-core 2.20, which brings:
- Python 3.10+ minimum on the controller (Python 3.9 dropped)
- Python 3.7+ on managed nodes (Python 3.6 dropped)
- Deprecated features removed from ansible-core 2.18/2.19 cycle
- Performance improvements in task execution and fact gathering
- New
skippedcallback behavior (see deprecation section below)
Collection Updates
Major collection version bumps expected in Ansible 14:
| Collection | Expected Version | Notable Changes |
|---|---|---|
| community.general | 10.x | Module removals from 9.x deprecations |
| amazon.aws | 11.x | API changes, new resources |
| ansible.netcommon | 9.x | Paramiko deprecation enforcement |
| community.docker | 5.x | Compose v2 default |
| ansible.mysql | 6.x | Replaces community.mysql |
Breaking Changes to Watch
# ❌ Python 3.9 on controller — no longer supported
# Upgrade to Python 3.10+
# ❌ Paramiko as default for network_cli — deprecated path
# Switch to libssh (ansible-pylibssh)
# ❌ community.mysql — development moved to ansible.mysql
# Update requirements.yml:
# - name: ansible.mysql # not community.mysql
# ❌ skipped_reason in callback plugins — deprecated
# Use skip_reason instead (see below)
Test Your Playbooks
# Run your playbooks against the RC
ansible-playbook -i inventory site.yml --check
# Run with verbose to see deprecation warnings
ansible-playbook -i inventory site.yml -vv 2>&1 | grep -i deprecat
# Test specific roles
ansible-playbook test-playbook.yml --tags smoke-test
Automated Testing
# .github/workflows/test-ansible14.yml
name: Test Ansible 14 RC
on:
workflow_dispatch:
schedule:
- cron: '0 6 * * 1' # Weekly Monday
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- run: pip install ansible==14.0.0rc1
- run: ansible-playbook -i inventory/test site.yml --check
- run: ansible-lint .
Upgrade Guide
Step 1: Check Python Version
python3 --version
# Must be 3.10+ on controller
# On managed nodes:
ansible all -m setup -a "filter=ansible_python_version"
# Must be 3.7+
Step 2: Update requirements.yml
# requirements.yml
collections:
- name: ansible.mysql # NOT community.mysql
version: ">=5.0.0"
- name: ansible.netcommon
version: ">=9.0.0"
- name: community.general
version: ">=10.0.0"
Step 3: Fix Deprecation Warnings
# Run with Ansible 13 first, fix all deprecation warnings
ansible-playbook site.yml -vv 2>&1 | grep "DEPRECATION WARNING"
Step 4: Test with RC
pip install ansible==14.0.0rc1
ansible-playbook site.yml --check
Step 5: Report Issues
# If you find bugs, report them:
# https://github.com/ansible/ansible/issues
# https://forum.ansible.com/c/project/
Timeline
| Date | Event |
|---|---|
| Jun 2026 | 14.0.0rc1 available for testing |
| Jun 2026 | Code freeze (no new features) |
| Jul 2026 (est.) | 14.0.0 final release |
Should You Upgrade Now?
| Situation | Recommendation |
|---|---|
| Development/testing | ✅ Test with RC now |
| Staging environment | ✅ Deploy RC for validation |
| Production | ❌ Wait for 14.0.0 final |
| CI/CD matrix | ✅ Add RC as test target |
Troubleshooting
| Issue | Solution |
|---|---|
ModuleNotFoundError | Python 3.10+ required on controller |
community.mysql not found | Replaced by ansible.mysql |
| Deprecation warnings everywhere | Fix now — they become errors in next major |
| Collection version conflicts | Update all collections to latest compatible |
| Network modules fail | Migrate from Paramiko to libssh |
Conclusion
Ansible 14.0.0rc1 is your testing window. Install it in a virtualenv, run your playbooks with --check and -vv, fix deprecation warnings, and report bugs. The final release is expected in July 2026. Key actions: upgrade Python to 3.10+, switch from community.mysql to ansible.mysql, and migrate network connections from Paramiko to libssh.