Ansible Releases
Track Ansible releases, ansible-core vs ansible package versioning, and Python requirements. Collection ecosystem compatibility, upgrade paths, and migration guidance.
—
Total Versions
—
Supported
—
Latest
Version Timeline
All tracked releases with lifecycle status and EOL dates.
Loading version data…
Lifecycle Timeline
Visual overview of active support and maintenance windows.
Upgrade Paths
Migration guidance between major versions — breaking changes, effort estimates, and tips.
Breaking Changes
- Python 3.10+ required on controller (was 3.9)
- Deprecated modules removed (synchronize module changes)
- Jinja2 3.0+ required
- Collection dependency resolution stricter
- ansible-galaxy CLI changes for collection management
- Some callback plugin APIs changed
Migration Notes
Run your existing playbooks with -vvv and watch for deprecation warnings before upgrading. The biggest blocker is usually Python version on the controller. If you are on RHEL 8, you may need to use a Python 3.10+ virtualenv. Update collections after core, not simultaneously.
Breaking Changes
- Removed long-deprecated module options
- Updated default fact gathering behavior
- Stricter variable precedence in some edge cases
Migration Notes
Recent minor upgrades are smooth. Run ansible-lint with the latest ruleset, fix warnings, upgrade. Keep your collections pinned until you verify compatibility.
Breaking Changes
- Monolithic Ansible split into core + collections
- Module paths changed (e.g., ec2 → amazon.aws.ec2_instance)
- Python 3.10+ required on controller
- Inventory plugin system overhauled
- Connection plugins updated
- Vault handling changes
- Many deprecated modules removed entirely
Migration Notes
This is the hardest Ansible upgrade. The core/collections split means rewriting FQCNs throughout all playbooks. Use ansible-compat or the migration tool to identify FQCN changes. Budget significant testing time. Consider rewriting problematic playbooks from scratch rather than migrating them.
Version Risk Assessment
Evaluate risk factors before choosing a version for production.
| Version | EOL Risk | CVE Risk | Ecosystem | Cloud Support | Overall | Recommended Action |
|---|---|---|---|---|---|---|
| Ansible 2.9 (legacy) | Critical | Critical | Dead | None | Critical | EOL since 2022 — migrate to core+collections immediately |
| Ansible core 2.14/2.15 | Critical | High | Unsupported | Degrading | Critical | Past EOL — no patches |
| Ansible core 2.16 | High | Medium | Maintenance | Full | High | Security-only until May 2025 |
| Ansible core 2.17 | Medium | Low | Supported | Full | Medium | Supported until Nov 2025 |
| Ansible core 2.18 | Low | Low | Active | Full | Low | Current stable — recommended |
ansible-core follows a ~12-month active support + 12-month security-only cycle. Two versions maintained simultaneously. Risk assessed March 2026.
ansible-core Version Feature Comparison
Side-by-side feature differences across major versions.
| Feature | 2.14 | 2.15 | 2.16 | 2.17 | 2.18 |
|---|---|---|---|---|---|
| Python controller min | 3.9 | 3.9 | 3.10 | 3.10 | 3.10 |
| Python target min | 2.7/3.5 | 2.7/3.5 | 2.7/3.6 | 2.7/3.6 | 3.7 |
| Jinja2 minimum | 3.0 | 3.0 | 3.0 | 3.0 | 3.0 |
| Collection resolver | Basic | Improved | Enhanced | Enhanced | Enhanced |
| Task execution strategy | Linear/Free | Linear/Free | Linear/Free | Enhanced | Enhanced |
| Fact caching | jsonfile | jsonfile | jsonfile+redis | jsonfile+redis | Enhanced |
| Vault improvements | Basic | Improved | Improved | Enhanced | Enhanced |
| Role argument validation | Basic | Stable | Stable | Stable | Stable |
| FQCN enforcement | Warning | Warning | Warning | Stricter | Required |
Embed Badges
Add live Ansible status badges to your README, docs, or dashboard.
Health Status
Overall support health

EOL Countdown
Next end-of-life date

Latest Version
Current stable release

CVE Status
Known vulnerabilities

Frequently Asked Questions
Common questions about Ansible releases and lifecycle.