v2.10

agent0ai/agent-zerov2.10Aug 19, 2026by github-actions[bot]

AI Summary

This release introduces a major overhaul of the internal Browser with interactive viewport capabilities and a shared runtime. Key updates include the bundling of the Agent Coordination Protocol (ACP), unified Subordinate Lifecycle management, and improvements to the WebUI and Docker packaging. Critical bug fixes were also implemented for Codex responses, backup restoration, and browser model presets.

Key Highlights

  • Interactive viewport via Xpra and CDP replaces static screenshots.
  • Bundled ACP with an editor-hosted CLI transport is now included.
  • Bot detection hardening achieved through Patchright on a private display.
  • Unified parallel calls allow direct and subordinate executions to share a lifecycle.
  • Scoped composer references and per-chat drafts are now supported.

Breaking Changes

  • Startup migration removes retired `a0_acp` installations and scoped overrides.

New Features

  • Live, interactive session rendering via Xpra with CDP screencast.
  • Shared runtime with single persistent Chromium and Xvfb instance.
  • Automatic tab persistence and restoration per chat.
  • Recovery of function calls omitted during terminal Responses events.
  • Support for inert `@` references in the composer for profiles and policies.
  • Per-chat composer drafts stored in session storage.
  • Standalone `usr/api` route served as a contained fallback.
  • Pinned desktop packages compatible with Python 3.13.
  • Stable base image using Kali without beta probing.

Full Release Notes

## Release Notes

### Internal Browser — Major Overhaul

- **Interactive viewport**: The internal Browser now renders a live, interactive session via Xpra with CDP screencast and snapshot fallbacks, replacing static screenshot-only interaction.
- **Shared runtime**: All chats route through a single persistent Chromium, Xvfb, and Xpra instance. Sign-ins are shared across chats while tab ownership and limits remain per-chat.
- **Bot detection hardening**: Chromium now runs headful through Patchright on a private Xvfb display, significantly improving resilience against bot detection.
- **Tab restore**: Browser tabs are automatically persisted and restored per-chat and in shared scopes, without showing Chromium's crash advisory on restart.
- **Browser model preset**: The configured Browser model preset is now correctly activated after the first Browser tool call and cleared at monologue end.
- **Annotation and UI improvements**: Added DOM hover feedback, multi-page annotation batches, compact composer-style controls, and microphone/arrow controls in the annotation dialog.
- **Simplified setup**: Browser dependency reconciliation, cache migration, and Chromium installation are consolidated under a single setup lock.

### Codex & Responses API

- **Fix Responses tool call completion**: Function calls emitted during streaming are now recovered when the terminal Responses event omits them.
- **Fix Codex OAuth utility responses**: Completed SSE output items are preserved when the final Codex response envelope omits them, so non-streaming utility calls retain their generated text.
- **Scope strict response schema to Codex**: The strict text-only response schema is now applied only at the Codex OAuth boundary rather than to all Responses tool schemas.

### Agent Coordination Protocol (ACP)

- **Bundled ACP**: Agent Zero now ships a built-in ACP session bridge with an editor-hosted CLI transport. A startup migration removes retired `a0_acp` installations and scoped overrides.

### Subordinate Lifecycle

- **Unified parallel calls**: Direct and parallel `call_subordinate` execution now share one reusable, persisted child-context lifecycle. Failed children are resumable with `reset=false`, and sibling reuse, recursive numbering, and nested task ownership are properly handled.

### WebUI & Composer

- **Scoped composer references**: The composer now supports inert `@` references for scoped profiles, tool policies, skills, and workspaces.
- **Per-chat composer drafts**: Unsent composer text is stored per chat in session storage and restored when switching contexts or refreshing the page.
- **Goal mode shortcut**: A Goal mode action in the composer popover prefills the `/goal` command and focuses the input.
- **Smarter reload prompts**: Plugin changes scoped to a project or agent no longer trigger unnecessary frontend reload notifications; only global plugin changes prompt a reload.

### User Extensions

- **Standalone user API and WebUI routes**: `usr/api` is now served as a contained fallback after built-in and plugin handlers. `usr/extensions/webui` assets are served from an authenticated, root-contained namespace.

### Backup & Restore

- **Fix backup restore allowed origins**: Restoring a backup no longer overwrites `ALLOWED_ORIGINS` with the source instance's value, preventing lockouts.

### Docker & Packaging

- **Pinned desktop package versions**: LibreOffice, Xpra, and related packages are pinned to Python 3.13-compatible releases from the last successful multi-architecture build.
- **Stable base image**: The Docker image now uses Kali's last snapshot and removes beta probing to prevent Python 3.14 from being pulled into builds.
- **Xpra runtime repair**: Matching Xpra client and GTK packages are installed correctly in both fresh builds and self-updated containers.