Release npm 0.20.0 and Python 0.7.0 - #99
Merged
Merged
Conversation
Everything under [Unreleased] in both packages ships, together, so no consumer has to speak both wires. npm 0.20.0 is breaking several times over. The NimbleBrain host extensions move under `ai.nimblebrain/` (`action`, `request-file`, `keydown`), and the chat context on `sendMessage` with them; every NimbleBrain extension and every spec call is now gated on the host declaring it, throwing `HostCapabilityError` where it did not; host fonts arrive as the spec's `styles.css.fonts` and the font-descriptor API is gone; the cross-host client speaks MCP Apps only, so the `chatgpt` adapter, the mcp-ui dialect and `window.openai` detection are gone and `HostKind` is `"mcp-apps" | "generic"`; and `connectUI`'s `callTool()` rejects with `ToolCallError` on an `isError` result. Added: `synapse check`, `app.hostCapabilities`, `hostSupports`. The SDK and zod are no longer bundled. Python 0.7.0 serves the component as one `ui://` resource under `text/html;profile=mcp-app` — the skybridge copy, `openai/outputTemplate`, `result_meta()`, `resource_meta` and `SKYBRIDGE_MIME` are gone — and carries the same bundled-client breaks. Added: `tool_meta(visibility=)`, `tool_meta(security_schemes=)` and `auth_error_result()`. Requires mcp>=2.1.0. The vendored client asset already matches the build; no re-vendor was needed. `__client_version__` moves with package.json.
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.
B8 of the Synapse rebuild cutover. Both packages ship everything under their
[Unreleased]at once, so no consumer has to speak both the old and the new wire.What this is
package.json0.19.00.20.0__client_version__0.19.00.20.0python/pyproject.toml0.6.00.7.0Both CHANGELOGs move
[Unreleased]under the version. Nothing else changes: the vendored client asset (python/nimblebrain_synapse/_assets/synapse-ui.iife.js) already matches a build of this tree byte for byte, because the version string is not inlined in the cross-host IIFE — re-vendoring at 0.20.0 produced no diff.The
### Breakingentries this releasesnpm
0.20.0: theai.nimblebrain/*rename of the host extensions (#98) andsendMessage's chat context with it; every NimbleBrain extension and every spec call gated on the host's declaration, throwingHostCapabilityError; host fonts as the spec'sstyles.css.fontswith the font-descriptor API deleted; the cross-host client on MCP Apps only (chatgptadapter, mcp-ui dialect andwindow.openaidetection gone,HostKindis"mcp-apps" | "generic");connectUI'scallTool()rejecting withToolCallError.Python
0.7.0: oneui://resource undertext/html;profile=mcp-app(skybridge copy,openai/outputTemplate,result_meta(),resource_meta,SKYBRIDGE_MIMEall gone),widget_domainon that one resource, and the bundled client's MCP-Apps-only,styles.css.fontsandToolCallErrorbreaks.The
ai.nimblebrain/*rename is a JS client-API change and appears only in the npm CHANGELOG. The Python package's bundled client isconnectUI, which carries no NimbleBrain extensions —grep 'synapse/'over the vendored IIFE finds nothing — so it has no surface for that rename. Its half of #98, the font channel, is inpython/CHANGELOG.md.Verification
Local, ahead of CI:
npm run ci— lint, typecheck, build, size budget (115460/120000, 116171/121000, 3178/4100 gzipped), 563 tests in 37 files.npm run conformance— 36/36 against the vendored copy.python:ruff check,ruff format --check,ty check,pytest(34 passed).Once merged, the release goes out through the publish workflows on
v0.20.0andnimblebrain-synapse-v0.7.0, never locally.Prerequisites, confirmed on
mainB1 (#92), B2 (#94), B3 (#96), B5 (#95), B6 (#93), B7 (#97 plus skills#47, #48, #50, #51), and #85 (closed by #91). #89 is in too.