v2.5
openmeterio/openmeterv2.5Jul 17, 2026by github-actions[bot]
AI Summary
Overhauls global model presets, adds LaTeX rendering in chat, and integrates A0 Launcher gateway.
Key Highlights
- Global model presets overhaul
- LaTeX rendering in chat messages
- A0 Launcher gateway integration
New Features
- Global model presets overhaul
- LaTeX rendering in chat
- A0 Launcher gateway integration
- Editor improvements (full-document editing)
Full Release Notes
## 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 `.env` values 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:port` and 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_call` and `unified_turn` are 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/logs` are 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.