-
Notifications
You must be signed in to change notification settings - Fork 49
Changes from 0.1.x to 0.2.2 #181
ochafik
announced in
Announcements
-
Hi all! We've just pushed @modelcontextprotocol/ext-apps versions 0.2.0, 0.2.1 and 0.2.2 in quick succession, so here's what's changed since 0.1.x
Warning
The registerAppTool helper makes sure defining _meta.ui.resourceUri is backward-compatible w/ clients expecting "ui/resourceUri"
Highlights
- Server helpers — New
registerAppTool()andregisterAppResource()simplify server setup with proper type safety.connect()now defaults toPostMessageTransport(window.parent), enabling simpler initialization with justawait app.connect()#165
Github warning: - Tool _meta key change: Restructured _meta format from flat "ui/resourceUri" to nested _meta.ui.resourceUri docs: add tool visibility and restructure _meta.ui #131
- Tool visibility control — New
visibilityarray field controls whether tools are visible to the agent, apps, or both. Restructured_metaformat from flat"ui/resourceUri"to nested_meta.ui.resourceUri#131 - Host-provided theming — Apps receive 36 standardized CSS variables for colors, typography, and spacing via
styles.variables, enabling visual consistency with the host #127 - Display mode requests — Apps can request display mode changes (e.g., fullscreen) via
requestDisplayMode, with hosts able to accept or reject #152 - Custom fonts support — Apps can receive custom fonts via
styles.css.fontsand apply them usingapplyHostFonts()oruseHostFonts()helpers #159
API Changes
- MCP SDK as peer dependency — Consumers control their SDK version, reducing duplication #168
- React as peer dependency — Supports React 17, 18, and 19 #164
- Renamed request methods — Removed
sendprefix:openLink()andteardownResource(). Deprecated aliases maintained #161 - Optional Client in AppBridge — Enables custom forwarding scenarios without direct MCP client access #146
- Zod v3 and v4 support — Bring your own Zod in #49
- Zod schemas now version-agnostic — Generated schemas work with both Zod 3.25+ and v4, using
z.object().passthrough()instead of v4-onlyz.looseObject()#178
Platform & DX
- Windows compatibility — Bun as optional dependency with automatic setup,
cross-envfor examples. Just runnpm install#145 - Widened
@oven/bun-*version range — Lowered the minimum from^1.3.4to^1.2.21, helping contributors whose registries may not have the latest packages #176 - SSE transport support — All examples now support both stdio and HTTP transports with SSE endpoints for older clients #136
- Playwright E2E tests — Screenshot golden testing across all 9 example servers with parallel execution (~28s) #115
- hostContext exposure — Access
hostContextdirectly from theAppclass #139
Bug Fixes
- Responsive UIs — Fixed narrow viewport handling for mobile and sidebar experiences #135
- Sandbox notification fix — Fixed
sandbox-readynotification name to match implementation #160 - Fixed non-UI tool registration — Use
server.registerToolfor tools without UI and fix missing imports across examples #173
Full Changelog: v0.1.1...v0.2.2
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment