## ✨ Added

**Agent**

- **Inter-Agent Communication**: Added `copaw agents` and `copaw message` CLI commands for listing agents, pushing messages to channels, and sending requests between agents ([#1959](https://github.com/agentscope-ai/CoPaw/pull/1959), [#2161](https://github.com/agentscope-ai/CoPaw/pull/2161))
- **Built-in QA Agent**: Ships a pre-configured QA agent for answering CoPaw installation and usage questions ([#2189](https://github.com/agentscope-ai/CoPaw/pull/2189))
- **Configurable LLM Auto-Retry**: LLM retry behavior is now configurable per agent from the console Settings page. ([#2002](https://github.com/agentscope-ai/CoPaw/pull/2002))
- **Summarization Improvements**: When the agent reaches max iterations and enters summarization, a "round ended" notice is appended to guide the user ([#1965](https://github.com/agentscope-ai/CoPaw/pull/1965), [#2163](https://github.com/agentscope-ai/CoPaw/pull/2163))
- **Config Auto-Repair**: If `config.json` is corrupted or has minor syntax errors, it is automatically repaired on load. Unrecoverable files are backed up with a unique suffix and CoPaw starts with default settings instead of crashing ([#2164](https://github.com/agentscope-ai/CoPaw/pull/2164))

**Security**

- **File Access Guard**: Added a configurable deny list for sensitive files and directories. When enabled, the agent's tools are blocked from reading or writing those paths ([#1762](https://github.com/agentscope-ai/CoPaw/pull/1762))
- **Tool Guard Enhanced**: Tool guard is now enhanced and works correctly when multiple tools run in parallel ([#1984](https://github.com/agentscope-ai/CoPaw/pull/1984), [#1948](https://github.com/agentscope-ai/CoPaw/pull/1948))

**Channels**

- **Feishu / Lark SDK Migration**: Migrated the Feishu channel to the official `lark-oapi` SDK with native async calls, and added a region selector (Feishu China vs Lark International). ([#1946](https://github.com/agentscope-ai/CoPaw/pull/1946), [#2108](https://github.com/agentscope-ai/CoPaw/pull/2108), [#2178](https://github.com/agentscope-ai/CoPaw/pull/2178))
- **XiaoYi File & Image Support**: Users can now send images and documents through the XiaoYi channel. ([#1885](https://github.com/agentscope-ai/CoPaw/pull/1885))

**Console & UI**

- **Audio, Video & Speech Input**: Console chat now supports sending and displaying audio, video and speech attachments natively ([#2114](https://github.com/agentscope-ai/CoPaw/pull/2114), [#2180](https://github.com/agentscope-ai/CoPaw/pull/2180))
- **Stream Reconnection**: If a page refresh occurs while the agent is still responding, the console automatically reconnects to the in-flight streaming session and preserves the user's input text ([#1931](https://github.com/agentscope-ai/CoPaw/pull/1931))
- **Web Account Management**: Users can now change their username and password from the console sidebar when authentication is enabled ([#1989](https://github.com/agentscope-ai/CoPaw/pull/1989))
- **Model Provider Search**: Added a search box on the model provider settings page to filter providers by name ([#2062](https://github.com/agentscope-ai/CoPaw/pull/2062))
- **Chat Scrollbar**: Added a styled scrollbar to the chat conversation area for easier navigation of long threads ([#2083](https://github.com/agentscope-ai/CoPaw/pull/2083))

**Providers**

- **Multimodal Capability Probing**: Models can now be probed for image and video support, and system prompt includes hints about the active model's multimodal capabilities ([#2045](https://github.com/agentscope-ai/CoPaw/pull/2045), [#2183](https://github.com/agentscope-ai/CoPaw/pull/2183))
- **Gemini Tool Image Support**: Gemini models now correctly surface images returned by tools in the conversation, matching existing OpenAI behavior ([#2127](https://github.com/agentscope-ai/CoPaw/pull/2127))

**Skills & Tools**

- **Enhanced Grep & Glob Search**: The built-in grep and glob tools now skip heavy directories, enforce output size and time limits with configurable timeouts ([#2186](https://github.com/agentscope-ai/CoPaw/pull/2186))
- **Workspace-Relative Tool Output**: Screenshots, PDFs, browser snapshots, and other tool output files are now saved under the agent's workspace directory instead of the process working directory ([#2159](https://github.com/agentscope-ai/CoPaw/pull/2159))

## 🔄 Changed

**Core & Lifecycle**

- **Stable Prompts for KV Cache**: The environment context injected into each request now includes only the current date instead of a full timestamp, so prompt content stays stable across requests and improves LLM KV cache hit rates ([#2176](https://github.com/agentscope-ai/CoPaw/pull/2176))
- **Faster CLI Startup**: CLI commands are now lazy-loaded so `copaw --help` and subcommands start significantly faster ([#2135](https://github.com/agentscope-ai/CoPaw/pull/2135))

**Channels**

- **QQ Channel Refactor**: Simplified the QQ channel implementation and added comprehensive unit tests ([#1930](https://github.com/agentscope-ai/CoPaw/pull/1930))
- **Smart Text Chunking for QQ & WeCom**: Long messages on QQ and WeCom are now automatically split at natural boundaries ([#1937](https://github.com/agentscope-ai/CoPaw/pull/1937))
- **QQ WebSocket Reconnect**: Made reconnect attempts configurable and fixed cleanup ([#2162](https://github.com/agentscope-ai/CoPaw/pull/2162))

**Console & Backend**

- **Simplified File I/O**: Replaced async file operations with synchronous ones in several non-critical paths to reduce complexity ([#1962](https://github.com/agentscope-ai/CoPaw/pull/1962))
- **MCP Startup Resilience**: A single MCP client failing to connect no longer blocks the entire application from starting ([#1956](https://github.com/agentscope-ai/CoPaw/pull/1956))
- **Dark Mode Polish**: Polished dark mode across select controls, header titles, multi-selection dropdowns, menus, and the security settings page ([#1920](https://github.com/agentscope-ai/CoPaw/pull/1920), [#2081](https://github.com/agentscope-ai/CoPaw/pull/2081), [#2094](https://github.com/agentscope-ai/CoPaw/pull/2094), [#2096](https://github.com/agentscope-ai/CoPaw/pull/2096))

## 🐛 Fixed

**Shell & Deploy**

- **Shell Command Hang on Windows**: Fixed a hang caused by pipe deadlocks when running shell commands on Windows ([#2093](https://github.com/agentscope-ai/CoPaw/pull/2093), [#1919](https://github.com/agentscope-ai/CoPaw/pull/1919), [#2136](https://github.com/agentscope-ai/CoPaw/pull/2136))
- **Shell Stderr Visibility**: When a shell command succeeds but only writes to stderr, the output is now included in the tool response instead of being silently dropped ([#2125](https://github.com/agentscope-ai/CoPaw/pull/2125))
- **Shell & File Paths on Windows**: Fixed `check=True` error handling and `file://` URL-to-path conversion in Telegram and Discord channels on Windows ([#1065](https://github.com/agentscope-ai/CoPaw/pull/1065))
- **macOS Desktop Build**: Fixed macOS desktop release builds failing due to `llama-cpp-python` dependency conflicts ([#1914](https://github.com/agentscope-ai/CoPaw/pull/1914))

**Providers & Models**

- **Anthropic Overloaded Retry**: Anthropic "overloaded" responses (HTTP 529) are now automatically retried like other transient errors ([#1891](https://github.com/agentscope-ai/CoPaw/pull/1891))
- **Model Connection Test**: The "Test Connection" button now uses the same message format as real chat requests ([#1909](https://github.com/agentscope-ai/CoPaw/pull/1909))

**Channels**

- **Channel Message Processing Leak**: Fixed a lock leak in channel message processing that could cause messages to stop being handled after errors ([#2168](https://github.com/agentscope-ai/CoPaw/pull/2168))
- **Custom Channel Config**: Fixed custom channel configurations stored as plain dictionaries not being loaded correctly ([#1991](https://github.com/agentscope-ai/CoPaw/pull/1991))

**Console & UI**

- **Agent List**: Fixed a crash when the agent list is empty, and ensured the list refreshes immediately after saving an agent ([#2086](https://github.com/agentscope-ai/CoPaw/pull/2086), [#2112](https://github.com/agentscope-ai/CoPaw/pull/2112))
- **Console Static Files**: Fixed console UI not loading when CoPaw is launched from a different working directory ([#1923](https://github.com/agentscope-ai/CoPaw/pull/1923))
- **Swagger Docs Route**: Fixed `/docs` and `/redoc` API documentation pages being overridden by the console SPA routing ([#1847](https://github.com/agentscope-ai/CoPaw/pull/1847))
- **Expired Push Messages**: Console notifications now correctly expire and are cleaned up, preventing stale messages from accumulating ([#623](https://github.com/agentscope-ai/CoPaw/pull/623))
- **Console Reconnect Overflow**: Fixed a queue overflow error that could break console reconnection when replaying buffered messages ([#2001](https://github.com/agentscope-ai/CoPaw/pull/2001))
- **Mermaid Chart Scroll Jump**: Fixed Mermaid diagrams on the documentation site causing the page to jump when rendered ([#1980](https://github.com/agentscope-ai/CoPaw/pull/1980))

**Agent & Memory**

- **Token Usage Lock**: Fixed a blocking lock in token usage recording that could freeze the event loop under concurrent requests ([#1893](https://github.com/agentscope-ai/CoPaw/pull/1893), [#2016](https://github.com/agentscope-ai/CoPaw/pull/2016))
- **Memory Timezone**: Memory summarization now uses the user's configured timezone for daily note naming instead of system local time ([#1814](https://github.com/agentscope-ai/CoPaw/pull/1814))
- **Empty Compaction Results**: Memory compaction no longer silently fails when the result is empty; a clear error message is shown instead ([#2129](https://github.com/agentscope-ai/CoPaw/pull/2129))
- **Cron Job Cancellation**: Cancelled cron jobs now correctly report their terminal status instead of staying stuck in "running" ([#1894](https://github.com/agentscope-ai/CoPaw/pull/1894))
- **Task Tracker Init**: Fixed task tracker initialization that prevented event listeners from receiving updates ([#2095](https://github.com/agentscope-ai/CoPaw/pull/2095))

## 📚 Documentation

- **Windows Desktop Upgrade Guide**: Added FAQ entry explaining how to upgrade the Windows desktop (exe) version ([#1973](https://github.com/agentscope-ai/CoPaw/pull/1973))
- **Windows Port 8088 Conflict Guide**: Added FAQ entry for resolving port 8088 conflicts on Windows (common with Hyper-V / WSL), with instructions for pip, Docker, and desktop installs ([#1995](https://github.com/agentscope-ai/CoPaw/pull/1995))
- **Community QR Codes**: Added Discord and DingTalk community QR codes to the website homepage ([#1993](https://github.com/agentscope-ai/CoPaw/pull/1993))
