Skip to content

Bump version to 2.1.0 - #833

Merged
ochafik merged 1 commit into
mainfrom
bump-v2.1.0
Oct 27, 2026
Merged

ochafik merged 1 commit into
mainfrom
bump-v2.1.0

Conversation

@ochafik

@ochafik ochafik commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Minor release (new public API and behavior from #829: the WebMCP bridge and its webMcpBridge opt-out). Version bump via npm run bump 2.1.0 — root + all workspaces, workspace dependency ranges moved to ^2.1.0 by the bump script, lockfile synced (version strings only, verified clean npm ci --dry-run on npm 10 and 11).

After merge, create the GitHub release — https://github.com/modelcontextprotocol/ext-apps/releases/new?tag=v2.1.0&title=v2.1.0 — with this body (copy button in the block's corner):

## What's Changed

Minor release: the SDK gains WebMCP interoperability, and the pdf-server example gets strict annotation validation.

### Features

- **WebMCP interoperability** — instead of choosing between `App.registerTool` and [WebMCP](https://webmachinelearning.github.io/webmcp/), the SDK now bridges them in both directions: tools registered with `App.registerTool()` are mirrored into `document.modelContext` when the document provides one, and tools the page registers on `document.modelContext` are served over the Apps `tools/list` / `tools/call` channel (the SDK declares the `tools` capability on the View's behalf and relays `toolchange` as `notifications/tools/list_changed`). No new wire messages, no host-side API changes. The whole bridge is a per-App opt-out: `webMcpBridge: false` (default `true`, also exposed through `useApp`). The draft spec's "Relation to WebMCP" section becomes a normative "WebMCP Interoperability" section with the WebMCP ↔ MCP mapping table. In [#829](https://github.com/modelcontextprotocol/ext-apps/pull/829)

### Bug Fixes

- **pdf-server: annotations validated with per-type schemas** — stamps often rendered as the literal text "undefined" when sent with `content` (note/freetext's field) instead of `label`; the loose `z.record` annotation shape let that through on both tool surfaces. Annotations are now validated against strict per-type schemas shared by the view's app tools and the server-mediated `interact` (stamp requires `label`, note/freetext require `content`, image requires `imageUrl` or `imageData`; unknown keys are errors), with render/save fallbacks for annotations persisted before validation. In [#832](https://github.com/modelcontextprotocol/ext-apps/pull/832)

**Full Changelog**: https://github.com/modelcontextprotocol/ext-apps/compare/v2.0.4...v2.1.0

Generated by Claude Code

Minor release: the SDK gains WebMCP interoperability — tools registered
with App.registerTool are mirrored into document.modelContext and tools
the page registers there are served over the Apps tools/list channel,
behind a new webMcpBridge option (default on), with
installWebMcpPolyfill for views that need a drop-in model context
(#829). The pdf-server example validates annotations with strict
per-type schemas, fixing stamps rendering as the literal text
"undefined" (#832). Workspace dependency ranges move to ^2.1.0 per the
bump script.

Co-authored-by: ochafik <ochafik@anthropic.com>
@pkg-pr-new

pkg-pr-new Bot commented Oct 27, 2026

Copy link
Copy Markdown

Open in StackBlitz

@modelcontextprotocol/ext-apps

npm i https://pkg.pr.new/@modelcontextprotocol/ext-apps@833

@modelcontextprotocol/server-basic-preact

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-preact@833

@modelcontextprotocol/server-basic-react

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-react@833

@modelcontextprotocol/server-basic-solid

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-solid@833

@modelcontextprotocol/server-basic-svelte

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-svelte@833

@modelcontextprotocol/server-basic-vanillajs

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-vanillajs@833

@modelcontextprotocol/server-basic-vue

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-vue@833

@modelcontextprotocol/server-budget-allocator

npm i https://pkg.pr.new/@modelcontextprotocol/server-budget-allocator@833

@modelcontextprotocol/server-cohort-heatmap

npm i https://pkg.pr.new/@modelcontextprotocol/server-cohort-heatmap@833

@modelcontextprotocol/server-customer-segmentation

npm i https://pkg.pr.new/@modelcontextprotocol/server-customer-segmentation@833

@modelcontextprotocol/server-debug

npm i https://pkg.pr.new/@modelcontextprotocol/server-debug@833

@modelcontextprotocol/server-lazy-auth

npm i https://pkg.pr.new/@modelcontextprotocol/server-lazy-auth@833

@modelcontextprotocol/server-map

npm i https://pkg.pr.new/@modelcontextprotocol/server-map@833

@modelcontextprotocol/server-pdf

npm i https://pkg.pr.new/@modelcontextprotocol/server-pdf@833

@modelcontextprotocol/server-scenario-modeler

npm i https://pkg.pr.new/@modelcontextprotocol/server-scenario-modeler@833

@modelcontextprotocol/server-shadertoy

npm i https://pkg.pr.new/@modelcontextprotocol/server-shadertoy@833

@modelcontextprotocol/server-sheet-music

npm i https://pkg.pr.new/@modelcontextprotocol/server-sheet-music@833

@modelcontextprotocol/server-system-monitor

npm i https://pkg.pr.new/@modelcontextprotocol/server-system-monitor@833

@modelcontextprotocol/server-threejs

npm i https://pkg.pr.new/@modelcontextprotocol/server-threejs@833

@modelcontextprotocol/server-transcript

npm i https://pkg.pr.new/@modelcontextprotocol/server-transcript@833

@modelcontextprotocol/server-video-resource

npm i https://pkg.pr.new/@modelcontextprotocol/server-video-resource@833

@modelcontextprotocol/server-wiki-explorer

npm i https://pkg.pr.new/@modelcontextprotocol/server-wiki-explorer@833

commit: e51dd6d

@ochafik
ochafik merged commit 6cc763a into main Oct 27, 2026
34 of 35 checks passed
ochafik added a commit that referenced this pull request Oct 27, 2026
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.

2 participants