NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2204 most downloaded on PyPI
Checks playbooks for practices and behavior that could potentially be improved
Last release 12 days ago
22 Sep 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
12 years old
271 releases · first in 2014
fix: upgrade black to >=25.2.0 to address CVE-2026-32274 ( #5166 ) @shvenkat-rh
example section in file meta/argument_specs.yml (#5164) @berndfingerextra_vars to import_playbook syntax check (#5148) @shvenkat-rhinclude_tasks relative paths (#5159) @shvenkat-rhinclude_tasks paths from playbook dir (#5184) @shvenkat-rhwarn_list after --fix rewrites task names (#5085) @santosh7676--offline (#5183) @shvenkat-rhno-jinja-when on string-embedded jinja (#5103) @f1047validate_argspec to play schema (#5187) @sameeralam3127get_deps_versions() result (#5113) @BlackDark.github/SECURITY.md (#5165) @gundalowFull Changelog: v26.8.0...v26.9.0
One column per quarter.
v26.9.0 Latest Marketplace
Latest
Marketplace
Compare
fix(deps): exclude ansible-core 2.17.x ( CVE-2026-11332 ) by @rockygeekz in #5123
Full Changelog: v26.6.0...v26.8.0
fix: ensure configuration errors are visible to user ( #5038 ) @Dotify71
ansible-lint --fix (#5033) @bishalOpsfix: remove deprecated apt_key module from examples and builtins ( #5000 ) @cidrblock
feat: add jinja2-template-extension opt-in rule ( #4979 ) @djdanielsson
feat: complexity[tasks] for task and handler files ( #4799 ) @ARYPROGRAMMER
feat: added exit code 8 for successfully fixed violations ( #4674 ) ( #4899 ) @Jkhall81
fix: implement precise filtering for bracketed sub-tags ( #4892 ) @Jkhall81
Update configuring.md to reflect correct precommit name ( #4872 ) @AgustinRamiroDiaz
feat(action): Allow users to override python_version (#4829) @konstruktoid
chore: Remove cffi, importlib-metadata, reduce core lower bound (#4860) @cidrblock
feat: detect missing prefix in role's handlers vars (#4826) @cavcrosby
fix: require ansible-core>=2.17.10 (#4835) @ssbarnea
fix: avoid using unreleased dependency constraints (#4802) @ssbarnea
fix: pin to python3.13 for the pre-commit hook (#4796) @ssbarnea
Remove patterns validation checks (#4772) @alisonlhart
Make rule deprecated-local-action preserve module parameters (#4733) @koalajoe23
Fix first-run collection discovery by enabling plugin loader after prepare_environment (#4722) @cidrblock
Lint failure in ansible.utils: src must be an absolute path fix (#4712) @anusshukla
Address disable_lookups deprecation with ansible-core 2.19 (#4683) @ssbarnea
Revert 'Don't pass deprecated disable_lookups to template function' (#4650) @alisonlhart
Don't pass deprecated disable_lookups to template function (#4593) @leegarrett
Update documentation to reflect creator-ee deprecation (#4598) @shatakshiiii
Fix type issue affecting builds (#4595) @ssbarnea
Finish support for data tagging from ansible 2.19 (#4571) @ssbarnea
Refactor line number identification (#4564) @ssbarnea
Allow use with readonly virtualenvs (#4526) @ssbarnea
ansible-lint CI job (#4520) @aphedgesRequire ansible-compat>=25.1.2 (#4512) @ssbarnea
v25.1.1 (#4499) @audgirkaUpdate compat and pre-commit versions (#4495) @audgirka
Update requires_ansible default require >=2.16 (#4479) @samccann
Added additional galaxy[tags] checks (#4422) @minsis
Note this this changelog entry contains changes also included in the two yanked releases before it.
Added additional galaxy[tags] checks (#4422) @minsis
Refactor code to avoid use of rich library (#4396) @ssbarnea
Add support for py313 (#4388) @abhikdps
tags property to builder v3 options (#4346) @audgirkaFix github action (#4342) @ssbarnea
Fix missing MatchErrors due to hash collisions (#4307) @cavcrosby
Community comms (#4309) @oraNod
requirements_file input to GitHub action (#4253) @dbrennandFix linting issues within command_instead_of* rules (ruff:D102) (#4252) @alisonlhart
Fix working directory when used as an github action (#4213) @bkaraoren
Adding logic for configuring supported ansible versions (#4203) @alisonlhart
Add subdirectories to be part of the task prefix (#4143) @cavcrosby
fix, avoid a traceback with transform (#4148) @cidrblockMake ignore_unreachable accept jinja templates (#4120) @audgirka
ignore_unreachable accept jinja templates (#4120) @audgirkaorder schema to work with jinja template (#4121) @audgirkakey-order rule with blocks (#4116) @QalthosRaise exception while accessing rules by index (#4068) @audgirka
Fix error suppression when syntax is incorrect (#4026) @audgirka
cache_dir_lock (#4055) @guppy0130notify for a task against name[casing] error (#4038) @audgirkaDrop support for Python 3.9 (#4009) @audgirka
dependencies section in meta/main.yml (#3993) @audgirkaFix key error for name[casing] rule (#3987) @ajinkyau
no-free-form rule (#3945) @ajinkyauRemove support for deprecated include (#3722) @ssbarnea
package_latest (#3914) @pablomhworking_directory argument (#3905) @ptoscanomax_fail_percentage as templated integer (#3901) @rebtoormeta.json (#3893) @jsf9kEnable YAML 1.2 support for non-ansible files (#3809) @ssbarnea
ruamel-yaml >= 0.18.2 (#3869) @hswong3iAvoid exception caused by accidental unloading of core rules (#3857) @ssbarnea
Allow linting plugin EXAMPLES as playbooks (#3309) @Qalthos
meta.json (#3845) @mcdonnnjmeta.json (#3841) @mcdonnnjFix wget command arguments in github action (#3806) @ssbarnea
Do not use github action path for running ansible lint (#3798) @ReenigneArcher
Fix detection of play roles vars missing prefix (#3765) @cavcrosby
--fix will now default to all (#3777) @ajinkyau--list-rules (#3737) @shatakshiiiiRespect cgroup CPU limits when running inside containers (#3749) @ssbarnea
no-free-form rule (#3725) @ajinkyaupartial-become rule (#3692) @shatakshiiiino-jinja-when rule (#3721) @shatakshiiiipipx venv path to be included in altered path warning (#3730) @chrysleTransform for deprecated-local-action rule (#3689) @ajinkyau
jinja[spacing] rule (#3691) @ajinkyauansible-lint installed by pipx (#3720) @chryslekey-order rule (#3719) @ajinkyauPrevent use of spdx-tools 0.8.0 due to breaking changes (#3649) @ssbarnea
version_added for complexity rule (#3623) @ajinkyauyaml[line-length] rule (#3653) @shatakshiiiigit rev-parse (#3610) @JohnVillalovosAllow use as a reusable github action (#3513) @ssbarnea
.yaml extension (#3559) @bdsohaUpdate guess install method check (#3553) @ajinkyau
fqcn[deep]: detect deep plugins (#3502) @ssbarnea
Update test dependencies (#3470) @ssbarnea
Your coding agent can read these notes before it upgrades. Set up the MCP server →