From 208beb2b3b2adedca2fbc396227c05a5bb536306 Mon Sep 17 00:00:00 2001 From: "Bob.qwencode" <1144323068@qq.com> Date: Sat, 7 Nov 2026 02:03:10 +0800 Subject: [PATCH] chore(release): v0.26.9 [skip ci] * chore(release): v0.26.9 * docs(changelog): sync for v0.26.9 --------- Co-authored-by: github-actions[bot] --- CHANGELOG.md | 239 ++++++++++++++++++ .../external-context-mem0/package.json | 2 +- .../external-context-mem0/qwen-extension.json | 2 +- integrations/external-context/package.json | 2 +- integrations/generated-ui/package.json | 2 +- .../test-failure-explorer/package.json | 2 +- 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 | 4 +- packages/channels/dws/package.json | 4 +- packages/channels/email/package.json | 4 +- packages/channels/feishu/package.json | 4 +- packages/channels/github/package.json | 4 +- packages/channels/gitlab/package.json | 4 +- packages/channels/plugin-example/package.json | 2 +- packages/channels/qqbot/package.json | 4 +- packages/channels/telegram/package.json | 4 +- packages/channels/wecom/package.json | 4 +- packages/channels/weixin/package.json | 4 +- packages/chrome-extension/package.json | 2 +- packages/cli/package.json | 4 +- packages/core/package.json | 2 +- packages/vscode-ide-companion/package.json | 2 +- packages/web-shell/package.json | 2 +- packages/web-templates/package.json | 2 +- 27 files changed, 277 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 723dff907f4..1d97af10cc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,245 @@ 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.26.9](https://github.com/QwenLM/qwen-code/releases/tag/v0.26.9) - 2026-11-06 + +### Highlights + +_See the complete change list below._ + +### Breaking Changes + +No known breaking changes. + +### Skill installation and activation + +Skill ZIP uploads, daemon APIs, TypeScript SDK support, bulk activation, and recovery protections make installing and managing Skills more reliable. + +- Adds PUT /skills/activation and setUserSkillsActivation to enable or disable 1-100 user Skills in one request, with saved preferences and propagation status. ([#16186](https://github.com/QwenLM/qwen-code/pull/16186)) +- Prepares Skill installation for larger archives by adding disk-based ZIP handling and recovery-backup protection to the installer. ([#16421](https://github.com/QwenLM/qwen-code/pull/16421)) +- Adds daemon API routes for installing large Skill ZIPs by upload or host file path and querying installation receipts after failures. ([#16422](https://github.com/QwenLM/qwen-code/pull/16422)) +- Adds TypeScript SDK support for installing Skill ZIPs from File, Blob, bytes, or host path, with attempt IDs and receipt lookup. ([#16423](https://github.com/QwenLM/qwen-code/pull/16423)) +- WebShell can now upload Skill ZIP archives from the Skills page, show daemon limits, and check uncertain installation results. ([#16424](https://github.com/QwenLM/qwen-code/pull/16424)) + +### Web Shell sessions and composer + +Web Shell session titles, Add menu polish, draft preservation, batch deletion, and listSessions pagination fixes improve everyday session management. + +- Keeps Web Shell sidebar session titles visible when a transcript is rebuilt, preventing session names from disappearing. ([#16299](https://github.com/QwenLM/qwen-code/pull/16299)) +- Polishes the Web Shell composer Add menu with consistent icons, labels, descriptions, spacing, and improved accessibility for actions and Plan state. ([#16181](https://github.com/QwenLM/qwen-code/pull/16181)) +- WebShell now preserves unsent drafts when ArrowUp or ArrowDown moves through wrapped prompt lines before history navigation. ([#14909](https://github.com/QwenLM/qwen-code/pull/14909)) +- web-shell: batch session deletions at the route limit ([#14637](https://github.com/QwenLM/qwen-code/pull/14637)) +- listSessions pagination no longer skips sessions when multiple session files share the same modification time. ([#16024](https://github.com/QwenLM/qwen-code/pull/16024)) + +### Managed agents and sessions + +Managed agent automation, durable questions, activation renewals, writer recovery, and history caching improve hosted session reliability and speed. + +- managed-agent: support durable structured user questions ([#16433](https://github.com/QwenLM/qwen-code/pull/16433)) +- managed-agent: enable automation by default ([#16448](https://github.com/QwenLM/qwen-code/pull/16448)) +- Managed agent activation renewals now locate the activation lease more efficiently, reducing renewal lookup overhead. ([#16336](https://github.com/QwenLM/qwen-code/pull/16336)) +- Improves managed-agent performance by removing tenant guard locks from native journal snapshot publication. ([#16410](https://github.com/QwenLM/qwen-code/pull/16410)) +- Managed Session history rebuilds now cache message bodies per process, reducing repeated reads and improving performance for hosted turns. ([#16337](https://github.com/QwenLM/qwen-code/pull/16337)) +- HTTP Managed Session writer recovery now keeps a live in-flight renewal grant instead of unnecessarily re-acquiring the writer. ([#16287](https://github.com/QwenLM/qwen-code/pull/16287)) + +### GitHub PR automation + +Sandboxed /verify can read PR review threads, /autofix-pr refusals expose machine-readable codes, and GitHub inbound recovery retries failed reads. + +- The sandboxed /verify round can now see PR review threads, including resolved and outdated threads, so reviewer findings are available during verification. ([#16300](https://github.com/QwenLM/qwen-code/pull/16300)) +- /autofix-pr helper refusals now include a machine-readable refused code and next step on stderr, making failures easier to handle. ([#16238](https://github.com/QwenLM/qwen-code/pull/16238)) +- GitHub inbound recovery now retries after a failed read instead of stopping, so recovered tasks run once the task store becomes readable. ([#16402](https://github.com/QwenLM/qwen-code/pull/16402)) + +### Model and provider support + +Image input fixes for Llama, LLaVA, Pixtral, Mistral Small, and Qwen VL models plus OCI Generative AI documentation broaden provider coverage. + +- Enables image input for Llama 3.2 Vision, Llama 4, LLaVA, Pixtral, and Mistral Small 3.1 and 3.2 models. ([#16311](https://github.com/QwenLM/qwen-code/pull/16311)) +- core: accept images for Qwen VL models under their Ollama names ([#16309](https://github.com/QwenLM/qwen-code/pull/16309)) +- providers: document OCI Generative AI under OpenAI-compatible providers ([#16345](https://github.com/QwenLM/qwen-code/pull/16345)) + +### Channels and messaging + +QQ proactive delivery and richer Channel event timeline recording improve active group messaging, delivery tracking, and scan health visibility. + +- Enables QQ proactive delivery so loop messages, webhook tasks, background responses, and daemon sends can be sent as active group messages. ([#15635](https://github.com/QwenLM/qwen-code/pull/15635)) +- Channel event timeline now records private bound-session deliveries, undelivered events, and scan health outcomes. ([#16237](https://github.com/QwenLM/qwen-code/pull/16237)) + +### CLI and terminal status + +Interactive CLI reports working, blocked, done, or error status via OSC 7501, while experimental.unifiedAgentLoop helps Ink TUI finish tool batches. + +- The interactive CLI now reports working, blocked, done, or error status to terminals using OSC 7501 with app=qwen-code. ([#16407](https://github.com/QwenLM/qwen-code/pull/16407)) +- With experimental.unifiedAgentLoop enabled, Ink TUI turns await their shared tool batch so tool continuations complete within the turn. ([#16385](https://github.com/QwenLM/qwen-code/pull/16385)) + +### Daemon, runtime, and account recovery + +Faster SSH registration and MCP startup, reduced tool-execution locking, bounded daemon replay memory, and subscription recovery improve platform stability. + +- SSH registration settlement and Session worktree preparation are less serialized, allowing more concurrent Runtime work and faster workspace preparation. ([#16386](https://github.com/QwenLM/qwen-code/pull/16386)) +- Loads MCP client Google auth providers on demand to reduce startup load while keeping configured server behavior unchanged. ([#16242](https://github.com/QwenLM/qwen-code/pull/16242)) +- Improves ordinary session tool execution performance by reducing unnecessary locking during admission and dispatch. ([#16415](https://github.com/QwenLM/qwen-code/pull/16415)) +- Daemon command and skill replay now limits snapshot memory with an 8 MiB per-session ring, configurable via --event-ring-max-bytes. ([#16413](https://github.com/QwenLM/qwen-code/pull/16413)) +- subscription: isolate activation and restore sign-in recovery ([#16453](https://github.com/QwenLM/qwen-code/pull/16453)) + +### Other Changes + +- Internal test coverage for renewal recovery and writer seal handling was hardened without changing production behavior. ([#14482](https://github.com/QwenLM/qwen-code/pull/14482)) +- Consolidates Web Shell sidebar test scaffolding onto a shared sidebarHarness without changing user-visible behavior. ([#16016](https://github.com/QwenLM/qwen-code/pull/16016)) +- Adds a design proposal for moving PR state transition detection from GitHub channel polling to the daemon PR refresh timer. ([#16246](https://github.com/QwenLM/qwen-code/pull/16246)) +- Shortens the stale PR policy to mark pull requests stale after 30 inactive days and close them after 14 more days, with a larger sweep budget. ([#16435](https://github.com/QwenLM/qwen-code/pull/16435)) +- Fixes release Docker integration builds to use the same apt-mirror probe as E2E builds, improving mirror selection and cache reliability. ([#16278](https://github.com/QwenLM/qwen-code/pull/16278)) +- The no-AK integration gate now runs on the self-hosted ECS pool for every pull request, including untrusted forks. ([#16132](https://github.com/QwenLM/qwen-code/pull/16132)) +- test(managed-agent): cover pending sibling approval holds ([#15994](https://github.com/QwenLM/qwen-code/pull/15994)) +- ci: build the PR tree once and shorten the required path ([#16450](https://github.com/QwenLM/qwen-code/pull/16450)) + +### 中文摘要 + +#### Skill 安装与激活 + +Skill ZIP 上传、daemon API、TypeScript SDK 支持、批量激活与恢复备份保护,让 Skill 安装和管理更可靠。 + +- 新增 PUT /skills/activation 与 setUserSkillsActivation,可一次启用或禁用 1-100 个用户 Skill,并返回保存与传播状态。 ([#16186](https://github.com/QwenLM/qwen-code/pull/16186)) +- 为大型 Skill 压缩包安装做准备,在安装器中加入从磁盘读取 ZIP 的能力与恢复备份保护。 ([#16421](https://github.com/QwenLM/qwen-code/pull/16421)) +- 新增守护进程 API,可通过上传或主机文件路径安装大型 Skill ZIP,并在失败后查询安装回执。 ([#16422](https://github.com/QwenLM/qwen-code/pull/16422)) +- TypeScript SDK 支持通过 File、Blob、字节或主机路径安装 Skill ZIP,并提供尝试 ID 与回执查询。 ([#16423](https://github.com/QwenLM/qwen-code/pull/16423)) +- WebShell 现在可从 Skills 页面上传 Skill ZIP,显示守护进程限制,并查询不确定的安装结果。 ([#16424](https://github.com/QwenLM/qwen-code/pull/16424)) + +#### Web Shell 会话与输入 + +Web Shell 会话标题、Add 菜单细节、草稿保留、批量删除与 listSessions 分页修复改进日常会话管理。 + +- 当 transcript 重建时保留 Web Shell 会话列表标题,避免会话名称丢失。 ([#16299](https://github.com/QwenLM/qwen-code/pull/16299)) +- 优化 Web Shell 作曲器 Add 菜单的图标、标签、描述、间距,并改进无障碍展示与 Plan 状态指示。 ([#16181](https://github.com/QwenLM/qwen-code/pull/16181)) +- WebShell 现在在 ArrowUp 或 ArrowDown 浏览换行提示行时保留未发送草稿。 ([#14909](https://github.com/QwenLM/qwen-code/pull/14909)) +- web-shell: batch session deletions at the route limit ([#14637](https://github.com/QwenLM/qwen-code/pull/14637)) +- listSessions 分页在多个会话文件修改时间相同时不再跳过会话。 ([#16024](https://github.com/QwenLM/qwen-code/pull/16024)) + +#### Managed agent 与会话 + +Managed agent 自动化、持久用户问题、activation 续期、writer 恢复与历史缓存提升托管会话的可靠性与性能。 + +- managed-agent: support durable structured user questions ([#16433](https://github.com/QwenLM/qwen-code/pull/16433)) +- managed-agent: enable automation by default ([#16448](https://github.com/QwenLM/qwen-code/pull/16448)) +- Managed agent 激活续期现在能更高效定位 activation lease,降低查询开销。 ([#16336](https://github.com/QwenLM/qwen-code/pull/16336)) +- 通过移除 native journal 快照发布中的 tenant 守卫锁,提升 managed-agent 性能。 ([#16410](https://github.com/QwenLM/qwen-code/pull/16410)) +- Managed Session 历史重建现在按进程缓存消息正文,减少重复读取并提升性能。 ([#16337](https://github.com/QwenLM/qwen-code/pull/16337)) +- HTTP Managed Session 写入方恢复现在会保留有效的在途续期授权,避免不必要重新获取。 ([#16287](https://github.com/QwenLM/qwen-code/pull/16287)) + +#### GitHub PR 自动化 + +沙箱 /verify 可读取 PR review threads,/autofix-pr 拒绝输出机器可读代码,GitHub 入站恢复在读取失败后重试。 + +- 沙箱 /verify 轮次现在可读取 PR review threads,包括已解决和过期讨论,便于验证时参考评审意见。 ([#16300](https://github.com/QwenLM/qwen-code/pull/16300)) +- /autofix-pr 助手拒绝时会在 stderr 输出 refused 代码和 next 步骤,便于自动处理。 ([#16238](https://github.com/QwenLM/qwen-code/pull/16238)) +- GitHub 入站恢复在读取失败后会继续重试,任务存储可读后已恢复任务将运行。 ([#16402](https://github.com/QwenLM/qwen-code/pull/16402)) + +#### 模型与 Provider 支持 + +Llama、LLaVA、Pixtral、Mistral Small 与 Qwen VL 图像输入修复,以及 OCI Generative AI 文档扩展 provider 覆盖。 + +- Llama 3.2 Vision、Llama 4、LLaVA、Pixtral 及 Mistral Small 3.1/3.2 支持图像输入。 ([#16311](https://github.com/QwenLM/qwen-code/pull/16311)) +- core: accept images for Qwen VL models under their Ollama names ([#16309](https://github.com/QwenLM/qwen-code/pull/16309)) +- providers: document OCI Generative AI under OpenAI-compatible providers ([#16345](https://github.com/QwenLM/qwen-code/pull/16345)) + +#### Channel 与消息 + +QQ 主动消息投递与更完整的 Channel 事件时间线记录改进群消息、投递跟踪和扫描健康可见性。 + +- QQ 支持主动消息投递,循环、webhook、后台任务和 daemon 发送可作为主动群消息发出。 ([#15635](https://github.com/QwenLM/qwen-code/pull/15635)) +- Channel 事件时间线现在记录私有绑定会话投递、未投递事件和扫描健康结果。 ([#16237](https://github.com/QwenLM/qwen-code/pull/16237)) + +#### CLI 与终端状态 + +交互式 CLI 通过 OSC 7501 报告 working、blocked、done 或 error 状态,experimental.unifiedAgentLoop 帮助 Ink TUI 完成工具批处理。 + +- 交互式 CLI 现在通过 OSC 7501 向终端报告 working、blocked、done 或 error 状态,并标记 app=qwen-code。 ([#16407](https://github.com/QwenLM/qwen-code/pull/16407)) +- 启用 experimental.unifiedAgentLoop 后,Ink TUI 回合会等待共享工具批处理完成。 ([#16385](https://github.com/QwenLM/qwen-code/pull/16385)) + +#### Daemon、Runtime 与账户恢复 + +SSH 注册、MCP 启动、工具执行锁与 daemon 回放内存限制优化,以及 subscription 恢复改进平台稳定性。 + +- SSH 注册结算与 Session worktree 准备减少串行限制,支持更多并发 Runtime 工作。 ([#16386](https://github.com/QwenLM/qwen-code/pull/16386)) +- 按需加载 MCP 客户端的 Google auth providers,降低启动负载且配置服务器行为不变。 ([#16242](https://github.com/QwenLM/qwen-code/pull/16242)) +- 通过减少普通会话工具执行准入与调度中的不必要锁,提高执行性能。 ([#16415](https://github.com/QwenLM/qwen-code/pull/16415)) +- 守护进程命令和技能回放限制快照内存,默认每会话 8 MiB,可用 --event-ring-max-bytes 配置。 ([#16413](https://github.com/QwenLM/qwen-code/pull/16413)) +- subscription: isolate activation and restore sign-in recovery ([#16453](https://github.com/QwenLM/qwen-code/pull/16453)) + +#### 其他变更 + +- 增强续期恢复与 writer seal 的测试覆盖,不改变生产行为。 ([#14482](https://github.com/QwenLM/qwen-code/pull/14482)) +- 将 Web Shell 侧边栏测试脚手架合并到共享 sidebarHarness,不影响用户可见行为。 ([#16016](https://github.com/QwenLM/qwen-code/pull/16016)) +- 新增设计提案,将 PR 状态变化检测从 GitHub 频道轮询迁移到 daemon 的 PR 刷新定时器。 ([#16246](https://github.com/QwenLM/qwen-code/pull/16246)) +- 将 stale PR 策略缩短为 30 天无活动标记、再过 14 天关闭,并提高单次清理预算。 ([#16435](https://github.com/QwenLM/qwen-code/pull/16435)) +- 修复 release Docker 集成构建,使其与 E2E 一样使用 apt-mirror 探测,提升镜像选择与缓存可靠性。 ([#16278](https://github.com/QwenLM/qwen-code/pull/16278)) +- no-AK 集成门禁现在对所有 pull request 路由到自托管 ECS 池,包括不受信任分支。 ([#16132](https://github.com/QwenLM/qwen-code/pull/16132)) +- test(managed-agent): cover pending sibling approval holds ([#15994](https://github.com/QwenLM/qwen-code/pull/15994)) +- ci: build the PR tree once and shorten the required path ([#16450](https://github.com/QwenLM/qwen-code/pull/16450)) + +### Complete Change List (39 pull requests) + +#### Features + +- verify-pr: give the sandboxed round the PR's review threads ([#16300](https://github.com/QwenLM/qwen-code/pull/16300)) by @wenshao +- autofix-pr: give helper refusals a code and a next step ([#16238](https://github.com/QwenLM/qwen-code/pull/16238)) by @wenshao +- qqbot: deliver proactive loop messages as active group messages ([#15635](https://github.com/QwenLM/qwen-code/pull/15635)) by @Eric-GoodBoy-Tech +- cli: have an Ink TUI turn await its shared tool batch ([#16385](https://github.com/QwenLM/qwen-code/pull/16385)) by @qqqys +- serve: add atomic user Skill activation ([#16186](https://github.com/QwenLM/qwen-code/pull/16186)) by @callmeYe +- skills: add file-backed archive installation kernel (1/4) ([#16421](https://github.com/QwenLM/qwen-code/pull/16421)) by @callmeYe +- skills: expose native archive routes and receipts (2/4) ([#16422](https://github.com/QwenLM/qwen-code/pull/16422)) by @callmeYe +- sdk: support native Skill archives and receipt lookup (3/4) ([#16423](https://github.com/QwenLM/qwen-code/pull/16423)) by @callmeYe +- web-shell: polish composer action menu presentation ([#16181](https://github.com/QwenLM/qwen-code/pull/16181)) by @ytahdn +- managed-agent: support durable structured user questions ([#16433](https://github.com/QwenLM/qwen-code/pull/16433)) by @doudouOUC +- cli: report interactive program status with OSC 7501 ([#16407](https://github.com/QwenLM/qwen-code/pull/16407)) by @sorrycc +- web-shell: upload Skill archives and reconcile results (4/4) ([#16424](https://github.com/QwenLM/qwen-code/pull/16424)) by @callmeYe +- channels: journal private bound-session delivery and scan health ([#16237](https://github.com/QwenLM/qwen-code/pull/16237)) by @wenshao +- managed-agent: enable automation by default ([#16448](https://github.com/QwenLM/qwen-code/pull/16448)) by @doudouOUC + +#### Bug Fixes + +- channels: keep GitHub inbound recovery armed after a failed read ([#16402](https://github.com/QwenLM/qwen-code/pull/16402)) by @wenshao +- core: keep a writer grant an in-flight renewal refreshed ([#16287](https://github.com/QwenLM/qwen-code/pull/16287)) by @wenshao +- core: keep session list titles when a transcript is rebuilt ([#16299](https://github.com/QwenLM/qwen-code/pull/16299)) by @wenshao +- core: accept images for Llama 3.2 Vision, Llama 4, LLaVA, Pixtral and Mistral Small 3.1 and 3.2 ([#16311](https://github.com/QwenLM/qwen-code/pull/16311)) by @Shizoqua +- ci: apply the apt-mirror probe to the release docker lane too ([#16278](https://github.com/QwenLM/qwen-code/pull/16278)) by @yiliang114 +- core: make persisted session pagination safe for equal mtimes ([#16024](https://github.com/QwenLM/qwen-code/pull/16024)) by @yiliang114 +- serve: bound command snapshot replay memory ([#16413](https://github.com/QwenLM/qwen-code/pull/16413)) by @doudouOUC +- web-shell: preserve wrapped drafts during arrow navigation ([#14909](https://github.com/QwenLM/qwen-code/pull/14909)) by @jianyx1 +- web-shell: batch session deletions at the route limit ([#14637](https://github.com/QwenLM/qwen-code/pull/14637)) by @jianyx1 +- core: accept images for Qwen VL models under their Ollama names ([#16309](https://github.com/QwenLM/qwen-code/pull/16309)) by @Shizoqua +- subscription: isolate activation and restore sign-in recovery ([#16453](https://github.com/QwenLM/qwen-code/pull/16453)) by @liuxuely0626 + +#### Performance + +- core: read each Managed message body once per process ([#16337](https://github.com/QwenLM/qwen-code/pull/16337)) by @wenshao +- managed-agent: index the activation lease lookup ([#16336](https://github.com/QwenLM/qwen-code/pull/16336)) by @wenshao +- managed-agent: narrow SSH settlement and worktree locking ([#16386](https://github.com/QwenLM/qwen-code/pull/16386)) by @doudouOUC +- core: load the MCP client's Google auth providers on demand ([#16242](https://github.com/QwenLM/qwen-code/pull/16242)) by @wenshao +- managed-agent: take native journal snapshots off the tenant guards ([#16410](https://github.com/QwenLM/qwen-code/pull/16410)) by @doudouOUC +- managed-agent: take tool execution control off the tenant guards ([#16415](https://github.com/QwenLM/qwen-code/pull/16415)) by @doudouOUC + +#### Documentation + +- design: propose PR state transitions from the daemon PR refresh ([#16246](https://github.com/QwenLM/qwen-code/pull/16246)) by @wenshao +- providers: document OCI Generative AI under OpenAI-compatible providers ([#16345](https://github.com/QwenLM/qwen-code/pull/16345)) by @fede-kamel + +#### Internal Changes + +- test(core): harden renewal waits and writer seal coverage ([#14482](https://github.com/QwenLM/qwen-code/pull/14482)) by @xxwtiancai +- test(web-shell): consolidate sidebar suite fixtures on the shared sidebarHarness ([#16016](https://github.com/QwenLM/qwen-code/pull/16016)) by @4ekuct25 +- chore(ci): shorten stale PR window to 30 + 14 days ([#16435](https://github.com/QwenLM/qwen-code/pull/16435)) by @wenshao +- ci: route the no-AK integration gate to ECS for every pull request ([#16132](https://github.com/QwenLM/qwen-code/pull/16132)) by @yiliang114 +- test(managed-agent): cover pending sibling approval holds ([#15994](https://github.com/QwenLM/qwen-code/pull/15994)) by @jianyx1 +- ci: build the PR tree once and shorten the required path ([#16450](https://github.com/QwenLM/qwen-code/pull/16450)) by @sorrycc + +### New Contributors + +- @xxwtiancai made their first contribution in [#14482](https://github.com/QwenLM/qwen-code/pull/14482) +- @fede-kamel made their first contribution in [#16345](https://github.com/QwenLM/qwen-code/pull/16345) + +**Full Changelog**: https://github.com/QwenLM/qwen-code/compare/v0.26.8...v0.26.9 + ## [0.26.8](https://github.com/QwenLM/qwen-code/releases/tag/v0.26.8) - 2026-11-05 ### Highlights diff --git a/integrations/external-context-mem0/package.json b/integrations/external-context-mem0/package.json index 2993d3b88c4..e6917086530 100644 --- a/integrations/external-context-mem0/package.json +++ b/integrations/external-context-mem0/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/external-context-mem0", - "version": "0.26.8", + "version": "0.26.9", "description": "Configurable Mem0-compatible External Context Extension", "repository": { "type": "git", diff --git a/integrations/external-context-mem0/qwen-extension.json b/integrations/external-context-mem0/qwen-extension.json index 8183e8d44f5..9290b16c17d 100644 --- a/integrations/external-context-mem0/qwen-extension.json +++ b/integrations/external-context-mem0/qwen-extension.json @@ -8,7 +8,7 @@ "en": "Configurable retrieval from an administrator-bound Mem0-compatible service", "zh": "从管理员绑定的 Mem0 兼容服务检索外部上下文" }, - "version": "0.26.8", + "version": "0.26.9", "mcpServers": { "external-context-mem0": { "command": "node", diff --git a/integrations/external-context/package.json b/integrations/external-context/package.json index 4d36293329d..6e030a43eb0 100644 --- a/integrations/external-context/package.json +++ b/integrations/external-context/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/external-context", - "version": "0.26.8", + "version": "0.26.9", "private": true, "description": "Provider-bound external context for Qwen Code", "type": "module", diff --git a/integrations/generated-ui/package.json b/integrations/generated-ui/package.json index 4efe463ed5b..6435af032a3 100644 --- a/integrations/generated-ui/package.json +++ b/integrations/generated-ui/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/generated-ui", - "version": "0.26.8", + "version": "0.26.9", "private": true, "description": "Bounded locally interactive HTML and JavaScript views over MCP Apps", "repository": { diff --git a/integrations/test-failure-explorer/package.json b/integrations/test-failure-explorer/package.json index 6f589af3e5d..0fe4b60f4ad 100644 --- a/integrations/test-failure-explorer/package.json +++ b/integrations/test-failure-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/test-failure-explorer", - "version": "0.26.8", + "version": "0.26.9", "private": true, "description": "Workspace-bound queries over immutable Vitest JSON reports", "repository": { diff --git a/package.json b/package.json index 690cc7eeb7d..2c854fdd87d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@qwen-code/qwen-code", "private": true, - "version": "0.26.8", + "version": "0.26.9", "packageManager": "pnpm@11.24.0+sha512.bd27e345e976dcb0be0b7a1228217b049a817e21b1f355c90dbe7dc46671895a8bc1e6d06c24554505ea93ea0b45f489a27ec1bfbc8de6a9659fca0f16fa0000", "engines": { "node": ">=22.0.0" @@ -35,7 +35,7 @@ "url": "git+https://github.com/QwenLM/qwen-code.git" }, "config": { - "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.26.8" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.26.9" }, "scripts": { "start": "node scripts/start.js", diff --git a/packages/acp-bridge/package.json b/packages/acp-bridge/package.json index f3aecf4f5d8..ad7419f9157 100644 --- a/packages/acp-bridge/package.json +++ b/packages/acp-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@qwen-code/acp-bridge", "private": true, - "version": "0.26.8", + "version": "0.26.9", "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 bda5bf2646a..2de8af9d952 100644 --- a/packages/audio-capture/package.json +++ b/packages/audio-capture/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/audio-capture", - "version": "0.26.8", + "version": "0.26.9", "description": "Native microphone capture backend for Qwen Code voice input", "repository": { "type": "git", diff --git a/packages/channels/base/package.json b/packages/channels/base/package.json index dca6f874fc3..b5da5b63cfa 100644 --- a/packages/channels/base/package.json +++ b/packages/channels/base/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-base", - "version": "0.26.8", + "version": "0.26.9", "description": "Base channel infrastructure for Qwen Code", "repository": { "type": "git", diff --git a/packages/channels/dingtalk/package.json b/packages/channels/dingtalk/package.json index 00454d95662..5b817bf6c0c 100644 --- a/packages/channels/dingtalk/package.json +++ b/packages/channels/dingtalk/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-dingtalk", - "version": "0.26.8", + "version": "0.26.9", "description": "DingTalk channel adapter for Qwen Code", "repository": { "type": "git", @@ -25,7 +25,7 @@ "test:ci": "vitest run" }, "dependencies": { - "@qwen-code/channel-base": "0.26.8", + "@qwen-code/channel-base": "0.26.9", "dingtalk-stream-sdk-nodejs": "^2.0.4" }, "devDependencies": { diff --git a/packages/channels/dws/package.json b/packages/channels/dws/package.json index ecac87952e6..650c6d25e0e 100644 --- a/packages/channels/dws/package.json +++ b/packages/channels/dws/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-dws", - "version": "0.26.8", + "version": "0.26.9", "description": "DingTalk Workspace channel adapter for Qwen Code", "repository": { "type": "git", @@ -25,7 +25,7 @@ "test:ci": "vitest run" }, "dependencies": { - "@qwen-code/channel-base": "0.26.8" + "@qwen-code/channel-base": "0.26.9" }, "devDependencies": { "typescript": "^5.0.0" diff --git a/packages/channels/email/package.json b/packages/channels/email/package.json index abc35ac0082..3db06d714ba 100644 --- a/packages/channels/email/package.json +++ b/packages/channels/email/package.json @@ -1,7 +1,7 @@ { "name": "@qwen-code/channel-email", "private": true, - "version": "0.26.8", + "version": "0.26.9", "description": "IMAP and SMTP Email channel for Qwen Code", "type": "module", "main": "dist/index.js", @@ -21,7 +21,7 @@ "test:ci": "vitest run" }, "dependencies": { - "@qwen-code/channel-base": "0.26.8", + "@qwen-code/channel-base": "0.26.9", "imapflow": "^1.7.8", "mailparser": "^3.9.28", "nodemailer": "^10.0.10", diff --git a/packages/channels/feishu/package.json b/packages/channels/feishu/package.json index 98c9ded408d..4982c32748a 100644 --- a/packages/channels/feishu/package.json +++ b/packages/channels/feishu/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-feishu", - "version": "0.26.8", + "version": "0.26.9", "description": "Feishu (Lark) channel adapter for Qwen Code", "repository": { "type": "git", @@ -26,7 +26,7 @@ }, "dependencies": { "@larksuiteoapi/node-sdk": "^1.73.0", - "@qwen-code/channel-base": "0.26.8" + "@qwen-code/channel-base": "0.26.9" }, "devDependencies": { "typescript": "^5.0.0" diff --git a/packages/channels/github/package.json b/packages/channels/github/package.json index 2a78f5d8649..ee30d1b0b35 100644 --- a/packages/channels/github/package.json +++ b/packages/channels/github/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-github", - "version": "0.26.8", + "version": "0.26.9", "description": "GitHub polling channel adapter for Qwen Code", "repository": { "type": "git", @@ -30,7 +30,7 @@ }, "dependencies": { "@octokit/rest": "^21.1.1", - "@qwen-code/channel-base": "0.26.8", + "@qwen-code/channel-base": "0.26.9", "https-proxy-agent": "^7.0.6" }, "devDependencies": { diff --git a/packages/channels/gitlab/package.json b/packages/channels/gitlab/package.json index 1555ef3d6d0..9fd79a35953 100644 --- a/packages/channels/gitlab/package.json +++ b/packages/channels/gitlab/package.json @@ -1,7 +1,7 @@ { "name": "@qwen-code/channel-gitlab", "private": true, - "version": "0.26.8", + "version": "0.26.9", "description": "GitLab polling channel adapter for Qwen Code", "type": "module", "main": "dist/index.js", @@ -22,7 +22,7 @@ }, "dependencies": { "@gitbeaker/rest": "^42.5.0", - "@qwen-code/channel-base": "0.26.8", + "@qwen-code/channel-base": "0.26.9", "zod": "^3.25.0" }, "devDependencies": { diff --git a/packages/channels/plugin-example/package.json b/packages/channels/plugin-example/package.json index 765e05f8cb3..a61cfbb5238 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.26.8", + "version": "0.26.9", "private": true, "type": "module", "main": "dist/index.js", diff --git a/packages/channels/qqbot/package.json b/packages/channels/qqbot/package.json index 76f711fc51a..34be9898551 100644 --- a/packages/channels/qqbot/package.json +++ b/packages/channels/qqbot/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-qqbot", - "version": "0.26.8", + "version": "0.26.9", "description": "QQ Bot (QQ机器人) channel adapter for Qwen Code", "repository": { "type": "git", @@ -25,7 +25,7 @@ "test:ci": "vitest run" }, "dependencies": { - "@qwen-code/channel-base": "0.26.8", + "@qwen-code/channel-base": "0.26.9", "@tencent-connect/qqbot-connector": "^1.1.0", "ws": "^8.18.0" }, diff --git a/packages/channels/telegram/package.json b/packages/channels/telegram/package.json index ae93f9462e5..cf323458b0f 100644 --- a/packages/channels/telegram/package.json +++ b/packages/channels/telegram/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-telegram", - "version": "0.26.8", + "version": "0.26.9", "description": "Telegram channel adapter for Qwen Code", "repository": { "type": "git", @@ -25,7 +25,7 @@ "test:ci": "vitest run" }, "dependencies": { - "@qwen-code/channel-base": "0.26.8", + "@qwen-code/channel-base": "0.26.9", "grammy": "^1.41.1", "https-proxy-agent": "^7.0.6", "telegram-markdown-formatter": "^0.1.2" diff --git a/packages/channels/wecom/package.json b/packages/channels/wecom/package.json index 0ce2a45e42c..4aeb60da06b 100644 --- a/packages/channels/wecom/package.json +++ b/packages/channels/wecom/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-wecom", - "version": "0.26.8", + "version": "0.26.9", "description": "WeCom channel adapter for Qwen Code", "repository": { "type": "git", @@ -25,7 +25,7 @@ "test:ci": "vitest run" }, "dependencies": { - "@qwen-code/channel-base": "0.26.8", + "@qwen-code/channel-base": "0.26.9", "@wecom/aibot-node-sdk": "^1.0.7", "saxes": "6.0.0" }, diff --git a/packages/channels/weixin/package.json b/packages/channels/weixin/package.json index f682725755a..dc0aa237cca 100644 --- a/packages/channels/weixin/package.json +++ b/packages/channels/weixin/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/channel-weixin", - "version": "0.26.8", + "version": "0.26.9", "description": "WeChat (Weixin) channel adapter for Qwen Code", "repository": { "type": "git", @@ -33,7 +33,7 @@ "test:ci": "vitest run" }, "dependencies": { - "@qwen-code/channel-base": "0.26.8" + "@qwen-code/channel-base": "0.26.9" }, "devDependencies": { "typescript": "^5.0.0" diff --git a/packages/chrome-extension/package.json b/packages/chrome-extension/package.json index 32dc2bcd279..2b3dd8c3ca6 100644 --- a/packages/chrome-extension/package.json +++ b/packages/chrome-extension/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/chrome-bridge", - "version": "0.26.8", + "version": "0.26.9", "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 aa765bc7fe8..a60031b98d2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@qwen-code/qwen-code", "private": true, - "version": "0.26.8", + "version": "0.26.9", "description": "Qwen Code", "repository": { "type": "git", @@ -38,7 +38,7 @@ "dist" ], "config": { - "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.26.8" + "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.26.9" }, "dependencies": { "@alcalzone/ansi-tokenize": "0.3.0", diff --git a/packages/core/package.json b/packages/core/package.json index 2d7121c2481..b273f0b294d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@qwen-code/qwen-code-core", "private": true, - "version": "0.26.8", + "version": "0.26.9", "description": "Qwen Code Core", "repository": { "type": "git", diff --git a/packages/vscode-ide-companion/package.json b/packages/vscode-ide-companion/package.json index b75543be572..658d02de6ba 100644 --- a/packages/vscode-ide-companion/package.json +++ b/packages/vscode-ide-companion/package.json @@ -3,7 +3,7 @@ "private": true, "displayName": "Qwen Code Companion", "description": "Enable Qwen Code with direct access to your VS Code workspace.", - "version": "0.26.8", + "version": "0.26.9", "publisher": "qwenlm", "icon": "assets/icon.png", "repository": { diff --git a/packages/web-shell/package.json b/packages/web-shell/package.json index ee77daeb59c..3606a945ee6 100644 --- a/packages/web-shell/package.json +++ b/packages/web-shell/package.json @@ -1,6 +1,6 @@ { "name": "@qwen-code/web-shell", - "version": "0.26.8", + "version": "0.26.9", "repository": { "type": "git", "url": "git+https://github.com/QwenLM/qwen-code.git", diff --git a/packages/web-templates/package.json b/packages/web-templates/package.json index 36aee706edc..e6eebcbd8f0 100644 --- a/packages/web-templates/package.json +++ b/packages/web-templates/package.json @@ -1,7 +1,7 @@ { "name": "@qwen-code/web-templates", "private": true, - "version": "0.26.8", + "version": "0.26.9", "description": "Web templates bundled as embeddable JS/CSS strings", "repository": { "type": "git",