From 095bd160918086a3a33192133e7923635f08f973 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 14 Jul 2026 04:59:15 +0000 Subject: [PATCH 1/2] chore(release): v0.19.10 --- package-lock.json | 40 +++++++++---------- package.json | 4 +- packages/acp-bridge/package.json | 2 +- packages/audio-capture/package.json | 2 +- packages/channels/base/package.json | 2 +- packages/channels/dingtalk/package.json | 2 +- packages/channels/feishu/package.json | 2 +- packages/channels/plugin-example/package.json | 2 +- packages/channels/qqbot/package.json | 2 +- packages/channels/telegram/package.json | 2 +- packages/channels/wecom/package.json | 2 +- packages/channels/weixin/package.json | 2 +- packages/chrome-extension/package.json | 2 +- packages/cli/package.json | 4 +- packages/core/package.json | 2 +- packages/mobile-mcp/package.json | 2 +- packages/vscode-ide-companion/package.json | 2 +- packages/web-shell/package.json | 2 +- packages/web-templates/package.json | 2 +- packages/webui/package.json | 2 +- 20 files changed, 41 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 454f89b3c17..e51797231be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@qwen-code/qwen-code", - "version": "0.19.9", + "version": "0.19.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@qwen-code/qwen-code", - "version": "0.19.9", + "version": "0.19.10", "hasInstallScript": true, "workspaces": [ "packages/*", @@ -27932,7 +27932,7 @@ }, "packages/acp-bridge": { "name": "@qwen-code/acp-bridge", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", "@qwen-code/qwen-code-core": "file:../core" @@ -27947,7 +27947,7 @@ }, "packages/audio-capture": { "name": "@qwen-code/audio-capture", - "version": "0.19.9", + "version": "0.19.10", "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.8.4" @@ -27964,7 +27964,7 @@ }, "packages/channels/base": { "name": "@qwen-code/channel-base", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1" }, @@ -27974,7 +27974,7 @@ }, "packages/channels/dingtalk": { "name": "@qwen-code/channel-dingtalk", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@qwen-code/channel-base": "file:../base", "dingtalk-stream-sdk-nodejs": "^2.0.4" @@ -27985,7 +27985,7 @@ }, "packages/channels/feishu": { "name": "@qwen-code/channel-feishu", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@larksuiteoapi/node-sdk": "^1.45.0", "@qwen-code/channel-base": "file:../base" @@ -27996,7 +27996,7 @@ }, "packages/channels/plugin-example": { "name": "@qwen-code/channel-plugin-example", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@qwen-code/channel-base": "file:../base", "ws": "^8.18.0" @@ -28010,7 +28010,7 @@ }, "packages/channels/qqbot": { "name": "@qwen-code/channel-qqbot", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@qwen-code/channel-base": "file:../base", "@tencent-connect/qqbot-connector": "^1.1.0", @@ -28022,7 +28022,7 @@ }, "packages/channels/telegram": { "name": "@qwen-code/channel-telegram", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@qwen-code/channel-base": "file:../base", "grammy": "^1.41.1", @@ -28035,7 +28035,7 @@ }, "packages/channels/wecom": { "name": "@qwen-code/channel-wecom", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@qwen-code/channel-base": "file:../base", "@wecom/aibot-node-sdk": "^1.0.7" @@ -28046,7 +28046,7 @@ }, "packages/channels/weixin": { "name": "@qwen-code/channel-weixin", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@qwen-code/channel-base": "file:../base" }, @@ -28056,7 +28056,7 @@ }, "packages/chrome-extension": { "name": "@qwen-code/chrome-bridge", - "version": "0.19.9", + "version": "0.19.10", "license": "Apache-2.0", "devDependencies": { "@types/chrome": "^0.1.32", @@ -28069,7 +28069,7 @@ }, "packages/cli": { "name": "@qwen-code/qwen-code", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", "@google/genai": "2.6.0", @@ -28317,7 +28317,7 @@ }, "packages/core": { "name": "@qwen-code/qwen-code-core", - "version": "0.19.9", + "version": "0.19.10", "hasInstallScript": true, "dependencies": { "@anthropic-ai/sdk": "^0.36.1", @@ -28491,7 +28491,7 @@ }, "packages/mobile-mcp": { "name": "@qwen-code/mobile-mcp", - "version": "0.19.9", + "version": "0.19.10", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "1.26.0", @@ -31194,7 +31194,7 @@ }, "packages/vscode-ide-companion": { "name": "qwen-code-vscode-ide-companion", - "version": "0.19.9", + "version": "0.19.10", "license": "LICENSE", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", @@ -31262,7 +31262,7 @@ }, "packages/web-shell": { "name": "@qwen-code/web-shell", - "version": "0.19.9", + "version": "0.19.10", "dependencies": { "@codemirror/autocomplete": "^6.18.0", "@codemirror/commands": "^6.7.0", @@ -31993,7 +31993,7 @@ }, "packages/web-templates": { "name": "@qwen-code/web-templates", - "version": "0.19.9", + "version": "0.19.10", "devDependencies": { "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", @@ -32500,7 +32500,7 @@ }, "packages/webui": { "name": "@qwen-code/webui", - "version": "0.19.9", + "version": "0.19.10", "license": "MIT", "dependencies": { "@qwen-code/sdk": "file:../sdk-typescript", diff --git a/package.json b/package.json index 2efad459b3f..2f04a0bb997 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code", - "version": "0.19.9", + "version": "0.19.10", "engines": { "node": ">=22.0.0" }, @@ -22,7 +22,7 @@ "url": "git+https://github.com/QwenLM/qwen-code.git" }, "config": { - "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.9" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.10" }, "scripts": { "start": "node scripts/start.js", diff --git a/packages/acp-bridge/package.json b/packages/acp-bridge/package.json index 6ba18d6c5c4..81eba83008f 100644 --- a/packages/acp-bridge/package.json +++ b/packages/acp-bridge/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/acp-bridge", - "version": "0.19.9", + "version": "0.19.10", "description": "Shared ACP bridge core (createHttpAcpBridge factory, BridgeClient, defaultSpawnChannelFactory, BridgeFileSystem injection seam) + primitives (EventBus, AcpChannel, in-memory channel, PermissionMediator interface) used by qwen serve, channels, IDE, TUI, and remote-control adapters.", "repository": { "type": "git", diff --git a/packages/audio-capture/package.json b/packages/audio-capture/package.json index 6da89e962d2..cde2b902dc0 100644 --- a/packages/audio-capture/package.json +++ b/packages/audio-capture/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/audio-capture", - "version": "0.19.9", + "version": "0.19.10", "description": "Native microphone capture backend for Qwen Code voice input", "type": "module", "main": "dist/index.js", diff --git a/packages/channels/base/package.json b/packages/channels/base/package.json index b51bee7907d..2959b90deb2 100644 --- a/packages/channels/base/package.json +++ b/packages/channels/base/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-base", - "version": "0.19.9", + "version": "0.19.10", "description": "Base channel infrastructure for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/channels/dingtalk/package.json b/packages/channels/dingtalk/package.json index ddbcdc0498b..4039a0418f8 100644 --- a/packages/channels/dingtalk/package.json +++ b/packages/channels/dingtalk/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-dingtalk", - "version": "0.19.9", + "version": "0.19.10", "description": "DingTalk channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/channels/feishu/package.json b/packages/channels/feishu/package.json index de305a75b48..10769068e93 100644 --- a/packages/channels/feishu/package.json +++ b/packages/channels/feishu/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-feishu", - "version": "0.19.9", + "version": "0.19.10", "description": "Feishu (Lark) channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/channels/plugin-example/package.json b/packages/channels/plugin-example/package.json index facaeb603e2..ad1c7e6b9a2 100644 --- a/packages/channels/plugin-example/package.json +++ b/packages/channels/plugin-example/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-plugin-example", - "version": "0.19.9", + "version": "0.19.10", "private": true, "type": "module", "main": "dist/index.js", diff --git a/packages/channels/qqbot/package.json b/packages/channels/qqbot/package.json index f0bc83f3911..cf864a3d37b 100644 --- a/packages/channels/qqbot/package.json +++ b/packages/channels/qqbot/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-qqbot", - "version": "0.19.9", + "version": "0.19.10", "description": "QQ Bot (QQ机器人) channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/channels/telegram/package.json b/packages/channels/telegram/package.json index 2acea29db5a..62865496ae3 100644 --- a/packages/channels/telegram/package.json +++ b/packages/channels/telegram/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-telegram", - "version": "0.19.9", + "version": "0.19.10", "description": "Telegram channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/channels/wecom/package.json b/packages/channels/wecom/package.json index c47f026e21e..1274e7ba108 100644 --- a/packages/channels/wecom/package.json +++ b/packages/channels/wecom/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-wecom", - "version": "0.19.9", + "version": "0.19.10", "description": "WeCom channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/channels/weixin/package.json b/packages/channels/weixin/package.json index 40779497a6e..ac56c25b82e 100644 --- a/packages/channels/weixin/package.json +++ b/packages/channels/weixin/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-weixin", - "version": "0.19.9", + "version": "0.19.10", "description": "WeChat (Weixin) channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/chrome-extension/package.json b/packages/chrome-extension/package.json index 598794e1605..54f1092c1ac 100644 --- a/packages/chrome-extension/package.json +++ b/packages/chrome-extension/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/chrome-bridge", - "version": "0.19.9", + "version": "0.19.10", "description": "Chrome extension bridge for Qwen CLI - enables AI-powered browser interactions", "private": true, "repository": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 6ef96fbf5ea..0bec751564a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code", - "version": "0.19.9", + "version": "0.19.10", "description": "Qwen Code", "repository": { "type": "git", @@ -37,7 +37,7 @@ "dist" ], "config": { - "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.9" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.10" }, "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", diff --git a/packages/core/package.json b/packages/core/package.json index 8e3f0ebd531..9d8c61f4df8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code-core", - "version": "0.19.9", + "version": "0.19.10", "description": "Qwen Code Core", "repository": { "type": "git", diff --git a/packages/mobile-mcp/package.json b/packages/mobile-mcp/package.json index b46fcbd8577..851d9df33e6 100644 --- a/packages/mobile-mcp/package.json +++ b/packages/mobile-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/mobile-mcp", - "version": "0.19.9", + "version": "0.19.10", "description": "Mobile MCP with opt-in relative coordinate support", "repository": { "type": "git", diff --git a/packages/vscode-ide-companion/package.json b/packages/vscode-ide-companion/package.json index 1f26a4acb4a..ea4e31b8295 100644 --- a/packages/vscode-ide-companion/package.json +++ b/packages/vscode-ide-companion/package.json @@ -2,7 +2,7 @@ "name": "qwen-code-vscode-ide-companion", "displayName": "Qwen Code Companion", "description": "Enable Qwen Code with direct access to your VS Code workspace.", - "version": "0.19.9", + "version": "0.19.10", "publisher": "qwenlm", "icon": "assets/icon.png", "repository": { diff --git a/packages/web-shell/package.json b/packages/web-shell/package.json index dbeddd50f08..6245f614322 100644 --- a/packages/web-shell/package.json +++ b/packages/web-shell/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/web-shell", - "version": "0.19.9", + "version": "0.19.10", "type": "module", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/web-templates/package.json b/packages/web-templates/package.json index 827cf1a927e..2f11e7c767e 100644 --- a/packages/web-templates/package.json +++ b/packages/web-templates/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/web-templates", - "version": "0.19.9", + "version": "0.19.10", "description": "Web templates bundled as embeddable JS/CSS strings", "repository": { "type": "git", diff --git a/packages/webui/package.json b/packages/webui/package.json index ea02b1059b1..94529bbb574 100644 --- a/packages/webui/package.json +++ b/packages/webui/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/webui", - "version": "0.19.9", + "version": "0.19.10", "description": "Shared UI components for Qwen Code packages", "type": "module", "main": "./dist/index.cjs", From 28ab9219f43e8504cf76651ef78676607cfb924f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 14 Jul 2026 05:09:22 +0000 Subject: [PATCH 2/2] docs(changelog): sync for v0.19.10 --- CHANGELOG.md | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04c88242885..739a5100bd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,143 @@ are listed; nightly and preview pre-releases are intentionally omitted. > [GitHub Releases](https://github.com/QwenLM/qwen-code/releases). Do not edit it > by hand — run `npm run changelog` to regenerate. +## [0.19.10](https://github.com/QwenLM/qwen-code/releases/tag/v0.19.10) - 2026-07-14 + +### Added + +- cli: forward ask_user_question answers from SDK can_use_tool ([#6655](https://github.com/QwenLM/qwen-code/pull/6655)) +- dingtalk: mention response senders ([#6679](https://github.com/QwenLM/qwen-code/pull/6679)) +- web-shell: add artifact right panel ([#6591](https://github.com/QwenLM/qwen-code/pull/6591)) +- cli: workspace-qualified ACP transport (daemon multi-workspace phase 4) ([#6621](https://github.com/QwenLM/qwen-code/pull/6621)) +- web-shell: add mobile welcome composer slots ([#6584](https://github.com/QwenLM/qwen-code/pull/6584)) +- sdk: add control request methods for effort, models, usage, context ([#6492](https://github.com/QwenLM/qwen-code/pull/6492)) +- cli: show full reasoning content when expanding thinking blocks during streaming ([#6678](https://github.com/QwenLM/qwen-code/pull/6678)) +- web-shell: add scheduled task prompt references ([#6589](https://github.com/QwenLM/qwen-code/pull/6589)) +- cli: add project-scoped prompt stash ([#6709](https://github.com/QwenLM/qwen-code/pull/6709)) +- core: add unified session recovery planning ([#6731](https://github.com/QwenLM/qwen-code/pull/6731)) +- cli: improve subagent observability — untruncated live commands, transcript path, approval context ([#6580](https://github.com/QwenLM/qwen-code/pull/6580)) +- cli: group daemon channel workers by workspace (phase 4b) ([#6635](https://github.com/QwenLM/qwen-code/pull/6635)) +- hooks: add MessageDisplay hook for mid-turn streaming ([#6489](https://github.com/QwenLM/qwen-code/pull/6489)) +- web-shell: add cell value dialog on double-click in markdown tables ([#6530](https://github.com/QwenLM/qwen-code/pull/6530)) +- serve: Expose read-only untrusted session catalogs ([#6717](https://github.com/QwenLM/qwen-code/pull/6717)) +- serve: persist dynamic workspace registrations ([#6716](https://github.com/QwenLM/qwen-code/pull/6716)) +- web-shell: render composer references in user messages ([#6537](https://github.com/QwenLM/qwen-code/pull/6537)) +- channels: recover daemon sessions after restarts ([#6680](https://github.com/QwenLM/qwen-code/pull/6680)) +- web-shell: show current git branch in composer toolbar ([#6725](https://github.com/QwenLM/qwen-code/pull/6725)) +- core: add configurable default timeout for foreground shell commands ([#6628](https://github.com/QwenLM/qwen-code/pull/6628)) +- sdk: expose transport and query options in both SDKs ([#6491](https://github.com/QwenLM/qwen-code/pull/6491)) +- web-shell: make session sidebar configurable ([#6750](https://github.com/QwenLM/qwen-code/pull/6750)) +- serve: add workspace persisted transcript reader ([#6740](https://github.com/QwenLM/qwen-code/pull/6740)) +- web-shell: support custom Hex session group colors ([#6752](https://github.com/QwenLM/qwen-code/pull/6752)) +- web-shell: improve composer model selector ([#6758](https://github.com/QwenLM/qwen-code/pull/6758)) +- review: procedural correctness finders, effort levels, and posting/verify guardrails ([#6711](https://github.com/QwenLM/qwen-code/pull/6711)) +- web-shell: flesh out the multi-workspace split view (cross-workspace sessions, workspace labels, responsive layout) ([#6746](https://github.com/QwenLM/qwen-code/pull/6746)) +- web-shell: aggregate scheduled tasks across all workspaces ([#6759](https://github.com/QwenLM/qwen-code/pull/6759)) +- web-shell: support custom composer placeholders ([#6765](https://github.com/QwenLM/qwen-code/pull/6765)) +- release: generate AI-assisted release notes ([#6756](https://github.com/QwenLM/qwen-code/pull/6756)) +- web-shell: add shadcn UI foundation ([#6760](https://github.com/QwenLM/qwen-code/pull/6760)) +- web-shell: show sub-agents as a chronological transcript with a parallel-agent timeline ([#6772](https://github.com/QwenLM/qwen-code/pull/6772)) +- cli: Add runtime daemon channel control ([#6741](https://github.com/QwenLM/qwen-code/pull/6741)) +- serve: Bound persisted transcript pages ([#6769](https://github.com/QwenLM/qwen-code/pull/6769)) +- web-shell: add session created callback ([#6703](https://github.com/QwenLM/qwen-code/pull/6703)) +- serve: expose skill installation paths ([#6811](https://github.com/QwenLM/qwen-code/pull/6811)) +- web-shell: modernize multi-workspace sidebar ([#6804](https://github.com/QwenLM/qwen-code/pull/6804)) +- web-shell: refresh settings page with shadcn ([#6817](https://github.com/QwenLM/qwen-code/pull/6817)) +- web-shell: editable user-scope settings and in-panel model management ([#6768](https://github.com/QwenLM/qwen-code/pull/6768)) +- serve: support multi-workspace rewind and shell ([#6826](https://github.com/QwenLM/qwen-code/pull/6826)) +- serve: support runtime workspace removal ([#6745](https://github.com/QwenLM/qwen-code/pull/6745)) +- review: capture untracked files, resolve anchors from snippets, and gate posting in code ([#6771](https://github.com/QwenLM/qwen-code/pull/6771)) +- triage: add confidence score, sequence diagram, files overview, and review footer to PR comments ([#6789](https://github.com/QwenLM/qwen-code/pull/6789)) +- subagents: make Explore inherit the main model by default ([#6807](https://github.com/QwenLM/qwen-code/pull/6807)) +- serve: add model API error & retry metrics to daemon status ([#6837](https://github.com/QwenLM/qwen-code/pull/6837)) +- daemon: add workspace skill toggle API ([#6816](https://github.com/QwenLM/qwen-code/pull/6816)) +- providers: add xAI Grok provider preset ([#6805](https://github.com/QwenLM/qwen-code/pull/6805)) +- serve: add extension management v2 ([#6825](https://github.com/QwenLM/qwen-code/pull/6825)) +- serve: Add workspace-qualified Voice ([#6839](https://github.com/QwenLM/qwen-code/pull/6839)) +- serve: Add workspace-qualified session export ([#6844](https://github.com/QwenLM/qwen-code/pull/6844)) +- web-shell: add selection statistics to markdown tables ([#6838](https://github.com/QwenLM/qwen-code/pull/6838)) + +### Changed + +- core: revert malformed streamed response retry logic ([#6783](https://github.com/QwenLM/qwen-code/pull/6783)) +- review: run the test-efficacy probe in a disposable worktree ([#6836](https://github.com/QwenLM/qwen-code/pull/6836)) +- review: share the probe-worktree path helper; harden the stale-tree sweep ([#6841](https://github.com/QwenLM/qwen-code/pull/6841)) + +### Fixed + +- core: keep YOLO mode when the model calls enter_plan_mode ([#6630](https://github.com/QwenLM/qwen-code/pull/6630)) +- cli: localize approval mode UI labels ([#6592](https://github.com/QwenLM/qwen-code/pull/6592)) +- channels: suppress nested subagent output ([#6696](https://github.com/QwenLM/qwen-code/pull/6696)) +- release: raise prepared package size limit to 96 MB (#6687) ([#6691](https://github.com/QwenLM/qwen-code/pull/6691)) +- interactive: configure Docker sandbox networking for protocol tag retry test (#6690) ([#6692](https://github.com/QwenLM/qwen-code/pull/6692)) +- vscode-companion: don't override cursorPosition=0 to text.length ([#2971](https://github.com/QwenLM/qwen-code/pull/2971)) +- cli: run periodic memory-pressure check in interactive UI to prevent OOM on quit ([#6682](https://github.com/QwenLM/qwen-code/pull/6682)) +- mobile-mcp: strip bounds with negative coordinates from ui dump ([#6624](https://github.com/QwenLM/qwen-code/pull/6624)) +- core: retry leaked protocol turns in recovery paths ([#6683](https://github.com/QwenLM/qwen-code/pull/6683)) +- tests: sync qwen-resolve-workflow test expectations with PR #6706 ([#6720](https://github.com/QwenLM/qwen-code/pull/6720)) +- core: use consistent error response for plan mode blocked tools ([#6667](https://github.com/QwenLM/qwen-code/pull/6667)) +- cli: add Approve button to /mcp server detail for pending/rejected servers ([#6518](https://github.com/QwenLM/qwen-code/pull/6518)) +- desktop: preserve MCP URL query suffixes ([#6587](https://github.com/QwenLM/qwen-code/pull/6587)) +- restrict template placeholder regex to valid identifiers ([#6672](https://github.com/QwenLM/qwen-code/pull/6672)) +- acp: keep the user prompt prominent when file content is attached ([#6607](https://github.com/QwenLM/qwen-code/pull/6607)) +- acp: reject fractional readTextFile limits ([#6704](https://github.com/QwenLM/qwen-code/pull/6704)) +- web-shell: correct Add Workspace dialog theming and multi-workspace session rows ([#6705](https://github.com/QwenLM/qwen-code/pull/6705)) +- channels: accept open DingTalk stream connections ([#6715](https://github.com/QwenLM/qwen-code/pull/6715)) +- cli: Scope session organization mutations by workspace ([#6724](https://github.com/QwenLM/qwen-code/pull/6724)) +- core: add Claude Opus 4.6-4.8 token limits ([#6718](https://github.com/QwenLM/qwen-code/pull/6718)) +- packaging: restore clipboard image paste in standalone builds ([#6708](https://github.com/QwenLM/qwen-code/pull/6708)) +- memory: refresh instructions after remember ([#6497](https://github.com/QwenLM/qwen-code/pull/6497)) +- core: make goal evaluation lifecycle-safe ([#6681](https://github.com/QwenLM/qwen-code/pull/6681)) +- core: preserve managed memory during microcompaction ([#6714](https://github.com/QwenLM/qwen-code/pull/6714)) +- core: use decimal Claude output limits ([#6735](https://github.com/QwenLM/qwen-code/pull/6735)) +- web-shell: support model & approval-mode changes for non-primary workspace sessions ([#6737](https://github.com/QwenLM/qwen-code/pull/6737)) +- core: tolerate repeated invalid model streams ([#6712](https://github.com/QwenLM/qwen-code/pull/6712)) +- mcp: recover OAuth authentication after HTTP 401 ([#6732](https://github.com/QwenLM/qwen-code/pull/6732)) +- web-shell: avoid duplicate inline tag tooltips ([#6729](https://github.com/QwenLM/qwen-code/pull/6729)) +- core: ignore reasoning in goal judge verdicts ([#6738](https://github.com/QwenLM/qwen-code/pull/6738)) +- web-shell: correct stale composerTagIcons import in ScheduledTasksDialog ([#6748](https://github.com/QwenLM/qwen-code/pull/6748)) +- web-shell: keep composer Git branch chip from crowding the toolbar on narrow screens ([#6753](https://github.com/QwenLM/qwen-code/pull/6753)) +- Make chat recording failures durable and visible ([#6743](https://github.com/QwenLM/qwen-code/pull/6743)) +- core: retry malformed streamed responses ([#6754](https://github.com/QwenLM/qwen-code/pull/6754)) +- core: guide agent to pivot to read-only tools when plan mode blocks ([#6764](https://github.com/QwenLM/qwen-code/pull/6764)) +- feishu: validate credentials before WebSocket startup ([#6780](https://github.com/QwenLM/qwen-code/pull/6780)) +- ci: avoid oversized desktop release notes ([#6792](https://github.com/QwenLM/qwen-code/pull/6792)) +- serve: route session actions to the owning workspace ([#6798](https://github.com/QwenLM/qwen-code/pull/6798)) +- webui: use workspace link for @qwen-code/sdk to unblock SDK release ([#6823](https://github.com/QwenLM/qwen-code/pull/6823)) +- review: stop dropping live blockers, and probe whether new tests actually gate new code ([#6790](https://github.com/QwenLM/qwen-code/pull/6790)) +- channels: distinguish slash-command output ([#6818](https://github.com/QwenLM/qwen-code/pull/6818)) +- web-shell: restore packaged dialog styles on React 18 ([#6827](https://github.com/QwenLM/qwen-code/pull/6827)) +- ui: refine reasoning duration displays ([#6793](https://github.com/QwenLM/qwen-code/pull/6793)) +- serve: Route session continue, language, and artifacts by owner ([#6833](https://github.com/QwenLM/qwen-code/pull/6833)) +- core: reorder LruCache entries on get() for falsy values ([#6787](https://github.com/QwenLM/qwen-code/pull/6787)) +- cli: compute latestActiveTime from the real activity timestamp ([#6834](https://github.com/QwenLM/qwen-code/pull/6834)) +- cli: drain rewrites enqueued during waitForPendingRewrites ([#6800](https://github.com/QwenLM/qwen-code/pull/6800)) +- cli: bound LlmRewriter outputHistory to contextTurns ([#6799](https://github.com/QwenLM/qwen-code/pull/6799)) +- core: strip only a trailing .git from GitHub repo names ([#6797](https://github.com/QwenLM/qwen-code/pull/6797)) +- core: detect dotfiles in getLanguageFromFilePath ([#6785](https://github.com/QwenLM/qwen-code/pull/6785)) +- cli: escape < in insight report data to prevent script breakout ([#6802](https://github.com/QwenLM/qwen-code/pull/6802)) +- review: build the chunk agent's prompt in code — they were launched blind ([#6840](https://github.com/QwenLM/qwen-code/pull/6840)) +- core: re-land malformed stream retry with narrower nameless detection ([#6794](https://github.com/QwenLM/qwen-code/pull/6794)) +- review: prove coverage from the harness's records, not the caller's file ([#6843](https://github.com/QwenLM/qwen-code/pull/6843)) +- sdk: bump browser daemon bundle size limit to 156KB ([#6852](https://github.com/QwenLM/qwen-code/pull/6852)) + +### Performance + +- core: lazy-load web-tree-sitter runtime ([#6747](https://github.com/QwenLM/qwen-code/pull/6747)) +- core: reduce Git snapshot processes ([#6784](https://github.com/QwenLM/qwen-code/pull/6784)) + +### Documentation + +- agents: add a bounded self-audit step to the pre-done workflow ([#6685](https://github.com/QwenLM/qwen-code/pull/6685)) +- core: fix inaccurate token-limit comment and two comment typos ([#6698](https://github.com/QwenLM/qwen-code/pull/6698)) + +### Other + +- ci(review): default review timeout to 180 minutes, allow up to 240 ([#6706](https://github.com/QwenLM/qwen-code/pull/6706)) +- chore: remove DingTalk planning artifacts ([#6722](https://github.com/QwenLM/qwen-code/pull/6722)) +- test(e2e): stabilize tool control and subagent cases ([#6803](https://github.com/QwenLM/qwen-code/pull/6803)) +- test(cli): remove flaky headless child-process recording test ([#6830](https://github.com/QwenLM/qwen-code/pull/6830)) + ## [0.19.9](https://github.com/QwenLM/qwen-code/releases/tag/v0.19.9) - 2026-07-10 ### Added @@ -59,6 +196,7 @@ are listed; nightly and preview pre-releases are intentionally omitted. - serve: stop cdp-mcp-command reading process.env directly ([#6562](https://github.com/QwenLM/qwen-code/pull/6562)) - mobile-mcp: strip bounds from UI hierarchy dump ([#6568](https://github.com/QwenLM/qwen-code/pull/6568)) - web-shell: make dialog backdrop z-index configurable ([#6572](https://github.com/QwenLM/qwen-code/pull/6572)) +- ci: add retry logic to VSCode IDE Companion publish steps ([#6574](https://github.com/QwenLM/qwen-code/pull/6574)) - ci: detect silent triage failures with empty-response check ([#6566](https://github.com/QwenLM/qwen-code/pull/6566)) - cli: forward user input to MCP prompts with no declared arguments ([#6571](https://github.com/QwenLM/qwen-code/pull/6571)) - cua-driver: complete coordinate normalization for zoom/scroll/mouse tools ([#6610](https://github.com/QwenLM/qwen-code/pull/6610)) @@ -152,6 +290,7 @@ are listed; nightly and preview pre-releases are intentionally omitted. - cli: allow approval-mode changes without bearer token ([#6527](https://github.com/QwenLM/qwen-code/pull/6527)) - memory: allow forget to remove user managed memory ([#6432](https://github.com/QwenLM/qwen-code/pull/6432)) - core: omit deprecated temperature param for Claude 4.8+ ([#6520](https://github.com/QwenLM/qwen-code/pull/6520)) +- core: detect non-SSE HTTP 200 responses in OpenAI streaming pipeline ([#6466](https://github.com/QwenLM/qwen-code/pull/6466)) - scripts: handle missing NPM dist-tags gracefully in release versioning (#6476) ([#6481](https://github.com/QwenLM/qwen-code/pull/6481)) - cli: fixed-width elapsed time below one minute to stop status-line jitter ([#6533](https://github.com/QwenLM/qwen-code/pull/6533)) - memory: give each linked git worktree its own auto-memory root ([#6462](https://github.com/QwenLM/qwen-code/pull/6462)) @@ -251,6 +390,7 @@ are listed; nightly and preview pre-releases are intentionally omitted. - web-shell: constrain virtual scroll rows ([#6362](https://github.com/QwenLM/qwen-code/pull/6362)) - cli: Allow ACP local fallback reads from /tmp ([#6370](https://github.com/QwenLM/qwen-code/pull/6370)) - core: default context windows to 200k ([#6387](https://github.com/QwenLM/qwen-code/pull/6387)) +- triage: exclude test files from core module size gate and distinguish feat from refactor ([#6369](https://github.com/QwenLM/qwen-code/pull/6369)) - cli: Keep model picker entries contiguous in short terminals ([#6359](https://github.com/QwenLM/qwen-code/pull/6359)) - core: Include request IDs in OpenAI error logs ([#6379](https://github.com/QwenLM/qwen-code/pull/6379)) - cli: ignore current review run in presubmit CI ([#6397](https://github.com/QwenLM/qwen-code/pull/6397)) @@ -343,6 +483,7 @@ are listed; nightly and preview pre-releases are intentionally omitted. - cli: add bootstrap fast paths ([#6188](https://github.com/QwenLM/qwen-code/pull/6188)) - core: Reduce multimodal history payload size ([#6045](https://github.com/QwenLM/qwen-code/pull/6045)) - core: prevent subagent crash when ${hook_context} placeholder has no hook configured ([#6180](https://github.com/QwenLM/qwen-code/pull/6180)) +- scheduler: add opt-in per-tool-call execution timeout ([#6136](https://github.com/QwenLM/qwen-code/pull/6136)) - web-shell: keep the user-selectable wrapper out of flex layout ([#6229](https://github.com/QwenLM/qwen-code/pull/6229)) - core: raise stream idle timeout default and hint the env knob ([#6107](https://github.com/QwenLM/qwen-code/pull/6107)) - serve: respect disabled skill settings ([#6223](https://github.com/QwenLM/qwen-code/pull/6223))