Skip to content

fix(semver): a BREAKING CHANGE footer must be a footer, not prose - #11

Merged
AlleyBo55 merged 1 commit into
masterfrom
fix/breaking-change-footer
Jul 26, 2026
Merged

fix(semver): a BREAKING CHANGE footer must be a footer, not prose#11
AlleyBo55 merged 1 commit into
masterfrom
fix/breaking-change-footer

Conversation

@AlleyBo55

Copy link
Copy Markdown
Owner

version next reported major for a release where nothing broke. The cause is self-referential: the commit that documented this very mechanism contains the phrase "BREAKING CHANGE footer" while explaining it, and the check searched the whole body for the phrase.

Conventional Commits defines it as a footer: line-anchored, with a colon. Now matched with (?mi)^BREAKING[ -]CHANGE: so discussing a breaking change is no longer the same as making one.

The regression test uses the exact prose that caused it, and asserts that indented text, mid-line mentions and a colon-less phrase are all not footers, while BREAKING-CHANGE: and lowercase still are.

Effect: the pending release goes from v1.0.0 to v0.2.0, which is what actually happened.

Assisted-by: Claude:claude-opus-4.7 kiro-cli gofmt go-vet go-test golangci-lint

version next reported major for a release where nothing broke. The cause is
self-referential: the commit that documented this very mechanism contains the
phrase "BREAKING CHANGE footer" while explaining it, and the check searched the
whole body for the phrase.

Conventional Commits defines it as a footer: line-anchored, with a colon. Now
matched with (?mi)^BREAKING[ -]CHANGE: so discussing a breaking change is no
longer the same as making one.

The regression test uses the exact prose that caused it, and asserts that
indented text, mid-line mentions and a colon-less phrase are all not footers,
while BREAKING-CHANGE: and lowercase still are.

Effect: the pending release goes from v1.0.0 to v0.2.0, which is what actually
happened.

Assisted-by: Claude:claude-opus-4.7 kiro-cli gofmt go-vet go-test golangci-lint
@AlleyBo55
AlleyBo55 merged commit cda665e into master Jul 26, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant