v2.2.0

microsoft/markitdownv2.2.0Sep 3, 2026by cuiyuebing

AI Summary

This release introduces a self-hosted QwenPaw Hub, an intelligent Mail Assistant with MCP support, and new model providers including Volcengine and MiMo. It features major improvements to the Console interface, including workspace organization, artifact management, and a renamed Extensions marketplace.

Key Highlights

  • Self-hosted QwenPaw Hub with Docker support and multi-user access controls.
  • Intelligent Mail Assistant with real-time monitoring, search, and human approval workflows.
  • New model providers: Volcengine Agent Plan and MiMo V2.5.
  • Console enhancements: organized subagent conversations, downloadable artifacts, and scope-based project directories.
  • Marketplace renamed to Extensions with restored dark-mode styling.

New Features

  • Self-hosted QwenPaw Hub with workspace-level access controls and reverse-proxy support.
  • QwenPaw Data deployed as a native PawApp with a durable analysis workspace.
  • Intelligent Mail Assistant with real-time monitoring and thread-aware actions.
  • Unified provider discovery and capability-aware routing for model selection.
  • Prompt-cache hit and write observability in Token Usage.
  • Creator 1.1.0 expands image and video generation capabilities with narrative improvements.
  • AnySearch integration as a web SearchProvider and MCP service.
  • Batch enable/disable functionality for Search Skills.
  • Computer-use observing related windows.
  • Auto-hide QwenPaw OS dock for maximized windows.

Full Release Notes

## What's Changed
## ✨ Added

**QwenPaw Hub**

- Self-host a multi-user QwenPaw Hub with local-process or Docker runtimes, workspace-level access controls, credential management, and reverse-proxy support ([#7112](https://github.com/agentscope-ai/QwenPaw/pull/7112))

**QwenPaw Data**

- Deploy QwenPaw Data as a native PawApp with a durable analysis workspace, packaged runtime, and one-command Docker Compose example ([#6940](https://github.com/agentscope-ai/QwenPaw/pull/6940), [#7190](https://github.com/agentscope-ai/QwenPaw/pull/7190))

**QwenPaw Mail**

- Add an intelligent mail assistant with real-time monitoring, search, thread-aware actions, sender allow/deny rules, and human approval for unknown recipients ([#6800](https://github.com/agentscope-ai/QwenPaw/pull/6800))
- Bundle and launch the Mail MCP with the desktop app ([#7170](https://github.com/agentscope-ai/QwenPaw/pull/7170))
- Keep Mail tool responses readable in Chinese conversations ([#7303](https://github.com/agentscope-ai/QwenPaw/pull/7303))

**Models & Providers**

- Make model setup and selection more consistent with unified provider discovery, capability-aware routing, fallback policies, and thinking controls ([#6302](https://github.com/agentscope-ai/QwenPaw/pull/6302))
- Add Volcengine Agent Plan and MiMo V2.5 providers, with refreshed Volcengine catalogs ([#6515](https://github.com/agentscope-ai/QwenPaw/pull/6515))
- Add prompt-cache hit and write observability to Token Usage ([#7342](https://github.com/agentscope-ai/QwenPaw/pull/7342))

**QwenPaw Creator**

- Creator 1.1.0 expands image and video generation across mainstream providers and improves narrative videos by carrying planned dialogue into generation prompts ([#7167](https://github.com/agentscope-ai/QwenPaw/pull/7167))
- Creator 1.1.1 adds recorded website and desktop operation, Bailian Wan3 video generation, and configurable automated video-quality checks ([#7274](https://github.com/agentscope-ai/QwenPaw/pull/7274))

**Console & Workspaces**

- Organize subagent conversations into groups and surface completion and unread status ([#7035](https://github.com/agentscope-ai/QwenPaw/pull/7035), [#7275](https://github.com/agentscope-ai/QwenPaw/pull/7275))
- Make background work easier to follow with a compact task list and consistent run tracking ([#7083](https://github.com/agentscope-ai/QwenPaw/pull/7083), [#7319](https://github.com/agentscope-ai/QwenPaw/pull/7319))
- Show response artifacts and make generated media directly downloadable ([#7161](https://github.com/agentscope-ai/QwenPaw/pull/7161), [#7036](https://github.com/agentscope-ai/QwenPaw/pull/7036))
- Select system-prompt files from the workspace UI ([#7078](https://github.com/agentscope-ai/QwenPaw/pull/7078))
- Create folders and copy files from the workspace UI ([#7151](https://github.com/agentscope-ai/QwenPaw/pull/7151), [#7314](https://github.com/agentscope-ai/QwenPaw/pull/7314))
- Keep project directories scoped to each session so concurrent work can use different roots safely ([#6976](https://github.com/agentscope-ai/QwenPaw/pull/6976))
- Expand Token Usage with model and tool-call trends, per-Agent breakdowns, and an all-Agent view ([#7207](https://github.com/agentscope-ai/QwenPaw/pull/7207), [#7219](https://github.com/agentscope-ai/QwenPaw/pull/7219))
- Auto-hide the QwenPaw OS dock for maximized windows ([#7233](https://github.com/agentscope-ai/QwenPaw/pull/7233))
- Improve navigation when editor tabs overflow ([#6983](https://github.com/agentscope-ai/QwenPaw/pull/6983))
- Copy assistant responses without including hidden reasoning text ([#7448](https://github.com/agentscope-ai/QwenPaw/pull/7448))

**Skills, Channels & Media**

- Integrate AnySearch as a web SearchProvider and MCP service ([#7081](https://github.com/agentscope-ai/QwenPaw/pull/7081))
- Search Skills and enable or disable them in batches ([#7140](https://github.com/agentscope-ai/QwenPaw/pull/7140), [#6990](https://github.com/agentscope-ai/QwenPaw/pull/6990))
- Keep Skills current with faster file loading, cleaner bindings, and automatic updates for built-ins ([#7097](https://github.com/agentscope-ai/QwenPaw/pull/7097), [#7232](https://github.com/agentscope-ai/QwenPaw/pull/7232))
- Manage apps, plugins, and Skills in one marketplace ([#6880](https://github.com/agentscope-ai/QwenPaw/pull/6880), [#7017](https://github.com/agentscope-ai/QwenPaw/pull/7017), [#7235](https://github.com/agentscope-ai/QwenPaw/pull/7235))
- Open newly installed PawApps without reloading the Console ([#7238](https://github.com/agentscope-ai/QwenPaw/pull/7238))
- Configure plugin channels interactively from the CLI ([#6943](https://github.com/agentscope-ai/QwenPaw/pull/6943))
- Include custom channels in Agent MCP access rules ([#7225](https://github.com/agentscope-ai/QwenPaw/pull/7225))
- Keep Matrix group sessions and memories isolated per sender, with retries for transient login failures ([#7001](https://github.com/agentscope-ai/QwenPaw/pull/7001), [#7109](https://github.com/agentscope-ai/QwenPaw/pull/7109))
- Let DingTalk groups share conversation context when configured ([#7208](https://github.com/agentscope-ai/QwenPaw/pull/7208))
- Configure automatic layout for DingTalk widescreen cards ([#7416](https://github.com/agentscope-ai/QwenPaw/pull/7416))
- Download OneBot media locally before Agent processing ([#6715](https://github.com/agentscope-ai/QwenPaw/pull/6715))
- Let Computer-use observe related windows ([#7037](https://github.com/agentscope-ai/QwenPaw/pull/7037))
- Optionally resize oversized images before sending them to a model ([#7294](https://github.com/agentscope-ai/QwenPaw/pull/7294))
- Propagate Console stop requests to active Agent tools ([#7349](https://github.com/agentscope-ai/QwenPaw/pull/7349))
- Automatically fold completed assistant process messages ([#7374](https://github.com/agentscope-ai/QwenPaw/pull/7374))

## 🔄 Changed

- Start persistent Drivers concurrently for faster workspace startup ([#7174](https://github.com/agentscope-ai/QwenPaw/pull/7174))
- Reduce streaming overhead during long responses ([#7244](https://github.com/agentscope-ai/QwenPaw/pull/7244), [#7239](https://github.com/agentscope-ai/QwenPaw/pull/7239))
- Stabilize reusable prompt-cache prefixes across requests ([#7346](https://github.com/agentscope-ai/QwenPaw/pull/7346))
- Keep long, Markdown-heavy chats responsive ([#7176](https://github.com/agentscope-ai/QwenPaw/pull/7176))
- Use tighter, more consistent spacing for Markdown lists ([#7317](https://github.com/agentscope-ai/QwenPaw/pull/7317))
- Improve the ReMe runtime dashboard and long-term-memory guidance ([#6984](https://github.com/agentscope-ai/QwenPaw/pull/6984), [#6997](https://github.com/agentscope-ai/QwenPaw/pull/6997))
- Stop sending notifications when a scheduled job has not changed ([#7115](https://github.com/agentscope-ai/QwenPaw/pull/7115))
- Remove obsolete Desktop Mode reminders and outdated approval hints ([#7245](https://github.com/agentscope-ai/QwenPaw/pull/7245), [#6981](https://github.com/agentscope-ai/QwenPaw/pull/6981))
- Update AgentScope through 2.0.7.post1 ([#7276](https://github.com/agentscope-ai/QwenPaw/pull/7276), [#7373](https://github.com/agentscope-ai/QwenPaw/pull/7373))
- Refresh the Console chat package used by this release ([#7257](https://github.com/agentscope-ai/QwenPaw/pull/7257), [#7289](https://github.com/agentscope-ai/QwenPaw/pull/7289))
- Clarify the behavior of each approval mode ([#7368](https://github.com/agentscope-ai/QwenPaw/pull/7368))
- Make embedding-model changes explicit and reversible, falling back to BM25 until a scoped reindex succeeds ([#7133](https://github.com/agentscope-ai/QwenPaw/pull/7133))
- Rename Marketplace to Extensions and restore dark-mode styling across the Console ([#7454](https://github.com/agentscope-ai/QwenPaw/pull/7454))

## 🐛 Fixed

**Models, Runtime & Memory**

- Restore complete free-model listings and legacy model names ([#7175](https://github.com/agentscope-ai/QwenPaw/pull/7175))
- Refresh Aliyun and Kimi model catalogs ([#7271](https://github.com/agentscope-ai/QwenPaw/pull/7271), [#7277](https://github.com/agentscope-ai/QwenPaw/pull/7277))
- Separate model output capabilities from request limits so routing and validation use the correct metadata ([#7337](https://github.com/agentscope-ai/QwenPaw/pull/7337))
- Improve compatibility with strict DashScope tool schemas and audio messages ([#7284](https://github.com/agentscope-ai/QwenPaw/pull/7284), [#7024](https://github.com/agentscope-ai/QwenPaw/pull/7024))
- Honor server-provided retry limits during streaming ([#6617](https://github.com/agentscope-ai/QwenPaw/pull/6617))
- Recover from stalled model streams ([#7150](https://github.com/agentscope-ai/QwenPaw/pull/7150))
- Propagate and report model timeouts accurately ([#7268](https://github.com/agentscope-ai/QwenPaw/pull/7268), [#7308](https://github.com/agentscope-ai/QwenPaw/pull/7308))
- Keep Agent behavior compatible with AgentScope 2.0.6 ([#6908](https://github.com/agentscope-ai/QwenPaw/pull/6908))
- Enable the Ollama embedding backend ([#7131](https://github.com/agentscope-ai/QwenPaw/pull/7131))
- Preserve embedding verification while navigating ([#7227](https://github.com/agentscope-ai/QwenPaw/pull/7227))
- Exclude reasoning text from generated chat titles ([#7187](https://github.com/agentscope-ai/QwenPaw/pull/7187))
- Give background tasks a reliable default timeout without overriding explicit values ([#6869](https://github.com/agentscope-ai/QwenPaw/pull/6869))
- Start ReMe memory services before model configuration so local memory features remain available without a configured model ([#7468](https://github.com/agentscope-ai/QwenPaw/pull/7468))
- Include `~`-based Agent workspace paths in model and tool-usage trends ([#7432](https://github.com/agentscope-ai/QwenPaw/pull/7432))

**Console, Files & Media**

- Reopen the sole history session directly from New Chat ([#7104](https://github.com/agentscope-ai/QwenPaw/pull/7104))
- Show the actual completion time for assistant responses ([#6938](https://github.com/agentscope-ai/QwenPaw/pull/6938))
- Render historical data-URL images after reload ([#7069](https://github.com/agentscope-ai/QwenPaw/pull/7069))
- Improve model-selector styling and dark-mode session groups ([#7137](https://github.com/agentscope-ai/QwenPaw/pull/7137), [#7111](https://github.com/agentscope-ai/QwenPaw/pull/7111))
- Hide empty grep badges and unavailable approval controls ([#7165](https://github.com/agentscope-ai/QwenPaw/pull/7165))
- Improve mobile composer controls ([#7334](https://github.com/agentscope-ai/QwenPaw/pull/7334))
- Align cron calendar dates with Sunday-first headers ([#7352](https://github.com/agentscope-ai/QwenPaw/pull/7352))
- Keep embedding verification when switching Agents ([#7353](https://github.com/agentscope-ai/QwenPaw/pull/7353))
- Preserve uploaded and non-ASCII filenames ([#6492](https://github.com/agentscope-ai/QwenPaw/pull/6492), [#7192](https://github.com/agentscope-ai/QwenPaw/pull/7192))
- Preserve Windows CRLF line endings and refresh file previews after changes ([#7091](https://github.com/agentscope-ai/QwenPaw/pull/7091), [#7094](https://github.com/agentscope-ai/QwenPaw/pull/7094))
- Continue remote-file download fallback after a downloader timeout ([#6371](https://github.com/agentscope-ai/QwenPaw/pull/6371))
- Persist remote images before saving tool results ([#7146](https://github.com/agentscope-ai/QwenPaw/pull/7146))
- Deliver tool-result videos through the OpenAI Responses API ([#7061](https://github.com/agentscope-ai/QwenPaw/pull/7061))
- Make inline video limits configurable ([#7071](https://github.com/agentscope-ai/QwenPaw/pull/7071))
- Preserve local file URLs while normalizing media messages ([#7343](https://github.com/agentscope-ai/QwenPaw/pull/7343))
- Save screenshots to the active project directory ([#7439](https://github.com/agentscope-ai/QwenPaw/pull/7439))
- Link Daily Paper to the correct QwenPaw documentation ([#7466](https://github.com/agentscope-ai/QwenPaw/pull/7466))

**Channels**

- Restore Yuanbao message decoding with protobuf 6 and later ([#7421](https://github.com/agentscope-ai/QwenPaw/pull/7421))

**Plugins, Desktop & Operations**

- Restore plugin workspace state before reloads and isolate absolute imports between plugin namespaces ([#6996](https://github.com/agentscope-ai/QwenPaw/pull/6996), [#6688](https://github.com/agentscope-ai/QwenPaw/pull/6688))
- Recover Windows WebView2 after a browser crash ([#7128](https://github.com/agentscope-ai/QwenPaw/pull/7128))
- Avoid false process matches in the Windows installer, including the NSIS caller itself ([#7281](https://github.com/agentscope-ai/QwenPaw/pull/7281), [#7323](https://github.com/agentscope-ai/QwenPaw/pull/7323))
- Handle NSIS uninstall blockers and make application-data cleanup choices explicit ([#7336](https://github.com/agentscope-ai/QwenPaw/pull/7336), [#7354](https://github.com/agentscope-ai/QwenPaw/pull/7354))
- Clean up safely when workspace startup is cancelled ([#7194](https://github.com/agentscope-ai/QwenPaw/pull/7194))
- Protect environment configuration from partial or corrupt writes ([#7135](https://github.com/agentscope-ai/QwenPaw/pull/7135))
- Keep backup jobs running after an SSE connection closes ([#7283](https://github.com/agentscope-ai/QwenPaw/pull/7283))
- Keep Agent configuration persistence consistent across shared filesystems and concurrent writes ([#6767](https://github.com/agentscope-ai/QwenPaw/pull/6767))
- Enforce File Guard paths during active policy evaluation ([#7375](https://github.com/agentscope-ai/QwenPaw/pull/7375))
- Expand sandbox mount paths correctly ([#7116](https://github.com/agentscope-ai/QwenPaw/pull/7116))
- Avoid antivirus interference during sandbox setup ([#6986](https://github.com/agentscope-ai/QwenPaw/pull/6986))
- Isolate QQ conversations and preserve their reply routes ([#7169](https://github.com/agentscope-ai/QwenPaw/pull/7169))
- Report Xiaoyi proactive-send failures reliably and preserve session IDs ([#7147](https://github.com/agentscope-ai/QwenPaw/pull/7147))
- Patch security-sensitive website and Creator dependencies ([#7172](https://github.com/agentscope-ai/QwenPaw/pull/7172))
- Speed up plugin loading by avoiding a full module scan after every plugin ([#7383](https://github.com/agentscope-ai/QwenPaw/pull/7383))
- Restore ReMe and its Auto Fin and Daily Paper plugins in packaged desktop builds ([#7458](https://github.com/agentscope-ai/QwenPaw/pull/7458))
- Prevent desktop packages from mixing different Python runtime sources ([#7372](https://github.com/agentscope-ai/QwenPaw/pull/7372))
- Block shell line-continuation variants from bypassing sensitive-path protections ([#7472](https://github.com/agentscope-ai/QwenPaw/pull/7472))

## New Contributors

- [@cyruszhang](https://github.com/cyruszhang)
- [@Luohh5](https://github.com/Luohh5)
- [@LUOSENGWA](https://github.com/LUOSENGWA)
- [@An-idd](https://github.com/An-idd)
- [@TinyBai](https://github.com/TinyBai)
- [@c020627](https://github.com/c020627)
- [@suantea](https://github.com/suantea)
- [@xiaoka76](https://github.com/xiaoka76)
- [@anysearch-ai](https://github.com/anysearch-ai)
- [@guodaxia103](https://github.com/guodaxia103)
- [@kilowu](https://github.com/kilowu)
- [@kaiwangleo](https://github.com/kaiwangleo)

**Full Changelog**: [v2.1.0...v2.2.0](https://github.com/agentscope-ai/QwenPaw/compare/v2.1.0...v2.2.0)