chore: v1 deprecation notices in all four packages, bump to 1.0.1 - #1827
Merged
Conversation
Phase 2 of the v2 go-live runbook (#1804 §4). v1 publishes four separately installable names, so each gets its own notice — a root-README-only change is invisible to anyone who installed a sub-package. `cli/` and `server/` ship no README at all, so for those two the runtime banner plus the forthcoming `npm deprecate` (#1816) are the only notice their users ever get. Notices, all using identical wording so the runtime banner and the npm warning agree: - root `README.md` and `client/README.md` - `cli/src/cli.ts` — stderr banner in `main()`. Also covers the root `mcp-inspector` bin, which is `cli/build/cli.js`. Deliberately **stderr**: `--cli` mode emits JSON on stdout and callers pipe it, so a banner there would corrupt output. Verified against a real server — stdout stays parseable JSON while the banner goes to stderr. - `server/src/index.ts` — alongside the existing proxy listening log - `client/bin/start.js` — alongside the existing startup URL log - `client/src/components/DeprecationBanner.tsx` — dismissible in-app banner, dismissal persisted in localStorage with both read and write guarded so a storage failure degrades to "banner reappears" rather than breaking the app AGENTS.md is replaced with a hard stop: v1 takes security fixes only, by issue only, and agents must never open a PR against v1/main. Version bumped to 1.0.1 across all four package.json files plus the lockfile (`npm run update-version`); `check-version` passes. The lockfile diff is restricted to the version fields — the `libc` churn a newer npm wanted to introduce was reverted as unrelated. `publish-all` is deliberately NOT changed here: 1.0.1 must take `latest`, which is the entire point of shipping this notice to npx users. Adding `--tag v1` is #1816, immediately after this publishes. Note for review: `client/src/App.tsx` shows ~836 changed lines but `git diff -w` shows 8 — wrapping the layout in a flex column added one nesting level and prettier re-indented the subtree. Review it with `-w`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD
…banner Captured from this branch's build: v1.0.1 in the sidebar heading, the dismissible deprecation banner across the top, connected to the everything server with tools listed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD
The image URL must stay absolute — a relative path breaks on the npm package page, which renders the README outside any repo context. But it was pinned to `main`, so the v1 README rendered whatever `main` happened to hold: today the pre-deprecation screenshot, and after the v2 tree swap (#1817) either the v2 screenshot or a 404 if that path doesn't exist there. Pinning to `v1/main` keeps it absolute for npm, shows the deprecation banner once this merges, and survives the swap. Verified all candidate refs resolve 200 — GitHub disambiguates the slash in `v1/main` as the ref without needing a `refs/heads/` prefix. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD
This was referenced Jul 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1815
Phase 2 of the v2 go-live runbook (#1804 §4), step 1 of 2. This PR publishes nothing — cutting the
1.0.1release is a separate, manual, irreversible step taken after this merges.Why all four packages
v1 publishes four separately installable names. A root-README-only notice is invisible to anyone who installed a sub-package, so each gets its own.
@modelcontextprotocol/inspectorREADME.md@modelcontextprotocol/inspector-clicli/src/cli.tsmain()@modelcontextprotocol/inspector-server@modelcontextprotocol/inspector-clientclient/README.md, and a dismissible in-app bannerWorth knowing:
cli/andserver/ship no README, so npm renders a blank page for both. For those two the runtime banner and the forthcomingnpm deprecate(#1816) are the only notice their users ever get.All five surfaces use identical wording, matching the
npm deprecatestring planned in #1816 so the npm warning and the runtime notice say the same thing.The CLI banner goes to stderr, deliberately
--climode emits JSON on stdout and callers pipe it, so a banner there would corrupt output. Verified against a real server rather than assumed:The same file backs the root
mcp-inspectorbin (cli/build/cli.js), so this one banner covers both entry points and there is no separate root runtime hook to patch.In-app banner
DeprecationBanner.tsx— dismissible, dismissal persisted inlocalStorage. Both the read and the write are guarded, so a storage failure (Safari private mode, storage disabled) degrades to "the banner reappears" rather than breaking app startup.AGENTS.md
Replaced with a hard stop: v1 takes security fixes only, by issue only, and agents must never open a PR against
v1/main.Version
npm run update-version 1.0.1— all fourpackage.jsons plus the lockfile.check-versionpasses. The lockfile diff is restricted to version fields; unrelatedlibcchurn a newer npm wanted to introduce was reverted.publish-allis deliberately NOT changed here. 1.0.1 must takelatest— that is the entire point of shipping this notice tonpxusers. Adding--tag v1is #1816, immediately after this publishes.Reviewing the diff
client/src/App.tsxshows ~836 changed lines butgit diff -wshows 8. Wrapping the layout in a flex column added one nesting level and prettier re-indented the subtree. Review it with-w.Verification
npm run build— all four packages buildnpm run check-version— passesprettier --check— clean on every changed file🤖 Generated with Claude Code
https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD