Release highlights¶
The changes worth knowing about, newest first, each pointing at the page that documents it properly. For the full record of every change, see the changelog.
2.11.0 — AI attribution policy¶
Commits carrying the trailers AI coding tools add — Claude Code, Copilot, Codex, Gemini, Cursor, Devin, Aider, Windsurf, Tabby — can now be rejected.
Whether AI-assisted commits are acceptable is a policy question with no single right answer, so this stays off until you turn it on.
2.10.0 — Bot branch prefixes accepted by default¶
dependabot/ and renovate/ branches pass branch validation without
configuration. Automation was previously failing a check it could not satisfy.
2.9.0 — AI agent branch prefixes accepted by default¶
ai/, claude/, codex/, copilot/ and cursor/ joined the default branch
types, following
Conventional Branch v1.1.0.
2.8.0 — Custom message patterns¶
message_pattern replaces the generated Conventional Commits regex with one of
your own, for teams that already enforce a different format.
This release also dropped Python 3.9. The minimum is now 3.10.
2.7.0 — Force push blocking¶
A pre-push hook that refuses a force push to a shared branch, plus a
--no-force-push flag for running the same check by hand.
2.6.0 — Output controls for scripts and CI¶
--format json for machine-readable results, --compact for one line per
failure, and --no-banner to drop the ASCII art that only adds noise to a CI
log.
2.5.0 — Organization-wide configuration¶
inherit_from lets a repository pull a shared base config and override only
what it needs, so a policy change no longer means editing every repository.
2.0.0 — TOML configuration¶
The configuration format moved from YAML to TOML, the CLI was simplified, and settings became overridable by environment variable and command-line flag. This is a breaking change from 1.x.