From 8fe3ea158d148f7dd615d053902b1e502c7d9289 Mon Sep 17 00:00:00 2001 From: Dawson Toth Date: Mon, 27 Jul 2026 12:58:18 -0400 Subject: [PATCH] fix(release): pin conventionalcommits preset to v9 and align release-note sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `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) --- .github/workflows/release.yaml | 2 +- .releaserc.json | 14 +++++++++----- package-lock.json | 25 +++++++++++++++++++------ package.json | 2 +- renovate.json | 5 +++++ 5 files changed, 35 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3d5c01d..ff8377b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -51,7 +51,7 @@ jobs: extra_plugins: | @semantic-release/commit-analyzer @semantic-release/release-notes-generator - conventional-changelog-conventionalcommits + conventional-changelog-conventionalcommits@^9.3.1 @semantic-release/npm @semantic-release/git @semantic-release/github diff --git a/.releaserc.json b/.releaserc.json index 43ff8b4..a672832 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -9,13 +9,17 @@ "presetConfig": { "types": [ { "type": "feat", "section": "Features" }, - { "type": "docs", "section": "Documentation" }, { "type": "fix", "section": "Bug Fixes" }, { "type": "perf", "section": "Performance Improvements" }, - { "type": "refactor", "section": "Code Improvements" }, - { "type": "revert", "section": "Reverts" }, - { "type": "test", "section": "Test Improvements" }, - { "type": "chore", "scope": "deps", "section": "Dependency Updates" } + { "type": "refactor", "section": "Refactoring" }, + { "type": "chore", "scope": "deps", "section": "Dependency Updates", "hidden": false }, + { "type": "chore", "section": "Chores", "hidden": false }, + { "type": "docs", "section": "Documentation" }, + { "type": "style", "section": "Styles" }, + { "type": "test", "section": "Tests" }, + { "type": "build", "section": "Build System" }, + { "type": "ci", "section": "Continuous Integration" }, + { "type": "revert", "section": "Reverts" } ] } } diff --git a/package-lock.json b/package-lock.json index 42bfcae..a192f61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "@semantic-release/release-notes-generator": "^14.1.0", "@types/node": "^24.12.0", "argue-cli": "^3.1.0", - "conventional-changelog-conventionalcommits": "^10.0.0", + "conventional-changelog-conventionalcommits": "^9.3.1", "conventional-commits-filter": "^6.0.1", "conventional-commits-parser": "^7.1.0", "harper": "^5.1.3", @@ -158,6 +158,19 @@ "node": ">=22.12.0" } }, + "node_modules/@commitlint/config-conventional/node_modules/conventional-changelog-conventionalcommits": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-10.2.1.tgz", + "integrity": "sha512-n4Kr1HFMTf3iMbES0TMxKIcYtUUv4rKqyQQp2JwfOEfFCOfGT3Tq4mCyJ8S9/YPyWhydjfKrrvnyl+gCjA+mJQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@conventional-changelog/template": "^1.2.1" + }, + "engines": { + "node": ">=22" + } + }, "node_modules/@commitlint/config-validator": { "version": "21.2.0", "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-21.2.0.tgz", @@ -2945,16 +2958,16 @@ } }, "node_modules/conventional-changelog-conventionalcommits": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-10.2.1.tgz", - "integrity": "sha512-n4Kr1HFMTf3iMbES0TMxKIcYtUUv4rKqyQQp2JwfOEfFCOfGT3Tq4mCyJ8S9/YPyWhydjfKrrvnyl+gCjA+mJQ==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-9.3.1.tgz", + "integrity": "sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw==", "dev": true, "license": "ISC", "dependencies": { - "@conventional-changelog/template": "^1.2.1" + "compare-func": "^2.0.0" }, "engines": { - "node": ">=22" + "node": ">=18" } }, "node_modules/conventional-changelog-writer": { diff --git a/package.json b/package.json index f7a6cbf..29d8b4b 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@semantic-release/release-notes-generator": "^14.1.0", "@types/node": "^24.12.0", "argue-cli": "^3.1.0", - "conventional-changelog-conventionalcommits": "^10.0.0", + "conventional-changelog-conventionalcommits": "^9.3.1", "conventional-commits-filter": "^6.0.1", "conventional-commits-parser": "^7.1.0", "harper": "^5.1.3", diff --git a/renovate.json b/renovate.json index 17690cf..456f48e 100644 --- a/renovate.json +++ b/renovate.json @@ -20,6 +20,11 @@ "matchUpdateTypes": ["minor", "patch"], "matchCurrentVersion": "!/^0/", "automerge": true + }, + { + "description": "Hold conventional-changelog-conventionalcommits on v9: @semantic-release/release-notes-generator@14 bundles the Handlebars conventional-changelog-writer@8, and preset v10's function-based templates render empty release notes under writer@8. Drop once release-notes-generator ships a writer@9 major.", + "matchPackageNames": ["conventional-changelog-conventionalcommits"], + "allowedVersions": "<10" } ] }