From a1570e4f596ea0a9044e16401331499ae82a79f4 Mon Sep 17 00:00:00 2001 From: Nikolai Emil Damm Date: Sat, 18 Jul 2026 12:48:30 +0200 Subject: [PATCH] fix(release): treat `type!:` commits as breaking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit semantic-release's default preset recognises a breaking change only from a `BREAKING CHANGE:` footer, so a bang-style commit produced NO release at all — a breaking change shipped unversioned and nobody downstream learned the API broke. The org's commit-message ruleset explicitly permits the bang, so contributors are invited to write exactly the form that silently does nothing. Only the bang forms change: feat: -> minor, fix: -> patch, docs:/chore:/ci: -> no release, and the BREAKING CHANGE: footer still works. Any existing release rules are preserved — this repo's `revert` rule included, verified against its real config. Part of devantler-tech/actions#653 Co-Authored-By: Claude Opus 4.8 --- .releaserc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.releaserc b/.releaserc index 553f9e0..d5108b9 100644 --- a/.releaserc +++ b/.releaserc @@ -7,8 +7,18 @@ "@semantic-release/commit-analyzer", { "releaseRules": [ - { "type": "revert", "release": "patch" } - ] + { + "type": "revert", + "release": "patch" + }, + { + "breaking": true, + "release": "major" + } + ], + "parserOpts": { + "breakingHeaderPattern": "^(\\w*)(?:\\((.*)\\))?!: (.*)$" + } } ] ]