Update dependency @mcp-b/webmcp-polyfill to v5 - #9103
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/mcp-b-webmcp-polyfill-5.x
branch
from
September 13, 2026 21:00
e75f8e9 to
6725351
Compare
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.
This PR contains the following updates:
4.0.0→5.1.0Release Notes
WebMCP-org/npm-packages (@mcp-b/webmcp-polyfill)
v5.1.0Compare Source
Patch Changes
v5.0.3Compare Source
Patch Changes
v5.0.1Patch Changes
v5.0.0Major Changes
de0b41c: Adopt the current strict WebMCP lifecycle. ESM initialization is explicit,testing support is opt-in, unsupported cross-document options fail closed, and
declarative forms stay synchronized with the document and open shadow roots.
f80daeb: ReturnRegisteredTool.inputSchemafromgetTools()as a JSON Schema objectinstead of a serialized string, following webmcp#241 and Chrome 154.0.8013.
The polyfill and the standalone
BrowserMcpServerboth parse a fresh objectper call, exactly like Blink parsing its serialized copy; a schema whose
custom
toJSONserializes to non-object JSON is omitted rather than surfacedas a value consumers would mistake for a pre-154 serialized string.
Consumers stay compatible with both generations of Chrome: the browser-server
native backfill and the relay embed accept the object shape from new Chrome and
the string shape that the 149–156 Origin Trial population still returns. The
RegisteredTool.inputSchematype widens toInputSchema | stringto make thatbranching explicit.
Before this, Chrome ≥154.0.8013 broke native tool mirroring entirely:
JSON.parseon the new object threw, and every native tool — includingchild-frame tools — was dropped as malformed.
Patch Changes
de0b41c: Match Chrome's observable API shape, sowebmcp/idlharness.https.window.htmlnow passes 20/20 subtests against the polyfill.
document.modelContextis a getter onDocument.prototyperather than a valueproperty on the document instance, as WebIDL's
[SameObject] readonly attributerequires. Feature detection with
'modelContext' in documentand reads ofdocument.modelContextare unaffected; code that inspected the document's ownproperty descriptor —
Object.hasOwn(document, 'modelContext')orObject.keys(document)— must look atDocument.prototypeinstead.The context object also stops leaking its internals: bookkeeping fields and
helpers are
#privateorstatic, so onlyregisterTool,getTools,executeToolandontoolchangeappear on the prototype, and the polyfill's ownmarker property is non-enumerable so instances spread and stringify like
Chrome's.
registerTool,getToolsandexecuteToolreport thelengthWebIDL specifies (1, 0, 2); their behavior is unchanged.
de0b41c: ReportSubmitEvent.agentInvokedonly for submissions a declarative tool callstarted. Ordinary user submissions no longer claim agent attribution, so
respondWith()throwsInvalidStateErroroutside a running tool call. Submitlisteners now share the per-root lifecycle that already owns reset listeners.
de0b41c: Require Node 20 or newer.@mcp-b/global,@mcp-b/mcp-iframe,@mcp-b/webmcp-polyfilland@mcp-b/webmcp-ts-sdkpreviously allowed Node 18;the rest declared no
enginesrange at all and now state the same floor. Node 18reached end of life in April 2025. Browser builds are unaffected — this governs
build tooling and the relay CLI.
de0b41c: Stop emitting declaration source maps, and ship the MITLICENSEtext thesepackages already declared. Each package shipped
distwithoutsrc, so everypublished
.d.ts.mappointed at a file that was not in the tarball; editorsalready fall back to the
.d.tsitself.@mcp-b/webmcp-typeskeeps its maps —it is the one package that ships
src, so its maps resolve.f1dbaa0: Align declarative form execution with Chromium and the upstream Web PlatformTests. Autosubmit now preserves native event ordering, opaque documents report
their effective origin, and the composed runtime forwards behavior-only form
registration changes.
Updated dependencies [
de0b41c]Updated dependencies [
de0b41c]Updated dependencies [
de0b41c]Updated dependencies [
f80daeb]Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.