Ansible 14 Community Package RC1 — What's New and How to Test
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.