diff --git a/CHANGELOG.md b/CHANGELOG.md index 96e8bab128..cc8c0baedb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,60 @@ 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.2](https://github.com/QwenLM/qwen-code/releases/tag/v0.19.2) - 2026-06-24 + +### Added + +- serve: Add remote LSP status route ([#5741](https://github.com/QwenLM/qwen-code/pull/5741)) +- vision-bridge: transcribe images to text for text-only models ([#5126](https://github.com/QwenLM/qwen-code/pull/5126)) +- core: add deterministic guards for destructive commands in auto mode ([#5754](https://github.com/QwenLM/qwen-code/pull/5754)) +- cli: add extension operation polling ([#5753](https://github.com/QwenLM/qwen-code/pull/5753)) +- cli: match MCP resources globally on bare @ and show full references ([#5774](https://github.com/QwenLM/qwen-code/pull/5774)) +- cli: Add workspace permissions rules API ([#5743](https://github.com/QwenLM/qwen-code/pull/5743)) +- serve: voice dictation over the daemon for the Web Shell ([#5755](https://github.com/QwenLM/qwen-code/pull/5755)) +- voice: refine ASR transcripts with the fast model before insert ([#5794](https://github.com/QwenLM/qwen-code/pull/5794)) + +### Changed + +- web-shell: restructure chat UI ([#5775](https://github.com/QwenLM/qwen-code/pull/5775)) + +### Fixed + +- agent: cap fork turns and bubble fork permission prompts ([#5737](https://github.com/QwenLM/qwen-code/pull/5737)) +- vscode: always show chat view in the Activity Bar sidebar ([#5757](https://github.com/QwenLM/qwen-code/pull/5757)) +- cli: source /context token total from the per-session chat ([#5764](https://github.com/QwenLM/qwen-code/pull/5764)) +- core: Disambiguate duplicate model display names ([#5769](https://github.com/QwenLM/qwen-code/pull/5769)) +- cli: remove theme background fills from input box and user messages ([#5772](https://github.com/QwenLM/qwen-code/pull/5772)) +- cli: stabilize VP mouse interactions ([#5751](https://github.com/QwenLM/qwen-code/pull/5751)) +- vscode: clamp open file positions ([#5711](https://github.com/QwenLM/qwen-code/pull/5711)) +- config: fall back to user env files ([#5731](https://github.com/QwenLM/qwen-code/pull/5731)) +- core: require integer stop hook cap ([#5667](https://github.com/QwenLM/qwen-code/pull/5667)) +- core: require integer microcompaction keep count ([#5652](https://github.com/QwenLM/qwen-code/pull/5652)) +- core: Align MCP OAuth guidance and docs ([#5589](https://github.com/QwenLM/qwen-code/pull/5589)) +- cli: replace emoji thinking/summary icons with Unicode text symbols ([#5788](https://github.com/QwenLM/qwen-code/pull/5788)) +- cli: restore saved custom model IDs when re-entering the auth wizard ([#5654](https://github.com/QwenLM/qwen-code/pull/5654)) +- daemon: Reject stale prompt client admission ([#5784](https://github.com/QwenLM/qwen-code/pull/5784)) +- core: parse QWEN_SERVE_MCP_CLIENT_BUDGET strictly as a decimal integer ([#5752](https://github.com/QwenLM/qwen-code/pull/5752)) +- sdk: self-heal stale clientId on invalid_client_id prompts ([#5797](https://github.com/QwenLM/qwen-code/pull/5797)) +- cli: promote pasted image paths to attachments ([#5803](https://github.com/QwenLM/qwen-code/pull/5803)) +- sdk: raise browser daemon bundle budget to 126 KiB ([#5801](https://github.com/QwenLM/qwen-code/pull/5801)) +- cli: correctly map Claude MCP server transport types on import and in .mcp.json ([#5812](https://github.com/QwenLM/qwen-code/pull/5812)) + +### Performance + +- cli: Optimize serve daemon startup ([#5785](https://github.com/QwenLM/qwen-code/pull/5785)) + +### Documentation + +- fix config/command/auth drift and surface the model-providers page ([#5735](https://github.com/QwenLM/qwen-code/pull/5735)) + +### Other + +- ci: collapse PR checks into Ubuntu gate ([#5767](https://github.com/QwenLM/qwen-code/pull/5767)) +- ci: harden Linux CI reliability (shallow ECS checkout + CodeQL timeout) ([#5810](https://github.com/QwenLM/qwen-code/pull/5810)) +- Expose MCP resource read tool ([#5781](https://github.com/QwenLM/qwen-code/pull/5781)) +- ci: move macOS/Windows tests and CodeQL off the per-PR path ([#5813](https://github.com/QwenLM/qwen-code/pull/5813)) + ## [0.19.1](https://github.com/QwenLM/qwen-code/releases/tag/v0.19.1) - 2026-06-23 ### Added diff --git a/package-lock.json b/package-lock.json index 8511369a56..dbf2aeb6b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@qwen-code/qwen-code", - "version": "0.19.1", + "version": "0.19.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@qwen-code/qwen-code", - "version": "0.19.1", + "version": "0.19.2", "hasInstallScript": true, "workspaces": [ "packages/*", @@ -23118,7 +23118,7 @@ }, "packages/acp-bridge": { "name": "@qwen-code/acp-bridge", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", "@qwen-code/qwen-code-core": "file:../core" @@ -23133,7 +23133,7 @@ }, "packages/audio-capture": { "name": "@qwen-code/audio-capture", - "version": "0.19.1", + "version": "0.19.2", "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.8.4" @@ -23150,7 +23150,7 @@ }, "packages/channels/base": { "name": "@qwen-code/channel-base", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1" }, @@ -23160,7 +23160,7 @@ }, "packages/channels/dingtalk": { "name": "@qwen-code/channel-dingtalk", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@qwen-code/channel-base": "file:../base", "dingtalk-stream-sdk-nodejs": "^2.0.4" @@ -23171,7 +23171,7 @@ }, "packages/channels/feishu": { "name": "@qwen-code/channel-feishu", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@larksuiteoapi/node-sdk": "^1.45.0", "@qwen-code/channel-base": "file:../base" @@ -23182,7 +23182,7 @@ }, "packages/channels/plugin-example": { "name": "@qwen-code/channel-plugin-example", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@qwen-code/channel-base": "file:../base", "ws": "^8.18.0" @@ -23196,7 +23196,7 @@ }, "packages/channels/qqbot": { "name": "@qwen-code/channel-qqbot", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@qwen-code/channel-base": "file:../base", "@tencent-connect/qqbot-connector": "^1.1.0", @@ -23208,7 +23208,7 @@ }, "packages/channels/telegram": { "name": "@qwen-code/channel-telegram", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@qwen-code/channel-base": "file:../base", "grammy": "^1.41.1", @@ -23221,7 +23221,7 @@ }, "packages/channels/weixin": { "name": "@qwen-code/channel-weixin", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@qwen-code/channel-base": "file:../base" }, @@ -23231,7 +23231,7 @@ }, "packages/cli": { "name": "@qwen-code/qwen-code", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", "@google/genai": "2.6.0", @@ -23466,7 +23466,7 @@ }, "packages/core": { "name": "@qwen-code/qwen-code-core", - "version": "0.19.1", + "version": "0.19.2", "hasInstallScript": true, "dependencies": { "@anthropic-ai/sdk": "^0.36.1", @@ -26079,7 +26079,7 @@ }, "packages/vscode-ide-companion": { "name": "qwen-code-vscode-ide-companion", - "version": "0.19.1", + "version": "0.19.2", "license": "LICENSE", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", @@ -26147,7 +26147,7 @@ }, "packages/web-shell": { "name": "@qwen-code/web-shell", - "version": "0.19.1", + "version": "0.19.2", "dependencies": { "@codemirror/autocomplete": "^6.18.0", "@codemirror/commands": "^6.7.0", @@ -26686,7 +26686,7 @@ }, "packages/web-templates": { "name": "@qwen-code/web-templates", - "version": "0.19.1", + "version": "0.19.2", "devDependencies": { "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", @@ -27193,7 +27193,7 @@ }, "packages/webui": { "name": "@qwen-code/webui", - "version": "0.19.1", + "version": "0.19.2", "license": "MIT", "dependencies": { "@qwen-code/sdk": "~0.1.8", diff --git a/package.json b/package.json index 7d1369c096..ddc4c7f6fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code", - "version": "0.19.1", + "version": "0.19.2", "engines": { "node": ">=22.0.0" }, @@ -21,7 +21,7 @@ "url": "git+https://github.com/QwenLM/qwen-code.git" }, "config": { - "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.1" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.2" }, "scripts": { "start": "node scripts/start.js", diff --git a/packages/acp-bridge/package.json b/packages/acp-bridge/package.json index 05ce4db15b..29bc25a5b4 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.1", + "version": "0.19.2", "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 8f283a2196..eb2abd6ec7 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.1", + "version": "0.19.2", "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 e8f3d68fd4..665a3e61e0 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.1", + "version": "0.19.2", "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 f2d184940b..155196d171 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.1", + "version": "0.19.2", "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 dc4d7d1c0a..0bd1ba95c1 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.1", + "version": "0.19.2", "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 3adb71dfb0..4e31c05dc9 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.1", + "version": "0.19.2", "private": true, "type": "module", "main": "dist/index.js", diff --git a/packages/channels/qqbot/package.json b/packages/channels/qqbot/package.json index 72b46aa407..452925a05e 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.1", + "version": "0.19.2", "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 b5be52b85a..ec30cfb5a0 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.1", + "version": "0.19.2", "description": "Telegram 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 7020d30030..3becbe42f6 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.1", + "version": "0.19.2", "description": "WeChat (Weixin) channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", diff --git a/packages/cli/package.json b/packages/cli/package.json index 210e05c650..8b547e9b5b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code", - "version": "0.19.1", + "version": "0.19.2", "description": "Qwen Code", "repository": { "type": "git", @@ -37,7 +37,7 @@ "dist" ], "config": { - "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.1" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.19.2" }, "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", diff --git a/packages/core/package.json b/packages/core/package.json index e5cd2a04ef..7a7b09ba86 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code-core", - "version": "0.19.1", + "version": "0.19.2", "description": "Qwen Code Core", "repository": { "type": "git", diff --git a/packages/vscode-ide-companion/package.json b/packages/vscode-ide-companion/package.json index 141077b449..8c70e1896d 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.1", + "version": "0.19.2", "publisher": "qwenlm", "icon": "assets/icon.png", "repository": { diff --git a/packages/web-shell/package.json b/packages/web-shell/package.json index b2408d53af..f681f9f641 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.1", + "version": "0.19.2", "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 75061ae29c..df7b7493ad 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.1", + "version": "0.19.2", "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 b227c904af..27f3f47dc9 100644 --- a/packages/webui/package.json +++ b/packages/webui/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/webui", - "version": "0.19.1", + "version": "0.19.2", "description": "Shared UI components for Qwen Code packages", "type": "module", "main": "./dist/index.cjs",