Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 51 additions & 4 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,85 +21,132 @@
"@modelcontextprotocol/test-conformance": "2.0.0-alpha.0",
"@modelcontextprotocol/test-helpers": "2.0.0-alpha.0",
"@modelcontextprotocol/test-integration": "2.0.0-alpha.0",
"@modelcontextprotocol/test-e2e": "2.0.0-alpha.0"
"@modelcontextprotocol/test-e2e": "2.0.0-alpha.0",
"@mcp-examples/shared": "2.0.0-alpha.0"
},
"changesets": [
"abort-handlers-on-close",
"add-connect-prior",
"add-consumer-sse-e2e",
"add-core-public-package",
"add-e2e-test-suite",
"add-fastify-middleware",
"add-hono-peer-dep",
"add-request-state-codec",
"add-resource-size-field",
"add-sdk-http-error",
"add-server-legacy-package",
"add-version-negotiation-option",
"auth-dcr-hygiene",

Check failure on line 40 in .changeset/pre.json

View check run for this annotation

Claude / Claude Code Review

Missing changeset for @modelcontextprotocol/core — release leaves it stale despite public-export changes

This release versions the changesets from #2286 (1823aae) but none of them declare `@modelcontextprotocol/core`, so `packages/core` stays at 2.0.0-alpha.1 and is not republished even though that commit changed core's public surface (removed the `RequestMetaEnvelopeSchema` export, added the `SubscriptionFilter`/`SubscriptionsListen*` schema exports) and core only bundles `@modelcontextprotocol/core-internal` as a devDependency, so its bundled schemas will diverge from client/server@2.0.0-alpha.4.
Comment on lines 27 to +40

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 This release versions the changesets from #2286 (1823aae) but none of them declare @modelcontextprotocol/core, so packages/core stays at 2.0.0-alpha.1 and is not republished even though that commit changed core's public surface (removed the RequestMetaEnvelopeSchema export, added the SubscriptionFilter/SubscriptionsListen* schema exports) and core only bundles @modelcontextprotocol/core-internal as a devDependency, so its bundled schemas will diverge from client/server@2.0.0-alpha.4. Add a changeset on main declaring @modelcontextprotocol/core (e.g. major) so this auto-generated release PR is regenerated with a core bump before merging.

Extended reasoning...

What the bug is. This Version Packages PR consumes the ~70 changesets added by #2286 (commit 1823aae), bumping client/server/middleware to 2.0.0-alpha.4, codemod to alpha.2, and core-internal to alpha.3. However, none of those changesets declare @modelcontextprotocol/core. Changesets therefore produces no bump for it: packages/core/package.json and packages/core/CHANGELOG.md are absent from this PR's changed files, and changeset publish will skip core because its version (2.0.0-alpha.1) is unchanged on the registry.

Why core actually needs a bump. Commit 1823aae is not neutral toward core's published surface:

  1. packages/core/src/index.ts was modified by that commit — it removes the public RequestMetaEnvelopeSchema export (a breaking removal) and adds seven new exports (SubscriptionFilterSchema, the SubscriptionsListen* request/result schemas, and the SubscriptionsAcknowledged* notification schemas).
  2. @modelcontextprotocol/core lists @modelcontextprotocol/core-internal only as a devDependency (it is bundled at build time), so changesets' updateInternalDependencies propagation cannot carry the core-internal major bump (strict EmptyResultSchema, required CallToolResult.content, re-scoped specTypeSchemas) into core either.

Why nothing else prevents it. The only changeset that has ever named @modelcontextprotocol/core is add-core-public-package, which was already consumed in the previous release (it produced core@2.0.0-alpha.1 and appears in pre.json as a pre-existing entry, not one added here). .changeset/config.json has no fixed/linked groups containing core and core is not in the ignore list, and core is publishable (access: public, no private flag) — so the omission is simply a missing changeset, not an intentional exclusion.

Step-by-step impact after merging this PR as-is. (1) The release publishes @modelcontextprotocol/client@2.0.0-alpha.4 and @modelcontextprotocol/server@2.0.0-alpha.4, whose wire behavior reflects the per-era codec split (e.g. CallToolResult.content now required, EmptyResultSchema strict). (2) @modelcontextprotocol/core remains 2.0.0-alpha.1 on npm, built from the pre-#2286 sources: it still exports RequestMetaEnvelopeSchema, lacks the new Subscriptions*/SubscriptionFilter schemas, and its bundled core-internal schemas still default content: [] and accept resultType on neutral results. (3) A consumer that follows the codemod guidance from #2354 — importing canonical Zod schemas from @modelcontextprotocol/core while running client/server at alpha.4 — gets schemas that disagree with what the alpha.4 client/server actually accept or emit on the wire. (4) The breaking removal of RequestMetaEnvelopeSchema ships in source but is recorded in no CHANGELOG and never reaches npm, so when core is eventually bumped the removal will appear without the changelog trail.

How to fix. Since this PR is auto-generated by the Changesets action, the fix lands on main: add a changeset declaring @modelcontextprotocol/core (major, given the export removal and the bundled wire-schema breaks; minor at minimum) describing the removed RequestMetaEnvelopeSchema export and the new subscription schema exports. The action will then regenerate this release PR with @modelcontextprotocol/core@2.0.0-alpha.2 (or the appropriate pre-version) included, keeping the published package set mutually consistent. This release PR should not be merged until that changeset is in place.

"auth-iss-server-and-overload",
"auth-iss-validation",
"auth-sep-2352-credential-isolation",
"auth-surface-delta",
"bound-resumability-version-gates",
"brave-lions-glow",
"busy-rice-smoke",
"busy-weeks-hang",
"cacheable-result-cache-fields",
"cfworker-out-of-barrel",
"client-honor-cache-hints",
"client-http-stream-close-cancel",
"client-modern-era-inbound-drop",
"client-response-cache-substrate",
"codec-era-gates",
"codec-split-wire-break",
"codemod-core-routing",
"codemod-flag-removed-task-options",
"codemod-infer-project-type",
"codemod-resolve-legacy-imports",
"codemod-streamablehttperror-sdkhttperror",
"codemod-task-handler-methods",
"codemod-v1-to-v2-gaps",
"create-mcp-handler-legacy-revision",
"create-mcp-handler",
"custom-methods-minimal",
"cyan-cycles-pump",
"deprecate-client-identity-accessors",
"draft-spec-non-sep-conformance",
"drop-zod-peer-dep",
"envelope-auto-emission",
"export-inmemory-transport",
"expose-auth-server-discovery",
"expose-icons-on-tools-and-prompts",
"express-resource-server-auth",
"extract-task-manager",
"fast-dragons-lead",
"finish-sdkerror-capability",
"fix-abort-listener-leak",
"fix-conformance-server-leak",
"fix-oauth-5xx-discovery",
"fix-onerror-callbacks",
"fix-server-protocol-version",
"fix-session-status-codes",
"fix-stdio-epipe-crash",
"fix-stdio-windows-hide",
"fix-streamable-close-reentrant",
"fix-streamable-http-error-response",
"fix-task-session-isolation",
"fix-transport-exact-optional-property-types",
"fix-unknown-tool-protocol-error",
"fix-validate-client-metadata-url",
"funky-baths-attack",
"gentle-planets-rest",
"handler-drop-node-face",
"heavy-walls-swim",
"hide-wire-only-members",
"hono-peer-optional",
"idjag-spec-type-export",
"legacy-module-resolution-types",
"missing-client-capability-error",
"mrtr-client-engine",
"mrtr-server-seam",
"node-forward-supported-versions",
"oauth-error-http200",
"odd-forks-enjoy",
"origin-validation-middleware",
"pin-modern-rejection-codes",
"protocol-pre-aborted-signal-wrap",
"quick-islands-occur",
"reconnection-scheduler",
"register-rawshape-compat",
"remove-websocket-transport",
"resource-not-found-32602",
"respect-capability-negotiation",
"restore-task-wire-types",
"rich-hounds-report",
"schema-object-type-for-unions",
"sep-2106-dialect-posture",
"sep-2243-mcp-param-client",
"sep-2243-mcp-param-server",
"sep-2243-std-header-server",
"sep-2350-scope-step-up",
"sep-2577-deprecate-runtime-apis",
"sep-2577-deprecate-type-stacks",
"sep-2663-tasks-removal",
"sep-414-trace-context-meta-keys",
"server-ctx-log-request-related",
"server-serve-stdio",
"server-streamablehttp-store-first",
"shy-times-learn",
"spec-2907-error-code-renumber",
"spec-anchor-repin-2fb207da",
"spec-corpus-and-leak-net",
"spec-reference-types-2026-07-28",
"spec-type-schema",
"spec-types-2026-repin",
"spotty-cats-tickle",
"stdio-max-buffer-size",
"stdio-skip-non-json",
"stdio-subpath-export",
"subscriptions-listen-client",
"subscriptions-listen-result",
"subscriptions-listen-server",
"support-standard-json-schema",
"tame-camels-greet",
"tender-snails-fold",
"token-provider-composable-auth",
"twelve-dodos-taste",
"use-scopes-supported-in-dcr",
"wire-public-separation",
"wire-server-discover",
"workerd-shim-vendors-cfworker",
"wraphandler-hook",
"zod-json-schema-compat",
Expand Down
126 changes: 126 additions & 0 deletions packages/client/CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/client",
"version": "2.0.0-alpha.3",
"version": "2.0.0-alpha.4",
"description": "Model Context Protocol implementation for TypeScript - Client package",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
Expand Down
8 changes: 8 additions & 0 deletions packages/codemod/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @modelcontextprotocol/codemod

## 2.0.0-alpha.2

### Patch Changes

- [#2286](https://github.com/modelcontextprotocol/typescript-sdk/pull/2286) [`1823aae`](https://github.com/modelcontextprotocol/typescript-sdk/commit/1823aae891837ebb5e3db885ec635f9efefd5771) Thanks [@felixweinberger](https://github.com/felixweinberger)! - The v1→v2 codemod no longer rewrites `taskStore`/`taskMessageQueue` McpServer constructor options into `capabilities.tasks` — that target does not exist in v2 (the experimental tasks runtime was removed, SEP-2663). The codemod now leaves the code untouched and emits an action-required diagnostic telling migrators to remove the option, matching the removal guidance already given for `experimental/tasks` imports and the migration guide.

- [#2286](https://github.com/modelcontextprotocol/typescript-sdk/pull/2286) [`1823aae`](https://github.com/modelcontextprotocol/typescript-sdk/commit/1823aae891837ebb5e3db885ec635f9efefd5771) Thanks [@felixweinberger](https://github.com/felixweinberger)! - v1-to-v2: now wraps `outputSchema` raw shapes with `z.object()`; importMap covers `sdk/server/express.js`, `sdk/server/middleware/hostHeaderValidation.js`, and `sdk/client/auth-extensions.js`. The unreachable `expressMiddleware` transform is removed.

## 2.0.0-alpha.1

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/codemod/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/codemod",
"version": "2.0.0-alpha.1",
"version": "2.0.0-alpha.2",
"description": "Codemod to migrate MCP TypeScript SDK code from v1 to v2",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
Expand Down
Loading