Original release notes
Highlights
See the complete change list below.
Breaking Changes
No known breaking changes.
Web Shell
Web Shell gains structured shell results, optional trajectory metrics, host settings allowlists, and mobile navigation fixes.
- Web Shell now presents structured shell execution results with command, output, execution details, elapsed time, and scrollable content. (#12311)
- Adds an opt-in trajectory table tab in Web Shell showing per-turn durations, time to first token, token counts, and tool timing. (#12388)
- web-shell: support host settings item allowlists (#12328)
- web-shell: restore mobile history navigation (#12362)
- web-shell: stop the header title from showing the new-session placeholder (#12379)
Live Voice
Live Voice capture moves to AudioWorklet with a fallback, improves failure reporting, and supports shared-screen requests.
- Live Voice microphone capture now uses an AudioWorklet with the old ScriptProcessorNode kept as fallback, reducing main-thread work while preserving level metering and call gating. (#12338)
- live: report the cause when Live Voice fails to start with a non-Error (#12377)
- live: let a browser Host answer a screen request from a shared screen (#12378)
Runtime and sessions
Runtime foundations add managed state, session records, JDBC persistence, and broader serve channel restoration.
- java: Add managed runtime state foundation (#12301)
- core: Add managed session record foundation (#12302)
- Adds JDBC persistence for Runtime bindings and sessions, enabling shared state across broker processes and restart-safe ownership. (#12390)
- qwen serve now restores serve.channels from every trusted workspace at boot, not just the primary workspace. (#12385)
Review workflow
Review behavior becomes more focused with critical fix-audit rounds and safer base-tree reuse.
- review: swap re-review rounds to a fix-audit shape under the critical posture (#10136)
- Fixes review base-tree reuse by storing merge-base evidence outside the mounted sandbox, so stale or conflicting anchors are rejected based on trusted host-side lease state. (#11540)
Chrome extension
Chrome extension release packaging and privacy documentation are now in place.
- Adds Chrome Web Store packaging and a release workflow that can build, scan, upload, and optionally publish the Chrome extension during stable releases or manual dispatch. (#12329)
- chrome: disclose browser data handling and limited use (#12330)
Desktop and CLI
macOS gets a native integrated title bar, CLI startup is more resilient, and history retry states are clearer.
- macOS desktop now uses an integrated native title bar with content painted behind traffic-light controls and a dedicated drag region. (#12393)
- CLI startup no longer crashes when the output-language file cannot be written; it continues without the file. (#10455)
- History entries that cannot be retried now expose argsUnavailable so clients can accurately reflect retry limitations. (#12349)
Performance and execution
Headless execution is leaner and duplicate workspace-provider requests are coalesced.
- One-shot headless execution now defaults to a pipe-based shell backend and optimizes relaunch behavior for lower overhead. (#12340)
- Concurrent workspace-providers requests for the same resolved URL now share one in-flight request, reducing duplicate network calls without adding caching or TTL behavior. (#12327)
Other Changes
- core: Route runtime tools through bwrap (#12269)
- workflows: write a resumed run's checkpoint before it registers (#12347)
- core: reject broadcast-capable hook PIDs (#12344)
- E2E CI install steps now retry transient npm ci failures up to three times before failing, reducing flaky workflow breaks. (#11731)
- Release standalone archive downloads now use timeouts and retries with checksum verification inside the retry loop, improving resilience to transient network failures. (#11879)
- Channel grouping can now accept an ownership hint to resolve ambiguous channel names and skip tolerated names while preserving existing behavior. (#12383)
- Updates SDK E2E integration assertions to recognize deferred MCP tool calls while still accepting direct MCP tool-use blocks. (#12365)
- Defines a versioned private protocol foundation for Hosted Harness, including capability envelope, boot fence, and request validation. (#12409)
- test(cli): keep an ambient GIT_CONFIG_GLOBAL from hijacking withHome (#12407)
- release: resume automated web-shell publishing (#12387)
Web Shell
Web Shell shell trajectory ,
- Web Shell shell , (#12311)
- Web Shell trajectory , token token (#12388)
- settings.includeItems ,;excludeItems , (#12328)
- web-shell: restore mobile history navigation (#12362)
- web-shell: stop the header title from showing the new-session placeholder (#12379)
Live Voice
Live Voice AudioWorklet ,,
- Live Voice AudioWorklet, ScriptProcessorNode ,, (#12338)
- live: report the cause when Live Voice fails to start with a non-Error (#12377)
- live: let a browser Host answer a screen request from a shared screen (#12378)
JDBC , workspace serve.channels
- java: Add managed runtime state foundation (#12301)
- core: Add managed session record foundation (#12302)
- Runtime bindings sessions JDBC , broker (#12390)
- qwen serve workspace serve.channels, workspace (#12385)
:critical fix-audit ,
Chrome
Chrome extension ,
CLI
macOS ,CLI ,
headless , workspace-providers URL
- , bwrap ,, (#12269)
- workflows: write a resumed run's checkpoint before it registers (#12347)
- core: reject broadcast-capable hook PIDs (#12344)
- E2E CI npm ci , (#11731)
- standalone , checksum, (#11879)
- channel ownership hint, channel , (#12383)
- SDK E2E , MCP , MCP (#12365)
- Hosted Harness , (#12409)
- test(cli): keep an ambient GIT_CONFIG_GLOBAL from hijacking withHome (#12407)
- release: resume automated web-shell publishing (#12387)
Complete Change List (31 pull requests)
Features
web-shell: capture the Live Voice microphone with an AudioWorklet (#12338) by @qqqys core: Route runtime tools through bwrap (#12269) by @doudouOUC review: swap re-review rounds to a fix-audit shape under the critical posture (#10136) by @wenshao chrome-extension: publish the extension to the Chrome Web Store (#12329) by @tanzhenxin web-shell: support host settings item allowlists (#12328) by <a class="user-

