Release Notes
- Global model presets overhaul — Model presets are now a single global collection. Presets are reusable setups covering main, utility, and embedding models. Project-scoped preset definitions have been removed; scope configs now store only a preset name. Includes rename/retire propagation across plugin configs, saved chats, and live contexts, startup migration from remote or bundled fallback, and embedding-model support throughout the switcher and override APIs.
- Default model updated — The global default, Balance preset, and onboarding defaults now use OpenRouter's
openai/gpt-5.6-terra. - LaTeX rendering in chat — Standard inline and display TeX delimiters are now converted and rendered in chat messages, including agent-thought math. KaTeX font assets are bundled so math renders without missing local fonts.
- A0 Launcher host gateway integration — Added Launcher gateway protocol support with host access controls, file permission scoping (read/write/exec), sync-status integration, Computer Use approval routing, and reconnect/disconnect lifecycle management. Host access is now fully owned by A0 Launcher; the Core WebUI gateway menu has been removed.
- Editor improvements — Full-document editing replaces heading-based Markdown pagination. Plain text documents now get the same preview, formatting, save, and file-action toolbar as Markdown. Added keyboard undo/redo, file downloads, and safe archive extraction (ZIP, TAR, RAR, 7z).
- Desktop session hardening — LibreOffice saves now target the requested document window with content-change reporting. Fail-fast on dead XFCE startup, live X display probing, atomic session manifests, and XWD screenshot decoding via Pillow's raw decoder.
Improvements
- Notifications — Fixed notifications being skipped during state snapshots by capturing payloads with GUIDs under lock. Action-required notifications (plugin reload, update available) now persist until dismissed or acted on. Opening the Self Update modal auto-dismisses its toast.
- Model preset reset — Added a confirmed "Reset to default" action to the preset editor with proper draft refresh. Toast helper is resolved at action time so resets cannot abort prematurely.
- Goal handling — Active goals now continue through response attempts until completed or genuinely blocked. Goals reactivated by a terminal edit are automatically resumed with the revised objective.
- Slash commands — Known slash commands are now parsed in both prefix and trailing position.
- Code execution — Trailing framework status is treated as execution guidance rather than command output, preserving correct wait, reset, rerun, and continuation decisions.
- Secrets masking — Runtime
.envvalues are now masked in tool results, history, logs, and streamed output via the agent-facing SecretsManager. - Responses API metadata — Only durable continuation metadata is persisted, preventing history bloat from repeated prompts and raw payloads. Legacy AI message metadata is normalized on load.
- MCP tool aliases — Provider-safe Responses tool names are resolved back to canonical MCP names before dispatch, fixing lookup failures for tools like Google Workspace-style names.
- Browser settings — Host-browser discovery now accepts
host:portand HTTP discovery addresses with preserved endpoint casing. - Project model config — "Current project" config selection is correctly treated as inherited when no project-scoped config exists.
- File picker paths — Normalized File Browser picker paths so container paths are not doubled as
/a0/a0/. - Sync status indicator — Fixed overlapping connected/disconnected visuals after reconnects by rendering a single reactive SVG circle.
- WebUI extension loading — Serialized extension discovery requests to prevent embedded Chromium resource exhaustion; loading placeholders are always cleared after failures.
- Extension API —
unified_callandunified_turnare now decorated so community plugins can observe logical model-call boundaries. - Skills CLI — Unified with runtime helpers so CLI behavior cannot drift from the runtime contract.
- Legacy logs removed — Per-process HTML log files under
/a0/logsare no longer created. Existing legacy log directories are cleaned up automatically during startup migration. - Progress indicator cleanup — Removed redundant progress cue DOM wrapper and associated CSS.