What's Changed
✨ Added
Console & Workspaces
- Add six theme palettes and custom colors and corner radii, with live preview and saved preferences (#7741)
- Add an authenticated, multi-tab terminal inside Chat, with a working directory for each conversation (#7861)
- Allow Console font size to be adjusted from 12 to 20 pixels across chat and settings (#8005)
- Save multi-folder workspaces as an Agent’s default for future tasks (#7789)
- Show files delivered by the Agent directly below its reply for easier preview and download (#7750)
QwenPaw-Flash
- Recommend QwenPaw-Flash 9B, 27B, and 35B-A3B locally: update the 9B recommendation and add 27B and 35B-A3B options (#8155)
PawPort
- Add PawPort to import supported conversations, memory, Skills, plugins, MCP settings, projects, and scheduled tasks from Codex and Qoder, with compatibility checks and selective retries (#6960)
QwenPaw Creator & Data
- Upgrade Creator to 2.0.1: review scripts before media production, keep manual regenerations from triggering paid downstream steps, and recover stalled projects (#8121)
- Upgrade QwenPaw Data to 0.3.0 with an integrated analysis workspace, interactive clarification, inline HTML reports, and
/dataand/datasourcecommands in chat channels (#7637)
Models & Memory
- Unify model discovery, pricing, and selection, with a candidate model pool and per-conversation model and thinking controls (#7899)
- Configure a custom provider’s name, endpoint, protocol, and API key in one dialog (#7826)
- Configure ReMe search reranking in the Console, including the model, endpoint, candidate multiplier, and timeout (#6399)
Hub
- Add a Hub model gateway with centrally managed organization models, member token budgets, usage dashboards, and invitation-based registration (#7779)
- Support initializing the first Hub administrator from the command line, including Local-only deployments without the Docker SDK (#7696)
Skills, Tools, Automation & Channels
- Add a
view_audiotool so Agents can understand audio files through the existing transcription pipeline (#8083) - Configure scheduled tasks with plain-text instructions and a chosen model, preserve history after interruptions, and inspect timeout results and sessions from the Inbox (#7776)
- Distribute selected Skills from the Skill pool to workspaces in batches (#7852)
- Allow Skills to be assigned to custom channels as well as built-in channels (#7782)
- Install or remove Skill Market sources as plugins, including QwenPaw, ClawHub, ModelScope, and Aliyun (#8128)
- Add collapsible thinking panels in Feishu, with optional automatic collapse after generation (#7685)
- Render Markdown tables as native Telegram Rich Messages in replies and completed streams, with fallback when unsupported (#7713)
🔄 Changed
- Improve model settings and selection interactions in the Console (#8017)
- Improve Settings navigation and search, add clearer runtime configuration tabs, and smooth conversation switching (#7956)
- Unify memory commands under
/reme <action> key=value, replacing/dream,/memorize, and/reme_status(#7444) - Limit visual compaction to older conversation history, preserve the latest two user turns, and retrieve original passages with
recall_context(#7703) - Reduce delays in long conversations by avoiding repeated full history-database checks on every request (#7639)
- Redesign conversation history with time, source, or ungrouped views, more room on small screens, richer session details, and conversation ID copying (#7665, #7688, #7788, #7846)
- Use source grouping by default for the conversation list (#7972)
- Move the chat file drawer to the right side (#7704)
- Reduce initial Console downloads by loading chat dependencies and language resources on demand (#7829)
- Stream background tool output only while its task panel is expanded, reducing idle connections (#7831)
- Upgrade Make Skill to 2.1 with more reliable planning, argument validation, and evaluation guidance (#7753)
- Report daily runtime activity when Agents execute, including scheduled tasks, while honoring existing telemetry consent and opt-out settings (#7802)
🐛 Fixed
PawPort
- Show the exact asset and cause when a PawPort import fails so failed items can be retried (#7953)
Console, Chat & Files
- Keep chat terminal tabs working on HTTP deployments that assign UUID session IDs (#8144, #8146)
- Keep chat input controls usable when the window is narrow (#8145)
- Keep files sent by the Agent visible after a conversation is restored from history (#7949)
- Allow users to interrupt navigation between conversations while messages are loading (#8214)
- Ignore replayed QQ gateway events to prevent duplicate handling of messages (#8006)
- Keep queued messages bound to their original Agent and conversation, and prevent delayed chat creation or history loading from disrupting navigation and cancellation (#7382)
- Preserve unsent drafts when pasting long text into Chat (#8119)
- Mark interrupted tool calls correctly after stopping a reply instead of leaving them stuck in a running state (#7345)
- Restore assistant reply timestamps and the correct visibility of response actions (#7851)
- Run
/compactin the current conversation instead of opening a new session (#7834) - Refresh cached text and CSV tabs when reopened or activated while preserving unsaved edits (#7902)
- Move Skill pool downloads off the request path and clear unfinished temporary files (#8055)
- Refresh expanded file directories without losing the current pagination state (#8149)
- Render LaTeX formulas in Console release notes and Markdown file previews (#7909)
- Recover from failed Console code downloads after the local service is available again, without exhausting reload attempts too early (#8154, #8219)
- Make project directory selection clearer and allow applying a directory directly from the browser (#7897)
- Improve loading on slow networks with smaller API responses and more resilient Skill list requests (#7917)
- Limit background polling and keep the model picker responsive during slow requests (#8221)
- Save model-routing changes together with other Agent settings (#7747)
- Show inherited thinking settings correctly, allow direct model selection from an empty model pool, and provide Kilo free-model defaults for fresh installations (#7920)
- Restore Vietnamese and Brazilian Portuguese language selection (#7752)
- Preserve the sidebar’s collapsed state across reloads (#7681)
- Keep Settings colors and menu typography consistent with the rest of the Console (#7682, #7805)
- Restore visible keyboard-focus indicators on links (#7759)
- Restore the PawPort entry in Agent configuration (#7770)
Models, Runtime & Security
- Preserve photo orientation when resizing images that contain EXIF rotation data (#8136)
- Validate Hub model settings against the model’s resolved context limit (#8168)
- Keep cancellation reasons visible and continue the Agent loop when a tool is stopped (#8183)
- Respect provider-resolved context windows to avoid premature conversation compaction (#7652)
- Use daylight-saving-aware time zones when displaying conversation transcript timestamps (#8050)
- Prevent PDFs returned by tools from breaking subsequent requests to Chat Completions models, including multimodal models (#7636)
- Recover when a provider rejects unsupported
input_audiocontent in conversation history (#7886) - Recover conversations after a model rejects an image or other media payload instead of replaying the rejected block on every turn (#8010)
- Filter historical images according to the selected model’s resolved capabilities, including text-only models (#8190)
- Keep optional tool parameters optional for Responses API models unless strict validation is explicitly enabled (#7915)
- Accept newer GPT token-limit parameters used by model providers (#8090)
- Correct Agent token-budget accounting and loop warnings, and recover from context overflow at the start of a streamed reply (#7748)
- Reclaim older media and tool results earlier so long conversations stay within the model context window (#7965, #8193)
- Prevent loop protection from terminating a task without new repeated tool calls (#7919)
- Prevent duplicate or fragmented ACP replies and enforce workspace protections for external runners with different tool argument formats (#7783)
- Recognize ACP permission choices by their protocol-defined kind to avoid unnecessary prompts in trusted sessions (#7732)
- Find user-installed command-line tools when running as a service or inside a container (#7057)
- Recover model responses after a provider stalls while closing a stream (#7960)
- Prevent Windows shell commands from propagating console control events that terminate the QwenPaw server (#7910)
- Reduce command-line startup time by loading initialization code only when needed (#8004)
- Handle compressed MCP error responses without breaking connection negotiation (#7787)
- Restrict overly broad master-key file permissions when reading existing keys on Unix systems (#7699)
- Validate Skill names before using them as installation paths (#8065)
- Return a validation error instead of a server error for NaN and infinite numeric inputs (#7677)
Memory, Hub & Deployment
- Show the specific reason when redeeming a Hub invitation fails (#7952)
- Close Hub database connections after transactions to avoid exhausting connections (#8038)
- Allow pending memory jobs to finish during graceful shutdown, including Windows desktop shutdown (#7760)
- Repair damaged history search indexes and recover retention cleanup without discarding conversation history (#7655)
- Strengthen history database writes, backups, and restores to reduce data loss after interrupted or failed operations (#6459)
- Distinguish failed memory jobs with empty error details from successful empty results in Inbox notifications (#7756)
- Restore the memory runtime after rolling back a failed backend change (#7893)
- Validate embedding-service timeouts consistently when saving settings or testing the connection (#7758)
- Require confirmation before processing more than 50 pending emails and pause after three consecutive failures, with resume controls in the Inbox (#7690)
- Keep approval decisions through timeout races so pending tool requests resolve consistently (#8188)
- Fix Hub Local runtime initialization, CLI access, and persistent workspaces, and restore authenticated PawApp access with correct model limits (#7833)
- Honor administrator overrides when checking member token permissions in Hub (#8169)
- Restore file previews through the Hub personal-runtime proxy (#7766)
- Record login attempts and denied runtime creation in Hub audit logs (#7683)
- Handle interrupted plugin catalog downloads without returning an internal server error (#7763)
- Restore loading of the bundled omp-roles Skill when it appears installed but cannot be used (#7922)
- Release PawApp streaming resources reliably and prevent cancellation from leaving tasks waiting indefinitely (#7488)
- Include the Console channel in desktop packages so the application can start correctly (#7816)
- Restore approval and denial of tool requests when the desktop pet is enabled (#7933)
- Use the same pinned application Python runtime in Docker and desktop builds (#7751)
- Stop repeated output errors after the terminal that launched QwenPaw has closed (#6569)
New Contributors
- @Wiziechen
- @TerebiSAMA
- @yang0228
- @lorenzozanee
- @BeiMu-new
- @fanghua-ai
- @iluv7
- @shuziP
- @sdxwmlyl
- @Xinji-Mai
- @96loveslife
Full Changelog: v2.2.1...v2.2.2