Update Changesets schema and action - #43
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
WalkthroughThe pull request updates the Changesets schema reference to version 4.0.0 and upgrades the release workflow to ChangesRelease configuration
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — a one-line metadata bump in the Changesets configuration.
$schemaURL bumped to 4.0.0 —.changeset/config.jsonnow points athttps://unpkg.com/@changesets/config@4.0.0/schema.jsoninstead of3.1.1.
Verified against the repo and the upstream package:
bun.lockresolves@changesets/config@4.0.0(pulled transitively by@changesets/cli@3.0.0, which requires^4.0.0), so the pinned URL now matches what is actually installed.- The
4.0.0schema URL resolves and is a valid JSON Schema 2020-12 document. - Every key present in the config —
changelog,commit,fixed,linked,access,baseBranch,updateInternalDependencies,ignore— is still defined in the v4 schema, so nothing in the file is orphaned by the bump.
As the description states, $schema is editor/validation metadata and is not read at runtime, so release behavior is unaffected.
Claude Opus | 𝕏
There was a problem hiding this comment.
ℹ️ One silent default change worth confirming — otherwise the migration checks out.
Reviewed changes — incremental review of a22504c, which expands the PR beyond the schema bump already approved in my prior review.
changesets/actionv1 → v2 —.github/workflows/release.ymlmoves to the v2 major.- Action inputs renamed —
publish→publish-script,version→version-script,title→pr-title. - Token passed as an input — the step-level
env: GITHUB_TOKENblock is replaced by the v2github-tokeninput.
I verified the migration against action.yml on the v1 and v2 refs. All four renames match v2's real input names, and the pieces that could plausibly have broken did not:
- Dropping
env: GITHUB_TOKENis safe here. v2 no longer reads that variable, and neither child script needs it —releaseischangeset publishandversionischangeset version && bun run format. The configured changelog generator is@changesets/cli/changelog, which makes no GitHub API calls (this would be a different story with@changesets/changelog-github). - npm auth is unaffected. v2 removed v1's
NPM_TOKEN/.npmrcinjection, but this workflow publishes via OIDC and writes its own.npmrcat line 51, before the changesets step. permissions:is already sufficient —contents: writeandpull-requests: writeare both present.create-github-releasesandpush-git-tagsboth default totrue, matching v1's net behavior.- v2 renamed the step outputs (
publishedPackages→published-packages,hasChangesets→has-changesets,pullRequestNumber→pr-number). Nothing in.github/readssteps.changesets.outputs.*today, so this is inert — just worth knowing if a step ever starts consuming them, since the old names would silently resolve to empty strings.
One default did change silently across the major, noted inline.
Claude Opus | 𝕏
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — incremental review of f7ba205, a single added line that retires the one open item from my prior review.
- Pinned the push mechanism —
.github/workflows/release.ymlnow setspush-with-git-cli: true, restoring v1'scommitMode: "git-cli"behavior instead of inheriting v2's flippedfalsedefault.
Verified against action.yml on the v2 ref: push-with-git-cli is a real input, defaults to false, and is documented as "Whether to use the Git CLI instead of the GitHub API to push release commits and tags." Credentials for the CLI push come from actions/checkout@v7's default persist-credentials: true using the same GITHUB_TOKEN already passed to the step, so no additional wiring is needed. The one downstream consequence is that release commits and tags stay attributed to the Actions bot and are unsigned — worth revisiting only if main ever starts requiring signed commits, in which case dropping this input to take the v2 default would be the better move.
The prior review thread has been replied to and resolved.
Claude Opus | 𝕏

Summary
changesets/action@v1tochangesets/action@v2publish-script,version-script, andpr-titlegithub-tokeninputpush-with-git-cli: trueWhy
The project uses Changesets CLI v3 and resolves
@changesets/config4.0.0, but its schema URL still referenced config 3.1.1. Changesets action v2 is the compatible action release for Changesets CLI v3 and renamed several workflow inputs. The explicit push setting prevents the major-version upgrade from silently changing release commits and tags to GitHub API pushes.@changesets/cli3.0.0 is already the latest published release, so no dependency or lockfile change is required.Impact
The schema change aligns editor and validation metadata with the installed config package. The workflow migration keeps release PR creation and publishing compatible with the current Changesets generation while preserving the existing push mechanism.
Validation
bun run formatbun run checkgit diff --checkSummary by CodeRabbit