You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 581391d
Browse filesBrowse the repository at this point in the historyBrowse files
The pre-commit pins move from v2.18.3 to v2.19.0, and the changelog gains
the v2.19.0 entry (2026-10-14) with a Highlights row.
- CC201 and the configuration reference document
require_description_grammar, and CC201 gives the config that agrees with
every Conventional Branch conformance case git can create. The default
type list is described against spec 1.1.0, which includes feat, fix and
the AI agent prefixes.
- CC013, the AI attribution guide and the blog post name Amp, OpenHands,
Factory Droid and Jules. The guide says that a bot-authored Jules or
OpenHands commit with no trailer passes, since only the message is read.
- The JSON samples and the Python API schema carry the new reason field,
with a transcript of a skip caused by ignore_authors.
- The pre-commit guide says which tags check-tag checks on a push.
Copy file name to clipboardExpand all lines: docs/changelog.md
+48Lines changed: 48 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,7 @@ below and to the page that documents the feature properly.
11
11
12
12
| Version | What changed | Documented in |
13
13
|---|---|---|
14
+
|[2.19.0](#v2190)| Branch descriptions held to the Conventional Branch grammar; Amp, OpenHands, Factory Droid and Jules recognised |[CC201](rules.md#cc201) · [CC013](rules.md#cc013)|
14
15
|[2.18.3](#v2183)|`--fix` corrects a message in place; `--branch` reads GitLab, Bitbucket, Azure and Jenkins variables |[Fixing a message in place](example.md#fixing-a-message-in-place) · [Other CI](guides/other-ci.md)|
15
16
|[2.18.0](#v2180)| AI disclosure policy: three rules, and the correction written for you |[Policy guides](guides/policies.md#asking-for-disclosure-instead) · [CC014](rules.md#cc014)|
16
17
|[2.17.0](#v2170)| Concrete corrections for mechanical slips; a `warn` level per rule |[Reading the JSON](example.md#reading-the-json) · [Report without enforcing](configuration.md#report-a-rule-without-enforcing-it)|
@@ -30,6 +31,53 @@ below and to the page that documents the feature properly.
30
31
|[2.5.0](#v250)| Organization-wide config with `inherit_from`|[Across an organization](guides/organization.md)|
31
32
|[2.0.0](#v200)| Configuration moved from YAML to TOML — breaking |[Migrating from v1](migration.md)|
32
33
34
+
## v2.19.0 (2026-10-14) { #v2190 }
35
+
36
+
### Added
37
+
38
+
***`require_description_grammar` checks what follows the branch type** —
39
+
`conventional_branch` checks the `<type>/` prefix and accepted anything
40
+
after it, so `feature/Add_Login`, `fix/header_bug` and `release/v1.-2.0`
41
+
all passed. With `[branch] require_description_grammar = true` the
42
+
description must follow the specification's grammar: lowercase letters and
43
+
digits, words joined by single hyphens, dots only inside a word. It is off
44
+
by default, because bot branches such as
45
+
`dependabot/npm_and_yarn/lodash-4.17.21` do not follow that grammar.
46
+
See PR [#581](https://github.com/commit-check/commit-check/pull/581) and
47
+
[CC201](rules.md#cc201).
48
+
49
+
***Amp, OpenHands, Factory Droid and Jules are recognised** — co-author and
50
+
sign-off lines naming them (`Amp <amp@ampcode.com>`, `openhands`,
51
+
`factory-droid[bot]`, `google-labs-jules[bot]`) and Amp's
52
+
`Amp-Thread-ID:` trailer now count as AI attribution, for
53
+
[CC013](rules.md#cc013) and for the `disclose` rules alike. People named
54
+
Jules or Amp are not flagged.
55
+
See PR [#606](https://github.com/commit-check/commit-check/pull/606) and
@@ -371,7 +375,8 @@ the same thing twice, so read the description rather than the cell:
371
375
| commit | ai_disclosure_trailers | list[str] | ["Assisted-by", "Generated-by"] | The trailers that disclose AI assistance under `"disclose"`. The first one is what a correction is written with. Listing `Co-authored-by` says the project accepts the tool as a co-author, and CC015 then passes. `Signed-off-by` is refused: only a person can certify the DCO. |
372
376
| commit | ai_disclosure_pattern | str | "" (any value) | A regex the disclosure trailer's value must match under `"disclose"`, e.g. `'^\S+/\S+$'` for an `agent/model` format. Empty accepts any value, but a trailer with no value at all is reported whatever the pattern is. |
| branch | allow_branch_types | list[str] | ["feature", "bugfix", "hotfix", "release", "chore", "feat", "fix", "build", "ci", "docs", "perf", "refactor", "style", "test", "ai", "claude", "codex", "copilot", "cursor", "dependabot", "renovate"] | Allowed branch types when `conventional_branch` is true. The default is a superset of the [Conventional Branch spec](https://conventionalbranch.org/): the spec types (`feature`, `bugfix`, `hotfix`, `release`, `chore`) plus the Conventional Commit types (`build`, `ci`, `docs`, `perf`, `refactor`, `style`, `test`), AI agent prefixes (`ai`, `claude`, `codex`, `copilot`, `cursor`) and bot prefixes (`dependabot`, `renovate`). For strict spec-only validation, set this option explicitly (e.g. `["feature", "bugfix", "hotfix", "release", "chore"]`). |
378
+
| branch | allow_branch_types | list[str] | ["feature", "bugfix", "hotfix", "release", "chore", "feat", "fix", "build", "ci", "docs", "perf", "refactor", "style", "test", "ai", "claude", "codex", "copilot", "cursor", "dependabot", "renovate"] | Allowed branch types when `conventional_branch` is true. The default is a superset of the [Conventional Branch spec](https://conventionalbranch.org/): the spec's types (`feature`, `bugfix`, `hotfix`, `release`, `chore`, their aliases `feat` and `fix`, and the AI agent prefixes `ai`, `claude`, `codex`, `copilot`, `cursor`) plus the other Conventional Commit types (`build`, `ci`, `docs`, `perf`, `refactor`, `style`, `test`) and bot prefixes (`dependabot`, `renovate`). For strict spec-only validation, set this option explicitly to the spec's types; [CC201](rules.md#cc201) has the full config. |
379
+
| branch | require_description_grammar | bool | false | Also hold the description after `<type>/` to the Conventional Branch grammar: lowercase letters and digits, words joined by single hyphens, dots only inside a word. Off by default, because bot branches such as `dependabot/npm_and_yarn/lodash-4.17.21` do not follow it. See [CC201](rules.md#cc201). |
375
380
| branch | allow_branch_names | list[str] | [] (empty list) | Additional standalone branch names allowed when conventional_branch is true (e.g., ["develop", "staging"]). By default, master, main, HEAD, and PR-* are always allowed. |
376
381
| branch | require_rebase_target | str | "" (no requirement) | Target branch for rebase requirement. If not set, no rebase validation is performed. |
377
382
| push | allow_force_push | bool | true | Allow force pushes. Set to `false` to block force pushes when used as a pre-push hook or with `--no-force-push`. |
0 commit comments