Skip to content

docs: comprehensive GA pass — stable-release wording, released-spec links, install tags - #2566

Merged
felixweinberger merged 4 commits into
mainfrom
fweinberger/ga-install-tags
Jul 27, 2026
Merged

docs: comprehensive GA pass — stable-release wording, released-spec links, install tags#2566
felixweinberger merged 4 commits into
mainfrom
fweinberger/ga-install-tags

Conversation

@felixweinberger

@felixweinberger felixweinberger commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Comprehensive sweep flipping all documentation surfaces to the stable release ahead of 2.0.0, so nothing published claims v2 is prerelease or points at the draft spec:

  • Install commands: @beta tags removed everywhere (bare npm install; npx codemod@latest keeps the tag as a cache-buster).
  • Beta banners rewritten to stable-release wording: package READMEs (baked into the npm tarballs), root README (including the v1-support note), docs-site landing banner, the site-wide banner component, the generated llms.txt header, CONTRIBUTING, and the v2-feedback issue template.
  • Draft-spec references now point at the released revision (/specification/2026-07-28/…): three guide pages, the migration guides (including deleting a note that instructed tooling to track the draft schema directory), and the 16 spec links in the published core schemas module that render on IDE hover. Two links to ext-auth documents that moved from draft/ to stable/ were dead and are fixed.
  • Staleness found en route: the fastify adapter was missing from every package list (server README, middleware README, root README features/install sections).

Historical alpha/beta references in the migration guides ("if you were on a v2 alpha…") are deliberately kept — that is what a migration guide is for.

One deferred item: spec.types.2026-07-28.ts regeneration onto the versioned upstream schema directory can only run once the spec repository publishes schema/2026-07-28/; the fetch script already anticipates the flip.

@felixweinberger
felixweinberger requested a review from a team as a code owner July 27, 2026 21:13
@changeset-bot

changeset-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 5986f9d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets
Name Type
@modelcontextprotocol/client Patch
@modelcontextprotocol/codemod Patch
@modelcontextprotocol/core-internal Patch
@modelcontextprotocol/core Patch
@modelcontextprotocol/express Patch
@modelcontextprotocol/fastify Patch
@modelcontextprotocol/hono Patch
@modelcontextprotocol/node Patch
@modelcontextprotocol/server-legacy Patch
@modelcontextprotocol/server Patch
@modelcontextprotocol/examples Patch
@mcp-examples/bearer-auth-web Patch
@mcp-examples/bearer-auth Patch
@mcp-examples/caching Patch
@mcp-examples/cli-client Patch
@mcp-examples/client-quickstart Patch
@mcp-examples/custom-methods Patch
@mcp-examples/custom-version Patch
@mcp-examples/dual-era Patch
@mcp-examples/elicitation Patch
@mcp-examples/extension-capabilities Patch
@mcp-examples/gateway Patch
@mcp-examples/hono Patch
@mcp-examples/json-response Patch
@mcp-examples/legacy-routing Patch
@mcp-examples/mrtr Patch
@mcp-examples/oauth-client-credentials Patch
@mcp-examples/oauth Patch
@mcp-examples/parallel-calls Patch
@mcp-examples/prompts Patch
@mcp-examples/repl Patch
@mcp-examples/resources Patch
@mcp-examples/sampling Patch
@mcp-examples/schema-validators Patch
@mcp-examples/scoped-tools Patch
@mcp-examples/server-quickstart Patch
@mcp-examples/shared Patch
@mcp-examples/sse-polling Patch
@mcp-examples/standalone-get Patch
@mcp-examples/stateless-legacy Patch
@mcp-examples/stickynotes Patch
@mcp-examples/streaming Patch
@mcp-examples/subscriptions Patch
@mcp-examples/todos-server Patch
@mcp-examples/tools Patch
@modelcontextprotocol/test-conformance Patch
@modelcontextprotocol/test-e2e Patch
@modelcontextprotocol/test-helpers Patch
@modelcontextprotocol/test-integration Patch

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Jul 27, 2026

Copy link
Copy Markdown

Open in StackBlitz

@modelcontextprotocol/client

npm i https://pkg.pr.new/@modelcontextprotocol/client@2566

@modelcontextprotocol/codemod

npm i https://pkg.pr.new/@modelcontextprotocol/codemod@2566

@modelcontextprotocol/core

npm i https://pkg.pr.new/@modelcontextprotocol/core@2566

@modelcontextprotocol/server

npm i https://pkg.pr.new/@modelcontextprotocol/server@2566

@modelcontextprotocol/server-legacy

npm i https://pkg.pr.new/@modelcontextprotocol/server-legacy@2566

@modelcontextprotocol/express

npm i https://pkg.pr.new/@modelcontextprotocol/express@2566

@modelcontextprotocol/fastify

npm i https://pkg.pr.new/@modelcontextprotocol/fastify@2566

@modelcontextprotocol/hono

npm i https://pkg.pr.new/@modelcontextprotocol/hono@2566

@modelcontextprotocol/node

npm i https://pkg.pr.new/@modelcontextprotocol/node@2566

commit: 5986f9d

@felixweinberger felixweinberger changed the title docs: point install commands at latest ahead of the stable release docs: comprehensive GA pass — stable-release wording, released-spec links, install tags Jul 27, 2026
Comment thread packages/client/README.md

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM — docs/comment-only GA sweep; the two inline comments are one-line nit fixes (Fastify missing from one prose list, the v1 site banner's "v2 beta" wording) worth folding in before merge. The beta-WARNING banners in the package READMEs flagged in the previous review round are now reworded to stable-release wording in this diff, so the npm-tarball concern is resolved.

Extended reasoning...

Overview

Docs-only GA sweep across 20 files: install commands drop the @beta tag, beta banners are rewritten to stable-release wording (root README, package READMEs, docs landing page, site banner component, llms.txt header, CONTRIBUTING, issue template), draft-spec links move to the released /specification/2026-07-28/ revision (including the 16 JSDoc links in packages/core/src/schemas.ts and two moved ext-auth links), and the Fastify adapter is added to the package lists it was missing from. The four .ts files touched contain only JSDoc/comment string edits — I verified there is no runtime behavior change anywhere in the diff.

Security risks

None. No executable code changes; the modified TypeScript files change only documentation strings inside comments. The ext-auth spec links were verified to point at the stable/ path that replaced draft/.

Level of scrutiny

Moderate despite being docs-only, because the package READMEs are baked into the immutable 2.0.0 npm tarballs — an error here is effectively permanent in the GA artifacts. That was the substance of the previous review round's blocking comment (beta [!WARNING] banners contradicting the @latest install commands), and the current diff resolves it: both READMEs now open with stable-release wording. I re-verified the sweep's completeness: no @beta remains in any markdown surface, and the only surviving specification/draft references are internal test metadata (test/e2e/requirements.ts) and a config.mts comment describing the render-time link rewrite — neither is a published surface, matching the PR's stated deferral of the schema-artifact flip.

Other factors

The two confirmed findings are genuine but trivial nits (a one-word prose omission in the root README, and the v1 docs-site banner in docs/v1/.vitepress/theme/Banner.vue still saying "v2 beta documentation" — that shell builds from main per scripts/build-docs-site.sh, so it is in scope but continuously rebuildable, not baked into an immutable artifact). Neither blocks merge. The changeset-bot note about no changeset is expected for a docs-only PR. The whether-to-declare-GA decision itself is a maintainer product call the PR author owns, not a code-correctness question.

Comment thread README.md
Comment thread docs/.vitepress/theme/Banner.vue

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM — docs-only GA sweep; all prior review feedback (tarball README beta banners, root-README Fastify prose, v1-site banner) is addressed at 5986f9d, and the one remaining inline comment is a one-line nit in docs/clients/middleware.md that can land here or as a follow-up.

Extended reasoning...

Overview

This PR is a documentation-only GA pass across 21 files: install-tag flips (@beta → bare/@latest), beta-banner rewrites (package READMEs, root README, both VitePress site banners, llms.txt header, CONTRIBUTING, issue template), and draft-spec links repointed at the released /specification/2026-07-28/ revision. The only two source files touched — packages/core/src/schemas.ts and packages/server/src/server/server.ts — change JSDoc comments exclusively (verified against the diff); no runtime behavior, exports, or types change anywhere.

Security risks

None. No auth, crypto, transport, or handler logic is touched. The two .ts files change only comment text and JSDoc @see links (including two ext-auth links that moved from draft/ to stable/).

Level of scrutiny

Moderate despite being docs-only, because the package READMEs are baked into the immutable 2.0.0 npm tarballs. The earlier blocking concern — the surviving 'This is a beta release' WARNING in packages/client/README.md and packages/server/README.md — was fixed by the author (both now read 'v2 is the stable release line'), and a repo-wide grep confirms no published surface retains beta framing (remaining hits are historical CHANGELOG/changeset entries the PR deliberately keeps, and core-internal internals covered by the PR's explicitly deferred spec.types.2026-07-28.ts regeneration). The 'stable release line' claim itself is a release-timing decision already made in #2565 (prerelease mode exited); this PR just aligns prose with it.

Other factors

Both earlier nits (root-README 'for example Express, Hono…' enumeration and the v1-site Banner.vue) were fixed in head commit 5986f9d. This run's remaining finding is a genuine but minor completeness nit — docs/clients/middleware.md:29 enumerates the framework-adapter packages without @modelcontextprotocol/fastify — in a continuously rebuilt docs-site page outside the diff, so it does not create any irreversible artifact and is safe to fix in a follow-up. The spec links target a revision that publishes tomorrow (2026-07-28), a coordination window the PR description acknowledges. No changeset is needed for a docs-only change.

Comment thread README.md
### Optional middleware packages

The SDK also publishes optional “middleware” packages that help you **wire MCP into a specific runtime or web framework** (for example Express, Hono, or Node.js `http`).
The SDK also publishes optional “middleware” packages that help you **wire MCP into a specific runtime or web framework** (for example Express, Fastify, Hono, or Node.js `http`).

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 One framework-adapter enumeration survives the Fastify sweep: the :::info Not the framework middleware packages callout in docs/clients/middleware.md (line 29) still lists only @modelcontextprotocol/express, @modelcontextprotocol/hono, and @modelcontextprotocol/node, and its see-also links cover only Express and Hono. Add @modelcontextprotocol/fastify to the list (and optionally Fastify to the see-also links) — the callout exists precisely to enumerate which packages carry the word "middleware", so the omission makes it factually incomplete. (Anchored here on the in-diff middleware prose; the edit target is docs/clients/middleware.md, which is not in the diff.)

Extended reasoning...

The issue. This PR's staleness sweep adds the Fastify adapter to "every package list" (the PR description's own words), and the head commit 5986f9d ("catch the v1-site banner and one more middleware mention") fixed the previously flagged README.md instance. One enumeration of the framework-adapter packages still survives without Fastify: docs/clients/middleware.md line 29, the :::info Not the framework middleware packages callout on the published v2 docs site:

The @modelcontextprotocol/express, @modelcontextprotocol/hono, and @modelcontextprotocol/node packages also carry the word "middleware" — those are server-side framework adapters for mounting a handler. See Express and Hono.

Why the list is meant to be exhaustive. Unlike the "for example Express, Fastify, Hono…" prose fixed elsewhere in this PR, this callout is not illustrative: its entire purpose is to disambiguate which packages carry the word "middleware" from the client request middleware this page documents. @modelcontextprotocol/fastify (under packages/middleware/fastify) is one of them, and a docs/serving/fastify.md page exists for the see-also link. An enumeration whose job is completeness is wrong when incomplete.

Step-by-step proof.

  1. This PR merges; the v2 docs site rebuilds from main.
  2. A reader lands on the Client middleware page and reads the callout to learn which SDK packages are framework adapters.
  3. The callout names three adapters; the reader concludes there is no Fastify adapter — while docs/serving/fastify.md, packages/middleware/README.md, the root README, and packages/server/README.md (all updated by this very PR) say there is.

Why nothing else catches it. The callout is plain prose — no lint, snippet-sync, or test validates docs enumerations. Repo-wide grep confirms this is the only remaining framework-adapter enumeration missing Fastify after 5986f9d (docs/get-started/packages.md, docs/migration/upgrade-to-v2.md, docs/serving/http.md, docs/index.md, both READMEs, and packages/middleware/README.md all include it).

Relation to earlier review comments. This is not a duplicate of the earlier README.md:101 inline comment — that site was already fixed by head commit 5986f9d. This is a different file the same sweep missed; fixing README.md does not fix this line. It matches REVIEW.md's Completeness recurring catch: "when a PR replaces a pattern, grep for surviving instances of the old form."

Fix. In docs/clients/middleware.md line 29, change the enumeration to "The @modelcontextprotocol/express, @modelcontextprotocol/fastify, @modelcontextprotocol/hono, and @modelcontextprotocol/node packages…" and optionally extend the see-also to "See Express, Fastify and Hono."

Severity. Nit: this is docs-site prose, rebuilt continuously from main, so a one-line follow-up commit corrects it with no irreversible artifact (unlike the npm-tarball READMEs). Nothing breaks if it merges as-is — it just leaves the GA sweep slightly short of its own stated scope.

@felixweinberger
felixweinberger merged commit a9835b4 into main Jul 27, 2026
21 checks passed
@felixweinberger
felixweinberger deleted the fweinberger/ga-install-tags branch July 27, 2026 22:32
@claude claude Bot mentioned this pull request Jul 27, 2026
ayaangazali added a commit to ayaangazali/typescript-sdk that referenced this pull request Jul 28, 2026
…ion note

The GA docs pass (modelcontextprotocol#2566) added fastify to the package listings in
README.md, packages/middleware/README.md and packages/server/README.md,
but the client-middleware page still names only express, hono and node
when disambiguating client middleware from the framework adapters.

Add fastify to that list and link the existing serving/fastify.md page.

Closes modelcontextprotocol#2112.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant