Repository navigation
Releases
saga a2ui 1.0.0
saga a2ui 1.0 is the first release with a compatibility promise. Build an agentic app once with React or Lit, and serve it through MCP Apps to Claude, ChatGPT and Alexa+.
npm install @saga-a2ui/react-mcp-stack react react-dom zodHardened for security
1.0 builds on the Daybreak Blue certified code. That code went through more than five days of scanning and remediation with OpenAI Daybreak Blue at Extra High:
- The final scan covered all 1,033 tracked files and found no new reportable findings.
- 37 findings were closed: 30 fixed, 3 mitigated and 4 not applicable.
- 27 remediation pull requests landed, each reviewed independently.
Every change since then was independently reviewed as well.
SAGA bounds the paths where it meets untrusted input:
- Conversation payloads are size-checked before they reach the host.
- Operation results are size- and shape-checked before serialization.
- Protected media and decoded audio are capped.
- Known issues in the MCP SDK and A2UI libraries are blocked before they can be reached.
Answer cards render Markdown through a maintained parser into restricted nodes. A Content-Security-Policy derived from the card's content policy is embedded in the served document, and images load only from hosts the application lists, after the reader consents.
Built to stay small in your app
Seven packages, each with one owner and one job:
| Package | What it gives you |
|---|---|
@saga-a2ui/react-mcp-stack, @saga-a2ui/lit-mcp-stack |
One install per renderer: your catalog, surfaces, actions, FaithfulCard and server entry points |
@saga-a2ui/core |
A2UI message validation, surfaces and the action runtime, independent of any renderer |
@saga-a2ui/mcp |
MCP and MCP Apps delivery: views, operations and content policy |
@saga-a2ui/react, @saga-a2ui/lit |
The renderers |
@saga-a2ui/components |
FaithfulCard, the versioned answer card |
An application states its layout, its catalog, what a result means and what its actions do. SAGA writes the A2UI messages, connects to the MCP Apps bridge and orders the handshake. Starters ship for Node, Express, Fastify, Hono and Hapi.
What 1.0 settles
- Stable view addresses. A view's
ui://address names its compatibility major:operationViewFromHtml({ ..., major: 1 })servesui://views/answer.v1.html. Compatible redeploys keep the address, so hosts that cached a tool descriptor keep reading a served view. - Catalog id. FaithfulCard surfaces open over
https://saga-a2ui.dev/catalogs/faithful-card/v1. - Zod, named for what it is. Use the stack's
z3, A2UI's Zod 3, for surface and catalog schemas, andzod4 for MCP tool schemas. - React peers accept React 19 from 19.3.1.
Upgrading from 0.x
- Pass
major: 1tooperationViewFromHtml(required). Keep any build stamp in your HTML: it no longer changes the address. - Replace
zimported from a stack withz3. - If you persist or compare catalog ids, update them to the
saga-a2ui.devid.
Versions
| Package | Version |
|---|---|
@saga-a2ui/core, components, react, lit |
1.0.0 |
@saga-a2ui/mcp |
1.0.2 |
@saga-a2ui/react-mcp-stack, lit-mcp-stack |
1.0.1 |
Packages share one major.minor and can differ in patch. Each stack pins its siblings exactly, so install a stack and let it choose the rest. A check that expects every @saga-a2ui/* package to share the stack's version should instead check that each sibling equals the version the stack pins.
Since 1.0.0-rc.1, major is required and z3 is the stacks' only Zod 3 name. A Node client sending an oversize request body to createMcpFetchApp now reads the 413.
Semver
Semver covers SAGA's exports, the FaithfulCard contract version and its catalog id. SAGA targets A2UI v0.9 and the MCP 2026-07-28 protocol; moving to a new protocol version is called out in the release that does it. Packages ship TypeScript source for a TypeScript-aware bundler.
Source
The released code is at release/1.0.0 and the v1.0.0 tag (632553f). The packages are on npm under latest and next.
saga a2ui 1.0.0-rc.1
saga a2ui 1.0 is the first release with a compatibility promise. Build an agentic app once with React or Lit, and serve it through MCP Apps to Claude, ChatGPT and Alexa+.
npm install @saga-a2ui/react-mcp-stack@next react react-dom zodHardened for security
1.0 builds on the Daybreak Blue certified code. That code went through more than five days of scanning and remediation with OpenAI Daybreak Blue at Extra High:
- The final scan covered all 1,033 tracked files and found no new reportable findings.
- 37 findings were closed: 30 fixed, 3 mitigated and 4 not applicable.
- 27 remediation pull requests landed, each reviewed independently.
Every change since then was independently reviewed as well.
SAGA bounds the paths where it meets untrusted input:
- Conversation payloads are size-checked before they reach the host.
- Operation results are size- and shape-checked before serialization.
- Protected media and decoded audio are capped.
- Known issues in the MCP SDK and A2UI libraries are blocked before they can be reached.
Answer cards render Markdown through a maintained parser into restricted nodes. A Content-Security-Policy derived from the card's content policy is embedded in the served document, and images load only from hosts the application lists, after the reader consents.
Built to stay small in your app
Seven packages, each with one owner and one job:
| Package | What it gives you |
|---|---|
@saga-a2ui/react-mcp-stack, @saga-a2ui/lit-mcp-stack |
One install per renderer: your catalog, surfaces, actions, FaithfulCard and server entry points |
@saga-a2ui/core |
A2UI message validation, surfaces and the action runtime, independent of any renderer |
@saga-a2ui/mcp |
MCP and MCP Apps delivery: views, operations and content policy |
@saga-a2ui/react, @saga-a2ui/lit |
The renderers |
@saga-a2ui/components |
FaithfulCard, the versioned answer card |
An application states its layout, its catalog, what a result means and what its actions do. SAGA writes the A2UI messages, connects to the MCP Apps bridge and orders the handshake. Starters ship for Node, Express, Fastify, Hono and Hapi.
What 1.0 settles
- Stable view addresses. A view's
ui://address names its compatibility major:operationViewFromHtml({ ..., major: 1 })servesui://views/answer.v1.html. Compatible redeploys keep the address, so hosts that cached a tool descriptor keep reading a served view. - Catalog id. FaithfulCard surfaces open over
https://saga-a2ui.dev/catalogs/faithful-card/v1. - Zod, named for what it is. Use the stack's
z3, A2UI's Zod 3, for surface and catalog schemas, andzod4 for MCP tool schemas. - React peers accept React 19 from 19.3.1.
Upgrading from 0.x
- Pass
major: 1tooperationViewFromHtml. Keep any build stamp in your HTML: it no longer changes the address. - Replace
zimported from a stack withz3. - If you persist or compare catalog ids, update them to the
saga-a2ui.devid.
1.0.0-rc.1 still accepts the 0.x forms (z, and omitting major) so you can move at your own pace. 1.0.0 removes them.
Semver
Semver covers SAGA's exports, the FaithfulCard contract version and its catalog id. SAGA targets A2UI v0.9 and the MCP 2026-07-28 protocol; moving to a new protocol version is called out in the release that does it. Packages ship TypeScript source for a TypeScript-aware bundler.
Source
The released code is at release/1.0.0-rc.1 and the v1.0.0-rc.1 tag (4a5eec2). The packages are on npm under next.
Daybreak Blue certified secure code
SAGA at this commit has been through more than five days of security scanning and remediation with OpenAI Daybreak Blue at Extra High.
Results
- Final scan, run on this exact commit: all 1,033 tracked files accounted for, with no new reportable findings.
- 37 findings closed: 30 fixed, 3 mitigated, 4 not applicable.
- 27 remediation pull requests landed, each reviewed independently.
The hardening covers the paths where SAGA meets untrusted input: conversation payloads are size-checked before they reach the host, operation results are size- and shape-checked before serialization, and protected media downloads and decoded audio are capped. SAGA also guards its dependencies at those paths, so known issues in the MCP SDK and A2UI libraries are blocked before they can be reached.
What this release is
The certified code is at release/daybreak-blue-certified and the daybreak-blue-certified tag (209b6a2). This release marks a milestone; it publishes no new npm packages and does not freeze SAGA. Development continues on main.
v0.7.6
Promotes the exact 0.7.6-rc.1 runtime to stable 0.7.6.
The five historical public packages (core, components, mcp, react, react-mcp-stack) are published on npm with latest=0.7.6. Their 82 runtime files and README/license/notice files are byte-identical to the public RC; only manifest versions and sibling pins changed. The next channel remains 0.7.7-rc.1.
Source: maintenance-branch promotion #321, merged at 5995b1f0d2703f69582aa5def3db65cdea0967fc. Current main is not part of this release.
Validation: independent exact-head approval and required CI passed; anonymous stable tarball downloads match the reviewed artifacts. Public pnpm consumers passed strict-peer installation, typechecking and footprint checks, including the React stack with only its framework peers and the server-only package.
Ansari host evidence and RC traffic includes exact-RC ChatGPT evidence, owner mobile captures, explicitly earlier Alexa QA and RC transport activity. Fresh stable-package Ansari CI passed and the dependency update was independently approved and merged into the contribution branch.
Fresh stable-package Alexa+ simulator QA passes in the Codex in-app browser: first English and Arabic deliveries render the full attributed card, small and large Echo Show previews render, Arabic is RTL, and measured card bodies have no horizontal overflow. Visible markers identify registry SDK 0.7.6 and reviewed app source bd80622. Passing receipts and captures are attached.
The earlier Edge blank-card failures remain documented in the evidence comment and original assets. Both browser runs use the same Dev deployment, stage and cached-resource URL. The cause of that browser difference remains unconfirmed; no code change or redeployment was needed for the in-app pass.
v0.7.7-rc.1 — Lit renderer and MCP stack
Lit is now included in the coordinated SAGA A2UI npm release. @saga-a2ui/lit and @saga-a2ui/lit-mcp-stack join core, components, MCP, React and the React stack at 0.7.7-rc.1 under next. Runtime APIs are unchanged.
An application installs one stack and its framework peers. At the application root, retain the Markdown override:
{"overrides":{"@a2ui/markdown-it":"0.2.1"}}npm install --save-exact --strict-peer-deps @saga-a2ui/lit-mcp-stack@0.7.7-rc.1 lit@3.3.3React applications use:
npm install --save-exact --strict-peer-deps @saga-a2ui/react-mcp-stack@0.7.7-rc.1 react@19.3.1 react-dom@19.3.1Use Node >=22.12.0 and a TypeScript-aware bundler. The source CLI remains development tooling. Candidate builds remain private qualification artifacts; they do not restrict publication of the source packages.
Agent instructions and evergreen guides now include both renderers and both stacks in release scope and point to manifests/registry checks instead of repeating obsolete publication holds. Dated qualification records retain their original evidence limits.
Source changes: #253
Remaining stale instruction correction: #255
All seven registry SHA-512 integrity values match the reviewed release tarballs, rebuilt from merged source bcfdbb0dcb633a5df5bd5c2072f703d9d6d6ad13. The attached artifact manifest records exact digests without local paths. Both stack recipes passed anonymous strict npm installation without local SAGA overrides, strict all-entry TypeScript compilation, exact sibling/runtime checks, browser builds and separate Node server builds. The attached consumer lockfiles preserve those registry resolutions.
The release source passed independent exact-head review and all required CI checks. Full local verification passed 2,659 headless tests and 1,095 browser cases across workspace, installed consumers and the retained Lynx fixture. The documentation correction passed independent exact-head review and its documentation checks.
Existing latest tags were preserved; next is 0.7.7-rc.1 for all seven packages. npm also assigned latest=0.7.7-rc.1 to the two newly created Lit packages, their only version. This is a release candidate, not a stable-version promotion. This prerelease does not imply application deployment or new named-host acceptance.
SAGA A2UI 0.5.6-rc.1
SAGA A2UI 0.5.6-rc.1
Release candidate from merged SDK source dffdaed41602206534e0199779b2ed5883afb2ab, including #202.
Successful host link requests are now silent. Denied, unavailable and failed requests retain readable feedback and their destination. Host-mediated navigation and outcome tracking remain unchanged.
Packages: @saga-a2ui/core, @saga-a2ui/components, @saga-a2ui/mcp, @saga-a2ui/react, all version 0.5.6-rc.1, npm tag next. Lit and the CLI are outside this release set.
Validation: reviewed source tree matches the passing #202 CI tree; clean-source release inventories, Apache license/notices, SHA-256/SHA-512 integrity and all four publication dry-runs passed. An external four-tarball consumer passed strict peer installation, strict TypeScript without skipLibCheck, browser/server bundles and the successful/unavailable link outcome regression. After publication, anonymous downloads of all four registry tarballs matched the prepared SHA-256 and SHA-512 hashes. A fresh-store anonymous public installation passed strict peers, strict TypeScript, the link-outcome regression and browser/server bundles. All four next tags resolve to 0.5.6-rc.1; latest remains unchanged at 0.1.0-rc.1.
| Package | SHA-256 |
|---|---|
| @saga-a2ui/core | f48c84e24aca8d7829f5c6b8ad42c5421b6269a09a8c671e2fecc4cdf9e47dfb |
| @saga-a2ui/components | b7ed61aca446015350fdebd4bca14ef65b879eed171b6d4e9d21cfac601c541a |
| @saga-a2ui/mcp | 100bcb05bbe5818bb285bcbdf0b1ec9e37a619806c64e06c45f2c9cc77fa4bc2 |
| @saga-a2ui/react | 2c6a4f848eef3cc1594ac20b10b631324225cc5c313ac8fa9c5c73fa2064ebff |