From c7404786bf6c60c44b33a76c4a53f0ef27646bd0 Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Thu, 29 Oct 2026 09:58:11 +0000 Subject: [PATCH 1/2] fix: list every commit type in the release notes The angular preset lists only feat, fix, perf and revert and ignores a `types` option, so a release cut by a docs, ci or chore commit had a version header with nothing under it. The conventionalcommits preset lists every type in commitTypes, but only at 9.x: release-notes-generator loads conventional-changelog-writer 8, which the 10.x preset does not render with, so the preset is a direct dependency pinned to 9.3.1. --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++++++-- release.config.ts | 6 +++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 04f4b84..b859cac 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@types/node": "26.6.5", "@vitest/coverage-v8": "5.0.3", "canonicalize": "5.1.0", - "conventional-changelog-conventionalcommits": "10.4.1", + "conventional-changelog-conventionalcommits": "9.3.1", "eslint": "10.12.0", "husky": "9.1.7", "jiti": "2.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e453900..eef8d8c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -204,8 +204,8 @@ importers: specifier: 5.1.0 version: 5.1.0 conventional-changelog-conventionalcommits: - specifier: 10.4.1 - version: 10.4.1 + specifier: 9.3.1 + version: 9.3.1 eslint: specifier: 10.12.0 version: 10.12.0(jiti@2.7.0)(supports-color@7.2.0) @@ -1420,6 +1420,10 @@ packages: resolution: {integrity: sha512-jS1LRFSbRoAr6JbhhRy1JYfNNUj5LM3+v49hRE03CgccsiYqgdVj/RTmrw4J1rylrqijHwdOlJWiJa61JHOgHg==} engines: {node: '>=22'} + conventional-changelog-conventionalcommits@9.3.1: + resolution: {integrity: sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw==} + engines: {node: '>=18'} + conventional-changelog-writer@8.4.0: resolution: {integrity: sha512-HHBFkk1EECxxmCi4CTu091iuDpQv5/OavuCUAuZmrkWpmYfyD816nom1CvtfXJ/uYfAAjavgHvXHX291tSLK8g==} engines: {node: '>=18'} @@ -4235,6 +4239,10 @@ snapshots: dependencies: '@conventional-changelog/template': 1.4.0 + conventional-changelog-conventionalcommits@9.3.1: + dependencies: + compare-func: 2.0.0 + conventional-changelog-writer@8.4.0: dependencies: '@simple-libs/stream-utils': 1.2.0 diff --git a/release.config.ts b/release.config.ts index 21f1981..57a7f3e 100644 --- a/release.config.ts +++ b/release.config.ts @@ -42,9 +42,9 @@ const config: Options = { [ '@semantic-release/release-notes-generator', { - // Deliberately angular, not conventionalcommits: conventional-changelog-writer's bundled commit partial does not match the conventionalcommits preset's function-based partial signature, producing a changelog with a version header and nothing under it. - preset: 'angular', - types: commitTypes.map((t) => ({ type: t.type, section: t.section, hidden: false })), + // conventional-changelog-conventionalcommits is a direct dependency pinned to 9.x, not left to resolve through @commitlint/config-conventional: release-notes-generator loads conventional-changelog-writer 8, and the 10.x preset needs writer 9, so it renders a bare version header instead of notes. With 9.x, presetConfig.types lists every type in commitTypes under its section, which the angular preset cannot (it lists only feat, fix, perf and revert, and ignores a `types` option), so a release cut by a docs, ci or chore commit had a version header and nothing under it. The version header is always H2, so the file's only H1 stays the changelog title. + preset: 'conventionalcommits', + presetConfig: { types: commitTypes.map((t) => ({ type: t.type, section: t.section })) }, }, ], '@semantic-release/changelog', From ff9b1a2747ec2a2f66dd699ddbe4b72baa8cb61d Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Thu, 29 Oct 2026 09:58:47 +0000 Subject: [PATCH 2/2] docs: list the commits behind each release that had an empty changelog entry v0.7.1 was cut by a documentation commit and shipped with a bare version header. --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5ac730..bdf8ce4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,14 @@ ## [0.7.1](https://github.com/ExaDev/crossmap/compare/v0.7.0...v0.7.1) (2026-10-21) +### Documentation + +* **changelog:** backfill every release section with all its commits ([b32b173](https://github.com/ExaDev/crossmap/commit/b32b1739f02a8bc23da4abda46028d705ce2422f)) + +### Chores + +* **release:** render every commit type in the release notes ([a95189d](https://github.com/ExaDev/crossmap/commit/a95189da839004ab545ec091bbc35beaa44da165)) + # [0.1.0](https://github.com/ExaDev/crossmap/compare/v0.0.0...v0.1.0) (2026-10-18)