Original release notes
Highlights
See the complete change list below.
Breaking Changes
Complete Change List
Features
- feat(workflows): let agent() narrow a subagent to an explicit tool allowlist (#12051) by @qqqys
- feat: select the OpenAI wire API per model (#11538) by @tanzhenxin
- feat(core): identify hook invocations in progress events and announce the message bus (#12075) by @qqqys
- feat(external-context): Support configurable Mem0 providers (#9952) by @yiliang114
- feat(web-shell): support host settings item exclusions (#11975) by @Lilian0122
- feat(web-shell): fold oversized pastes into an attachment card (#12084) by @ytahdn
- feat(browser-use): add Playwright-based Browser SDK (#11241) by @tanzhenxin
- feat(workflows): add a name-only lock that restricts the Workflow tool to named workflows (#12078) by @qqqys
- feat(web-shell): manage git remotes from the workspace branch picker (#11163) by @wenshao
- feat(cli): write Goal state records into session exports (#12099) by @qqqys
- feat(goal): judge terminal proposals from the transcript tail (#12105) by @qqqys
- feat(web-shell): add PWA installability and Android development shell (#11722) by @jabrailkhalil
- feat(core): define enabled and disabledReason in the hooks listing (#12139) by @qqqys
- feat(core): export hook event display metadata and pure timeout helpers (#12138) by @qqqys
- feat(browser-use): add Chrome Native Messaging relay (#11242) by @tanzhenxin
- feat(workflows): record a checkpoint for every run and surface runs a restart interrupted (#12159) by @qqqys
- feat(web-shell): render the compression outcome from structured meta (#12141) by @ytahdn
- feat(core): add container execution for subagents (#11711) by @wenshao
- feat(web-shell): draw the commit history as a lane graph, across all branches, with search (#12152) by @wenshao
- feat(live): admit the Web Shell as a browser Live Host (#12166) by @qqqys
- feat(web-shell): add per-turn satisfied / not satisfied marks (#12174) by @ytahdn
- feat(live): resolve the Live Voice model from a realtimeOnly modelProviders route (#12173) by @qqqys
- feat(web-shell): publish the package with the cli release (#12178) by @yiliang114
- feat(core): assemble the system prompt from the resident tool set (#12145) by @yiliang114
- feat(web-shell): hold a Live Voice call from the browser (#12189) by @qqqys
- feat(web-shell): show a Goal's turn and active-time ceilings on the status strip (#12201) by @qqqys
- feat(serve): let users stop workspace runtimes to release ACP capacity (#12008) by @doudouOUC
- feat(web-shell): move the Plan entry into the composer add menu (#12218) by @wenshao
Bug Fixes
fix(ci): wait for the published export renderer before packaging the VSIX (#12036) by @yiliang114 fix(web-shell): stop dropping the daemon credential on two navigation paths (#12011) by @yiliang114 fix(acp): restore managed auto-memory extraction (#12018) by @yiliang114 fix(cli): close twelve OpenTUI parity gaps found against ink (#11806) by @chiga0 fix(core): count Stop-hook blocks across tool round trips (#12062) by @qqqys fix(core): avoid false interruption after completed slash commands (#12052) by @ytahdn fix(web-shell): restore context usage after page refresh (#12070) by @ytahdn fix(desktop): wait out the daemon drain before removing the smoke workspace (#12049) by @yiliang114 fix(core,cli): green the Windows lane's three remaining failures (#12063) by @yiliang114 fix(ci): wait for the release on npm before dispatching the benchmark (#12086) by @yiliang114 fix(extensions): show progress and clear the update flag after an update (#11886) by @yiliang114 fix(acp): preserve user resource links in transcript replay (#12088) by @XIQIXIQIXIQI fix(core): load system-scope hooks under their own source ( #1207

