Skip to content

fix(release): align release-note sections with studio - #26

Merged
dawsontoth merged 1 commit into
mainfrom
fix/release-notes-consistency
Jul 27, 2026
Merged

fix(release): align release-note sections with studio#26
dawsontoth merged 1 commit into
mainfrom
fix/release-notes-consistency

Conversation

@dawsontoth

Copy link
Copy Markdown
Contributor

Why

Our semantic-release repos generate GitHub release notes with the conventionalcommits preset, but the behavior had drifted and, in several repos, notes were coming out empty. Two separate causes:

  1. Preset v10 breaks rendering. @semantic-release/release-notes-generator@14 still bundles the Handlebars-based conventional-changelog-writer@8. The conventional-changelog-conventionalcommits v10 preset rewrote its templates as JS functions for the newer @conventional-changelog/template engine (writer@9); fed to writer@8 only the header survives, so every release note collapses to just its ## [x.y.z]… line.
  2. presetConfig.types drift. Types like chore/chore(deps)/ci/build/style were 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

  • Aligned .releaserc.json presetConfig.types to studio's superset (adds chore→Chores, build, ci, style) so no release comes out empty.

(No lockfile/renovate change — preset devDep is already on a 9.x range and this repo has no in-repo renovate.json.)

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.json is valid JSON.

🤖 Generated with Claude Code

- Aligned `.releaserc.json` `presetConfig.types` to studio's superset (adds `chore`→Chores, `build`, `ci`, `style`) so no release comes out empty.

(No lockfile/renovate change — preset devDep is already on a 9.x range and this repo has no in-repo renovate.json.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the .releaserc.json configuration to expand and reorganize the commit types mapped to changelog sections. The review feedback correctly identifies that the conventional-changelog-conventionalcommits preset does not support a scope property within the types array, which causes the duplicate "type": "chore" entries to conflict and overwrite each other. A suggestion is provided to clean up the configuration by removing the unsupported entry.

Comment thread .releaserc.json
@dawsontoth
dawsontoth merged commit 6c6ad3d into main Jul 27, 2026
7 checks passed
@dawsontoth
dawsontoth deleted the fix/release-notes-consistency branch July 27, 2026 17:20
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.7.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant