v2.5
mishushakov/llm-scraperv2.5Jul 17, 2026by github-actions[bot]
AI Summary
This release introduces a global model presets system, integrates A0 Launcher host gateway support, and enhances the editor and desktop session stability. It also adds LaTeX rendering capabilities and updates the default model to OpenRouter's gpt-5.6-terra.
Key Highlights
- Global model presets overhaul creates a single reusable collection for main, utility, and embedding models.
- A0 Launcher host gateway integration adds protocol support with access controls and Computer Use approval routing.
- LaTeX rendering is now supported in chat messages using bundled KaTeX fonts.
- Editor improvements replace heading-based pagination with full-document editing for both Markdown and plain text.
- Desktop session hardening includes fixes for LibreOffice content reporting and XWD screenshot decoding.
Breaking Changes
- Project-scoped preset definitions have been removed; scope configs now store only a preset name.
- The Core WebUI gateway menu has been removed as host access is now fully owned by A0 Launcher.
- Per-process HTML log files under /a0/logs are no longer created.
New Features
- LaTeX rendering for inline and display TeX math in chat messages.
- Host gateway protocol support with file permission scoping and sync-status integration.
- Global model presets system with embedding model support throughout the switcher and APIs.
- Plain text documents now support preview, formatting, save, and file-action toolbars.
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.