Red Hat has announced Ansible 12, a major release that modernizes the controller runtime and improves performance on large inventories.
Python 3.13 by Default
The Ansible controller now runs on Python 3.13 by default, gaining the free-threaded interpreter benefits when running many parallel task executions. Managed nodes remain compatible with Python 2.7 (deprecated) and any Python 3.8+ for now.
Async Executor Rewrite
The async task executor replaces its polling-based implementation with an event-driven one, reducing controller CPU usage by 50-70% when running playbooks with many async tasks. Task completion latency is also lower and more predictable.
Plugin Ecosystem
- Collections must now declare a minimum Ansible-core version
- New
ansible-galaxy collection lintcommand - AWX/Automation Platform integration: unified execution environment images