What's Changed
- feat(daemon): Trace cold first-session startup by @doudouOUC in #6907
- fix(serve): Harden multi-workspace ownership guards by @doudouOUC in #7005
- docs(serve): Close multi-workspace hardening gaps by @doudouOUC in #7019
- feat(web-shell): add archived session export by @doudouOUC in #6910
- fix: bound usage-only streams and abort on quit by @yiliang114 in #7038
- fix(acp): disambiguate model routes by @yiliang114 in #7028
- refactor(web-shell): drop redundant primary-workspace label by @wenshao in #7035
- test(web-shell): make visual-preview captures deterministic + add workspace-sidebar scenario by @wenshao in #7041
- fix(web-shell): batch transcript dispatch to avoid tab-return freeze by @wenshao in #7012
- fix(core): Require explicit approval to exit Plan mode by @doudouOUC in #6967
- ci(autofix): recover from generated-artifact CI gates and stop silent stalls by @wenshao in #6998
- fix(web-shell): use formatSettingCategory for fallback UI category by @wenshao in #7055
- feat(serve): add workspace session-info aggregate endpoint by @samuelhsin in #7077
- feat(web-shell): add skill management pages by @ytahdn in #7018
- ci(autofix): run the schema gate from a trusted staged copy, not the branch tree by @wenshao in #7076
- fix(integration): add missing session_info to E2E capabilities baseline by @qwen-code-dev-bot in #7091
- feat(cli): mouse text selection and copy in VP mode by @chiga0 in #6937
- test(web-shell): align workspace sidebar visual smoke by @yiliang114 in #7107
- fix(tui): pin MaxSizedBox rows and gate the pending backstop for show-more diff (#6809) by @azurecgx in #6957
- fix(integration): harden flaky interactive read-then-write test by @wenshao in #7105
- test(cli): isolate sandbox-relaunch tests from ambient QWEN_SANDBOX_IMAGE by @wenshao in #7093
- ci(autofix): treat Suggestion-level review findings as actionable per AGENTS.md by @wenshao in #7094
- feat(channels): stamp daemon sourceId with channel instance name on created sessions by @xurik in #7078
- feat(channels): confirm natural memory mutations by @qqqys in #7066
- feat(channels): save explicit multi-fact memory safely by @qqqys in #7092
- feat(serve): Complete legacy session workspace telemetry by @doudouOUC in #7003
- fix(core): retry empty tool-result continuations by @yiliang114 in #7039
- fix(core): align planning and response guidance by @DragonnZhang in #7085
- feat(core): Enable artifact defaults and write reminders by @chiga0 in #7068
- feat(web-shell): suggest sending new-topic drafts in a new session by @carffuca in #7098
- fix(web-shell): render built-in tag icons by @callmeYe in #7024
- fix(core): force tool_choice in generateJson to prevent auto-mode classifier deadlock by @qwen-code-dev-bot in #6929
- fix(ci): notify silent triage re-runs by @yiliang114 in #7079
- fix(cli): pop the kitty keyboard protocol after leaving the alternate screen by @zjunothing in #7115
- fix(web-shell): optionally restart SSE after prompt admission by @ytahdn in #7080
- test(serve): cover session-info regressions by @samuelhsin in #7083
- fix(core): accept subagents created after startup instead of rejecting on stale cache by @zjunothing in #7112
- fix(cli): keep streaming code blocks intact when split across commits by @MikeWang0316tw in #7020
- fix(i18n): correct "extenison" typo in extension enable/disable scope help by @chinesepowered in #7057
- feat(tools): add formatDisplayPath() and wire grep/glob/ripGrep descriptions by @zjunothing in #7050
- fix(core): make the per-turn tool-call cap adaptive by @wenshao in #7052
- feat(daemon): propagate prompt IDs to turn events by @makwingchi in #7082
- fix(vscode): preserve Electron Node mode for ACP launch by @yiliang114 in #7106
- docs(cua-driver): fix broken relative-coordinate design link by @chinesepowered in #7130
- fix(core): preserve complete skill descriptions by @callmeYe in #7032
- feat(web-shell): paginate restored session history by @ytahdn in #7064
- fix(core): persist resolved subagent model in metadata by @ARE404 in #7104
- feat(web-shell): toggle the session sidebar with Cmd+B / Ctrl+B by @zjunothing in #7135
- fix(web-shell): stop stacking duplicate copies when restoring prompt text by @zjunothing in #7134
- feat(web-shell): add directory autocomplete to the Add Workspace dialog by @zjunothing in #7125
- feat(cli): support same-turn message steering by @LaZzyMan in #7090
- fix(core): retry malformed repeated thinking tags by @yiliang114 in #7100
- fix(cli): correct misspelled handleUpdateRecieved -> handleUpdateReceived by @chinesepowered in #7132
- fix(cli): hide sticky task panel when agent is idle by @qwen-code-dev-bot in #7062
- feat: support full-turn multimodal routing for image prompts by @yiliang114 in #7045
- fix(cli): keep the model override when a background notification drains by @zjunothing in #7119
- fix(core): align prompt tool examples with schemas by @DragonnZhang in #7088
- fix(cli): require a second Ctrl+C within 1s before a real SIGINT exits the TUI by @zjunothing in #7129
- fix: keep quit and stream logging reliable by @yiliang114 in #7124
- fix(ui): keep SkillReviewDialog right border inside the dialog container by @zjunothing in #7047
- fix(core): preserve existing work in system prompt by @DragonnZhang in #7087
New Contributors
- @azurecgx made their first contribution in #6957
- @makwingchi made their first contribution in #7082
- @ARE404 made their first contribution in #7104
Full Changelog: v0.19.11...v0.19.11-nightly.20260718.767a32484