CHANGELOG.md is prepend-only — each release adds a new section at
the top. Previous release sections are never modified by the tooling.
The release workflow:
- Changesets are merged to
mainas.changeset/*.mdfiles. - The Changesets GitHub Action opens a "Version Packages" PR (#82 etc.)
that runs
changeset version, which:- Consumes all
.changeset/*.mdfiles - Prepends a new release section to
CHANGELOG.md - Bumps
package.jsonversion
- Consumes all
scripts/changelog-audience-summary.mjspost-processes the new section only, adding the "Who should read this release" block.- Merging the Version Packages PR tags the release.
Key implications:
- Editing old release sections in
CHANGELOG.mdis safe — the tooling only touches the newest section. - Editing the Version Packages PR body only changes the preview —
it does NOT change what gets written to
CHANGELOG.md. The PR body is regenerated from scratch on every push to main that adds/changes changesets. - To fix attribution (e.g. adding a co-author
Thankscredit), editCHANGELOG.mddirectly on thechangeset-release/mainbranch before merging the Version Packages PR. TheThanksline is generated by@changesets/changelog-githubfrom the git commit author — it cannot be overridden via changeset file content.
See docs/PUBLISHING.md for the full release workflow.