<!-- Release notes generated using configuration in .github/release.yml at release/v0.19.3 -->
## What's Changed
* fix(core): allow web_fetch JSON fallback by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5660
* chore(release): v0.19.2 by @qwen-code-ci-bot in https://github.com/QwenLM/qwen-code/pull/5830
* ci: split platform test matrix into named jobs so PRs can enter the merge queue by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5833
* fix(ide): validate QWEN_CODE_IDE_SERVER_PORT before reading lock file by @mvanhorn in https://github.com/QwenLM/qwen-code/pull/5805
* fix(core): add streaming inactivity timeout to the OpenAI pipeline by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5827
* fix(cli): prevent scroll snap-back and flicker in non-VP mode during multi-agent runs by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5799
* feat(serve): Add daemon workspace voice and control APIs by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5765
* feat(cli): Add skill usage stats by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5826
* feat(memory): confirm auto-generated skills before persisting by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/5616
* fix(cli): cancel pending self-paced loop wakeups on user abort by @qqqys in https://github.com/QwenLM/qwen-code/pull/5808
* fix(core): preserve reasoning_content when merging assistant turns by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5815
* feat(cli): Show model thinking intent in loading indicator by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5668
* ci: give each CI job one home in the merge-queue flow by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5842
* fix(web-shell): stabilize active prompt loading state by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5818
* Revert "feat(cli): Show model thinking intent in loading indicator" by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5846
* ci(release): make release flow merge-queue-safe and keep release PRs out of notes by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5832
* ci: add `@qwen-code /resolve` by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5779
* fix(cli): stop repeated duplicate provider responses by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5657
* test(cli): add daemon startup benchmark by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5825
* docs: add vertex-ai auth, missing commands, and qc-helper index entries by @DragonnZhang in https://github.com/QwenLM/qwen-code/pull/5727
* feat(core): decouple /remember from auto-extract, stop writing to QWEN.md by @callmeYe in https://github.com/QwenLM/qwen-code/pull/5814
* fix(web-shell): defer transcript-appending local commands while a turn streams by @carffuca in https://github.com/QwenLM/qwen-code/pull/5822
* feat(web-shell): enhance assistant markdown tables with Excel-style interactions by @jifeng in https://github.com/QwenLM/qwen-code/pull/5650
* ci(triage): run triage on the self-hosted ECS pool instead of GitHub-hosted by @wenshao in https://github.com/QwenLM/qwen-code/pull/5851
* feat(cli): enable built-in status line preset by default for new users by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5792
* feat(config): map provider id to SDK protocol via providerProtocol (#5758) by @qqqys in https://github.com/QwenLM/qwen-code/pull/5793
* feat(telemetry): Make sensitive span attribute limit configurable by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5804
* fix(packaging): bundle audio capture for mirror installs by @qqqys in https://github.com/QwenLM/qwen-code/pull/5747
* feat(core): QWEN_STREAM_IDLE_TIMEOUT_MS env knob for the stream idle timeout by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5845
* feat(cli): support a user-configurable keyterms file for voice dictation by @qqqys in https://github.com/QwenLM/qwen-code/pull/5817
* fix(core): reject userinfo URLs in WebFetch validation by @VectorPeak in https://github.com/QwenLM/qwen-code/pull/5783
* ci: route the merge queue's Linux jobs onto ECS by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5854
* feat(cli): simplify auto mode startup text and remove emoji (#4584) by @ZijianZhang989 in https://github.com/QwenLM/qwen-code/pull/5824
* feat(web-shell): show duration on finished thinking summary by @wenshao in https://github.com/QwenLM/qwen-code/pull/5864
* test(cli): raise i18n ToolMessage test timeout to 15s to stop merge-queue flake by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5858
* ci: take CodeQL and E2E off the per-merge push path by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5859
* ci(qwen-resolve): run the /resolve job on a hosted runner by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5862
* feat(tui): partition tool display by type — collapse read/search, show mutation tools individually by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5661
* fix(cli): make alt+t expand thinking on macOS Option-compose terminals by @chiga0 in https://github.com/QwenLM/qwen-code/pull/5872
* feat(mcp): reconcile MCP servers live on settings change by @water-in-stone in https://github.com/QwenLM/qwen-code/pull/5561
* ci(qwen-resolve): support fork PRs and slim /resolve to conflict-only by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5870
* feat(serve): query a single session's status by id by @samuelhsin in https://github.com/QwenLM/qwen-code/pull/5857
* chore(cli): drop redundant home-directory startup warning by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5839
* fix(cli): show ⌥T instead of alt+T on macOS for thinking expansion by @Alex-ai-future in https://github.com/QwenLM/qwen-code/pull/5802
* feat(core): make self-paced /loop lean on monitor/background-task notifications by @qqqys in https://github.com/QwenLM/qwen-code/pull/5844
* fix(cli): improve token speed accounting by @seekskyworld in https://github.com/QwenLM/qwen-code/pull/5811
* fix(core): stream chat-compression side-query to survive gateway timeout by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5865
* perf(cli): skip spawnSync wrapper for `qwen serve` by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5874
* fix(web-shell): reword the Chinese tool-group summary (执行了 → 调用了) by @wenshao in https://github.com/QwenLM/qwen-code/pull/5876
* feat(cli): tighten response timestamp consistency and tests by @ZijianZhang989 in https://github.com/QwenLM/qwen-code/pull/5850
* fix(release): skip dist/node_modules when building standalone archives by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5878
* fix(test): raise timeout for cold-import suites to stop CI flake by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5880
* ci: isolate per-run agent state for triage and PR review by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5885
* feat(core): add bundled extension creator skill by @callmeYe in https://github.com/QwenLM/qwen-code/pull/5828
* feat(cli): support @extension mention in input autocomplete by @callmeYe in https://github.com/QwenLM/qwen-code/pull/5849
* refactor(cli): Split serve server routes by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5809
* feat(cua-driver): vendor qwen-cua-driver with opt-in 0–1000 relative coordinates by @LaZzyMan in https://github.com/QwenLM/qwen-code/pull/5896
* feat(web-shell): polish chat UI by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5893
* feat(telemetry): wire recordApiRequestBreakdown into endLLMRequestSpan (Phase 4c) by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5904
* feat(web-shell): browse MCP server resources in the /mcp dialog by @wenshao in https://github.com/QwenLM/qwen-code/pull/5879
* feat(web-shell): allow host to override streaming loading phrases by @carffuca in https://github.com/QwenLM/qwen-code/pull/5900
* fix(core): tree-kill PTY shell tree on Windows to stop pwsh leak (#5873) by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5892
* [codex] test(ci): cover post-merge review follow-ups by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5899
* fix(core): ignore IDE configs from other workspaces by @seekskyworld in https://github.com/QwenLM/qwen-code/pull/5807
* fix(cli): wrap tool call descriptions instead of truncating by @Alex-ai-future in https://github.com/QwenLM/qwen-code/pull/5891
* fix(serve): reject negative cleanupPeriodDays values by @russeell in https://github.com/QwenLM/qwen-code/pull/5906
* fix(desktop): reject unsafe source slugs before deletion by @VectorPeak in https://github.com/QwenLM/qwen-code/pull/5829
* feat(web-shell): stream-highlight code blocks and fix fence-language aliases by @carffuca in https://github.com/QwenLM/qwen-code/pull/5869
* fix(core): clear tool display after completion errors by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5916
* fix(desktop): harden remaining source path validation by @VectorPeak in https://github.com/QwenLM/qwen-code/pull/5914
* fix(core): preserve rewind parents after resume by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5923
* Fix mid-input skill command completion by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5898
* fix(core): parse workflow stall env as decimal seconds by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5930
* fix(cli): align MCP dialog border by @shenyankm in https://github.com/QwenLM/qwen-code/pull/5935
* fix(core): improve cron tool search intents by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5927
* fix(core): silence unknown schema format warnings by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5915
* fix(core): stop computer use driver when idle by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5925
* feat(core): warn before foreground shell timeout by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5918
* feat(web-shell): add manual toggle for enhanced markdown tables by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5917
* fix(core): stop repeated truncated write_file/edit retries from looping by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5934
* refactor(cli): Split serve server assembly by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5937
* feat(memory): add a git-shared team memory tier by @qqqys in https://github.com/QwenLM/qwen-code/pull/5886
* feat(web-shell): add workspace session sidebar by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5931
* feat(cli): add /model --vision for a fallback vision model by @yiliang114 in https://github.com/QwenLM/qwen-code/pull/5778
* feat(cli): show scheduled task count in footer by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5921
* perf(cli): enable compile cache and defer getCliVersion for serve by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5938
* docs: add provider preset governance policy to CONTRIBUTING.md by @pomelo-nwu in https://github.com/QwenLM/qwen-code/pull/5631
* feat(acp): support /cd command in ACP sessions by @doudouOUC in https://github.com/QwenLM/qwen-code/pull/5903
* Upgrade GitHub Actions to latest versions by @salmanmkc in https://github.com/QwenLM/qwen-code/pull/3683
* feat(channels): register Telegram bot command menu by @tt-a1i in https://github.com/QwenLM/qwen-code/pull/5919
* fix(core): preserve the selected model when re-applying a provider install plan by @lcheng321 in https://github.com/QwenLM/qwen-code/pull/5835
* fix(serve): reject non-positive sessionRecapAwayThresholdMinutes values by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5945
* feat(web-shell): add error boundaries so a render crash can't white-screen the embed by @carffuca in https://github.com/QwenLM/qwen-code/pull/5943
* feat(web-shell): add mobile responsive view for TodoPanel by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5948
* feat(web-shell): add 'voice' to ComposerToolbarAction for external visibility control by @ytahdn in https://github.com/QwenLM/qwen-code/pull/5947
* fix(core): isolate Anthropic SDK abort listener leak with per-request child controllers by @he-yufeng in https://github.com/QwenLM/qwen-code/pull/5946
* fix(desktop): normalize source slug validation errors by @VectorPeak in https://github.com/QwenLM/qwen-code/pull/5911
## New Contributors
* @VectorPeak made their first contribution in https://github.com/QwenLM/qwen-code/pull/5783
* @samuelhsin made their first contribution in https://github.com/QwenLM/qwen-code/pull/5857
* @seekskyworld made their first contribution in https://github.com/QwenLM/qwen-code/pull/5811
**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.19.2...v0.19.3