chore: bump the minor, not the major, for a pre-1.0 breaking change - #184
Merged
Conversation
CLAUDE.md has always said `feat!:` bumps the minor before 1.0, but the config never set `bump-minor-pre-major`, so release-please read a pre-1.0 breaking change as the 1.0.0 promotion instead. #181 was the first commit to test that gap and it proposed 1.0.0 off a removed badge, which had to be walked back by hand in #182. Sets the option so the documented rule is the actual one, and writes down the two squash-merge consequences that made the mistake unrecoverable in-band: a `!` in a PR title is the whole decision (there is no body left to carry a `BREAKING CHANGE:` footer), and `Release-As:` cannot work here for exactly the same reason, so pinning a version means editing the release PR in six places. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Gtr5DLgddkeyaC3cHUQqgb
Contributor
The first draft claimed the squash always drops the body. #181 did land as its title alone, but #182 kept its body — so the honest rule is that what survives beyond the title varies with how the PR is merged, which is itself the reason a version override must not live there. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Gtr5DLgddkeyaC3cHUQqgb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #182, which shipped v0.0.64. Safe to merge now — the release it would have disturbed is already out.
The gap
CLAUDE.md has always said:
release-please-config.jsonnever setbump-minor-pre-major, so that was not what happened. Without it, release-please treats a pre-1.0 breaking change as the promotion to 1.0.0. #181 was the first commit to test the gap — it removed a download-row badge under afeat!:title and produced a 1.0.0 release proposal, which had to be walked back by hand across six places in #182.One line closes it, and the documented rule becomes the actual one.
Two things now written down
!in the PR title is the whole decision. The squash leaves no branch commit body to carry (or withhold) aBREAKING CHANGE:footer, so nothing downstream moderates it. Reach for!only when something genuinely breaks; a copy tweak, a removed badge or a restyled control is a plainfeat:.Release-As:. It is read from a commit message onmain, and the squash replaces every branch commit message with one composed from the PR — so a footer written in a branch commit never arrives. What survives beyond the title varies with how the PR is merged (feat!: drop the Early tag from the Windows download rows #181 landed as its title alone; chore(main): release wavekat-com 0.0.64 #182 kept its body), which is exactly what makes it the wrong home for a version override. Pin by editing the release PR instead: title, body (release-please parses the released version out of the body on merge, so the tag follows it),CHANGELOG.md,.release-please-manifest.json,package.json,package-lock.json.Notes
chore:deliberately, so it does not itself land in the changelog or move the version.mainis merged in, so this is current with v0.0.64.🤖 Generated with Claude Code
https://claude.ai/code/session_01Gtr5DLgddkeyaC3cHUQqgb