From 97a834bc0d435dde0cc654b63f467c686b1f3788 Mon Sep 17 00:00:00 2001 From: qwen-code-ci-bot Date: Wed, 22 Jul 2026 10:00:22 +0800 Subject: [PATCH] chore(release): v0.20.1 (#7461) * chore(release): v0.20.1 * docs(changelog): sync for v0.20.1 --------- Co-authored-by: github-actions[bot] --- CHANGELOG.md | 149 ++++++++++++++++++ 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 +- 21 files changed, 190 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70cf083764a..e25be927248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,155 @@ 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.20.1](https://github.com/QwenLM/qwen-code/releases/tag/v0.20.1) - 2026-07-21 + +### Highlights + +_See the complete change list below._ + +### Breaking Changes + +No known breaking changes. + +### Complete Change List + +#### Features + +- feat(autofix): label-driven takeover and release; fix forced-dispatch green no-op ([#7165](https://github.com/QwenLM/qwen-code/pull/7165)) by @wenshao +- feat(autofix): direct takeover of maintainer-fork PRs ([#7213](https://github.com/QwenLM/qwen-code/pull/7213)) by @wenshao +- feat(daemon): Advertise ACP preheat readiness ([#7200](https://github.com/QwenLM/qwen-code/pull/7200)) by @doudouOUC +- feat(autofix): surface the running model in every autofix report ([#7226](https://github.com/QwenLM/qwen-code/pull/7226)) by @wenshao +- feat(review): retry transient API failures once; surface quota clearly ([#7233](https://github.com/QwenLM/qwen-code/pull/7233)) by @wenshao +- feat(core): inspect persisted conversation branches ([#7185](https://github.com/QwenLM/qwen-code/pull/7185)) by @doudouOUC +- feat(core): Route Plan-mode shell commands by safety ([#7172](https://github.com/QwenLM/qwen-code/pull/7172)) by @doudouOUC +- feat(ci): auto-open a deflake fix issue for confirmed flaky tests ([#7231](https://github.com/QwenLM/qwen-code/pull/7231)) by @wenshao +- feat(autofix): auto-manage the bot's own fork PRs without a label ([#7243](https://github.com/QwenLM/qwen-code/pull/7243)) by @wenshao +- feat(web-shell): worktree-isolated sessions for parallel tasks ([#7221](https://github.com/QwenLM/qwen-code/pull/7221)) by @wenshao +- feat(i18n): update catalan translaiton ([#7253](https://github.com/QwenLM/qwen-code/pull/7253)) by @jordimas +- feat: add CODEOWNERS for core harness modules ([#7304](https://github.com/QwenLM/qwen-code/pull/7304)) by @pomelo-nwu +- feat(web-shell): support custom slash command actions ([#7267](https://github.com/QwenLM/qwen-code/pull/7267)) by @ytahdn +- feat(web-shell): add git commit history browser ([#7204](https://github.com/QwenLM/qwen-code/pull/7204)) by @wenshao +- feat: support workspace display names ([#7179](https://github.com/QwenLM/qwen-code/pull/7179)) by @samuelhsin +- feat(channels): add content-safe memory recall telemetry ([#7338](https://github.com/QwenLM/qwen-code/pull/7338)) by @qqqys +- feat(daemon): restore worktree isolation on session load/resume ([#7262](https://github.com/QwenLM/qwen-code/pull/7262)) by @wenshao +- feat(autofix): re-arm a stranded PR with @qwen-code /retry instead of deleting a marker ([#7354](https://github.com/QwenLM/qwen-code/pull/7354)) by @wenshao +- feat(serve): make ACP initialize handshake timeout configurable ([#7246](https://github.com/QwenLM/qwen-code/pull/7246)) by @qwen-code-dev-bot +- feat(autofix): pick up managed fork PRs in real time instead of waiting for the throttled schedule ([#7350](https://github.com/QwenLM/qwen-code/pull/7350)) by @wenshao +- feat(autofix): resolve the review threads whose findings it implemented ([#7364](https://github.com/QwenLM/qwen-code/pull/7364)) by @wenshao +- feat(autofix): render the managed fleet into the scan's run summary ([#7355](https://github.com/QwenLM/qwen-code/pull/7355)) by @wenshao +- feat(core): add fork_turns to fork subagents ([#7346](https://github.com/QwenLM/qwen-code/pull/7346)) by @DragonnZhang +- feat(auth): add Singapore Token Plan region ([#7280](https://github.com/QwenLM/qwen-code/pull/7280)) by @han-dreamer +- feat(web-shell): surface worktree isolation in the new-session empty state ([#7365](https://github.com/QwenLM/qwen-code/pull/7365)) by @wenshao +- feat(core): add opt-in built-in web_search backed by the DashScope Responses API ([#7215](https://github.com/QwenLM/qwen-code/pull/7215)) by @tanzhenxin +- feat(web-shell): Add sidebar customization API for branding, navigation, session actions, and footer ([#7379](https://github.com/QwenLM/qwen-code/pull/7379)) by @yuanyuanAli +- feat(autofix): raise the strict round cap from 5 to 10 ([#7412](https://github.com/QwenLM/qwen-code/pull/7412)) by @wenshao +- feat(autofix): feed the gate's rejection back so the retry can fix what it broke ([#7368](https://github.com/QwenLM/qwen-code/pull/7368)) by @wenshao + +#### Bug Fixes + +- fix(autofix): stage SKILL.md beside run-agent.mjs so review-address boots (P0, regression from #7165) ([#7225](https://github.com/QwenLM/qwen-code/pull/7225)) by @wenshao +- fix(ci): consolidate issue triage ownership ([#7180](https://github.com/QwenLM/qwen-code/pull/7180)) by @yiliang114 +- fix(cli): allow goal controls during active loops ([#7202](https://github.com/QwenLM/qwen-code/pull/7202)) by @yiliang114 +- fix(cli): show mode indicator alongside steering hint during streaming ([#7219](https://github.com/QwenLM/qwen-code/pull/7219)) by @qwen-code-dev-bot +- fix(scripts): allow multiple dev:daemon instances by probing Vite port ([#7212](https://github.com/QwenLM/qwen-code/pull/7212)) by @wenshao +- fix(review): say an unread chunk once, under its cause ([#7234](https://github.com/QwenLM/qwen-code/pull/7234)) by @wenshao +- fix(autofix): a no-output crash must not advance the review watermark ([#7229](https://github.com/QwenLM/qwen-code/pull/7229)) by @wenshao +- fix(review): prohibit isolation param in roster output and SKILL.md ([#7235](https://github.com/QwenLM/qwen-code/pull/7235)) by @wenshao +- fix(cli): align npm update checks with global registry ([#7224](https://github.com/QwenLM/qwen-code/pull/7224)) by @yiliang114 +- fix(test): deflake tool-control E2E content assertions ([#7261](https://github.com/QwenLM/qwen-code/pull/7261)) by @qwen-code-dev-bot +- fix(sdk): abort SSE request on iterator exit to release daemon subscriber ([#7257](https://github.com/QwenLM/qwen-code/pull/7257)) by @chinesepowered +- fix(core): Enforce Plan mode entry boundary ([#7248](https://github.com/QwenLM/qwen-code/pull/7248)) by @doudouOUC +- fix(channels): exclude discrete ACP messages from replies ([#7223](https://github.com/QwenLM/qwen-code/pull/7223)) by @qwen-code-dev-bot +- fix(ci): create remote-tracking ref for fork PRs in autofix verify gate ([#7281](https://github.com/QwenLM/qwen-code/pull/7281)) by @wenshao +- fix(sdk): clean up SSE requests on errors and dispose ([#7269](https://github.com/QwenLM/qwen-code/pull/7269)) by @doudouOUC +- fix(cli): repaint the TUI after OS sleep/wake or SIGCONT ([#7265](https://github.com/QwenLM/qwen-code/pull/7265)) by @wenshao +- fix(mobile-mcp): restore bounds in UI hierarchy dumps ([#7321](https://github.com/QwenLM/qwen-code/pull/7321)) by @LaZzyMan +- fix(test): stabilize 3 flaky tests (serve startup, usage-stats TTL, TasksStatusMessage keypress) ([#7319](https://github.com/QwenLM/qwen-code/pull/7319)) by @qwen-code-dev-bot +- fix(cli): Preserve cancellation during permission prompts ([#7295](https://github.com/QwenLM/qwen-code/pull/7295)) by @doudouOUC +- fix(core): estimate reasoning_tokens when completion_tokens_details is missing ([#7239](https://github.com/QwenLM/qwen-code/pull/7239)) by @yiliang114 +- fix(ci): tighten API error detection to avoid false positive on review prose ([#7328](https://github.com/QwenLM/qwen-code/pull/7328)) by @wenshao +- fix(web-shell): localize extension tag labels ([#7337](https://github.com/QwenLM/qwen-code/pull/7337)) by @callmeYe +- fix(test): stabilize list_directory E2E — accept text output when model skips tool call ([#7342](https://github.com/QwenLM/qwen-code/pull/7342)) by @qwen-code-dev-bot +- fix(autofix): resolve owning package for nested paths; report verify-failed handoffs as not pushed ([#7330](https://github.com/QwenLM/qwen-code/pull/7330)) by @wenshao +- fix(review): retry gh CLI on transient GitHub errors (5xx) and keyring failures ([#7291](https://github.com/QwenLM/qwen-code/pull/7291)) by @wenshao +- fix(channels): deliver background agent replies ([#7336](https://github.com/QwenLM/qwen-code/pull/7336)) by @qwen-code-dev-bot +- fix(web-shell): proxy extension APIs without intercepting modules ([#7294](https://github.com/QwenLM/qwen-code/pull/7294)) by @ytahdn +- fix(dingtalk): retry transient emotion failures ([#7329](https://github.com/QwenLM/qwen-code/pull/7329)) by @qwen-code-dev-bot +- fix(web-shell): respect voice enabled setting ([#7345](https://github.com/QwenLM/qwen-code/pull/7345)) by @callmeYe +- fix(cli): map positional args to optional MCP prompt parameters ([#7317](https://github.com/QwenLM/qwen-code/pull/7317)) by @qwen-code-dev-bot +- fix(cli): include typed directory in /cd tab completion ([#7320](https://github.com/QwenLM/qwen-code/pull/7320)) by @qwen-code-dev-bot +- fix(review): make agent launches and cleanup resilient ([#7259](https://github.com/QwenLM/qwen-code/pull/7259)) by @wenshao +- fix(ci): stop a slow patrol classifier from killing every flaky rerun ([#7358](https://github.com/QwenLM/qwen-code/pull/7358)) by @wenshao +- fix(ci): tell a visuals coverage gap apart from "no visual change" ([#7375](https://github.com/QwenLM/qwen-code/pull/7375)) by @wenshao +- fix: ask when Auto Mode classifier is unavailable ([#7331](https://github.com/QwenLM/qwen-code/pull/7331)) by @LaZzyMan +- fix(autofix): retry a verification-gate crash instead of burying the agent's fix ([#7351](https://github.com/QwenLM/qwen-code/pull/7351)) by @wenshao +- fix(core): validate goal judge terminal evidence ([#7208](https://github.com/QwenLM/qwen-code/pull/7208)) by @qwen-code-dev-bot +- fix(core): hide interaction tools in plain headless mode ([#7285](https://github.com/QwenLM/qwen-code/pull/7285)) by @DragonnZhang +- fix(cli): show worktree branch in status line instead of workspace branch ([#7367](https://github.com/QwenLM/qwen-code/pull/7367)) by @wenshao +- fix(acp-bridge): make detachClient idempotent via per-clientId attach-ref ledger ([#7386](https://github.com/QwenLM/qwen-code/pull/7386)) by @doudouOUC +- fix(autofix): refuse a non-main takeover out loud instead of only in the job log ([#7382](https://github.com/QwenLM/qwen-code/pull/7382)) by @wenshao +- fix(cli): update npm installs safely in background ([#7322](https://github.com/QwenLM/qwen-code/pull/7322)) by @yiliang114 +- fix(core): support qwen3.8 side queries on DashScope ([#7303](https://github.com/QwenLM/qwen-code/pull/7303)) by @yiliang114 +- fix(autofix): retry a model API error instead of stranding the PR ([#7247](https://github.com/QwenLM/qwen-code/pull/7247)) by @wenshao +- fix(ci): stop /resolve reports from being guillotined mid-sentence ([#7389](https://github.com/QwenLM/qwen-code/pull/7389)) by @wenshao +- fix(web-shell): restore scheduled task reference interactions ([#7313](https://github.com/QwenLM/qwen-code/pull/7313)) by @BZ-D +- fix(core): bound web-fetch post-processing and preserve fetched content on failure ([#7305](https://github.com/QwenLM/qwen-code/pull/7305)) by @tanzhenxin +- fix(core): Fence concurrent ACP session writers ([#7237](https://github.com/QwenLM/qwen-code/pull/7237)) by @doudouOUC +- fix(ci): serialise the two workflows that push to a PR head branch ([#7392](https://github.com/QwenLM/qwen-code/pull/7392)) by @wenshao +- fix(web-shell): persist the daemon bearer token per-tab so it survives refresh ([#7374](https://github.com/QwenLM/qwen-code/pull/7374)) by @zjunothing +- fix(core,cli): drain background notifications outside the subagent's ALS frame ([#7194](https://github.com/QwenLM/qwen-code/pull/7194)) by @zjunothing +- fix(acp-bridge): map Windows-shaped workspace paths to their sandbox mount ([#7228](https://github.com/QwenLM/qwen-code/pull/7228)) by @zjunothing +- fix(core): salvage session usage into the history before deleting transcripts ([#7391](https://github.com/QwenLM/qwen-code/pull/7391)) by @zjunothing +- fix(core): clarify background agent continuation ([#7300](https://github.com/QwenLM/qwen-code/pull/7300)) by @DragonnZhang +- fix(transcript): mark dangling tool history incomplete ([#7340](https://github.com/QwenLM/qwen-code/pull/7340)) by @cxruan +- fix(mcp): add opt-in model payload filtering ([#7413](https://github.com/QwenLM/qwen-code/pull/7413)) by @LaZzyMan +- fix(ci): tell a triage action crash apart from a silent agent ([#7418](https://github.com/QwenLM/qwen-code/pull/7418)) by @wenshao +- fix(acp-bridge): guarantee exactly-once prompt terminal events in daemon serve mode ([#7400](https://github.com/QwenLM/qwen-code/pull/7400)) by @doudouOUC +- fix(dingtalk): anchor @mention strip regex to start of text ([#7401](https://github.com/QwenLM/qwen-code/pull/7401)) by @qwen-code-dev-bot +- fix: support context-inheriting subagents in headless mode ([#7378](https://github.com/QwenLM/qwen-code/pull/7378)) by @DragonnZhang +- fix(cli): soften update-check failure UX — warning instead of error, raise timeout to 5s ([#7409](https://github.com/QwenLM/qwen-code/pull/7409)) by @ComplexSimply +- fix(test): widen daemon boot timeout from 10s to 30s for docker sandbox ([#7419](https://github.com/QwenLM/qwen-code/pull/7419)) by @qwen-code-dev-bot +- fix: worktree sessions unopenable in Web Shell while actively running ([#7424](https://github.com/QwenLM/qwen-code/pull/7424)) by @wenshao +- fix(web-shell): restore context tags in queued and recalled prompts ([#7312](https://github.com/QwenLM/qwen-code/pull/7312)) by @dreamWB +- fix(core): resolve artifact workspacePath against workspace root in worktree sessions ([#7429](https://github.com/QwenLM/qwen-code/pull/7429)) by @wenshao +- fix(cli): classify nested update-check network errors ([#7428](https://github.com/QwenLM/qwen-code/pull/7428)) by @yiliang114 +- fix(test): pin QWEN_RUNTIME_DIR in daemon integration tests ([#7439](https://github.com/QwenLM/qwen-code/pull/7439)) by @wenshao +- fix(deps): regenerate the ink@7.0.3 patch so it applies on a clean install ([#7407](https://github.com/QwenLM/qwen-code/pull/7407)) by @chiga0 +- fix(core): relax additionalProperties:false on the OpenAI wire for optional-field schemas ([#7344](https://github.com/QwenLM/qwen-code/pull/7344)) by @zjunothing +- fix(dingtalk): cap media download size to 50MB to match feishu ([#7361](https://github.com/QwenLM/qwen-code/pull/7361)) by @chinesepowered +- fix(core): allow restricted git config for extension installs ([#7293](https://github.com/QwenLM/qwen-code/pull/7293)) by @ytahdn +- fix(core): Enforce final tool response budgets ([#7323](https://github.com/QwenLM/qwen-code/pull/7323)) by @doudouOUC +- fix(acp): clear inherited sandboxSessionId for each new ACP session ([#7443](https://github.com/QwenLM/qwen-code/pull/7443)) by @wenshao + +#### Performance + +- perf(autofix): raise fleet simultaneity from 3 to 5 ([#7396](https://github.com/QwenLM/qwen-code/pull/7396)) by @wenshao +- perf(telemetry): lazy-load the SDK and split OTLP exporter chains by protocol ([#7276](https://github.com/QwenLM/qwen-code/pull/7276)) by @doudouOUC +- perf(autofix): stop the feedback gate waiting on the LLM review check ([#7416](https://github.com/QwenLM/qwen-code/pull/7416)) by @wenshao + +#### Documentation + +- docs(cli): remove stale include directories limit ([#7326](https://github.com/QwenLM/qwen-code/pull/7326)) by @ZijianZhang989 + +#### Internal Changes + +- test: raise timeout ceiling for I/O-bound tests flaky under CI contention ([#7230](https://github.com/QwenLM/qwen-code/pull/7230)) by @wenshao +- test(autofix): exercise the SKILL stage↔resolve contract end-to-end ([#7227](https://github.com/QwenLM/qwen-code/pull/7227)) by @wenshao +- test(channels): add memory recall evaluation baseline ([#7220](https://github.com/QwenLM/qwen-code/pull/7220)) by @qwen-code-dev-bot +- test(autofix): sync workflow assertions with split model vars ([#7297](https://github.com/QwenLM/qwen-code/pull/7297)) by @yiliang114 +- test(feishu): enforce markdown chunk limit assertion ([#7324](https://github.com/QwenLM/qwen-code/pull/7324)) by @ZijianZhang989 +- ci: move release-note classifier from per-PR workflow to release-time batch ([#7339](https://github.com/QwenLM/qwen-code/pull/7339)) by @yiliang114 +- chore: add CODEOWNERS for cua-driver and mobile-mcp ([#7369](https://github.com/QwenLM/qwen-code/pull/7369)) by @qwen-code-dev-bot +- chore: simplify CODEOWNERS to package-level rules ([#7376](https://github.com/QwenLM/qwen-code/pull/7376)) by @pomelo-nwu +- chore(docs,test): batch three small docs and test fixes ([#7373](https://github.com/QwenLM/qwen-code/pull/7373)) by @ZijianZhang989 +- test(cli): pin the record_artifact workspacePath round trip ([#7434](https://github.com/QwenLM/qwen-code/pull/7434)) by @wenshao + +### New Contributors + +- @ComplexSimply made their first contribution in [#7409](https://github.com/QwenLM/qwen-code/pull/7409) + +**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.20.0...v0.20.1 + ## [0.20.0](https://github.com/QwenLM/qwen-code/releases/tag/v0.20.0) - 2026-07-19 ### Highlights diff --git a/package-lock.json b/package-lock.json index 2e89fcd414e..128715cd503 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@qwen-code/qwen-code", - "version": "0.20.0", + "version": "0.20.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@qwen-code/qwen-code", - "version": "0.20.0", + "version": "0.20.1", "hasInstallScript": true, "workspaces": [ "packages/*", @@ -27867,7 +27867,7 @@ }, "packages/acp-bridge": { "name": "@qwen-code/acp-bridge", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", "@qwen-code/qwen-code-core": "file:../core" @@ -27882,7 +27882,7 @@ }, "packages/audio-capture": { "name": "@qwen-code/audio-capture", - "version": "0.20.0", + "version": "0.20.1", "hasInstallScript": true, "dependencies": { "node-gyp-build": "^4.8.4" @@ -27899,7 +27899,7 @@ }, "packages/channels/base": { "name": "@qwen-code/channel-base", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1" }, @@ -27909,7 +27909,7 @@ }, "packages/channels/dingtalk": { "name": "@qwen-code/channel-dingtalk", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@qwen-code/channel-base": "file:../base", "dingtalk-stream-sdk-nodejs": "^2.0.4" @@ -27920,7 +27920,7 @@ }, "packages/channels/feishu": { "name": "@qwen-code/channel-feishu", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@larksuiteoapi/node-sdk": "^1.45.0", "@qwen-code/channel-base": "file:../base" @@ -27931,7 +27931,7 @@ }, "packages/channels/plugin-example": { "name": "@qwen-code/channel-plugin-example", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@qwen-code/channel-base": "file:../base", "ws": "^8.18.0" @@ -27945,7 +27945,7 @@ }, "packages/channels/qqbot": { "name": "@qwen-code/channel-qqbot", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@qwen-code/channel-base": "file:../base", "@tencent-connect/qqbot-connector": "^1.1.0", @@ -27957,7 +27957,7 @@ }, "packages/channels/telegram": { "name": "@qwen-code/channel-telegram", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@qwen-code/channel-base": "file:../base", "grammy": "^1.41.1", @@ -27970,7 +27970,7 @@ }, "packages/channels/wecom": { "name": "@qwen-code/channel-wecom", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@qwen-code/channel-base": "file:../base", "@wecom/aibot-node-sdk": "^1.0.7" @@ -27981,7 +27981,7 @@ }, "packages/channels/weixin": { "name": "@qwen-code/channel-weixin", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@qwen-code/channel-base": "file:../base" }, @@ -27991,7 +27991,7 @@ }, "packages/chrome-extension": { "name": "@qwen-code/chrome-bridge", - "version": "0.20.0", + "version": "0.20.1", "license": "Apache-2.0", "devDependencies": { "@types/chrome": "^0.1.32", @@ -28004,7 +28004,7 @@ }, "packages/cli": { "name": "@qwen-code/qwen-code", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", "@google/genai": "2.6.0", @@ -28254,7 +28254,7 @@ }, "packages/core": { "name": "@qwen-code/qwen-code-core", - "version": "0.20.0", + "version": "0.20.1", "hasInstallScript": true, "dependencies": { "@anthropic-ai/sdk": "^0.36.1", @@ -28428,7 +28428,7 @@ }, "packages/mobile-mcp": { "name": "@qwen-code/mobile-mcp", - "version": "0.20.0", + "version": "0.20.1", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "1.26.0", @@ -31132,7 +31132,7 @@ }, "packages/vscode-ide-companion": { "name": "qwen-code-vscode-ide-companion", - "version": "0.20.0", + "version": "0.20.1", "license": "LICENSE", "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", @@ -31201,7 +31201,7 @@ }, "packages/web-shell": { "name": "@qwen-code/web-shell", - "version": "0.20.0", + "version": "0.20.1", "dependencies": { "@codemirror/autocomplete": "^6.18.0", "@codemirror/commands": "^6.7.0", @@ -31932,7 +31932,7 @@ }, "packages/web-templates": { "name": "@qwen-code/web-templates", - "version": "0.20.0", + "version": "0.20.1", "devDependencies": { "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", @@ -32439,7 +32439,7 @@ }, "packages/webui": { "name": "@qwen-code/webui", - "version": "0.20.0", + "version": "0.20.1", "license": "MIT", "dependencies": { "@qwen-code/sdk": "file:../sdk-typescript", diff --git a/package.json b/package.json index 790af4361c3..0bc2c0c01f4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code", - "version": "0.20.0", + "version": "0.20.1", "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.20.0" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.20.1" }, "scripts": { "start": "node scripts/start.js", diff --git a/packages/acp-bridge/package.json b/packages/acp-bridge/package.json index 6c28008a8bc..ce25c722a92 100644 --- a/packages/acp-bridge/package.json +++ b/packages/acp-bridge/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/acp-bridge", - "version": "0.20.0", + "version": "0.20.1", "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 2b5ed604a05..197f47c6704 100644 --- a/packages/audio-capture/package.json +++ b/packages/audio-capture/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/audio-capture", - "version": "0.20.0", + "version": "0.20.1", "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 08b0f8c73dc..6566b128c1a 100644 --- a/packages/channels/base/package.json +++ b/packages/channels/base/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-base", - "version": "0.20.0", + "version": "0.20.1", "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 72c7f1711c7..5756e04b904 100644 --- a/packages/channels/dingtalk/package.json +++ b/packages/channels/dingtalk/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-dingtalk", - "version": "0.20.0", + "version": "0.20.1", "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 40012a32383..ba494a22a81 100644 --- a/packages/channels/feishu/package.json +++ b/packages/channels/feishu/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-feishu", - "version": "0.20.0", + "version": "0.20.1", "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 b3cc06110b3..5733ef61e52 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.20.0", + "version": "0.20.1", "private": true, "type": "module", "main": "dist/index.js", diff --git a/packages/channels/qqbot/package.json b/packages/channels/qqbot/package.json index 0774e612a21..ba6d24dbc12 100644 --- a/packages/channels/qqbot/package.json +++ b/packages/channels/qqbot/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-qqbot", - "version": "0.20.0", + "version": "0.20.1", "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 b758763e2ab..040b64aadc2 100644 --- a/packages/channels/telegram/package.json +++ b/packages/channels/telegram/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-telegram", - "version": "0.20.0", + "version": "0.20.1", "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 09637bc455a..ba23943be45 100644 --- a/packages/channels/wecom/package.json +++ b/packages/channels/wecom/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-wecom", - "version": "0.20.0", + "version": "0.20.1", "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 9b2a862870d..d0585a2fa48 100644 --- a/packages/channels/weixin/package.json +++ b/packages/channels/weixin/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-weixin", - "version": "0.20.0", + "version": "0.20.1", "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 a930859083a..c9b6cabad78 100644 --- a/packages/chrome-extension/package.json +++ b/packages/chrome-extension/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/chrome-bridge", - "version": "0.20.0", + "version": "0.20.1", "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 ac92d95e4f6..f1a9022a62b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code", - "version": "0.20.0", + "version": "0.20.1", "description": "Qwen Code", "repository": { "type": "git", @@ -37,7 +37,7 @@ "dist" ], "config": { - "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.20.0" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.20.1" }, "dependencies": { "@agentclientprotocol/sdk": "^0.14.1", diff --git a/packages/core/package.json b/packages/core/package.json index 47917e1d74d..188974ed5b1 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/qwen-code-core", - "version": "0.20.0", + "version": "0.20.1", "description": "Qwen Code Core", "repository": { "type": "git", diff --git a/packages/mobile-mcp/package.json b/packages/mobile-mcp/package.json index 69a8a3bf480..0e01e514895 100644 --- a/packages/mobile-mcp/package.json +++ b/packages/mobile-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/mobile-mcp", - "version": "0.20.0", + "version": "0.20.1", "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 6e71e6c0e2e..3d04c766cbc 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.20.0", + "version": "0.20.1", "publisher": "qwenlm", "icon": "assets/icon.png", "repository": { diff --git a/packages/web-shell/package.json b/packages/web-shell/package.json index 3b5ecf088d4..c411220a77d 100644 --- a/packages/web-shell/package.json +++ b/packages/web-shell/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/web-shell", - "version": "0.20.0", + "version": "0.20.1", "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 61b584647ed..b0b6d7c785a 100644 --- a/packages/web-templates/package.json +++ b/packages/web-templates/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/web-templates", - "version": "0.20.0", + "version": "0.20.1", "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 f2a8a9687bf..39c582a8c17 100644 --- a/packages/webui/package.json +++ b/packages/webui/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/webui", - "version": "0.20.0", + "version": "0.20.1", "description": "Shared UI components for Qwen Code packages", "type": "module", "main": "./dist/index.cjs",