From 6be648b48a9cc376cfeff8953ebf22123583f7eb Mon Sep 17 00:00:00 2001 From: neon <18559658+neonsolstice@users.noreply.github.com> Date: Mon, 21 Sep 2026 07:18:29 +0000 Subject: [PATCH] ci(release): treat breaking changes as a major release Custom releaseRules short-circuit semantic-release's default rules, so a feat carrying a BREAKING CHANGE footer resolved to minor. v2.11.0 should have been v3.0.0. --- release.config.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/release.config.js b/release.config.js index d63a09018..7d2b91fa1 100644 --- a/release.config.js +++ b/release.config.js @@ -198,6 +198,11 @@ module.exports = { { preset: "conventionalcommits", releaseRules: [ + // Must stay first: custom rules short-circuit the analyzer, and the + // default `{ breaking: true }` rule is only consulted when no custom + // rule matched. Without this, a `feat` carrying a BREAKING CHANGE + // footer releases as a minor. + { breaking: true, release: "major" }, { type: "feat", release: "minor" }, { type: "fix", release: "patch" }, { type: "i18n", release: "patch" },