Repository navigation
Releases
Releases · commit-check/commit-check
v2.20.4
What's Changed
🐛 Bug fixes
- fix: require a real body, split ignore_authors, read the recorded author by @shenxianpeng in #689
Full Changelog: v2.20.3...v2.20.4
v2.20.3
What's Changed
🚀 Features
- feat: replace the ASCII banner with a one-line failure header by @shenxianpeng in #682
- feat: add an agent skill for commit-check by @shenxianpeng in #679
🐛 Bug fixes
- fix: give CC017 advice that works before the commit exists by @shenxianpeng in #685
- fix: don't judge HEAD when --ai-attribution-only gets no text by @shenxianpeng in #684
- fix(skill): find the draft message file in worktrees and submodules by @shenxianpeng in #686
📝 Documentation
- docs: thank contributors in the README by @shenxianpeng in #681
Full Changelog: v2.20.2...v2.20.3
v2.20.2
What's Changed
🐛 Bug fixes
- fix: name the AI-rules-only option
--ai-attribution-onlyby @shenxianpeng in #677
Full Changelog: v2.20.1...v2.20.2
v2.20.1
What's Changed
🚀 Features
- feat: check AI attribution alone and report the AI tools found by @shenxianpeng in #673
- feat(ai): detect credit trailers, Warp, Crush and plain Claude Code notices by @shenxianpeng in #672
👻 Maintenance
- ci: shard CodSpeed benchmarks across jobs instead of xdist processes by @invictustitan2 in #669
- ci: run CodSpeed benchmarks in parallel with pytest-xdist by @invictustitan2 in #668
Full Changelog: v2.20.0...v2.20.1
v2.20.0
What's Changed
💥 Breaking changes
- chore: drop Python 3.10 (EOL) and remove the tomli dependency by @invictustitan2 in #662
🚀 Features
- feat(ai): reject commits whose author is an AI tool (CC017) by @shenxianpeng in #661
- feat(ai): detect Mistral Vibe and Qwen Code default signatures by @shenxianpeng in #659
- feat: subject length 0 turns the length check off by @shenxianpeng in #660
- feat(ai): detect Continue's default commit signature by @invictustitan2 in #657
🐛 Bug fixes
- fix(config): don't warn about [commit] require_verified, read by the App by @shenxianpeng in #656
📝 Documentation
- docs: say Python 3.11+ now that 3.10 is dropped by @shenxianpeng in #665
📦 Dependencies
- chore(deps): bump filelock from 3.32.5 to 4.2.1 by @dependabot[bot] in #664
Full Changelog: v2.19.5...v2.20.0
v2.19.5
What's Changed
🐛 Bug fixes
- fix(branch): accept GitHub merge queue branches by default by @shenxianpeng in #653
- fix(ai): detect aider's default co-author trailer by @shenxianpeng in #652
- fix: exit 2 when git cannot read the repository by @shenxianpeng in #654
📦 Dependencies
- chore(deps-dev): bump nox from 2026.8.17 to 2026.10.20 in the pip group by @dependabot[bot] in #649
- chore(deps): bump the github-actions group with 3 updates by @dependabot[bot] in #650
Full Changelog: v2.19.4...v2.19.5
v2.19.4
What's Changed
🚀 Features
- feat(branch): accept the
agents/prefix by default by @shenxianpeng in #645
🐛 Bug fixes
- fix(ai): detect Cursor's Made-with trailer by @shenxianpeng in #643
📝 Documentation
- docs: pin the README to v2.19.4 and list agents among the default branch types by @shenxianpeng in #646
🚦 Tests
- test: cover the three branches the suite never took by @shenxianpeng in #640
📦 Dependencies
- chore(deps): bump virtualenv from 21.14.9 to 21.14.13 by @dependabot[bot] in #644
- chore(deps): bump virtualenv from 21.7.13 to 21.14.9 by @dependabot[bot] in #641
- chore(deps): bump certifi from 2026.2.25 to 2026.10.19 by @dependabot[bot] in #642
Full Changelog: v2.19.3...v2.19.4
v2.19.3
What's Changed
🐛 Bug fixes
- fix: refuse a quoted "false" for a true/false setting by @shenxianpeng in #636
📝 Documentation
- docs: point GitHub users at the App in the README by @shenxianpeng in #637
- docs: pin the README to v2.19.2 and list wrong-type config values under exit 2 by @shenxianpeng in #635
Full Changelog: v2.19.2...v2.19.3
v2.19.2
What's Changed
🐛 Bug fixes
- fix: refuse config values of the wrong type by @shenxianpeng in #624
- fix(tag): check the remote tag name a pre-push line creates by @shenxianpeng in #615
- fix: print control characters and workflow commands in commit text inert by @shenxianpeng in #620
- fix: make the header fix and AI trailer regexes linear by @shenxianpeng in #626
- fix(merge-base): skip when the rebase target does not resolve by @shenxianpeng in #617
- fix(ai): detect Copilot coding agent commits by @shenxianpeng in #632
👻 Maintenance
- ci: unify workflow file names and titles across the org by @shenxianpeng in #629
📦 Dependencies
- chore(deps): bump ossf/scorecard-action from 2.4.4 to 2.5.0 in the github-actions group by @dependabot[bot] in #630
Full Changelog: v2.19.1...v2.19.2
v2.19.1
What's Changed
🚀 Features
- feat(branch): accept develop by default, as the specification does by @shenxianpeng in #612
🐛 Bug fixes
- fix: match Signed-off-by only as a trailer line, in linear time by @shenxianpeng in #621
- fix: reject squash! and amend! commits when fixups are not allowed by @shenxianpeng in #613
- fix: check the message git will store, not its comments or -v diff by @shenxianpeng in #618
- fix(ai): detect trailers with a blank before the colon and Cursor Agent by @shenxianpeng in #623
- fix: exempt only tool-written merge subjects from subject rules by @shenxianpeng in #619
- fix: cap the size of an inherit_from parent config by @shenxianpeng in #614
- fix: read a word: prefix as a type only under conventional commits by @shenxianpeng in #622
- fix: find the config from a subdirectory of the repository by @shenxianpeng in #625
- fix: catch WIP markers followed by a newline, tab or dash by @shenxianpeng in #616
👻 Maintenance
- chore: update pre-commit hooks by @shenxianpeng in #627
Full Changelog: v2.19.0...v2.19.1