## ✨ Added

**Providers**

- **Free Model OAuth**: Zero-config free models with one-click OAuth authentication ([#5049](https://github.com/agentscope-ai/QwenPaw/pull/5049))
- **Xiaomi MiMo Provider**: Add Xiaomi MiMo Token Plan as built-in provider ([#4722](https://github.com/agentscope-ai/QwenPaw/pull/4722))
- **Extra Body Routing**: Route non-standard generate_kwargs into extra_body ([#4689](https://github.com/agentscope-ai/QwenPaw/pull/4689))

**Console**

- **Plugin Market**: Add Plugin Market tab with AgentScope Platform integration ([#5023](https://github.com/agentscope-ai/QwenPaw/pull/5023))
- **Plugin Extension Infrastructure**: Plugin extension infrastructure for console ([#4997](https://github.com/agentscope-ai/QwenPaw/pull/4997))
- **Tool Cards Plugin System**: Tool cards plugin system ([#5046](https://github.com/agentscope-ai/QwenPaw/pull/5046))
- **Slash Command Suggestions**: Add current-agent skills to slash command suggestions with UI optimizations ([#4810](https://github.com/agentscope-ai/QwenPaw/pull/4810))
- **External URL Navigation**: Support href field on MenuItem for external URL navigation ([#5071](https://github.com/agentscope-ai/QwenPaw/pull/5071))

**MCP**

- **Tool Whitelisting**: Add per-server MCP tool whitelisting with frontend toggle UI ([#5002](https://github.com/agentscope-ai/QwenPaw/pull/5002))

**Plugins**

- **Prompt Section Registry**: Allow plugins to inject system prompt blocks at defined anchor points ([#4804](https://github.com/agentscope-ai/QwenPaw/pull/4804))
- **Uninstall Hooks**: Add uninstall hooks, fix validator imports, expose skill provider API ([#4794](https://github.com/agentscope-ai/QwenPaw/pull/4794))
- **CloudPaw Agent Import**: Support importing agents from AgentHub and enhance A2A capabilities ([#5033](https://github.com/agentscope-ai/QwenPaw/pull/5033))

**Skills**

- **Self-Evolving Skill Creation**: Enhanced make-skill flow to support self-evolving skill creation ([#4857](https://github.com/agentscope-ai/QwenPaw/pull/4857))
- **Skill Tag Batch Download**: Add skill tag batch download ([#4969](https://github.com/agentscope-ai/QwenPaw/pull/4969))
- **Multi-Path Skill Pool**: Add multi-path support for skill pool ([#4891](https://github.com/agentscope-ai/QwenPaw/pull/4891))

**Channels**

- **Telegram Tool Guard**: Interactive tool approval via inline keyboard ([#4737](https://github.com/agentscope-ai/QwenPaw/pull/4737))
- **Feishu Group Sharing**: Add group session sharing mode ([#4821](https://github.com/agentscope-ai/QwenPaw/pull/4821))
- **Feishu Interactive Cards**: Support interactive card content extraction and refactor message parsing ([#4879](https://github.com/agentscope-ai/QwenPaw/pull/4879))
- **QQ QR Code Auth**: Add QR code authorization for QQ channel ([#4848](https://github.com/agentscope-ai/QwenPaw/pull/4848))
- **DingTalk Inline Media**: Enable inline image preview and video playback card via webhook ([#5073](https://github.com/agentscope-ai/QwenPaw/pull/5073))
- **Yuanbao Typing Indicator**: Add typing indicator via heartbeat API ([#5020](https://github.com/agentscope-ai/QwenPaw/pull/5020))
- **Access Control Username**: Add sender username to access control with unified user info structure ([#4897](https://github.com/agentscope-ai/QwenPaw/pull/4897))

**Browser**

- **Page Coordinate Click**: Add page coordinate click support to browser_control ([#4905](https://github.com/agentscope-ai/QwenPaw/pull/4905))

**ACP**

- **ACP Enhancements**: Advertise commands, surface errors, tool params, agent/model meta, file links ([#4949](https://github.com/agentscope-ai/QwenPaw/pull/4949))

## 🔄 Changed

- **Cron Push Bubbles**: Disable push bubbles for cron jobs of type 'agent' ([#4803](https://github.com/agentscope-ai/QwenPaw/pull/4803))
- **Console Media Handling**: Simplify media message handling in console channel ([#5077](https://github.com/agentscope-ai/QwenPaw/pull/5077))

## 🐛 Fixed

**Providers & Config**

- **ProviderManager Fallback**: Add ProviderManager fallback to get_model_max_input_length ([#4827](https://github.com/agentscope-ai/QwenPaw/pull/4827))
- **Compaction Fix**: Resolve /compact ignoring model's max_input_length when active_model is unset ([#5021](https://github.com/agentscope-ai/QwenPaw/pull/5021))

**Coding Mode**

- **Windows Drive Browsing**: Support browsing all drives on Windows ([#4906](https://github.com/agentscope-ai/QwenPaw/pull/4906))
- **Session Switch & Header**: Fix coding mode session switch failure and header overflow ([#5011](https://github.com/agentscope-ai/QwenPaw/pull/5011))

**Console**

- **Session List Spinner**: Fix session list kept spinning ([#4929](https://github.com/agentscope-ai/QwenPaw/pull/4929))
- **Scrollbar Flickering**: Remove hover transform to prevent scrollbar flickering ([#4766](https://github.com/agentscope-ai/QwenPaw/pull/4766))
- **Shield Icon & Table**: Center shield icon and adjust rule table column widths ([#4765](https://github.com/agentscope-ai/QwenPaw/pull/4765))
- **Theme Toggle Icon**: Change system theme toggle icon from computer to sun ([#5050](https://github.com/agentscope-ai/QwenPaw/pull/5050))

**Agent & Memory**

- **Broadcast Coroutine**: Await unawaited coroutine in \_broadcast_to_subscribers ([#5048](https://github.com/agentscope-ai/QwenPaw/pull/5048))
- **Skip Auto Memory**: Skip automation auto memory ([#4348](https://github.com/agentscope-ai/QwenPaw/pull/4348))
- **Dream Workspace**: Dream should use cron runner's workspace, not stale instance dir ([#4936](https://github.com/agentscope-ai/QwenPaw/pull/4936))
- **Media Block Processing**: Handle non-dict source objects in media block processing ([#4933](https://github.com/agentscope-ai/QwenPaw/pull/4933))

**MCP**

- **Tool Name Regex**: Alias-rewrite tool names rejected by OpenAI-style regex ([#4958](https://github.com/agentscope-ai/QwenPaw/pull/4958))
- **Subprocess Accumulation**: Prevent subprocess accumulation across restarts ([#5014](https://github.com/agentscope-ai/QwenPaw/pull/5014))

**Channels**

- **DingTalk Message Merging**: Prevent cross-user message merging when conversation_id suffix collides ([#4932](https://github.com/agentscope-ai/QwenPaw/pull/4932))
- **OneBot Port Conflict**: Graceful degradation on port conflict during reload ([#5010](https://github.com/agentscope-ai/QwenPaw/pull/5010))
- **ACL Sender ID**: Preserve acl_sender_id during native payload merge across all channels ([#4925](https://github.com/agentscope-ai/QwenPaw/pull/4925))

**Browser**

- **CDP Timeout & Profile**: Add CDP timeout param and browser profile isolation for cross-browser switching ([#4944](https://github.com/agentscope-ai/QwenPaw/pull/4944))

**File & Session**

- **Async File Writes**: Use aiofiles for non-blocking file writes ([#4954](https://github.com/agentscope-ai/QwenPaw/pull/4954))
- **Atomic State Write**: Write session state atomically ([#4706](https://github.com/agentscope-ai/QwenPaw/pull/4706))
- **Upload Size & Timeout**: Upload size limit + plugin loader timeout resilience ([#4940](https://github.com/agentscope-ai/QwenPaw/pull/4940))
- **Zip Download Size**: Increase zip download file size ([#4941](https://github.com/agentscope-ai/QwenPaw/pull/4941))

**Security**

- **File Preview Restriction**: Restrict file preview to WORKING_DIR and block sensitive files ([#4981](https://github.com/agentscope-ai/QwenPaw/pull/4981))

**Packages**

- **Yuanbao Proto JSON**: Include yuanbao proto JSON files in package-data ([#4899](https://github.com/agentscope-ai/QwenPaw/pull/4899))

## ⚡ Performance

- **Backend Startup**: Unblock event loop and parallelize startup ([#5074](https://github.com/agentscope-ai/QwenPaw/pull/5074))

## 🏗️ Infrastructure

- **E2E CI Pipeline**: Complete E2E integration CI pipeline — backend startup, coverage, test fixes ([#5054](https://github.com/agentscope-ai/QwenPaw/pull/5054))
- **CI Coverage**: Switch coverage collection from py3.10 to py3.13 ([#4952](https://github.com/agentscope-ai/QwenPaw/pull/4952))
- **CI Cleanup**: Remove redundant channel-tests workflow ([#5056](https://github.com/agentscope-ai/QwenPaw/pull/5056))
- **Dependencies**: Update reme-ai dependency to version 0.3.1.10 ([#4935](https://github.com/agentscope-ai/QwenPaw/pull/4935))
- **Chat Component**: Update @agentscope-ai/chat to 1.1.68 ([#5072](https://github.com/agentscope-ai/QwenPaw/pull/5072))

## 🧪 Testing

- **Frontend Unit Tests**: Complete frontend unit test milestone — constants, contexts, layouts, api-types, components ([#4332](https://github.com/agentscope-ai/QwenPaw/pull/4332))
- **Runner & Router Tests**: Add unit + contract tests for runner & routers ([#4852](https://github.com/agentscope-ai/QwenPaw/pull/4852))
- **Agent-Scoped P0 Tests**: Agent-scoped P0 contract coverage (+55 cases) ([#4945](https://github.com/agentscope-ai/QwenPaw/pull/4945))
- **Agent Page Tests**: Agent page + API modules unit tests + coverage ratchet ([#5012](https://github.com/agentscope-ai/QwenPaw/pull/5012))
- **Provider & Utils Tests**: Add unit tests for local_models, providers, tunnel, and utils ([#4973](https://github.com/agentscope-ai/QwenPaw/pull/4973))
- **Channel Layer Tests**: Channel layer + multi-agent management integration tests ([#5058](https://github.com/agentscope-ai/QwenPaw/pull/5058))

## 📖 Docs

- **Roadmap Update**: Update the roadmap ([#4942](https://github.com/agentscope-ai/QwenPaw/pull/4942))
- **Frontend Plugin Docs**: Consolidate frontend plugin docs into website pages ([#5066](https://github.com/agentscope-ai/QwenPaw/pull/5066))

## 🙌 New Contributors

- @saltapp made their first contribution in [#4810](https://github.com/agentscope-ai/QwenPaw/pull/4810)
- @EliasMei made their first contribution in [#4804](https://github.com/agentscope-ai/QwenPaw/pull/4804)
- @bfglx made their first contribution in [#4905](https://github.com/agentscope-ai/QwenPaw/pull/4905)
- @SnowTQ made their first contribution in [#4766](https://github.com/agentscope-ai/QwenPaw/pull/4766)
- @Saint-Yin made their first contribution in [#5033](https://github.com/agentscope-ai/QwenPaw/pull/5033)
- @EaveLuo made their first contribution in [#4973](https://github.com/agentscope-ai/QwenPaw/pull/4973)
