What's Changed
- feat(web-shell): show git state hints beside branch picker actions by @wenshao in #10397
- feat(review): emit the Step 3A fan-out as a generated workflow script by @qqqys in #10119
- fix(core): keep the ask_user_question dialog behind allow rules and auto-approval by @qqqys in #10160
- fix(cli): derive bootstrap --help from shared option definitions by @yiliang114 in #8902
- feat(serve): hide workspace Browse on headless daemon hosts by @qqqys in #9406
- fix(core): prevent Anthropic streams from hanging indefinitely by @yiliang114 in #9945
- docs(design): OpenTUI migration design and architecture notes by @chiga0 in #10343
- feat(daemon): support scoped workspace memory tasks by @qqqys in #9895
- fix(autofix): surface thread-resolution guard refusals in the round report and wait out head-propagation lag by @wenshao in #10117
- fix(core): expose resolved agent execution mode by @DragonnZhang in #9955
- fix(core): accept contained symlinks in the older-Git archive fallback by @harjothkhara in #9969
- ci: host PR evidence outside Git by @yiliang114 in #9985
- refactor(sdk): break auth flow client cycle by @DragonnZhang in #10039
- fix(core): stop daemon Configs and background work from hijacking the debug-log session by @tomsen02 in #9930
- perf(review): dedup candidates against the carried ledger before the verify shard by @wenshao in #10121
- feat(web-shell): add Local Control QR code entry to pane header by @wenshao in #10432
- fix(core): scan archived sessions in findSessionTitlesByPrefix by @harjothkhara in #10032
- feat(autofix): consume the review convergence signals — a circuit breaker for the takeover loop by @wenshao in #10122
- fix(core): honor agent-definition model routes for named teammates by @yiliang114 in #10092
- refactor(core): centralize JSON tag-character escaping by @AaronZ345 in #9917
- feat(web-shell): optimize session overview table by @ytahdn in #10115
- fix(ci): route release pipeline Linux jobs to the ECS runner pool by @yiliang114 in #10036
- refactor(cli): remove unused MemoryUsageDisplay component by @qqqys in #10238
- feat(web-shell): add per-run scheduled task sessions by @qqqys in #10233
- fix(core): propagate filesystem cleanup failures in team_delete by @yiliang114 in #10213
- refactor(core): hold Goal sends to the caller's recursion budget, and say why the other carve-outs stay by @qqqys in #10259
- fix(test): probe the native directory picker once at daemon spawn time by @yiliang114 in #10456
- test(sdk-java): close the connection on body-less fixture responses by @wenshao in #10472
- fix(serve): advertise the native directory picker during bootstrap by @wenshao in #10471
- fix(core): settle a cancelled workflow at once, and size the window by usable CPUs by @qqqys in #10468
- fix(web-shell): replace the boot white screen with a recoverable error state by @harjothkhara in #10215
- refactor(sdk): break ACP route table cycle by @DragonnZhang in #10040
- fix(ci): recover protected qwen leftovers before checkout by @yiliang114 in #10214
- fix(core): Preserve fire-and-forget hooks after exit by @doudouOUC in #10288
- fix(web-shell): keep pinned sessions visible in their sidebar group sections by @yiliang114 in #10416
- fix(sdk-python): support large stream-json messages by @lwind233 in #9337
- feat(serve): stop enforcing public-only extension network policy by @callmeYe in #10156
- refactor(core): Extract MCP server config into a dedicated module by @DragonnZhang in #9496
- feat(core): address other sessions by name from send_message and list_agents by @qqqys in #10158
- fix(test): make the queued-submission drain reachable through a rendered AppContainer by @yiliang114 in #10436
- fix(sdk-python): repair import ordering to fix Ruff CI (#10496) by @qwen-code-dev-bot in #10505
- fix(cli): scope startup warnings to dev sessions by @xianjianlf2 in #8456
- fix(core): do not claim a question host in stream-json direct mode by @tonydzi in #9414
- fix(daemon): Cancel timed-out session initialization by @doudouOUC in #10268
- fix(core): remove ghost members from persisted team roster after failed concurrent spawn by @yiliang114 in #10223
- feat(web-shell): Add explicit daemon session contexts by @doudouOUC in #10418
- fix(cli): make @ completion category tabs clickable by @destire-mio in #8395
- fix(vscode-ide-companion): anchor model selector dropdown to input form by @yiliang114 in #9702
- fix(cli): keep Windows IME composition readable by @bluefateludi in #9803
- fix(sdk): support relative daemon base URLs in remaining workspace file helpers by @shoemoney in #9817
- fix(cli): clean shell abort listener on sync errors by @AaronZ345 in #9849
- feat(core): report compression API failures distinctly by @xianjianlf2 in #9119
- docs(java): correct closed session exception by @AaronZ345 in #9859
- fix(cli): infer keyless Vertex AI auth by @KXHXK in #9045
- feat(triage): assign one accountable owner when a PR opens, and when deferring by @yiliang114 in #9813
- refactor(vscode-ide-companion): migrate chat to WebShell and qwen serve by @yiliang114 in #9811
- fix(cli): align provider update model messaging by @rbalachandar in #9023
- test(integration): wait for ACP command update notification by @yiliang114 in #10516
- fix(config): remove dead dynamic command translation setting by @destire-mio in #8754
- fix(scripts): remove never actually supported npm "--parallel" flag by @imrehg in #8725
- fix(cli): handle Windows filesystem identity semantics by @yiliang114 in #10440
- fix(serve): allow dotdot-prefixed cwd subdirectories by @AaronZ345 in #9848
- fix(cli): reject symlinked screenshot paths on win32 in capture_screen_context by @zhou2024NAU in #9847
- docs(users): add evidence-based-conclusions recipe to common workflows by @Dmatut7 in #8702
- fix(core): avoid LM Studio grammar failure by @mredbishop in #10275
- fix(acp): route-scope the session token-limit cache in Session.ts by @yiliang114 in #9862
- fix(channel): preserve source metadata on resume by @AaronZ345 in #10257
- fix(core): stop forcing DeepSeek temperature by @AaronZ345 in #9879
- fix(core): disambiguate send_message destinations by @Sumire-no-kai in #10083
- fix(cli): deliver teammate messages at tool-round boundaries, not whole-task end by @yiliang114 in #9638
- fix(cli): optimize repeated inline image rendering by @zjunothing in #8789
- feat(core): forward bounded MCP tool arguments to the AUTO-mode classifier by @qqqys in #10352
- fix(serve): prefer a usable issuer over an expired same-subject twin by @qqqys in #10042
- test(web-shell): mock the provider module main.tsx actually imports in the boot test by @wenshao in #10526
- fix(core): Preserve ownership during session cleanup by @doudouOUC in #10300
- fix(serve): Hot-reload runtime model providers by @doudouOUC in #10269
- feat(serve): Enable full API access on trusted loopback by @doudouOUC in #10403
- test(web-shell): fix daemon SDK mock path by @yiliang114 in #10545
- feat(channels): Attribute named task output by @doudouOUC in #10420
- test(cli): stabilize session deadline boundary test by @yiliang114 in #10556
- ci: stabilize tests under shared ECS host contention by @yiliang114 in #10552
- fix(core): tolerate HTTP 404 on the optional Streamable HTTP GET SSE probe by @harjothkhara in #10091
- feat(web-shell): show workspace overview and a workspace menu in the sidebar by @wenshao in #10407
- docs(serve): Document tool PATH for managed daemons by @doudouOUC in #10576
- feat(serve): expose Workflow tasks and controls by @qqqys in #10411
- fix(sdk): Surface daemon JSON-RPC error details by @doudouOUC in #10571
- ci: apply shared-runner integration limits to release by @yiliang114 in #10592
- fix(serve): surface provider error detail in turn_error messages by @doudouOUC in #10569
- feat(cli): OpenTUI migration foundation batch — theme, a11y, clipboard, keys, dialogs scaffolding by @chiga0 in #10146
- fix(sdk): bump the browser daemon bundle budget to 216KB by @chiga0 in #10602
- fix(ci): make the Release workflow dispatchable by @yiliang114 in #10598
- fix(ci): run /resolve without the container sandbox and pin its CLI version by @wenshao in #10428
- test: harden release timing-sensitive waits by @yiliang114 in #10615
- feat(channels): Enable concurrent named task control by @doudouOUC in #10574
- fix(ci): coordinate Docker sandbox workloads on shared ECS hosts by @yiliang114 in #10605
- fix(ci): align non-Linux Vitest unhandled-error handling across unit suites by @qwen-code-dev-bot in #10443
- feat(web-shell): allow copying terminal turn errors by @Wkewen in #10001
- fix(ci): recover /resolve requests lost to moved heads, fork pushes, 503s and drafts by @wenshao in #10429
- feat(serve): establish workspace runtime ownership by @ytahdn in #10593
- feat: manage workspace-scoped extension skill state by @callmeYe in #10600
- fix(core): keep no-follow reads protected where O_NOFOLLOW is missing by @yiliang114 in #10007
- feat(config): let operators size or disable the Goal token budget by @qqqys in #10543
- fix(sdk): make daemon browser bundle size advisory by @yiliang114 in #10630
- feat(core): remind the model of the active output style every turn by @qqqys in #10282
- fix(cli): shorten sandbox hostname for image-ID container names by @yiliang114 in #10624
- fix(ci): gate no-AK installs on disk capacity by @yiliang114 in #10539
- fix(ci): retain disk samples when npm install fails by @yiliang114 in #10517
- fix(cli): preserve existing skill on reinstall rename failure by @yiliang114 in #10189
- feat(external-context): Load administrator-owned Mem0 dialects by @doudouOUC in #10634
- fix(web-shell): release final footer after background agent completion by @dreamWB in #10503
- fix(vscode): restore native diff approval after WebShell cutover by @yiliang114 in #10534
- fix(serve): add opt-in prompt-settled close grace for poll-based SSE clients by @chiga0 in #10344
New Contributors
- @lwind233 made their first contribution in #9337
- @tonydzi made their first contribution in #9414
- @bluefateludi made their first contribution in #9803
- @shoemoney made their first contribution in #9817
- @KXHXK made their first contribution in #9045
- @imrehg made their first contribution in #8725
- @Dmatut7 made their first contribution in #8702
- @mredbishop made their first contribution in #10275
- @Sumire-no-kai made their first contribution in #10083
- @Wkewen made their first contribution in #10001
Full Changelog: v0.22.3...v0.22.3-nightly.20260831.3a0c4c6108