You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Reconcile v2/main with the v1.0.0 release branch: changesets, changelogs, and a merge of v2/release/1.0.0 #5117
v1.0.0 shipped from the one-time release branch v2/release/1.0.0, cut at d8120439 (the commit before the SDK v2 migration) and merged to main by #5090 (c003d0d8). v2/main still carries the v1.0.0 preparation as it was before that switch, so its release state no longer matches what shipped:
The SDK v2 major changesets are gone.chore: fold pending changesets into a 1.0.0 CHANGELOG for each TypeScript server #5083 (0c505a61) folded every pending changeset into a hand-written 1.0.0 CHANGELOG entry, including everything-sdk-v2.md, filesystem-sdk-v2.md, memory-sdk-v2.md and sequentialthinking-sdk-v2.md. The SDK v2 migration did not ship in 1.0.0, so without those changesets the next Version Packages PR would not bump the four TypeScript servers to 2.0.0 or describe the migration.
Left in place, 2.0.0's changelog would list them a second time.
v2/main's 1.0.0 CHANGELOG entries differ from the published ones.git diff origin/v2/main origin/v2/release/1.0.0 -- 'src/*/CHANGELOG.md' shows the differences in all four TypeScript servers: the published entries omit the SDK v2 migration and include the cherry-picked filesystem fixes.
v2/release/1.0.0 is not an ancestor of v2/main, so the v2.0.0 milestone merge into main would not be a pure merge whose tree equals v2/main's (the release skill's requirement).
Expected outcome
One PR against v2/main, labeled v2, that:
Restores the four *-sdk-v2.md major changesets with their original content (git show 0c505a61^:.changeset/<name>-sdk-v2.md).
Removes the three filesystem changesets listed above.
Makes each TypeScript server's 1.0.0 CHANGELOG entry match what was published, byte for byte with origin/v2/release/1.0.0 (which equals main's tree at c003d0d8).
Leaves the Python servers at 2026.10.10 and their CHANGELOG/pyproject.toml state matching main.
The merge commit is exempt from DCO; every other commit is signed off. Run npm run local:gate before pushing. Never squash this PR: squashing loses the merge parent and defeats item 4.
Part of #4968
Problem
v1.0.0 shipped from the one-time release branch
v2/release/1.0.0, cut atd8120439(the commit before the SDK v2 migration) and merged tomainby #5090 (c003d0d8).v2/mainstill carries the v1.0.0 preparation as it was before that switch, so its release state no longer matches what shipped:The SDK v2 major changesets are gone. chore: fold pending changesets into a 1.0.0 CHANGELOG for each TypeScript server #5083 (
0c505a61) folded every pending changeset into a hand-written1.0.0CHANGELOG entry, includingeverything-sdk-v2.md,filesystem-sdk-v2.md,memory-sdk-v2.mdandsequentialthinking-sdk-v2.md. The SDK v2 migration did not ship in 1.0.0, so without those changesets the next Version Packages PR would not bump the four TypeScript servers to 2.0.0 or describe the migration.Three pending changesets describe fixes that already shipped in 1.0.0, cherry-picked onto the release branch (filesystem: a roots update with no valid roots keeps the previous allowed directories #5094, filesystem: overlapping roots refreshes can apply out of order and undo a revocation #5097, filesystem: tool calls use the old allow-list while a roots refresh is pending #5101):
.changeset/filesystem-revoke-empty-roots.md.changeset/filesystem-roots-refresh-order.md.changeset/filesystem-roots-refresh-barrier.mdLeft in place, 2.0.0's changelog would list them a second time.
v2/main's1.0.0CHANGELOG entries differ from the published ones.git diff origin/v2/main origin/v2/release/1.0.0 -- 'src/*/CHANGELOG.md'shows the differences in all four TypeScript servers: the published entries omit the SDK v2 migration and include the cherry-picked filesystem fixes.v2/release/1.0.0is not an ancestor ofv2/main, so the v2.0.0 milestone merge intomainwould not be a pure merge whose tree equalsv2/main's (the release skill's requirement).Expected outcome
One PR against
v2/main, labeledv2, that:*-sdk-v2.mdmajor changesets with their original content (git show 0c505a61^:.changeset/<name>-sdk-v2.md).1.0.0CHANGELOG entry match what was published, byte for byte withorigin/v2/release/1.0.0(which equalsmain's tree atc003d0d8).origin/v2/release/1.0.0intov2/mainwith a merge commit, resolving each conflict deliberately. This is a one-time, recorded exception to "all work lands onv2/main": say so in the PR body and link First semver release: TypeScript servers at 1.0.0 and Python servers at the next CalVer, the frozen legacy-era servers #4968. Where the two lines diverge on the same code (src/filesystem/server.ts, its roots tests,.github/workflows/release.yml,scripts/release-npm-floor.test.mjs, the fetch annotation from fix(fetch): annotate the fetch tool #5112/v1.0.0: annotate the fetch tool (release branch) #5113), keepv2/main's SDK v2 version of the code and confirm the release-branch fix is already present in it. Anything present only on the release branch is a gap: port it, don't drop it.2026.10.10and their CHANGELOG/pyproject.tomlstate matchingmain.The merge commit is exempt from DCO; every other commit is signed off. Run
npm run local:gatebefore pushing. Never squash this PR: squashing loses the merge parent and defeats item 4.Verification
git merge-base --is-ancestor origin/v2/release/1.0.0 <head>succeeds.npx changeset statuslists a major bump for all four TypeScript servers and no filesystem roots fixes.git diff origin/main <head> -- 'src/*/CHANGELOG.md'shows no difference in any released1.0.0section.git merge-tree --write-tree origin/main <head>has no conflicts, and its tree equals<head>'s tree (the dry run for the v2.0.0 merge PR).When done
Close #4968 by hand, since its last open criterion is the
.changeset/state, and move its card to Done.