npm @qwen-code/qwen-code 0.27.1
Release v0.27.1

49 minutes ago

Highlights

See the complete change list below.

Breaking Changes

No known breaking changes.

Complete Change List

Features

  • feat(core): name the active shell in the startup context (#16491) by @2SinceJuly
  • feat(qqbot): add opt-in forwardBotMessages for bot-authored messages (#15904) by @Eric-GoodBoy-Tech
  • feat(agents): make default background execution configurable (#15178) by @ZedingZhang
  • feat(cli): enable LSP through a user-scoped setting and env pair (#14613) by @BigDaddy1337
  • feat(channels): give bound sessions role guidance without operator templates (#16576) by @wenshao
  • feat(ci): switch review runner day pool to a numeric count over hz runners (#16544) by @yiliang114
  • feat(ci): support HTTP proxy in ephemeral runner containers (#16592) by @yiliang114
  • feat(serve): add the daemon PR watch store foundation (#16590) by @wenshao
  • feat(acp-bridge): expose replay projection watermark (#16538) by @chiga0
  • feat(web-shell): expose Channel delivery targets in Scheduled Tasks (#16524) by @jkxiao
  • feat(web-shell): add workspace collapse controls and drag sorting (#16197) by @ytahdn
  • feat(web-shell): label rendered artifact cards Preview and strengthen the details UI-language prompt (#16587) by @wenshao
  • feat(daemon): expose last user prompt time and session sorting (#14654) by @samuelhsin
  • feat(serve): observe bound PRs and detect state transitions behind an off switch (#16611) by @wenshao
  • feat(managed-agent): add Session resource and agent-trace diagnostics (#16640) by @doudouOUC
  • feat(ci): give the autofix address agent failed-check evidence (#16659) by @wenshao
  • feat(serve): drain bound-PR watch pending transitions behind an off switch (#16656) by @wenshao
  • feat(managed-agent): persist Session model statistics and request context (#16641) by @doudouOUC
  • feat(managed-agent): add archive and MCP self-service installation (#16500) by @doudouOUC
  • feat(channels): protect the GitHub mention lane from watch budget spend (#16701) by @wenshao
  • feat(managed-agent): persist Session execution diagnostics (#16642) by @doudouOUC
  • feat(channels): deliver bound-PR comments to every session that did not post them (#16602) by @wenshao
  • feat(web-shell): show scheduled task workspace when the picker is hidden (#16630) by @jkxiao
  • feat(mods): run the prompts a Mod submits in the OpenTUI terminal (#16426) by @qqqys
  • feat(web-shell): add sidebar multi-select with bulk pin and archive (#16702) by @deggs7
  • feat(managed-agent): add opt-in personal memory backed by Mem0 (#16488) by @doudouOUC

Bug Fixes

  • fix(core): share one gh runner and name an unusable view directory (#16545) by @wenshao
  • fix(telemetry): report OpenAI cache_write_tokens as cache creation (#16454) by @2SinceJuly
  • fix(ci): route external PR CI directly to disposable runners (#16551) by @yiliang114
  • fix(channels): skip memory extraction and follow-up suggestions on channel turns (#16565) by @wenshao
  • fix(ci): report timed-out main CI runs instead of letting cancelled hide them (#16280) by @yiliang114
  • fix(web-shell): refresh standalone sessions after allocation (#15311) by @ZedingZhang
  • fix(batch): report provider-specific output budgets in readiness checks (#15181) by @Jun516
  • fix(core): share compression cache for equivalent model selectors (#15318) by @xxwtiancai
  • fix(desktop): restore saved web previews (#14597) by @zonemeen
  • fix(managed-agent): create a never-attached Session for its first automation verb (#14548) (#14561) by @xxwtiancai
  • fix(memory): report why a background memory agent stopped (#13466) by @everyoneexe
  • fix(web-shell): do not persist rejected daemon URL credentials (#12285) by @lorenzozanee
  • fix(core): base web terminal backpressure on pending input (#14313) by @dakjdakd
  • fix(cli): emit headless results before draining memory (#13885) by @xxwtiancai
  • fix(lsp): Attribute diagnostics to explicit extension owners (#14117) by @loglapa
  • fix(cli): settle Live call stops after failure (#13835) by @GoldArowana
  • fix(cli): remove dead REPLACE mergeStrategy declarations for modelProviders and providerProtocol (#12613) by @liwenjie200543
  • fix(ci): run the failure patrol on ECS and time its sandbox image pull separately (#16462) by @wenshao
  • fix(managed-agent): let --check read the configuration the server reads (#16364) by @wenshao
  • fix(ci): keep sdk-java resolver bookkeeping and in-house jars out of the host cache (#15281) (#15286) by @qwen-code-dev-bot
  • fix(web-shell): narrow sidebarless live-state polling to displayed workspaces (#16550) by @yiliang114
  • fix(cli): warn about Node 24/25 Wasm memory spikes without disabling AST checks (#15321) by @Willam2004
  • fix(extension): persist CDP reconnect backoff across service worker restarts (#14022) by @he-yufeng
  • fix(web-shell): isolate mixed-direction Markdown text (#14035) by @hahahahahayesyeseys
  • fix(review): refuse the findings artifact by name and print the expected schema (#14824) by @ZedingZhang
  • fix(sdk-typescript): clamp an overflowing session-spawn deadline to the timer ceiling (#14676) by @Bug-killer-prog
  • fix(web-shell): route standalone reloads by session source type (#12384) by @cactuser-Lu
  • fix(ci): harden the already-published desktop probe (#12184) by @lorenzozanee
  • fix(web-shell): remove productScope gating on managed provider capabilities (#16554) by @yiliang114
  • fix(managed-agent): prove A3 rewritten command recovery without Hook rerun (#16116) by @wenshao
  • fix(channels): journal GitHub mentions added by editing an older comment (#16588) by @wenshao
  • fix(serve): refuse to validate a restored worktree whose lock is not held (#16593) by @wenshao
  • fix(ci): check out all of .github for owner assignment (#16599) by @yiliang114
  • fix(ci): stop ephemeral runner slots from wedging and alert on stalls (#16597) by @yiliang114
  • fix(cli): accept explicitly named Local Control addresses outside RFC 1918/3927 (#14140) by @pomelo-nwu
  • fix(web-shell): keep footer actions stable during inline rename (#15182) by @Jun516
  • fix(web-shell): show file changes in standalone sessions (#15070) by @zonemeen
  • fix(web-shell): keep the first prompt running when switching sessions during creation (#16582) by @wenshao
  • fix(mcp): name the capped server timeout in App read timeout warnings (#13312) by @tonydzi
  • fix(channels): read GitHub comments of the cursor's own second once (#16606) by @wenshao
  • fix(web-shell): scope file changes to the session workspace (#16102) by @ytahdn
  • fix(managed-agent): clear the SpotBugs null dereference in preflight (#16600) by @wenshao
  • fix(ci): stop cross-job qwen-home pollution from killing PR review (#16618) by @yiliang114
  • fix(web-shell): reload an e2e boot aborted by host network churn (#16595) by @wenshao
  • fix(ci): exponential backoff on rate-limited runner registration (#16608) by @yiliang114
  • fix(web-shell): label proxied daemon failures instead of an empty 500 (#16610) by @yiliang114
  • fix(ci): cover hz hosts in the fleet qwen update and pin both prefixes (#16619) by @yiliang114
  • fix(web-shell): close managed host integration gaps left by the host mount entry (#16200) by @yiliang114
  • fix(managed-agent): fail preflight rows this process cannot verify (#16639) by @wenshao
  • fix(channels): post the GitHub error comment only after the last attempt (#16631) by @wenshao
  • fix(ci): quarantine a qwen-home neither rm nor sudo can reclaim (#16627) by @wenshao
  • fix(channels): stop paying for a CI aggregate a failure already decided (#16665) by @wenshao
  • fix(web-shell): keep Open for managed artifacts the default panel cannot preview (#16645) by @wenshao
  • fix(serve): clean a worktree checkout after more than one reset (#16643) by @wenshao
  • fix(web-shell): harden the dev daemon probe and proxy error attribution (#16663) by @yiliang114
  • fix(web-shell): keep transcript visible during session resync (#16688) by @chiga0
  • fix(ci): self-heal ephemeral runner slots wedged by orphaned resource piles (#16628) by @yiliang114
  • fix(ci): add bounded, idempotent retry to the SDK release branch push (#16705) by @yiliang114
  • fix(web-shell): let hosts own the composer add menu (#16715) by @yiliang114
  • fix(managed): Allow short browser tokens in Web gateway (#16723) by @doudouOUC
  • fix(stats): include time to first token in output speed (#16716) by @qqqys
  • fix(ci): only delete label-recovered registrations GitHub reports offline (#16713) by @yiliang114
  • fix(ci): stop staling branches for eslint ignores they never excluded (#16706) by @wenshao
  • fix(core): stop the renewal timer before reacquireWriter drops the grant (#16720) by @wenshao
  • fix(subscription): restore model switching and align session recovery (#16738) by @liuxuely0626

Performance

  • perf(managed-agent): read each restore resource once on a cold Workspace load (#16625) by @wenshao

Documentation

  • docs(providers): document Wally under OpenAI-compatible providers (#16529) by @sanchitmonga22
  • docs(daemon): document session-scoped permission vote for channel auto-approve (#16541) by @yiliang114
  • docs(tools): add You.com free MCP to the web search MCP services (#14000) by @brainsparker
  • docs(channels): document self-pushed head echoes and scope their suppression (#16577) by @wenshao
  • docs(design): propose idle parking for resident Hosted Sessions (#16564) by @wenshao
  • docs(memory): document external context_search MCP setup (#16041) by @vshulcz
  • docs(serve): state the worktree lock key rule and the restore's lock-mismatch 500 (#16601) by @wenshao

Internal Changes

  • test(cli): stop a flaky A2A approval poll from failing the whole shard (#16555) by @wenshao
  • refactor(serve): share the prompt admission with in-process callers (#16543) by @wenshao
  • ci: raise the ephemeral runner slot cap to 64 per host (#16591) by @yiliang114
  • test(managed-agent): make the preflight tests pin what they claim (#16589) by @wenshao
  • test(serve): drive the reconcile probe through the Broker's real rejection path (#16568) by @2SinceJuly
  • refactor(serve): move the restore's worktree reconciliation into a helper (#16583) by @wenshao
  • test(acp-bridge): pin background activity and scope spy cleanup (#12243) by @Oscar-Williams
  • test(cli): pin that the trust store is forwarded, not mounted (#16401) by @qwen-code-dev-bot
  • test(ci): pin the stall alert to one per stall episode (#16650) by @yiliang114
  • refactor(web-shell): share session view reset state (#15060) by @qwen-code-dev-bot
  • test(ci): keep the visuals publisher and the failure reporter off the pool (#16561) by @wenshao
  • ci: route the web-shell visuals capture for fork PRs to the disposable pool (#16617) by @yiliang114
  • test(ci): pin the stall alert re-arm after a recovery (#16660) by @yiliang114
  • test(managed-agent): give the diagnostics surface probes a session body (#16694) by @wenshao
  • test(cli): give two serve-side CI waits real poll budgets (#16699) by @wenshao
  • test(serve): pin the worktree ownership lock key derivations together (#16646) by @wenshao
  • test(ci): isolate the checkout hook fixture from the release runner git config (#16684) by @qwen-code-dev-bot
  • test(web-shell): let a boot retry outlast a network-change abort storm (#16717) by @wenshao
  • test(channels): pin the watch budget recovery edge against repeat rows (#16721) by @wenshao
  • test(cli): cover the Ink TUI's Goal, notification, cron and teammate turns (#16704) by @qqqys
  • test(cli): derive the upload cleanup budget from the lane test timeout (#16711) by @wenshao
  • test: deflake the temp-name watcher and auto-open disarm suites (#16697) by @wenshao
  • test(core): let the heavy title log test outlast a contended host (#16730) by @wenshao

New Contributors

Full Changelog: v0.27.0...v0.27.1

Don't miss a new qwen-code release

NewReleases is sending notifications on new releases.