Skip to content

chore: 2.0.0 - #1842

Merged
cliffhall merged 1 commit into
mainfrom
chore/2.0.0
Jul 28, 2026
Merged

chore: 2.0.0#1842
cliffhall merged 1 commit into
mainfrom
chore/2.0.0

Conversation

@cliffhall

Copy link
Copy Markdown
Member

The v2 go-live release — phase 5 of #1804, closing #1818.

Merging this publishes nothing. The npm publish happens when the 2.0.0 GitHub release is cut against the merged commit. ⚠️ That step is irreversible.

The diff

Two files, version only:

-  "version": "2.0.0-rc.3",
+  "version": "2.0.0",

Byte-identical to 2.0.0-rc.3 apart from dropping the prerelease suffix. That is the whole point: the tree that ships is the tree that was validated against the live registry.

2.0.0 has no hyphen, so #1834's derivation resolves it to latest — this is the release that takes the tag from 1.0.1.

What the three RCs established

RC Caught / validated
rc.1 Two publish-path defects invisible to every local check: NODE_AUTH_TOKEN pointing at a non-existent secret (shadowing OIDC), and a missing npm CLI upgrade (trusted publishing needs ≥11.5.1; Node 22 bundles 10.x). Fixed in #1836.
rc.2 The dependency sweep (#1837) clearing every prod-scope advisory, lockfile-only.
rc.3 The vite 8.1.5 bump (#1841) closing three high-severity dev-server file-read advisories.

Each was verified with a cold node:22 container driving the published tarball end to end — install, --help, and a real --cli tools/list against a live stdio server.

latest stayed on 1.0.1 through all three, which is what proves the --tag derivation works.

State at release time

Open Dependabot alerts 0
Open CodeQL alerts 0
npm latest 1.0.1 (about to become 2.0.0)
npm v1-latest 1.0.1
v1/main protected, publishes under v1-latest

Rollback

Written and verified before any publish — see the plan on #1818. npm unpublish is not available in practice; recovery is dist-tag surgery (npm dist-tag add @modelcontextprotocol/inspector@1.0.1 latest, deprecate the bad version, ship 2.0.1). npm rights confirmed for the release cutter plus four other maintainers.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD

The v2 go-live release (#1818, phase 5 of #1804).

This is byte-identical to 2.0.0-rc.3 apart from dropping the prerelease suffix,
which is what makes rc.3's validation meaningful: the tree that ships is the
tree that was validated against the live registry.

`2.0.0` has no hyphen, so the derivation added in #1834 resolves it to `latest`
— this is the release that takes the tag from 1.0.1.

Validated across three release candidates:

- rc.1 caught two publish-path defects invisible to every local check —
  `NODE_AUTH_TOKEN` pointing at a non-existent secret (shadowing OIDC trusted
  publishing) and a missing npm CLI upgrade (trusted publishing needs
  >= 11.5.1; Node 22 bundles 10.x). Both fixed in #1836.
- rc.2 validated the dependency sweep (#1837) that cleared every prod-scope
  advisory using lockfile-only changes.
- rc.3 validated the vite 8.1.5 bump (#1841) closing three high-severity
  dev-server file-read advisories.

Each RC was verified with a cold `node:22` container install driving the
published tarball end to end — install, `--help`, and a real `--cli tools/list`
against a live stdio server. `latest` remained on 1.0.1 throughout, proving the
`--tag` derivation.

Zero open Dependabot alerts at time of release.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD
@cliffhall cliffhall added the v2 Issues and PRs for v2 label Jul 28, 2026
@cliffhall
cliffhall merged commit 7aebf16 into main Jul 28, 2026
6 checks passed
@cliffhall
cliffhall deleted the chore/2.0.0 branch July 28, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v2 Issues and PRs for v2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant