Release prep: fix CHANGELOG headings, combine per-run GitHub releases - #35
Merged
Merged
Conversation
Commit ec5c598 ran `changeset version` by hand and committed the bump directly (2.0.0/0.3.0/1.8.0/1.7.0/0.2.0 headings), four days before the gated canary/release pipeline existed. No GitHub Release was ever cut for it, so nothing was actually published — npm `latest` for every package is still one or more versions behind what these CHANGELOGs claimed shipped. Fold each false "released" heading back into a single `## Unreleased` section (Keep a Changelog convention: a version heading means published, full stop), de-duplicating the abbreviated "Unreleased" block most files already carried underneath it. No content is lost — only the section headers change. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012mMhPi1WBbxt6BxWJvJ6wD
changesets/action's createGithubReleases defaults to true, which creates one GitHub Release per published package (6 pages for a run that touches every package). There's no built-in "aggregate" mode in this action -- verified against the actual action.yml/index.ts on the changesets/action v1 tag; that feature is still an open, unimplemented request (changesets/changesets#683). Set createGithubReleases: false to suppress the per-package pages (git tags per package are untouched -- push-git-tags stays on its default), and add a step that builds one combined release from `publishedPackages` (only packages that actually published this run appear) using each package's own freshly-written CHANGELOG section as the body, so the release notes come from what changesets already generated rather than a second hand-maintained description. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012mMhPi1WBbxt6BxWJvJ6wD
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.
Summary
Two independent fixes surfaced while auditing release status ahead of the next cut (no npm-published version has actually moved since
@a2a-wrapper/core@1.7.0/a2a-claude@0.2.0/a2a-copilot@1.7.0/a2a-opencode@1.6.1/a2a-codex@1.6.1/a2a-antigravity@0.1.1, despitemain'spackage.json/CHANGELOG.mdclaiming otherwise):CHANGELOG headings stopped claiming unpublished versions as shipped.
ec5c598ranchangeset versionby hand and committed the bump directly, 4 days before this repo's gated canary/release pipeline existed and without ever cutting a GitHub Release — so## 2.0.0/## 0.3.0/etc. headings across all 6CHANGELOG.mdfiles described releases that never happened. Folded each back into a single## Unreleasedsection per Keep a Changelog convention (a version heading means published, full stop), de-duplicating the abbreviated block most files already carried underneath. No content lost, only the headers.publish.yml'sreleasejob now produces one combined GitHub Release per publish run instead of one page per package.changesets/action'screateGithubReleasesdefaults totrue(one release per published package) — verified against the actualaction.yml/index.tson the pinnedv1tag that there's no built-in "aggregate" mode (that's an open, unimplemented request: changesets/changesets#683). SetcreateGithubReleases: falseand added a step that builds one release frompublishedPackages(only packages that actually published that run appear — untouched packages are silently absent, not mentioned), sourcing the body from each package's own freshly-written CHANGELOG section rather than a second hand-maintained description. Per-package npm publishes and git tags (push-git-tagsstays on its default) are unaffected.Test plan
python3 -c "import yaml; yaml.safe_load(...)")releasejob run produces exactly one GitHub Release covering only the packages that actually published🤖 Generated with Claude Code
https://claude.ai/code/session_012mMhPi1WBbxt6BxWJvJ6wD
Generated by Claude Code