fix(release): pin conventionalcommits preset to v9 and align release-note sections - #34
Merged
Merged
Conversation
…note sections - `conventional-changelog-conventionalcommits` devDependency `^10.0.0` → `^9.3.1` (+ regenerated `package-lock.json`). - Pinned the same `@^9.3.1` in the release workflow's `extra_plugins` (was unpinned). - Aligned `.releaserc.json` `presetConfig.types` to studio's superset. - Added the Renovate guard. Symptom fixed: v1.1.5 dropped two `fix:` commits and rendered header-only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request downgrades conventional-changelog-conventionalcommits to version 9.3.1 and pins it in renovate.json to resolve compatibility issues with @semantic-release/release-notes-generator@14. It also updates .releaserc.json to expand and reorganize the commit types for release notes. Feedback on .releaserc.json points out that the conventionalcommits preset does not support filtering by scope within the types array, which will cause all chore commits to be grouped under 'Dependency Updates' and leave the 'Chores' section empty. A suggestion is provided to combine these entries.
|
🎉 This PR is included in version 1.1.6 🎉 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-conventionalcommitsdevDependency^10.0.0→^9.3.1(+ regeneratedpackage-lock.json).@^9.3.1in the release workflow'sextra_plugins(was unpinned)..releaserc.jsonpresetConfig.typesto studio's superset.Symptom fixed: v1.1.5 dropped two
fix:commits and rendered header-only.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.Renovate guard
Added a
packageRulesentry pinningconventional-changelog-conventionalcommitsto<10so Renovate won't re-introduce the v10 breakage. Remove once@semantic-release/release-notes-generatorships awriter@9-based major.Verification
.releaserc.jsonis valid JSON;renovate-config-validatorpasses.--package-lock-only);npm cipasses under npm 10.8.2 (the Node 20/22 CI matrix version). Lock diff is limited to the preset 10→9 swap — no unrelated churn.🤖 Generated with Claude Code