fix(release): pin conventionalcommits preset to v9 and align release-note sections - #59
Merged
Merged
Conversation
…note sections - Pinned `conventional-changelog-conventionalcommits@^9.3.1` in the release workflow's `extra_plugins` (it was unpinned → pulled v10 → empty notes; e.g. v2.2.3 dropped a `fix:` commit). - Aligned `.releaserc.json` `presetConfig.types` to studio's superset. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request updates the release configuration in .releaserc.json to expand and reorganize the commit types mapped to changelog sections. Feedback on the changes points out a configuration issue where the conventional-changelog-conventionalcommits preset does not support filtering by scope within the types array. This limitation would cause the second chore entry to be ignored and all chore commits to be incorrectly grouped under 'Dependency Updates'. It is recommended to combine these entries into a single 'Chores & Dependency Updates' section.
github-actions Bot
pushed a commit
that referenced
this pull request
Jul 27, 2026
## [2.2.4](v2.2.3...v2.2.4) (2026-07-27) ### Bug Fixes * **release:** pin conventionalcommits preset to v9 and align release-note sections ([#59](#59)) ([ab4cdbb](ab4cdbb))
|
🎉 This PR is included in version 2.2.4 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Our semantic-release repos generate GitHub release notes with the
conventionalcommitspreset, but the behavior had drifted and, in several repos, notes were coming out empty. Two separate causes:@semantic-release/release-notes-generator@14still bundles the Handlebars-basedconventional-changelog-writer@8. Theconventional-changelog-conventionalcommitsv10 preset rewrote its templates as JS functions for the newer@conventional-changelog/templateengine (writer@9); fed to writer@8 only the header survives, so every release note collapses to just its## [x.y.z]…line.presetConfig.typesdrift. Types likechore/chore(deps)/ci/build/stylewere hidden or missing, so dependency-only releases (the common Renovate case) produced empty notes.This PR makes the repo consistent with studio's canonical release config (which surfaces every commit type) and holds the preset on v9 where relevant. Reference: HarperFast/studio#1560.
What changed
conventional-changelog-conventionalcommits@^9.3.1in the release workflow'sextra_plugins(it was unpinned → pulled v10 → empty notes; e.g. v2.2.3 dropped afix:commit)..releaserc.jsonpresetConfig.typesto studio's superset.Canonical
presetConfig.types(matches studio)feat→Features,fix→Bug Fixes,perf→Performance Improvements,refactor→Refactoring,chore(deps)→Dependency Updates,chore→Chores,docs→Documentation,style→Styles,test→Tests,build→Build System,ci→Continuous Integration,revert→Reverts — nothing hidden, so no release comes out empty.Verification
.releaserc.jsonis valid JSON; the pinnedextra_pluginsline resolves to a 9.x preset.🤖 Generated with Claude Code