Repository navigation
First semver release: TypeScript servers at 1.0.0 and Python servers at the next CalVer, the frozen legacy-era servers #4968
Description
Follow-up to #4472 and #4873 (agentic software factory tracker #4858, Wave 5). Their PRs (#4927, #4928) merged to v2/main; these are the items left over that only the first release through the new flow can complete.
What this release is
The first semver release of the TypeScript servers, as 1.0.0, together with the next CalVer release of the Python servers, cut from v2/main as it stands now.
It freezes the last and best versions of the legacy-era servers for reference:
- the agentic software factory is in place (Tracker: Agentic software factory (AGENTS.md, skills, quality gates, v2/main release flow) #4858);
- every server clears the 90% per-file coverage gate (Bugs, Coverage, and SDK Wave 1 Part 1: TypeScript servers: extensive unit tests + per-file 90% coverage gate #4854, Bugs, Coverage, and SDK Wave 1 Part 2: Python servers: extensive unit tests + per-file 90% coverage gate #4855);
- the bugs that work found, reported and discovered, are fixed (Bugs, Coverage, and SDK Wave 2: fix the known bugs the Wave 1 suites pin (legacy-era servers) #5004);
- every server runs on the v2 TypeScript and Python SDKs, as a transparent refactor (Spec Refactor Wave 1 Part 1: Migrate TypeScript servers to TS SDK v2 (codemod) #4856, Spec Refactor Wave 1 Part 2: Migrate Python servers to Python SDK v2 #4851).
The legacy-era to modern-era protocol refactor (#4852, #4853) is not part of this release. It ships afterward as 2.0.0, and later milestones carry on as 2.1.0, 2.2.0, and so on.
| Language | Packages | Last published | This release |
|---|---|---|---|
| TypeScript (npm) | server-everything, server-filesystem, server-memory, server-sequential-thinking |
2026.8.31 (date-stamped) |
1.0.0 |
| Python (PyPI) | mcp-server-fetch, mcp-server-git, mcp-server-time |
2026.8.18 |
Next CalVer, stamped by the Prepare Python Release PR |
Scope
- Release one milestone end to end through the
releaseskill. v2/main → main milestone release flow and release skill #4873's acceptance criterion: release issue, preparation PRs onv2/main, the purev2/main→mainmerge PR with its ledger linked, then the published GitHub Release, withrelease.ymlpublishing every package. - Publish the TypeScript servers at
1.0.0, not2.0.0. All fourpackage.jsonfiles already read1.0.0, which has never been published, but.changeset/holds one pendingmajorchangeset per server (*-sdk-v2.md, from Spec Refactor Wave 1 Part 1: Migrate TypeScript servers to TS SDK v2 (codemod) #4856) next to their patches. A normal Version Packages PR would consume them and bump all four to2.0.0. The preparation for this release has to publish1.0.0instead. Two ways to do it, to be settled in the preparation PR:- (Recommended) Fold the pending changesets into a
1.0.0CHANGELOG entry for each server and delete them, in one preparation PR. No version changes, so this stays within "a version changes only in a version PR".1.0.0's changelog then describes everything since2026.8.31, and2.0.0starts from an empty.changeset/holding only the modern-era work. - Skip Version Packages for this release and let
release.ymlpublish the unpublished1.0.0as it stands. The pending changesets stay, and the next Version Packages PR turns them into2.0.0, so2.0.0's changelog would list SDK v2 changes that actually shipped in1.0.0.
- (Recommended) Fold the pending changesets into a
- Release the Python servers at the next CalVer, through the Prepare Python Release PR, as the
releaseskill describes. - Deprecate the date-stamped npm versions, after
1.0.0is live. From New release pipeline, Phase 2: semver via changesets (TS), GitHub-Release-triggered publishing #4472's checklist. On all four TypeScript packages, deprecate>=2025.0.0 <2027.0.0with a pointer to the resumed semver line.- Not before the first semver publish. Today
latestis2026.8.31on all four, so deprecating now would warn everynpxuser and point them at a version that does not exist yet. - Run by a scope maintainer on their own machine (
npm deprecateneeds an owner login; the release flow's OIDC does not cover it). The check to run first and the exact command are in thereleaseskill, "The first semver release only: deprecate the date-stamped versions".
- Not before the first semver publish. Today
The PyPI trusted-publisher check from #4472 is not carried over: mcp-server-fetch, mcp-server-git and mcp-server-time last published through release.yml, which confirms the binding.
Acceptance criteria
- The first milestone release has gone through the
releaseskill end to end, and its release issue is closed. - All four TypeScript packages show
1.0.0aslateston npm (not2.0.0), andnpm view @modelcontextprotocol/server-<name>@2026.8.31 deprecatedprints the deprecation message for each. -
mcp-server-fetch,mcp-server-gitandmcp-server-timeshow the new CalVer as their latest version on PyPI. -
.changeset/holds no changeset from before this release, so the next Version Packages PR bumps only for the modern-era work (Spec Refactor Wave 2 Part 1: Modern-era TypeScript servers + new features in everything #4852, Spec Refactor Wave 2 Part 2: Modern-era Python servers #4853).
Activity
[-]First semver release: deprecate the date-stamped npm versions and confirm the release flow end to end[/-][+]First semver release: TypeScript servers at 1.0.0 and Python servers at the next CalVer, the frozen legacy-era servers[/+]cliffhall commentedon Oct 10, 2026
Scope change (maintainer decision, recorded on #5080): v1.0.0 ships the legacy-era servers on SDK 1.x, cut from
d8120439plus the #5060/#5076 fixes, via a one-time release branchv2/release/1.0.0. The SDK v2 migration (#4856, #4851) moves to 2.0.0 with the modern-era refactor, so the "every server runs on the v2 SDKs" bullet above no longer applies to 1.0.0. #4856, #4851 and #4860 (interface-diff CI, merged after the cut) moved to milestone v2.0.0.cliffhall commentedon Oct 11, 2026
Status after the v1.0.0 release
releaseskill end to end: release issue Release v1.0.0 #5080 closed; Release v1.0.0 atc003d0d8, run 38105912909 15/15. (Cut from the one-time release branchv2/release/1.0.0, SDK 1.x, as decided on Release v1.0.0 #5080.)1.0.0islateston all four TypeScript packages, with SLSA provenance. Every other version is deprecated:npm view @modelcontextprotocol/server-<name>@2026.8.31 deprecatedprints "Date-based versions are no longer published…", and the 0.x line (@<1.0.0) prints "This early version is no longer supported…";1.0.0is not deprecated. Verified by walking every published version of each package.mcp-server-fetch,mcp-server-gitandmcp-server-timeshow2026.10.10as latest..changeset/holds no changeset from before this release: not yet onv2/main. It still carries the changesets for the filesystem fixes that shipped in 1.0.0 (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), and the four*-sdk-v2.mdmajor changesets were folded away by chore: fold pending changesets into a 1.0.0 CHANGELOG for each TypeScript server #5083 and need restoring for 2.0.0. Both are part of reconcilingv2/mainwithv2/release/1.0.0; this issue closes when that lands.cliffhall commentedon Oct 11, 2026
The last open criterion (the
.changeset/state onv2/main) is tracked by #5117, which reconcilesv2/mainwithv2/release/1.0.0. Close this issue when that lands.Merge v2/release/1.0.0 into v2/main