chore(release): cap auto-bumps at minor to avoid accidental majors#295
chore(release): cap auto-bumps at minor to avoid accidental majors#295MuncleUscles merged 1 commit intomainfrom
Conversation
Convert `.release-it.json` → `.release-it.cjs` so we can pass a custom `whatBump` function to the conventional-changelog plugin. The function caps the recommended bump at `minor`, even when a commit contains a BREAKING CHANGE footer or `!:` marker. Background: a stray "BREAKING CHANGE:" line in any commit body would trip `conventional-recommended-bump` into recommending a major release, which in this CLI's current 0.38.x state would instantly ship 1.0.0 without any intended stability declaration. Matching the fix applied to genlayer-js (#159) so the two release pipelines behave the same. Net effect: - BREAKING CHANGE footer / `!:` marker → minor bump (was: major) - feat: → minor (unchanged) - fix: / chore: / docs: / ci: / etc. → patch (unchanged) - `release-it major` still forces a major when genuinely needed All other release-it settings (git, github, npm, types, hooks) carried over verbatim from the JSON config. JSON deleted because it takes precedence over CJS in release-it's config resolution order.
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 26 minutes and 51 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ 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 |
Summary
Convert
.release-it.json→.release-it.cjsand add awhatBumpfunction that caps the recommended bump atminoreven when a commit carries aBREAKING CHANGEfooter or!:marker.Why
Mirrors the fix shipped in
genlayer-jsPR #159. This CLI is currently on 0.38.x, and the existing config would happily bump it to 1.0.0 the moment anyone lands a commit with a "BREAKING CHANGE:" line in the body — even accidentally, e.g. via a copy-paste from a PR description.genlayer-jshit exactly that trap yesterday (0.28.7 → 1.0.0 unintentionally); this PR prevents the same thing happening here.Most mature TS libraries don't let commit-message parsing ship majors. They leave that to a human running
release-it majorexplicitly.Effect
!:markerfeat:fix:/chore:/docs:/ci:/style:/refactor:/perf:/test:release-it majorexplicitAll other release-it settings (git, github, npm, types, hooks) carried over verbatim from the JSON config. JSON deleted because it takes precedence over CJS in release-it's config resolution order.
Test plan
release-it --dry-run --ci --no-npm --no-github --no-git— config loads, plugin runs,after:bumphook fires cleanlyfix:commit produces a patch, not a major — review the auto-release version bump