0.1.1 (2026-10-17)
- Requires
a2ui_core0.1.1, which compiles on Elixir 1.17.
0.1.0 (2026-10-17)
First release.
A2UIPhoenix.Session: the renderer state of one conversation, as plain data.A2UIPhoenix.LiveandA2UIPhoenix.Surface: surfaces in a LiveView, with two-way bindings, actions and local UI state.- The basic catalog's components (protocols v0.9, v0.9.1 and v1.0) as function components with ARIA attributes.
- A design system for them (
priv/static/a2ui_phoenix.css): tokens named as in the reference web renderers (--a2ui-color-primary, type scale, space, radii, shadows, motion, per-component tokens), light and dark through the page'scolor-schemeor thea2ui-light/a2ui-darkclasses, colors derived from the primary color on each surface, one anatomy for every input (label, control, messages of failed checks, read as guidance while the field is empty,data-a2ui-empty), states as ARIA attributes, and Material Symbols icons. - Components of other catalogs, passed to a surface by type.
- The MCP catalog: actions that call MCP tools apply what the tools return,
and
McpAppembeds MCP Apps in a double-iframe sandbox (A2UIPhoenix.Components.MCP, theA2UIMcpApphook,priv/static/a2ui_mcp_sandbox.html,A2UIPhoenix.Session.mcp_app_request/5). A2UIPhoenix.Plug.SSE: A2UI messages streamed as server-sent events, with event ids, a reconnection delay and the client'sLast-Event-IDfor resuming a stream.- Agent functions: a call the surface cannot run goes to the agent as
callAgentFunction, its answer is applied when it arrives, and a call that fails or times out (A2UIPhoenix.Session.timeout_agent_call/2, timed byA2UIPhoenix.Live) is reported as a diagnostic. A component waiting for an answer hasaria-busy="true". - The v0.9 surface theme:
primaryColorsets--a2ui-color-primary, and the agent's name and icon are shown above the surface. - A validation error reported to the agent names the field that failed, as
a JSON Pointer into the message (
/components/0/text). DateTimeInputshows a date unless only the time is enabled (A2UIPhoenix.Inputs.date_enabled?/1).- Stylesheet: image sizes per variant, dividers, full-width media, a busy
indicator, Markdown text without outer margins, and a slider whose track
fills to its value (
--a2ui-slider-fill). - Layout: cards in a horizontal list are tiles of one width
(
--a2ui-list-card-width), a card's layout child fills it, a caption under a heading is drawn as its subtitle, and busy text keeps its indicator on its line. - An embedded MCP App gets the component's color scheme as the host
context's
theme, and aui/notifications/host-context-changednotification when it changes.