## ✨ Added

**Agent System**

- **Memory & Context refactor**: Refactor long-term memory module with pluggable backends, automatic memory summarization every N conversation turns, automatic memory retrieval, and a new context management interface ([#3548](https://github.com/agentscope-ai/QwenPaw/pull/3548))
- **Plan Mode**: Opt-in structured planning mode — use `/plan` to create step-by-step task plans that the agent follows, with a live plan panel in the console ([#3686](https://github.com/agentscope-ai/QwenPaw/pull/3686), [#3787](https://github.com/agentscope-ai/QwenPaw/pull/3787))

**Providers**

- **DeepSeek V4 Models**: Added DeepSeek V4 Flash and V4 Pro as built-in models ([#3797](https://github.com/agentscope-ai/QwenPaw/pull/3797))

**Security**

- **Configurable Shell Evasion Checks**: Toggle individual shell evasion detection rules on or off from the Security settings page, with per-check risk-type tagging ([#3694](https://github.com/agentscope-ai/QwenPaw/pull/3694), [#3715](https://github.com/agentscope-ai/QwenPaw/pull/3715), [#3781](https://github.com/agentscope-ai/QwenPaw/pull/3781))
- **Auth-Bypass Host Whitelist**: Configurable `allow_no_auth_hosts` list for API access without authentication, with IP validation and security warnings in the console ([#3739](https://github.com/agentscope-ai/QwenPaw/pull/3739))

**Tools**

- **Browser Launch Parameters**: Pass custom Chromium flags and a custom browser executable path to `browser_use` ([#3556](https://github.com/agentscope-ai/QwenPaw/pull/3556))
- **Shell Command Timeout**: Configurable default timeout for `execute_shell_command` per agent ([#3732](https://github.com/agentscope-ai/QwenPaw/pull/3732))

**Console & UI**

- **Per-Agent Model Assignment**: Assign a specific LLM model to each agent from Settings → Agents ([#3599](https://github.com/agentscope-ai/QwenPaw/pull/3599))
- **Session View Button**: "View" action on the Sessions table to jump directly into the corresponding chat session ([#3615](https://github.com/agentscope-ai/QwenPaw/pull/3615))
- **Session Right-Click Context Menu**: Right-click on chat session items for quick open, rename, pin/unpin, and delete actions ([#3770](https://github.com/agentscope-ai/QwenPaw/pull/3770))

**Channels**

- **SIP Voice Channel**: New SIP phone channel with dual-mode backends — pyVoIP for development and LiveKit for production ([#3449](https://github.com/agentscope-ai/QwenPaw/pull/3449))
- **DingTalk Voice Recognition**: Use DingTalk's built-in voice recognition instead of downloading and transcoding audio locally ([#3681](https://github.com/agentscope-ai/QwenPaw/pull/3681))
- **Telegram Command Menu**: Expose `/model` and `/stop` in the Telegram bot's command menu for discoverability ([#3714](https://github.com/agentscope-ai/QwenPaw/pull/3714))
- **QQ Quoted Message Support**: Parse reply/quote metadata and inject quoted text and attachments into agent requests ([#3735](https://github.com/agentscope-ai/QwenPaw/pull/3735))
- **DingTalk Markdown Messages**: Send shorter replies as DingTalk Open API markdown for richer message rendering ([#3771](https://github.com/agentscope-ai/QwenPaw/pull/3771))
- **DingTalk Cron Message Type**: Independent message type for scheduled/cron sends, allowing card-style messages for cron while using markdown for interactive chat ([#3778](https://github.com/agentscope-ai/QwenPaw/pull/3778))
- **WeChat Interactive Wizard**: Interactive `configure_weixin` wizard in the CLI channel setup flow ([#3699](https://github.com/agentscope-ai/QwenPaw/pull/3699))

## 🔄 Changed

- **Tool Guard Approval System**: Refactored tool-guard with interactive approval cards in the console, cross-session approval routing (approve sub-agent tool calls from the main session), configurable execution levels (Strict/Smart/Auto/Off), REST API and `/approval` CLI command ([#3656](https://github.com/agentscope-ai/QwenPaw/pull/3656), [#3737](https://github.com/agentscope-ai/QwenPaw/pull/3737))
- **Dynamic Plugin Registration**: Replaced the build-time generated host module registry with runtime `import.meta.glob`-based registration ([#3676](https://github.com/agentscope-ai/QwenPaw/pull/3676), [#3692](https://github.com/agentscope-ai/QwenPaw/pull/3692), [#3696](https://github.com/agentscope-ai/QwenPaw/pull/3696))
- **Docker Build Improvements**: Moved `config.json` initialization from image build to container entrypoint for volume-mounted deployments, and replaced `pip` with `uv` for faster package installs ([#3698](https://github.com/agentscope-ai/QwenPaw/pull/3698), [#3723](https://github.com/agentscope-ai/QwenPaw/pull/3723), [#3769](https://github.com/agentscope-ai/QwenPaw/pull/3769))
- **Agent Language Sync**: New agents now inherit the console UI language ([#3720](https://github.com/agentscope-ai/QwenPaw/pull/3720))
- **Agent Selection Persistence**: Agent selection state persisted in `localStorage` so it survives browser restarts ([#3772](https://github.com/agentscope-ai/QwenPaw/pull/3772))
- **Token Usage Buffering**: Asynchronous buffered token usage recording with periodic disk flush ([#3766](https://github.com/agentscope-ai/QwenPaw/pull/3766))

## 🐛 Fixed

**Channels**

- **Filter Tool Messages**: Respect `filter_tool_messages` setting for in-progress content events ([#3660](https://github.com/agentscope-ai/QwenPaw/pull/3660))
- **File URL Encoding**: Percent-encode non-ASCII characters in `file://` URLs to fix file send failures on Windows and paths with CJK characters ([#3625](https://github.com/agentscope-ai/QwenPaw/pull/3625))
- **WeChat Send Response**: Fixed WeChat `send_text` failing on empty or non-dict API responses ([#3685](https://github.com/agentscope-ai/QwenPaw/pull/3685))
- **WeChat Icon Mapping**: Fixed `wechat` channel key not mapping to the correct WeChat icon in chat history sidebar ([#3691](https://github.com/agentscope-ai/QwenPaw/pull/3691))
- **WeChat QR Login Timeout**: Extended WeChat QR-status polling timeout to 60 seconds with retry on read timeout during login ([#3700](https://github.com/agentscope-ai/QwenPaw/pull/3700))

**Console & UI**

- **Agent Stats**: Fixed page crash from incorrect chart library imports and stats not refreshing when switching agents ([#3724](https://github.com/agentscope-ai/QwenPaw/pull/3724), [#3743](https://github.com/agentscope-ai/QwenPaw/pull/3743))

**Providers**

- **Duplicate Model Warning**: Show a localized warning when adding a model ID that already exists ([#3773](https://github.com/agentscope-ai/QwenPaw/pull/3773))
- **Anthropic File Block**: Convert unsupported file blocks to text placeholders in Anthropic-formatted history to prevent API errors ([#3786](https://github.com/agentscope-ai/QwenPaw/pull/3786))

**Packaging**

- **Discord.py Conda-Unpack**: Added `discord.py` to conda-unpack reinstall list to fix Windows path corruption ([#3730](https://github.com/agentscope-ai/QwenPaw/pull/3730))

## 📝 Documentation

- **Memory-Evolving & Proactive Agent**: Added dedicated documentation pages for memory-evolving and proactive agent features ([#3755](https://github.com/agentscope-ai/QwenPaw/pull/3755), [#3764](https://github.com/agentscope-ai/QwenPaw/pull/3764))
- **Agent Team Practice Guide**: Added a comprehensive practice guide for Agent Team collaboration ([#3784](https://github.com/agentscope-ai/QwenPaw/pull/3784))
- **ACP Integration**: Restructured and polished ACP integration documentation, with in-UI documentation link ([#3741](https://github.com/agentscope-ai/QwenPaw/pull/3741))
- **Docker Backup Volume**: Added Docker volume mount documentation for backup & restore ([#3736](https://github.com/agentscope-ai/QwenPaw/pull/3736))
- **Backup Figures**: Updated backup documentation figures ([#3678](https://github.com/agentscope-ai/QwenPaw/pull/3678))

## 🧪 Testing & CI

- **Agent Unit Tests**: Added unit tests for hooks, memory, and utils modules ([#3630](https://github.com/agentscope-ai/QwenPaw/pull/3630))
