chore: configure release-please to stay on 0.x until 1.0 is explicitly cut#191
Conversation
…y cut Add bump-minor-pre-major: true so any Conventional-Commits-breaking change (feat!: or BREAKING CHANGE footer) during the 0.x series maps to a 0.x → 0.(x+1) minor bump rather than the default jump to 1.0.0. Matches the release policy: 0.x is the beta series where breaking changes are expected; 1.0.0 signals API stability and is cut deliberately. The standing release-please PR (#101) will re-render to propose 0.1.0 rather than 1.0.0 on the next push to main.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe pull request adds a Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
☀️ Quality Summary 🚦 Unit Tests (GCC): 100% successful (✔️ 775 passed, 🙈 3 skipped) Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result. |
#191 added bump-minor-pre-major: true, but that flag only affects releases *after* the first. The first-release path uses a separate computation that didn't pick up the flag, so release-please still proposed 1.0.0 because of the feat!: commit in history. initial-version is the purpose-built knob for this case: it forces the very first release out of manifest 0.0.0 to a specified version, skipping the normal major/minor/patch computation. 0.1.0 matches the version ladder: first labelled beta candidate once SD coverage and Windows reliable transport land. After this merges, PR #101's title should re-render from "release 1.0.0" to "release 0.1.0". bump-minor-pre-major keeps subsequent breaking changes capped at minor bumps (0.1.0 → 0.2.0, not → 1.0.0), in line with the 0.x-is-beta policy.
Purpose
Align release-please's version-bump policy with the repo's stated release strategy: 0.x is the beta series, breaking changes during 0.x are expected, 1.0.0 is cut deliberately when the API is stable.
Today the standing release-please PR (#101) proposes
1.0.0because the commit history contains aBREAKING CHANGE(the S3.6 TcpSender → StreamSender rename) and release-please's default pre-1.0 behaviour jumps straight to 1.0 on any!commit. That doesn't match intent — we're not ready to commit to API stability.Change Description
Add
"bump-minor-pre-major": truetorelease-please-config.json. With this flag, in the 0.x series:feat:/feat!:/BREAKING CHANGE→ 0.x → 0.(x+1) (minor bump, no jump to 1.0).fix:→ 0.x.y → 0.x.(y+1) (patch).After 1.0.0 is cut (whenever that happens), the flag is a no-op and normal SemVer resumes:
feat!:→ major,feat:→ minor,fix:→ patch.Test Evidence
chore(main): release 1.0.0tochore(main): release 0.1.0. That's the confirmation signal.Areas Affected
release-please-config.json— one line added.No code or docs touched.
Summary by CodeRabbit