Skip to content

Release v0.19.10

Choose a tag to compare

@qwen-code-ci-bot qwen-code-ci-bot released this 14 Jul 05:09

Highlights

  • Multi-workspace support now spans ACP transport, daemon workers, split-view sessions, and workspace-aware actions. (#6621, #6635, #6746, #6724)
  • Web Shell gains an artifact panel, a modernized sidebar and settings experience, and editable user-level model configuration. (#6591, #6804, #6817, #6768)
  • Session and model recovery is more resilient to malformed streams, leaked protocol turns, OAuth expiry, and daemon restarts. (#6794, #6683, #6732, #6680)
  • Subagents are easier to follow with richer live command context, transcript paths, a chronological timeline, and inherited Explore models. (#6580, #6772, #6807)
  • CLI workflows gain project-scoped prompt stashes, visible Git branches, configurable shell timeouts, and safer memory-pressure handling. (#6709, #6725, #6628, #6682)
  • SDK and daemon integrations can now control effort, models, usage, context, transport options, and runtime channels. (#6492, #6491, #6741)

Breaking Changes

No known breaking changes.

Complete Change List

Features

  • SDK-hosted agents now forward user answers from ask_user_question tool approvals back to the model, enabling interactive question flows in TypeScript and Python SDK integrations. (#6655) by @TianYuan1024
  • DingTalk channels can now optionally mention group message senders in bot replies using visible @ tokens, with Markdown rendering preserved for replies without mentions. (#6679) by @qqqys
  • Web shell now includes a right-side review panel for inspecting edited files, artifacts, and scheduled tasks with diffs, file navigation, and session-scoped tabs. (#6591) by @ytahdn
  • Daemon now supports workspace-qualified ACP endpoints, allowing SDK and web shell clients to open sessions scoped to specific workspaces in multi-workspace deployments. (#6621) by @doudouOUC
  • Adds a composer header render slot and an opt-in mobile welcome footer placement so embedders can show custom content above the composer on small screens. (#6584) by @yuanyuanAli
  • Adds SDK methods to control reasoning effort, list available models, and query account and context usage statistics at runtime. (#6492) by @juhuan
  • Expanding thinking blocks with Alt+T during streaming now displays the full reasoning content in real-time instead of a truncated preview. (#6678) by @huww98
  • Scheduled task prompts now support inline extension, skill, and MCP reference tags via floating pickers that serialize cleanly into the saved prompt text. (#6589) by @BZ-D
  • Pressing Ctrl+S with a non-empty prompt now stashes it for the current project and restores it on the next launch, clearing the stash upon submission. (#6709) by @destire-mio
  • Session recovery now uses a unified plan across all entrypoints, consistently handling interrupted prompts, dangling tool calls, and degraded history. (#6731) by @water-in-stone
  • Subagent views now show untruncated live commands, deeper progress history, execution transcript paths, and recent tool context on inline approvals. (#6580) by @TianYuan1024
  • The qwen serve daemon can now host channel workers for multiple trusted workspaces, binding each worker to its respective workspace directory. (#6635) by @doudouOUC
  • A new MessageDisplay hook fires incrementally during assistant streaming, allowing observers to track reply text before the turn completes. (#6489) by @yanchenko
  • Double-clicking a cell in a rendered Markdown table now opens a dialog with the full cell value for easy reading and copying. (#6530) by @jifeng
  • The daemon now exposes read-only session catalogs for untrusted workspaces, letting clients browse sessions without write access. (#6717) by @doudouOUC
  • Workspace registrations added at runtime are now persisted so they survive daemon restarts without manual reconfiguration. (#6716) by @doudouOUC
  • User messages in the web shell now render extension, skill, and MCP reference tags inline, matching the composer preview. (#6537) by @ever-o
  • Channel workers now reconnect automatically when the daemon restarts, restoring DingTalk and Feishu sessions without manual intervention. (#6680) by @qqqys
  • The composer toolbar now displays the current Git branch as a chip so you always know which branch you're working on. (#6725) by @han-dreamer
  • Foreground shell commands now respect a configurable default timeout, preventing long-running commands from blocking indefinitely. (#6628) by @Nas01010101
  • Both the TypeScript and Python SDKs now expose transport selection and query options for finer control over daemon communication. (#6491) by @juhuan
  • The web shell session sidebar is now configurable, letting embedders choose which session metadata and actions to display. (#6750) by @dreamWB
  • Workspace transcript reader now provides persisted conversation history per workspace for server-side session browsing. (#6740) by @doudouOUC
  • Session groups in the web shell now support custom Hex color codes for easier visual organization. (#6752) by @samuelhsin
  • The composer model selector has been redesigned with clearer model metadata and faster switching. (#6758) by @dreamWB
  • Code review now includes procedural correctness checks, adjustable effort levels, and guardrails that verify findings before posting. (#6711) by @wenshao
  • Multi-workspace split view now supports cross-workspace sessions, workspace labels, and a responsive layout for side-by-side editing. (#6746) by @wenshao
  • Scheduled tasks from all workspaces are now aggregated into a single view in the web shell for easier monitoring. (#6759) by @wenshao
  • The composer now accepts custom placeholder text, allowing embedders to show context-specific prompts to users. (#6765) by @dreamWB
  • Release notes are now drafted with AI assistance, summarizing changes from the full commit range into categorized, user-facing bullets. (#6756) by @yiliang114
  • Web shell now ships a shadcn-based UI foundation with consistent design tokens and accessible component primitives. (#6760) by @ytahdn
  • Sub-agent activity is now shown as a chronological transcript with a parallel-agent timeline for easier multi-task inspection. (#6772) by @wenshao
  • The CLI can now start, stop, and list daemon channel workers at runtime without restarting the daemon process. (#6741) by @doudouOUC
  • Persisted conversation transcripts are now bounded to prevent unbounded disk growth. (#6769) by @doudouOUC
  • Web shell fires a callback when a new session is created, enabling custom integrations. (#6703) by @ytahdn
  • Skill installation paths are now exposed so users can see where skills are stored. (#6811) by @callmeYe
  • Multi-workspace sidebar redesigned with a cleaner, more modern layout. (#6804) by @ytahdn
  • Settings page refreshed with a modern component library for a polished look and feel. (#6817) by @ytahdn
  • User-scope settings can now be edited directly in the panel, with in-panel model management. (#6768) by @wenshao
  • Rewind and shell actions now work across multiple workspaces. (#6826) by @doudouOUC
  • Workspaces can now be removed at runtime without restarting the server. (#6745) by @doudouOUC
  • Code review now captures untracked files, resolves anchors from snippets, and gates posting in code. (#6771) by @wenshao
  • PR triage comments now include a confidence score, sequence diagram, files overview, and review footer. (#6789) by @wenshao
  • Explore subagent now inherits the main model by default instead of using a fixed smaller model. (#6807) by @tanzhenxin
  • Daemon status now reports model API error counts and retry metrics. (#6837) by @wenshao
  • New API endpoint lets you toggle workspace skills programmatically. (#6816) by @callmeYe
  • Added xAI Grok as a built-in model provider preset. (#6805) by @TianYuan1024
  • Extension management upgraded to v2 with improved install, update, and removal flows. (#6825) by @doudouOUC
  • Voice input is now qualified per workspace for better multi-workspace support. (#6839) by @doudouOUC
  • Session export is now workspace-qualified so exports stay organized across workspaces. (#6844) by @doudouOUC
  • Markdown tables in web shell now show row, column, and cell selection statistics. (#6838) by @jifeng

Bug Fixes

  • YOLO approval mode is no longer silently disabled when the model enters plan mode. (#6630) by @Nas01010101
  • Approval mode UI labels and notices are now localized, preventing mixed-language output when cycling modes with Shift+Tab in non-English interfaces. (#6592) by @han-dreamer
  • Channel delivery now filters out nested subagent output, preventing intermediate research reports from being sent to messaging platforms before the root agent's final answer. (#6696) by @qqqys
  • Raised prepared npm package size limit from 80 MB to 96 MB to accommodate natural growth and unblock Docker sandbox builds. (#6691) by @qwen-code-dev-bot
  • Fixed Docker sandbox networking for protocol tag retry tests, enabling CLI to reach test servers via host.docker.internal when running in container sandbox mode. (#6692) by @qwen-code-dev-bot
  • Fixed cursor position being incorrectly overridden when set to the start of a line in VS Code. (#2971) by @chinesepowered
  • Fixes out-of-memory crashes on exit during long interactive sessions by running periodic memory-pressure checks even when no tool calls occur. (#6682) by @yiliang114
  • Reduces token usage in mobile UI dumps by stripping bounds attributes with negative coordinates for partially off-screen elements. (#6624) by @chinesepowered
  • Fixes leaked protocol tags in responses by discarding and retrying invalid assistant turns during max-token escalation and continuation recovery. (#6683) by @yiliang114
  • Updates test expectations to match the new automated PR review workflow timeout values, resolving continuous integration failures. (#6720) by @yiliang114
  • Improves plan mode reliability by returning a clear error response when non-read-only tools are blocked, preventing the model from attempting workarounds. (#6667) by @Alex-ai-future
  • Adds an Approve button to the /mcp server detail view, allowing users to approve pending or previously rejected workspace servers. (#6518) by @LaZzyMan
  • Fixes remote MCP connection failures by preserving URL query parameters and fragments that end with a trailing slash during normalization. (#6587) by @VectorPeak
  • Fixes subagent startup failures by restricting template placeholders to valid identifiers, treating numeric patterns like ${0} as literal text. (#6672) by @ksws00684315
  • When running as an ACP agent, the user's typed instruction is now placed after attached file content so models prioritize the actual request. (#6607) by @kaymeer
  • The ACP readTextFile fallback now rejects fractional line and limit values, returning consistent invalid parameter errors for malformed read windows. (#6704) by @VectorPeak
  • The Add Workspace dialog now respects light and dark themes, and multi-workspace session lists restore full row features and per-session actions. (#6705) by @wenshao
  • DingTalk Stream connections are now treated as ready when the socket is open, preventing healthy sessions from being disconnected due to missing registration frames. (#6715) by @qqqys
  • Trusted non-primary workspaces can now update session pin, group, and color state via a new workspace-scoped organization endpoint. (#6724) by @doudouOUC
  • Claude Opus 4.6, 4.7, and 4.8 models now default to a 1M context window and 128K output limit, preventing premature compaction. (#6718) by @yiliang114
  • Clipboard image pasting now works correctly in standalone desktop builds. (#6708) by @zjunothing
  • Saved memory instructions are now refreshed immediately after using the remember command. (#6497) by @han-dreamer
  • Goal evaluation is now lifecycle-safe, preventing errors during session teardown. (#6681) by @qqqys
  • Managed memory entries are now preserved during microcompaction instead of being dropped. (#6714) by @yiliang114
  • Claude output token limits now use decimal values for more accurate context budgeting. (#6735) by @yiliang114
  • Model and approval-mode changes now apply correctly to non-primary workspace sessions in the web shell. (#6737) by @wenshao
  • The agent no longer crashes when receiving repeated invalid model streams and recovers gracefully. (#6712) by @yiliang114
  • OAuth authentication for MCP servers now recovers automatically after an HTTP 401 response. (#6732) by @yiliang114
  • Inline tag tooltips in the web shell no longer appear as duplicates. (#6729) by @dreamWB
  • Goal judge verdicts now ignore reasoning content and evaluate only the final answer. (#6738) by @qqqys
  • The Scheduled Tasks dialog now shows correct tag icons instead of stale references. (#6748) by @wenshao
  • The Git branch chip in the composer no longer pushes toolbar controls off-screen on narrow windows. (#6753) by @wenshao
  • Chat recording failures are now persisted and surfaced to the user instead of failing silently. (#6743) by @doudouOUC
  • Malformed streamed responses from the model are now retried automatically. (#6754) by @yiliang114
  • When plan mode blocks write actions the agent is guided to use read-only tools instead of stopping. (#6764) by @Alex-ai-future
  • Feishu credentials are now validated before starting the WebSocket connection, preventing silent failures. (#6780) by @BenGuanRan
  • Desktop release notes are now truncated to avoid oversized payloads in CI. (#6792) by @DragonnZhang
  • Session actions are now routed to the correct owning workspace in multi-workspace setups. (#6798) by @doudouOUC
  • The web UI now links to the workspace-local SDK package, unblocking SDK publishing. (#6823) by @qwen-code-dev-bot
  • Code review no longer drops live blockers and now verifies that new tests actually gate the changed code. (#6790) by @wenshao
  • Slash-command output in channels is now visually distinguished from regular messages. (#6818) by @qqqys
  • Packaged dialog styles are restored under React 18 in the web shell. (#6827) by @ytahdn
  • Reasoning duration displays now show more accurate and refined timing information. (#6793) by @tanzhenxin
  • Session continue, language selection, and artifact actions are now routed to the correct workspace owner. (#6833) by @doudouOUC
  • LRU cache entries are now correctly reordered on access even when the stored value is falsy. (#6787) by @chinesepowered
  • The latest-active timestamp for sessions is now computed from the real activity time, not the current wall clock. (#6834) by @chinesepowered
  • Rewrites queued while waiting for pending rewrites to finish are now fully drained before proceeding. (#6800) by @chinesepowered
  • The LLM rewriter now limits its output history to the configured context turn window. (#6799) by @chinesepowered
  • Only a trailing .git suffix is stripped from GitHub repo names, preserving internal .git segments. (#6797) by @chinesepowered
  • Dotfiles such as .eslintrc are now detected and assigned the correct language from their file path. (#6785) by @chinesepowered
  • Fixed a security issue where angle brackets in insight report data could break out of script contexts. (#6802) by @chinesepowered
  • Review chunk agents now receive properly constructed prompts so they no longer run without context. (#6840) by @wenshao
  • Reintroduced retry logic for malformed streaming responses with more precise detection to avoid false positives. (#6794) by @yiliang114
  • Review coverage is now verified using the test harness's own records for accurate results. (#6843) by @wenshao
  • Increased the browser daemon bundle size limit to 156 KB to accommodate larger builds. (#6852) by @qwen-code-dev-bot

Performance

  • Improved startup performance by lazy-loading the tree-sitter parser runtime. (#6747) by @dexhunter
  • Reduced the number of Git snapshot processes spawned during sessions for better performance. (#6784) by @dexhunter

Documentation

  • Development workflow now includes a bounded self-audit step between build and review, requiring authors to verify changes with full context before declaring work complete. (#6685) by @wenshao
  • Corrected inaccurate token limit comment and fixed typos in core package code comments with no behavior changes. (#6698) by @chinesepowered

Internal Changes

  • Increases the default automated PR review timeout to 180 minutes and allows overrides up to 240 minutes to prevent timeouts on large pull requests. (#6706) by @wenshao
  • Removed obsolete DingTalk planning integration artifacts. (#6722) by @qqqys
  • Reverted the malformed streamed response retry logic due to issues. (#6783) by @wenshao
  • Stabilized end-to-end test cases for tool control and subagent scenarios. (#6803) by @yiliang114
  • Removed a flaky headless child-process recording test. (#6830) by @yiliang114
  • Review test-efficacy probes now run in isolated disposable worktrees. (#6836) by @wenshao
  • Shared a common worktree path helper across review probes and improved stale worktree cleanup. (#6841) by @wenshao

New Contributors

Full Changelog: v0.19.9...v0.19.10