npm @qwen-code/qwen-code 0.25.3
Release v0.25.3

2 hours ago

Highlights

See the complete change list below.

Breaking Changes

No known breaking changes.

Complete Change List

Features

  • Adds optional model-generated layouts to Test Failure Explorer, with validation and fallback to the fixed view (#14269) by @qqqys
  • The Web Shell mobile composer no longer shows the ↑ and ↓ history buttons, reducing clutter while keeping history search available. (#14220) by @pomelo-nwu
  • The Web Shell trajectory panel now includes a collapsible Recent executions section that shows live requests and tools with elapsed time and final durations. (#14071) by @qqqys
  • Managed sessions created from published AgentDefinitions can now load static Skills and pass pinned MCP server and Hook catalog selections to Hosted Runtimes. (#14319) by @doudouOUC
  • Files now offers New file and New folder actions, and folder Delete asks for a second confirmation before permanently removing the folder and its contents. (#14169) by @ytahdn
  • Eligible legacy cancellations now require confirmation through the daemon or WebShell Continue flow before continuing, while explicitly user-cancelled work stays blocked. (#14087) by @yiliang114
  • Hosted parent agents can launch snapshot-isolated child agents that read a frozen workspace copy without changing files, running commands, or affecting the parent. (#14265) by @wenshao
  • Clicking the workspace folder beside the chat title now opens and selects the Files tree in the right panel, with keyboard and focus preserved. (#14344) by @ytahdn
  • Managed sessions now integrate into the home and sidebar, supporting workspace creation, approval policy and model selection, and context usage in the composer. (#14316) by @doudouOUC
  • The Files panel adds a Delete menu for regular files, requiring a permanent-deletion confirmation for the selected trusted local workspace. (#14158) by @ytahdn
  • Adds resident Kubernetes Workspace file sessions that retain an original Pod and fixed CSI PVC so configured Workspaces preserve files across sessions. (#14340) by @doudouOUC
  • Adds Shell Full Access and default/auto-edit/yolo switching for built-in Workspace-bound qwen-code Sessions without losing history, Workspace, or drafts. (#14323) by @doudouOUC
  • feat(mods): support commands in interactive terminals (PR4a) (#14268) by @qqqys
  • feat(providers): add QwenCloud as the first /auth entry (#14073) by @yiliang114
  • feat(ci): route the release lane's hosted stragglers onto ECS runners (#14336) by @yiliang114
  • feat(web-shell): add side task archive controls (#14300) by @yiliang114
  • feat(managed-agent): Add SSH Tool Runtime support (#14318) by @doudouOUC
  • feat(web-shell): list every Managed task kind in the task panel (#14415) by @wenshao
  • feat(managed-agent): H4f-c public task cancel for background Shell and Monitor tasks (#14412) by @wenshao
  • feat(managed-agent): link a child task to its child Session (#13746 F2) (#14413) by @wenshao
  • feat(managed-agent): Improve workspace selection and tool progress (#14405) by @doudouOUC
  • feat(managed-agent): project channel deliveries as tasks and serve their cancel (#13746 F3) (#14414) by @wenshao
  • feat(managed-agent): record Turn input and cancel as durable command operations (D7-1) (#14404) by @wenshao
  • feat(managed-agent): support native macOS workspace runtime (#14442) by @doudouOUC
  • feat(qqbot): accept inbound files and voice messages (#14343) by @Eric-GoodBoy-Tech
  • feat(managed-agent): reconcile acceptance-unknown operations through one rule (D7-2) (#14443) by @wenshao
  • feat(managed-agent): reconcile a parked SSH Workspace registration (D7-2) (#14456) by @wenshao
  • feat(runtime-broker): Workspace-resident Tool Runtime for bound Sessions (#14435) by @doudouOUC
  • fix(ci): run three hosted control-plane jobs on the ECS pool (#14469) by @wenshao
  • feat(managed-agent): add the opt-in java_durable admission profile (D7-3) (#14470) by @wenshao
  • feat(ci): gate Managed Agent changes on a full SDK Java run before merge (#14397) by @yiliang114
  • feat(serve): attach private CSI Sessions to Hosted text turns (#14081) by @doudouOUC
  • feat(managed-agent): reconcile parked Session title deliveries (D7-2) (#14475) by @wenshao
  • feat(managed-agent): register the Managed engine in paired daemons (#14483) by @wenshao
  • feat(managed-agent): allow approval changes in stored agent sessions (#14484) by @doudouOUC
  • feat(managed-agent): support Plan mode and inline attachments (#14531) by @doudouOUC
  • feat(workflow): discover trusted ancestor workflows in local sessions (#14369) by @qqqys
  • feat(managed-agent): Support per-run automation cancellation (#14526) by @doudouOUC
  • feat(managed-agent): bound half-open Hosted event streams behind a keepalive capability (#14135) (#14512) by @wenshao
  • feat(managed-agent): connect the composer to pinned Skills (#14602) by @doudouOUC
  • feat(web-shell): add approval mode allowlist (#14345) by @ytahdn

Bug Fixes

  • Fixes plan approval crashes during journal-only interrupted turns so takeover can settle the session instead of failing terminally (#14160) by @wenshao
  • Fixes checkstyle build failures in the Java SDK by reordering FG8 test imports (#14305) by @wenshao
  • Standardizes Managed Agent timestamps to Unix epoch milliseconds and updates query mappings for consistent data handling (#14185) by @doudouOUC
  • Fixes CSI preparation failures by retaining input, tool declaration, and intent resources through the HTTP store (#14180) by @doudouOUC
  • Managed Hosted model prompts now stay aligned with declared tools, including empty or changed tool sets, so tool guidance and examples remain accurate. (#14306) by @doudouOUC
  • Closing a parent session now stops each child session's running Turn, reducing lingering background work and making close behavior more reliable. (#14218) by @wenshao
  • Session close after a Harness restart or takeover now correctly tracks and releases held background Shell or Monitor runtimes, preventing abandoned runs. (#13986) by @wenshao
  • fix(managed-agent): name the plan's size and room in the team-plan bound refusal (#14057) by @wenshao
  • Windows merge checks now report known workspace and script failures as warnings while keeping installer, security, and Hosted process tests blocking. (#14298) by @yiliang114
  • Managed-agent retry loops now have budgets and terminal states, letting stuck projections fail safely, reducing repeated log noise and preventing endless retries. (#13219) by @wenshao
  • When a hosted member message reply times out, the CLI now advises not to resend because the recipient may already have it or receive it later. (#14296) by @yiliang114
  • Dialogs opened over the mobile sidebar drawer remain touch-scrollable instead of being locked by the drawer's background scroll behavior. (#14217) by @pomelo-nwu
  • Managed agent publication grants and background session close now work reliably for Shell and Monitor output. (#14364) by @doudouOUC
  • Fixes CLI custom commands so injected file content is preserved during later shell and argument interpolation instead of being reinterpreted. (#14295) by @yiliang114
  • Fixes Web Shell so Show Response Tokens Per Second displays an estimated t/s rate beside the streaming token counter when enabled. (#14294) by @yiliang114
  • Polishes Web Shell file display and preview by showing safe file names, preserving paths, adding a close-preview action, and limiting syntax highlighting resources. (#14143) by @ytahdn
  • Routes post-merge classifier jobs to ECS when enabled and lets CLI test workers yield between tests to drain queued progress replies. (#14293) by @yiliang114
  • fix(hooks): gate headless file and skill prompts before expansion (#14356) by @qqqys
  • fix(ci): make finalize-release second-bot approve non-blocking (#14341) (#14342) by @yiliang114
  • fix(managed-agent): hold behind an older message whose body cannot be read (#14299) by @wenshao
  • fix(managed-agent): tenant-wide InnoDB locks must not wedge unrelated Sessions (#13918) by @wenshao
  • fix(managed-runtime): landed PR 12691 review follow-ups across providers, activator, core tools and runtime broker (#13297) by @wenshao
  • fix(channels/email): re-register on a channel_disconnected answer (#13768) by @wenshao
  • fix(sdk-java): Close Hosted Harness review criticals from #12654 (#13314) by @wenshao
  • fix(managed-agent): hand back the Workspace mount when a tool turn goes recovery blocked (#13816) by @wenshao
  • fix(managed-agent): Report merges deleting uncommitted parent content as conflicts (#14058) by @wenshao
  • fix(ci): document the shared-group supersede policy and keep main uncancellable (#14286) by @yiliang114
  • fix(serve): fan out never-started process probes (#14303) by @yiliang114
  • fix(web-shell): inset the right edge of a label-only composer chip (#13968) by @Bug-killer-prog
  • fix(web-shell): neutralise controls in the generic approval content block (#13972) by @Bug-killer-prog
  • fix(web-shell): delete attachments from an empty composer (#13947) by @Zhangchenhao-111
  • fix(managed-agent): close the deferred #13182 terminal-state suggestions (#14358) by @wenshao
  • fix(managed-agent): log the check behind a refused internal request (#14391) by @wenshao
  • fix(ci): assemble the reference distribution into a fresh directory (#14421) by @wenshao
  • fix(daemon): preserve active work when deleting scheduled tasks (#14276) by @yiliang114
  • fix(core): report a defunct session pid as dead instead of active (#14301) by @yiliang114
  • fix(runtime-broker): support credential key rotation (#14317) by @yiliang114
  • fix(ci): keep the setup-java Maven cache on hosted runners (#14396) by @yiliang114
  • fix(managed-agent): run a merge recorded on a snapshot as a discard (#13905 items 33-36) (#14432) by @wenshao
  • fix(ci): start the reference distribution MySQL without native AIO (#14429) by @yiliang114
  • fix(web-shell): Distinguish unavailable shell output (#14436) by @doudouOUC
  • fix(ci): stop re-running the H2 unit suite in every Hosted job step (#14423) by @yiliang114
  • fix(managed-agent): address the H4f task cancel review follow-ups (#14437) by @wenshao
  • fix(managed-agent): flush early reject responses before draining the unread body (#14444) by @wenshao
  • fix(web-shell): improve favicon contrast on dark browser tabs (#14417) by @wenshao
  • fix(managed-agent): answer a full tool publication reservation with its own code (#14451) by @wenshao
  • fix(serve): answer a batch the publication limit refused instead of blocking the Session (#14452) by @wenshao
  • fix(managed): Recover cancellation after process restarts (#14377) by @doudouOUC
  • fix(managed-agent): skip the deletion probe when a resume owes nothing (#13905 items 50-52) (#14462) by @wenshao
  • fix(vscode): avoid navigator reads in the extension host (#14304) by @zonemeen
  • fix(managed-agent): address the record/contract review follow-ups of the H3 enablement (#13930) (#14464) by @wenshao
  • test: fix the SDK Java suite's red jobs (FG6e frames, schema V8 pin, client flakes) (#14457) by @yiliang114
  • fix(ci): give the hosted Test lane the same 120-minute ceiling as ECS (#14474) by @wenshao
  • fix(ci): run the trusted web-shell browser smoke on the ECS pool (#14471) by @wenshao
  • fix(ci): skip application tests for Markdown-only and CODEOWNERS-only changes (#14284) by @yiliang114
  • fix(core): fill empty signature on unsigned thinking blocks for strict Anthropic-compatible proxies (#13676) by @4ekuct25
  • fix(managed-agent): never re-drive an unsettled workflow Turn on the recovery path (#14387) (#14461) by @wenshao
  • test(core): size the hosted cold-scan ceiling from the slowest hosted runners (#14497) by @wenshao
  • test(managed-agent): stub the acquire provisioner overload the Broker calls (#14498) by @wenshao
  • test(managed-agent): pin #14387's Turn-row accessors in the lock canary (#14501) by @wenshao
  • fix(managed-agent): keep a crash-blocked workflow run unknown and honestly notified, gated by FG10d (#14165) (#14506) by @wenshao
  • test(managed-agent): parse only complete rows in the wedge driver wire (#14496) by @wenshao
  • fix(managed-agent): keep runtime MCP state and permission sync honest (#14488) by @wenshao
  • fix(sdk-java): keep the snapshot flag when a load copy restates child Workspaces (#13905 item 40) (#14519) by @wenshao
  • fix(acp-bridge): forget a replaced child's runtime MCP servers (#14527) by @wenshao
  • fix(mods): skip catches for re-entered registrations (#14489) by @qqqys
  • fix(ci): classify host lock starvation as infrastructure (#14550) (#14552) by @wenshao
  • fix(channels/base): strip zero-ink code points from display projections (#14510) by @yiliang114
  • fix(managed-agent): preserve rotated credential keys during operator recovery (#14509) by @yiliang114
  • fix(managed-agent): verify ambiguous Linux workspace birth times (#14505) by @yiliang114
  • fix(core): stamp an aged-out final cron fire with its own minute (#14559) by @yiliang114
  • fix(serve): tell a batch its Session can never hold at once to send fewer calls (#14575) by @wenshao
  • fix(managed-agent): wait out a wake pump pass before settling its input (#14574) by @wenshao
  • fix(core): quiet the crawler's ripgrep probe and stop double-reporting one failed spawn (#14573) by @yiliang114
  • fix(managed-agent): bound retention root and head waits (#14558) by @yiliang114
  • fix(managed-agent): free Workspace storage after a refused release (#14568) by @wenshao
  • test(e2e): widen the channel-worker sandbox budgets (#14587) by @wenshao
  • fix(managed-agent): reindent the retired-holder close stage for checkstyle (#14607) by @yiliang114
  • test(e2e): mount the fixture root into the container sandbox for workflow ancestor discovery (#14589) (#14593) by @qwen-code-dev-bot
  • test(cli): give the Hosted MCP cancellation gates' waitFor an explicit timeout (#14614) by @qwen-code-dev-bot
  • fix(managed-agent): accept MariaDB numeric booleans in CHECK validation and repair drain-chain indentation (#14615) (#14618) by @qwen-code-dev-bot

Performance

  • perf(managed-agent): avoid redundant session root materialization (#14557) by @yiliang114

Documentation

  • Design docs now describe the DingTalk permission field as a checkbox group with single-choice submission and fix a broken reference. (#11774) by @L4XB
  • The README Ecosystem section now lists the qwen-audio-agent realtime voice frontend for connecting through ACP stdio mode. (#8630) by @x-lixu
  • Adds documentation for looot as a supported MCP web search service, including CLI and settings.json setup. (#13999) by @walidboulanouar
  • docs(memory): plan extraction baseline before input changes (#14368) by @yiliang114
  • docs(managed-agent): require one child Workspace setting on every replica (#14411) by @wenshao
  • docs(managed-agent): stop saying no lifecycle operation sets failure_code (#14422) by @wenshao
  • docs(managed-agent): keep hooks on snapshot children (#13905 item 37) (#14440) by @wenshao
  • docs(managed-agent): state the read-profile step-3 acceptance (#13905 item 45) (#14450) by @wenshao
  • docs: clarify safe mode tool schemas for small contexts (#14445) by @cenab
  • docs(managed-agent): specify the M6 engine registration and workspace-change contract (#14479) by @wenshao
  • docs(managed-agent): record M6 as implemented in #14483 (#14491) by @wenshao
  • docs(managed-agent): add the FG12b and FG12e fault-gate designs (#14447) (#14560) by @wenshao
  • docs(managed-agent): format the FG12b design pair (#14580) by @wenshao

Internal Changes

  • test(managed-agent): add the FG8e/FG8f monitor_run and background-shell fault gates (#14120) by @wenshao
  • Uses the permission probe to skip chmod-based CLI tests only where permission bits are not enforced (#14271) by @wenshao
  • Reuses standard utilities for Git output, XML escaping, and artifact byte-range parsing without changing existing behavior (#14307) by @doudouOUC
  • Managed Agent server and Runtime Broker sources are consolidated into one module without changing public APIs or behavior. (#14277) by @doudouOUC
  • Qwen Code now separates the CLI launcher from the JavaScript interpreter used by hooks, sandbox file writes, and code-mode execution. (#14036) by @chiga0
  • Runtime Broker now determines Harness ownership by Runtime Session for shared Workspace bindings, preparing for shared workspace-resident tool runtimes. (#14339) by @doudouOUC
  • Internal tests for hosted member commands now stay within fork timeout budgets and avoid unnecessary relay holds. (#14061) by @wenshao
  • Adds internal acceptance tests for real extension processes, MCP servers, and Hooks in managed-agent sessions. (#14357) by @doudouOUC
  • test(managed-agent): add the FG9a/FG9f session_message and session_command relay fault gates (#14164) (#14333) by @wenshao
  • test: skip the chmod-based core, wecom and scripts tests where permission bits do not bind (#14283) by @wenshao
  • refactor(managed-agent): Decouple tool publication storage from OSS (#14370) by @doudouOUC
  • test(managed-agent): give WorkspaceCreationSchemaMySqlIT its own disposable catalog (#14375) by @wenshao
  • test(managed-agent): expect legacy creation to refuse a CSI storage alias (#14382) by @wenshao
  • test(managed-agent): add the FG8a/FG8b/FG8d monitor_run and background-shell fault gates (#14163) (#14334) by @wenshao
  • test(managed-agent): add the FG9d/FG9e session relay cancellation and SSE-gap fault gates (#14164) (#14402) by @wenshao
  • test: gate the remaining chmod-based root skips on the permission-bit probe (#14403) by @wenshao
  • test(managed-agent): add the FG8c process-crash gates for monitor_run and background shells (#14163) (#14407) by @wenshao
  • test(managed-agent): ground the FG8a/FG8b/FG8d gate choreography in Linux truth (#14398) by @wenshao
  • test(managed-agent): keep the harness daemon log in Hosted shell lifecycle evidence (#14401) by @yiliang114
  • test(serve): widen the Hosted Harness idle wait on loaded runners (#14394) by @yiliang114
  • test(managed-agent): give FG8d Sessions a 10 s writer lease so drain-release gets a capture slot (#14425) by @wenshao
  • test(managed-agent): add the FG10a workflow child_run digest-integrity fault gate (#14165) (#14390) by @wenshao
  • test(managed-agent): add the FG9b/FG9c session relay store-failure and crash fault gates (#14164) (#14420) by @wenshao
  • test(sdk-java): read the heartbeat scheduler queue on its own thread (#14427) by @yiliang114
  • refactor(integration-tests): extract the shared helpers duplicated across the hosted gate drivers (#14147) (#14439) by @wenshao
  • test(managed-agent): pin the read-profile Session's serve wiring (#13905 items 41-44) (#14459) by @wenshao
  • test(managed-agent): add the FG10b/FG10f workflow relay lost-reply and delivery fault gates (#14165) (#14468) by @wenshao
  • test(managed-agent): add the FG10c/FG10e workflow relay store-failure and cancellation fault gates (#14165) (#14473) by @wenshao
  • ci(sdk-java): run the Hosted failover arms in their own job (#14467) by @wenshao
  • test(managed-agent): pin that reconcile_run leaves a live wake turn's run alone (#14480) by @wenshao
  • test(managed-agent): add the FG12a MCP reply-loss fault gates (#14447) (#14499) by @wenshao
  • test(managed-agent): hold every Hosted IT class to the shared fork budget (#14148) (#14521) by @wenshao
  • test(managed-agent): add the FG13c Hook owner-restart fault gates (#14449) (#14490) by @wenshao
  • test(managed-agent): add the FG12c MCP restart fault gates (#14447) (#14524) by @wenshao
  • test(managed-agent): add the FG13d Hook cancel and timeout fault gates (#14533) by @wenshao
  • test(managed-agent): drive the FG12c configure recovery past running (#14447) (#14535) by @wenshao
  • test(managed-agent): add the FG11a automation lost-reply fault gates (#14446) (#14534) by @wenshao
  • test(managed-agent): pin the reconcile_run route's own crash repair (#14529) by @wenshao
  • test(managed-agent): add the FG13d stopped-worker cancel gate (#14541) by @wenshao
  • test(managed-agent): add the FG12d MCP release fault gate (#14447) (#14549) by @wenshao
  • test(managed-agent): cover workspace-change request validation (#14525) by @wenshao
  • test(core): witness the sealed Managed commit-proof clause (#14514) by @yiliang114
  • test(managed-agent): add the FG11b Spring-side automation store-fault gates (#14446) (#14551) by @wenshao
  • test(managed-agent): keep a workspace-scope permission change out of a worktree session (#14554) by @wenshao
  • test(managed-agent): fix the FG12d post-merge evidence and ledger P3s (#14553) by @wenshao
  • refactor(web-shell): drop the input-history nav state nothing consumed (#14543) by @yiliang114
  • test(managed-agent): add the FG11b Harness-side automation store-fault gates (#14446) (#14564) by @wenshao
  • test(managed-agent): drop the FG13d hook-cancel reply through a broker proxy (#14555) by @wenshao
  • test(managed-agent): add FG12b Hosted MCP store fault gates (#14569) by @wenshao
  • test(managed-agent): add the FG12f MCP stream-gap gates (#14592) by @wenshao
  • test(managed-agent): drop the FG13a hook-execute reply through the broker proxy (#14556) by @wenshao
  • test(managed-agent): add the FG11c Harness-crash fault gates (#14446) (#14601) by @wenshao
  • test(managed-agent): witness the FG12d release ordering (#14447) (#14624) by @wenshao

New Contributors

Full Changelog: v0.25.2...v0.25.3

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.