Skip to content

fix(release): read breaking changes with the conventionalcommits preset - #89

Open
BIA3IA wants to merge 4 commits into
mainfrom
fix/release-conventionalcommits-preset
Open

BIA3IA wants to merge 4 commits into
mainfrom
fix/release-conventionalcommits-preset

Conversation

@BIA3IA

@BIA3IA BIA3IA commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Problem

release.config.mjs used the commit analyzer without a preset, so semantic-release fell back to angular. Angular ignores the ! in the header and only accepts a BREAKING CHANGE: footer with the colon.

Change

  • @semantic-release/commit-analyzer and @semantic-release/release-notes-generator use preset: "conventionalcommits", which reads both type!: and the BREAKING CHANGE: footer.
  • conventional-changelog-conventionalcommits added to devDependencies (the workflow runs npx semantic-release after bun install).

From now on a ! in the PR title is enough to release a major.

Verification

semantic-release 25 dry-run on this branch with the new config (npm and github plugins left out):

Found git tag v1.12.0 associated with version 1.12.0
fix(release): …                     → patch
feat: publish breaking changes      → minor
feat(auth)!: enforce IdP tokens … (#88) → major
The next release version is 2.0.0

v1.13.0 is not reachable from main, so once this PR is merged the release starts from v1.12.0 and publishes 2.0.0, with no extra commit needed.

After the merge

  • Check that the run publishes @polinetwork/backend@2.0.0
  • npm deprecate @polinetwork/backend@1.13.0 "contains breaking changes, use 2.0.0": callers on ^1 would otherwise install it
  • Optionally delete the orphaned v1.13.0 tag and its GitHub release

toto04 and others added 2 commits October 21, 2026 21:37
This is an empty commit to trigger the publishing of the new package with breaking changes (no legacy support)

BREAKING CHANGES
The commit analyzer used the default angular preset, which ignores the
`!` in the header and only accepts a `BREAKING CHANGE:` footer with the
colon. #88 (`feat(auth)!: …`) triggered no release, and the follow-up
commit with a `BREAKING CHANGES` footer was read as a plain feat and
published 1.13.0.

The analyzer and the release notes now use the conventionalcommits
preset, which reads both forms.
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 24 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ea64d136-6c48-4fff-a555-af9fc54609d9
📥 Commits

Reviewing files that changed from the base of the PR and between 67edf6e and fb500e9.

⛔ Files ignored due to path filters: 1
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing: 2
  • package.json
  • release.config.mjs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

3 participants