Releases: agentscope-ai/CoPaw
v0.1.0-beta.3
What's Changed
- chore: bumping version to 0.1.0b3 by @xieyxclack in #1688
- feat(console): update multi language in console by @xieyxclack in #1686
- feat(console): Optimize document navigation anchors and their language. by @zhaozhuang521 in #1707
- feat(memory): enhance memory compaction with progress indicators by @jinliyl in #1689
- fix: add WecomConfig to channel config class map by @mautops in #1725
- fix(skills) enable behavior by @Leirunlin in #1716
- feat(console): wecom QR code access robot by @zhaozhuang521 in #1728
- fix(skills): add cancel import skill choice by @lalaliat in #1720
- feat(WeCom): Modify the initialization method of WeCom client by @hongxicheng in #1706
- feat(feishu): Enables feishu to process voice messages correctly. by @hongxicheng in #1726
- fix(agents): inject reasoning_content sequentially to avoid count mismatch by @mvanhorn in #1557
- fix(cron): skip invalid cron jobs by @lalaliat in #1734
- fix(console): Front-end static resource loading and style issues by @zhaozhuang521 in #1737
- feat(provider): Add MiniMax-CN provider by @pan-x-c in #1735
- [Fix] Throw error message when ollama fetch model failed. by @garyzhang99 in #1745
- feat: fix wecom version by @hongxicheng in #1747
- chore: update install scripts by @xieyxclack in #1744
- feat: add gracefully close and timeout & refactor workspace by @rayrayraykk in #1714
- fix(timezone): support read timezone in centos by @xieyxclack in #1746
- feat: update default_headers by @rayrayraykk in #1757
- feat(command): add history dump/load commands and improve token counting by @jinliyl in #1754
- Docs(channel) Update docs for allowlist & mention, and hint for allowlist id by @Leirunlin in #1760
- feat(docker): include more channel in docker by @xieyxclack in #1761
- fix(console): workspace path display issue by @zhaozhuang521 in #1764
- Fix(skills) migrate skills to default workspace by @Leirunlin in #1749
- feat(feishu): ensure that the number of tables in each card does not exceed the limit by @hongxicheng in #1627
- fix(QQ): optimize QQ channel reply logic by @hongxicheng in #1650
- fix(skills): modify cron skill by @lalaliat in #1768
- fix: ts by @zhaozhuang521 in #1769
- fix(WeCom): Troubleshooting WeCom channel not closing properly by @hongxicheng in #1766
New Contributors
Full Changelog: v0.1.0-beta.2...v0.1.0-beta.3
v0.1.0-beta.2
There is a breaking change that has happened in a2a-sdk~=1.0.0, so we need to upgrade now. Please refer to #1684
Full Changelog: v0.1.0-beta.1...v0.1.0-beta.2
v0.1.0-beta.1
What's Changed
- chore(version): bumping version to 07p1 by @xieyxclack in #1357
- Fix page refresh relocate to chat. by @garyzhang99 in #1373
- fix(skills): fix the importing failure when there is / in the skill name by @lalaliat in #1369
- fix: Fixed a bug when refreshing the workspace list; optimized the sk… by @zhaozhuang521 in #1402
- fix(dingtalk): correctly skip messages when sender info missing by @dipeshbabu in #851
- fix(crons): normalize day_of_week to abbreviations to fix weekday mismatch by @sljeff in #1269
- fix(consoe): Fixed internationalization of token time selection and c… by @zhaozhuang521 in #1409
- fix(console): The provider and chat model should be consistent. by @zhaozhuang521 in #1420
- feat: add MiniMax as a built-in LLM provider by @octo-patch in #1376
- fix(provider): Fix ollama and LMStudio context length by @pan-x-c in #1427
- fix(skills): dedupe duplicated built-in skill listings by @Alexxigang in #1396
- doc(provider): Add warning for ollama and lm_studio context length setting by @pan-x-c in #1433
- feat(skills): support importing skills from lobehub by @fancyboi999 in #1350
- fix(crons): inject UTC time context to prevent timezone mismatch in c… by @howyoungchen in #1432
- feat: add telemetry by @xieyxclack in #2
- fix(tests): remove skill-only test files by @Leirunlin in #1440
- fix(runner): use shutil.move for cross-disk write on Windows by @Leirunlin in #1483
- fix(tests): add trust_env=False to prevent Windows proxy issues by @nphenix in #1495
- fix(chat): copy text content instead of raw response JSON by @lllcy in #1471
- feat: add provider deepseek by @skyfaker in #1498
- fix(telegram): thread replies, media handling, and comprehensive error reporting by @hh0592821 in #1210
- fix(provider): Cover the case when chunk.choices is None by @cuiyuebing in #1524
- feature(telegram): auto-reconnect polling on network failure by @Leirunlin in #1475
- fix(security): include security guard rules in package data by @xieyxclack in #1529
- fix(ollama): default to 127.0.0.1 and surface original connection errors by @futuremeng in #1480
- fix(skills): add missing channels to cron SKILL.md --channel options by @toby1123yjh in #1541
- feat(skill): Add a guidance skill by @hiyuchang in #1522
- feat(channels): add XiaoYi channel support by @wwx814 in #1213
- fest(channel): add WeCom channel by @hongxicheng in #1407
- feat(CLI): Add
copaw updatecommand to update CoPaw automatically by @pan-x-c in #1278 - fix(channels): normalize prefixed discord ids for cron sends by @fancyboi999 in #300
- fix(discord): prevent cross-channel message merging due to sender_id debounce key by @Atletico1999 in #1002
- feat(timezone): add user timezone configuration by @xieyxclack in #1535
- docs(zh): fix documentation formatting and consistency issues by @hanson-hex in #1300
- add docker-compose.yml by @JackyMao1999 in #1320
- fix(tool choice): fix the tool choice bug by @gnipping in #1570
- feat(tools): add view_image tool for LLM visual analysis by @Leirunlin in #1526
- feat(provider) add gemini provider by @ekzhu in #1507
- fix(skills): Fixed incomplete file imports during skill import. by @lalaliat in #1576
- fix(tools): suppress Windows AutoRun stderr in shell commands by @mvanhorn in #1556
- fix(channels): skip empty text blocks in DingTalk rich text parsing by @mvanhorn in #1554
- align docker secrets of CoPaw at the QuickStart page. by @yuanxs21 in #1584
- feat!: Multi-agent/multi-workspace architecture by @rayrayraykk in #1375
- fix(channels): generalize discord debounce key fix to all channels by @Leirunlin in #1583
- fix(console): preserve custom cron expressions in UI by @fancyboi999 in #1257
- feat(console): implement /console/chat endpoint for streaming agent r… by @zhijianma in #1571
- feat(security)/skill scanner by @gnipping in #564
- Feat/console dark by @zhaozhuang521 in #1566
- feat(migration): add MEMORY.md and BOOTSTRAP.md to markdown migration… by @zhijianma in #1614
- fix: handle None system_prompt in memory compaction by @aissac in #1608
- chore(version): bumping version to 0.1.0b1 by @xieyxclack in #1617
- feat(WeCom): Add docs redirection to WeCom channel by @hongxicheng in #1618
- fix: Windows GBK encoding support for console logging by @lcq225 in #1601
- perf: fix new agent built-in mcp not enabled by @rayrayraykk in #1625
- feat(console): Workspace Path (Editing Prohibited) by @zhaozhuang521 in #1624
- chore: update release note link in console by @xieyxclack in #1622
- fix(skills): show skill descriptions by @lalaliat in #1626
- docs(WeCom): Optimize documents related to WeCom by @hongxicheng in #1631
- perf: speed up for windows desktop version (pre-compile pyc) by @rayrayraykk in #1639
- Feat/console style by @zhaozhuang521 in #1637
- feat(voice): audio transcription for voice messages with Local Whisper support by @ekzhu in #1476
- feat(console): Version update delayed by one hour (shown) by @zhaozhuang521 in #1647
- feat: kill subprocess gracefully when desktop is closed by @rayrayraykk in #1646
- feat(dingtalk): add AI Card reply support by @Justin-lu in #1118
- chore(deps): update as version to 1.0.17 by @lalaliat in #1640
- feat (ci): only update website when new release comes by @rayrayraykk in #1651
- feat: add optional web authentication with single-user registration by @rowanchen-com in #1329
- feat(prompt): add os information in system prompt by @xieyxclack in #1660
- validate the customed working directory by @yuanxs21 in #1652
- fix(console): Fixed the night mode issue and resolved the issue of pa… by @zhaozhuang521 in #1662
- docs: add Web Authentication section to security docs by @rowanchen-com in #1666
- feat: zero downtime when agent reload by @rayrayraykk in #1664
- feat(security): add detection rules for destructive shell commands by @pzlav in #1484
- feat(memory): add token counter and history management features by @jinliyl in #1628
- feat(skills): add version-aware builtin skill sync with bidirectional sync fix by @Leirunlin in #1674
- add developer group notes by @Osier-Yi in #1678
- feat(skills): add modelscope skillhub by @lalaliat in #1673
- feat: fix multi agent hearbeat by @rayrayraykk in #1670
- feat(model): add filtering media blocks for non multimodal llms by @qbc2016 in #1676
- feat(chat): add chat status management and reconnect functionality by @zhijianma in #1672
- feat: fix wecom version by @rayrayraykk in #1681
New Contributors
- @d...
v0.0.7
✨ Added
Security
- Tool Guard: Pre-execution security layer that scans tool parameters for risky patterns (e.g.,
rm,mvin shell commands). Risky calls are blocked until the user approves via/approve; denied tools are always blocked. New Security settings page for managing rules and approvals (#563)
Channel & Communication
- Mattermost Channel: Full Mattermost integration supporting DMs and threaded conversations with text, images, files, video, and audio, plus typing indicator and configurable access policies (#1071)
- Matrix Channel: New Matrix protocol channel integration using matrix-nio, supporting text, images, video, audio, and file messages (#969)
- Require Mention Filtering: Group messages are ignored unless the bot is @mentioned (or a slash command is used on Telegram), configurable per-channel via
require_mentionfor Discord, DingTalk, Feishu, and Telegram (#1049) - Telegram Markdown Rendering: Markdown-to-Telegram HTML conversion for LLM output including bold, italic, code blocks, links, blockquotes, spoilers, and more, with automatic plain text fallback on send failure (#850)
- Feishu Emoji Reaction: Automatically adds a "DONE" emoji reaction to the last Feishu reply when processing completes successfully (#1158)
- Feishu Rich Text Media: Parsing of media files (videos, audio, and other files) in Feishu post-type rich text messages, with automatic download and attachment (#1159)
- QQ Image Messages: Support for sending image messages via
[Image: url]tags in agent output for both DM and group chats (#1212)
Model & AI Features
- Model Retry: Automatic retries for LLM API calls on transient errors (rate limit, timeout, connection) with exponential backoff, configurable via
COPAW_LLM_MAX_RETRIES,COPAW_LLM_BACKOFF_BASE,COPAW_LLM_BACKOFF_CAP(#1150) - LM Studio Provider: LM Studio added as a built-in model provider with configuration UI and documentation (#1134)
- Token Usage Tracking: End-to-end token usage tracking across providers with a Token Usage settings page, API, and
get_token_usagetool (#775, #1349, #1284) - Provider Advanced Configuration: Added
generate_kwargseditor for custom generation parameters (e.g., temperature, top_p, enable_thinking); providers without API keys (Ollama, LM Studio) are now correctly shown as configured (#1170)
Console & UI
- Workspace Drag-and-Drop: Drag-and-drop reordering for enabled system prompt files in Agent Workspace, controlling prompt file precedence (#1121)
- Chat Model Selection: Model selector dropdown on the Chat page for switching models during conversation (#1140)
- Agent Language Selector: Change the agent's language directly from the console Agent Config page (#1251)
- Tool Batch Toggle: "Enable All" and "Disable All" buttons on the Tools page for batch tool management (#1112)
- Chat URL Routing: Direct URL access to specific chat sessions via
/chat/:chatIdwith automatic URL synchronization (#1221) - Context Management UI: New Context Management section in Agent Config with adjustable compact ratio, reserve ratio, and tool result compaction settings, displaying derived token thresholds (#1247)
- Preserve Chat on Navigate: Chat stays mounted when switching to other pages, preserving in-progress messages, cursor position, and running state (#1340)
Skills
- AI Skill Optimization: "AI Optimize" button in the skill editor uses the active model to rewrite skill content with streaming output; supports English, Chinese, and Russian prompts (#853)
- Skill Card Description: Skill cards now display the
descriptionfrom SKILL.md frontmatter so you can see what each skill does without opening it (#1235)
Installation & Platform
- Auto PyPI Mirror: Automatic PyPI mirror selection in the install script, detecting connectivity and falling back to Alibaba Cloud mirror for users in China (#925, #1330)
- Docker Secret Directory: Added
/app/working.secretto Docker layout for persistent provider settings and API keys (#1050)
🔄 Changed
Model & Provider
- Provider Connection Test: Connection test methods now return descriptive failure messages instead of just a boolean, making it easier to diagnose configuration issues (#1120)
- ModelScope Defaults: Updated default models to
Qwen3.5-122B-A10BandGLM-5(#1154) - Provider ID Conflict Resolution: Duplicate provider IDs now auto-resolve (e.g.,
openai→openai-custom) instead of raising errors; connection testing disabled for custom providers (#1234) - Model Discovery On-Demand: Opening the provider page no longer auto-triggers model fetching; use the "Discover Models" button to refresh the model list (#1342)
Performance
- Async Zip Operations: Workspace zip/unzip operations now run asynchronously to prevent blocking during download and upload (#1128)
- Async Session Load: Session load converted to async function, preventing disk operations from blocking the server (#1236)
Console, Skills & System
- Tools Page Styling: Updated tool card hover effects, enabled/disabled states, and status indicators (#1092)
- Container Detection: Simplified container detection logic for more reliable environment variable handling (#1075)
- Built-in Skills Improvement: Updated docx, pdf, pptx, xlsx skills with clearer prerequisites and new documentation for pdf/forms and pptx/editing; added
~home directory support in file operations and venv Python onPATHfor shell subprocesses (#1147) - Himalaya Email Skill: Updated with send/compose support via
template write | template send, attachment handling documentation, and 163 mail configuration notes (#1279) - Memory Docs Refactor: Reorganized memory and context documentation structure, updated README links, and bumped
reme-aito 0.3.0.6b3 (#1190) - Model Selector Styling: Fixed model selector alignment in the chat header for consistent layout (#1309)
- Config & Security Page Refactor: Restructured Agent Config and Security settings pages with clearer layout, improved styling, and better responsiveness (#1333)
🐛 Fixed
Channel Fixes
- DingTalk Auth Failure Cleanup: DingTalk channel now shuts down cleanly when authentication fails, properly canceling the main task instead of relying on a fixed-time sleep (#1039)
- Discord Message Splitting: Messages exceeding Discord's 2000-character limit are automatically split at line breaks, preserving markdown code fences (#1001)
- Channel Config Type Alignment: Matrix, Mattermost, and MQTT channel configs are now correctly typed and validated via the API (#1289)
Platform Compatibility
- Windows Shell Encoding: Shell command output on Windows now uses smart decoding (UTF-8 first, locale fallback) for reliable handling of mixed-encoding output (#1103)
- Windows Process Cleanup: Shell command execution on Windows now properly kills the full process tree on timeout, preventing hangs from descendant processes keeping pipes open (#1260)
- Desktop SSL & Windows: Fixed SSL certificate loading in packaged desktop apps via certifi; preserved system PATH in launchers; added
COPAW_LOG_LEVELsupport; resolved log file locking and subprocess output blocking on Windows (#1252, #1282) - Desktop IME & Navigation: Fixed Enter key submitting chat while typing with IME, enabled external URL opening in system browser, and text selection in webview ([#1239](https://...
v0.0.6.post1
What's Changed
- chore(version): bump version to 0.0.6.post1 by @zhijianma in #1067
- docs(website): Update roadmap and the comparison with openclaw by @cuiyuebing in #1062
- feat(ci): per docker ci by @rayrayraykk in #1069
- chore(deps):add dependency by @xieyxclack in #1074
- feat(container): improve type handling for RUNNING_IN_CONTAINER varia… by @zhijianma in #1075
Full Changelog: v0.0.6...v0.0.6.post1
v0.0.6
✨ Added
Desktop Applications
- Native Desktop Installers: One-click installer for Windows and standalone
.appbundle for macOS, using conda-pack for portable Python environments with automated GitHub Actions release workflow (#843) - Desktop Launch Command: New
copaw desktopcommand opens CoPaw in native webview window with automatic server startup and port management (#843)
Internationalization
- Russian Language: Complete translation across console UI, agent configuration files, and initialization command language selection (#829, #854, #948)
- Japanese Language: Full console UI translation with language switcher integration (#912)
Channel & Communication
- Telegram Access Control: DM/group access policies with user allowlists and custom denial messages; Markdown-to-HTML conversion with plain text fallback (#911)
- QQ Markdown Support: Rich markdown messages with validation-aware fallback to plain text, preventing duplicate sends (#790)
- QQ Rich Media: Attachment download and parsing for images, videos, audio, and files with MIME type detection and configurable media directory (#996)
- Unified Allowlist Control: Centralized DM/group access policies into BaseChannel, extending to Discord and Feishu with privacy-aware denial messages (#943)
- Media Filtering Enhancement: Media files now returned when tool message filtering enabled, fixing content loss across all channels (#778)
- DingTalk Media Expansion: Extended audio/video format support with automatic file upload fallback for unsupported types (#824)
- Feishu Table Rendering: Markdown tables automatically converted to native interactive message cards for proper display (#1009)
- Feishu Post Messages: Added support for receiving Feishu post-type rich text messages (#980)
- Discord Media Support: Implemented media sending with local/remote file handling and temporary download for HTTP URLs (#840)
- Docker Channel Enablement: Telegram and Discord channels now enabled by default in Docker images (#915)
- MQTT Channel: IoT and message queue integration support (#548)
Model & AI Features
- Gemini Thinking Model: Preserved reasoning content via
extra_contentfield for Gemini thinking models with tool call support (#789) - MLX Backend: Message normalization handling
Nonecontent and emptytool_callsfor MLX tokenizer chat template compatibility (#1014) - Local/Cloud LLM Routing: Intelligent model selection with minimal policy hooks for local/cloud LLM routing decisions (#849)
Console & UI
- Environment Variable Security: Password-style masking for sensitive environment values with show/hide toggle, preventing accidental exposure (#984)
- Environment Variable Deletion: Single and bulk deletion support with automatic API persistence for saved variables (#954)
- Built-in Tool Management: Dedicated Tools page with toggle switches for enabling/disabling built-in tools, dynamically updating agent capabilities (#1043)
- Custom System Prompts: Select and reorder workspace Markdown files to compose custom system prompts, replacing default agent personality files (#1048)
Memory & Configuration
- ReMeLight Migration: Refactored memory system from ReMeCopaw to ReMeLight with environment-driven embedding and storage configuration (#867)
- Configurable Memory Compaction: New compact split strategy with tunable parameters for intelligent context management (#867)
- Smart Tool Output Truncation: Automatic line/byte-based truncation for file reads and shell commands with clear truncation notices, preventing context overflow (#867)
🔄 Changed
Console & UI
- Version Detection: Fixed version sorting to use PyPI upload time, preventing beta/dev versions from incorrectly showing as latest (#766)
- Style Refactoring: Migrated inline styles to centralized LESS modules for improved maintainability (#810)
- Timezone Handling: Standardized to UTC time across frontend and backend to prevent timestamp inconsistencies (#771)
- Session Table: Fixed checkbox column overlap issue in sessions page (#936)
- Chat Session Fix: Resolved race condition causing user messages to disappear during streaming responses (#1033)
Provider Architecture
- Provider Refactor: Modular provider system with base class, lifecycle manager, and unified configuration handling (#734)
🐛 Fixed
Platform Compatibility
- Windows File Paths: Proper handling of
file://URLs and Windows absolute paths for media files (#832) - Shell Encoding: Smart UTF-8 decode with system encoding fallback for shell command output on Windows (#979)
Channel & File Handling
- DingTalk Office Files: Extract filename hints from payload to prevent Office files from being saved as ZIP (#1025)
- File Delivery: Removed unreachable code branch in
send_file_to_userto align with actual file delivery behavior (#917) - Skill Import: Graceful UTF-8 decoding with error replacement for skill files (#783)
Console & UI
- URL Validation: Custom validator allowing HTTP(S) URLs with relaxed hostname requirements for Docker networks (#1007)
- Version Badge: Corrected version display styling and positioning in sidebar (#787)
- File Notifications: Language-aware file download messages based on agent configuration (#808)
📚 Documentation
- Brand Identity: New logo design and social media integration (X, RedNote) across website and README files (#781, #761)
- README Refresh: Updated branding, installation guides, model configuration, and source installation instructions (#815, #821)
- Desktop App Guide: Complete installation, troubleshooting, and security guidance for Windows/macOS desktop applications (#997)
- Roadmap Update: Post-v0.0.5 roadmap reflecting completed features and future priorities (#826)
- Memory & Command Documentation: Enhanced memory compaction documentation and added new
/messagecommand documentation with improved layout (#1008) - Documentation Fixes: Corrected MCP documentation link and added cron job creation instructions (#1015, #1025)
- Website Enhancement: Optimized homepage component ordering, animations, and visual presentation (#1053)
🔧 CI/CD
- First-Time Contributor Welcome: Automated welcome message with social media handle collection for merged PRs from new contributors (#762)
- Issue Template Cleanup: Removed outdated bug report and question templates (#834)
👥 New Contributors
- @Osier-Yi made their first contribution in #781
- @muchenhen made their first contribution in #790
- @hongxicheng made their first contribution in #778
- @YingchaoX made their first contribution in #821
- @seoeaa made their first contribution in #829
- @Chiytako made their first contribution in #912
- @evia...
v0.0.5.post1
What's Changed
- feat(console): optimize version sorting with update time priority by @zhaozhuang521 in #766
- chore(version): bump version to 0.0.5.post1 by @zhijianma in #782
- fix(chats): use UTC-Time by @zhaozhuang521 in #771
- Modify readme; Fix import failure caused by non-UTF-8 bytes in the skill folder. by @lalaliat in #783
- add new copaw logo & add rednote,x account link by @Osier-Yi in #781
- fix(console): version by @zhaozhuang521 in #787
- Add X link to README by @ekzhu in #761
- feat(gemini): add extra_content to support gemini thinking model by @qbc2016 in #789
- fix: Refactoring the style file and optimizing the menu bar style by @zhaozhuang521 in #810
- ci: welcome first-time contributors on PR merge by @ekzhu in #762
- feat(channels): support QQ markdown replies with guarded fallback by @muchenhen in #790
- docs(readme zh/en/jp): change logo, modify news, guides, docs. by @lalaliat in #815
- Fix minor typos by @garyzhang99 in #808
- docs: update roadmap after v0.0.5 release by @cuiyuebing in #826
- feat(channels): returns media files when the tool message filtering is enabled by @hongxicheng in #778
- feat: dingtalk support more audio type & video type by @rayrayraykk in #824
- docs(readme): fix source install instructions for console build by @YingchaoX in #821
- perf: support windows path of media file by @rayrayraykk in #832
- Added Russian translation for the console by @seoeaa in #829
- chore(workflow): remove outdated issue templates for bug reports and … by @zhijianma in #834
- fix typo: change xiaohongshu to rednote, by @Osier-Yi in #890
- feat(telegram): add access restriction settings by @seoeaa in #911
- fix(docker): enable telegram and discord channels in Docker image by @Leirunlin in #915
- feat: add Russian translations for agent configuration files by @seoeaa in #854
- feat(i18n): add Japanese (ja) language support to console UI by @Chiytako in #912
- feat: Add Windows/macOS desktop packaging with conda-pack by @rayrayraykk in #843
- fix(channels): add discord send_media by @Leirunlin in #840
- fix(console): resolve table checkbox overlapping issue in sessions page by @eviaaaaa in #936
- feat(channels): unify allowlist access control, and allow list for feishu and discord by @Leirunlin in #943
- feat(console): add ru language choice for init_cmd by @xieyxclack in #948
- Add backend local/cloud LLM routing with minimal policy hooks by @vvv214 in #849
- feat(console): support envs delete by @zhijianma in #954
New Contributors
- @Osier-Yi made their first contribution in #781
- @muchenhen made their first contribution in #790
- @hongxicheng made their first contribution in #778
- @YingchaoX made their first contribution in #821
- @seoeaa made their first contribution in #829
- @Chiytako made their first contribution in #912
- @eviaaaaa made their first contribution in #936
- @vvv214 made their first contribution in #849
Full Changelog: v0.0.5...0.0.5.post1
v0.0.5
v0.0.5 Release Note
✨ Added
Channel & Communication
- Channel Management System: Comprehensive channel customization with filter tabs (All/Built-in/Custom), dynamic custom-field editor, and channel type badges (#615)
- Message Filtering: Per-channel configuration to hide tool execution steps and thinking content, showing only final results for cleaner chat experience (#449, #704)
- Twilio Voice Channel: Voice channel integration with Cloudflare tunnel support (#38)
- Telegram CLI Configuration: Interactive command-line tool for configuring Telegram channels with bot token, prefix, proxy settings, and typing indicators (#529)
- DingTalk Enhancements:
- iMessage Attachments: Support for sending images, audio, and video files (#386)
Model & AI Features
- DeepSeek Reasoner Support: Preserved
reasoning_contentin message formatting for reasoner mode with tool calls (#707) - Model Provider Discovery: Automatic model discovery with status indicators; added Anthropic as built-in provider (#408)
System & Management
- Version Update Notification: Automatic version detection with update badge, modal instructions, and navigation links to docs/FAQ/changelog (#715)
- Daemon Mode: Added
copaw daemonCLI for managing background service (status, restart, reload-config, version, logs) (#597) - Agent Interruption API: Added
interrupt()method to cancel active reply tasks with proper cleanup (#728) - /message Command: View specific messages by index in conversation history (#638)
- MCP Client Auto-Recovery: Automatic reconnect/rebuild for closed MCP sessions with graceful fallback (#431)
Installation & Platform
- Windows Installation Script: One-click installation with
install.batscript (#742, #484) - Channel Documentation Links: Quick access "Doc" buttons on each channel card (#556)
🔄 Changed
Memory & Performance
- Memory System Evolution: Migrated to reme-ai 0.3.0.3 with vLLM embedding support, simplified management and improved token counting (#383, #566)
- Memory Compaction: Enhanced auto-compaction with better context size estimation for more accurate memory management (#547)
- Optional Channel Loading: Lazy loading mechanism for optional channels to reduce startup time and memory footprint (#596)
- ModelScope MLX Optimization: Download full ModelScope snapshot for improved MLX model loading reliability (#602)
Console & UI
- Console UI Enhancements:
- Filter Configuration: Console now properly respects
filter_tool_messagesandfilter_thinkingsettings (#744) - Cron Task UI: Redesigned interface with structured sections, tooltips, and help links (#595)
Models & Providers
- OpenAI Model IDs: Corrected model list by replacing invalid
gpt-5-chatwithgpt-5and addinggpt-5.2(#498) - Provider Status Logic: Simplified to unified
available/unavailablestatus, removing redundanthas_api_keyfield (#442) - Ollama Timeout Management: Configurable timeouts for Ollama operations to prevent hanging (#427, #634)
Tools & Integrations
- Browser Tool: System browser detection with automatic fallback to WebKit on macOS; improved installation workflow (#451)
- Skill Hub: Enhanced GitHub API error handling with better rate limit hints and smarter default branch detection (#506)
- Heartbeat Behavior: Updated documentation to encourage context-aware meaningful heartbeat responses instead of mechanical replies (#599)
🐛 Fixed
Critical Fixes
- Configuration Persistence (Docker users): Fixed configuration loss on container restart by moving
providers.jsonandenvs.jsonto persistentSECRET_DIRwith automatic migration and security hardening (#346, #345) - Ollama Base URL: Fixed
base_urlconfiguration not being respected; added host parameter support to all Ollama operations (#683)
Channel Fixes
- DingTalk: Fixed webhook handling to prevent stale session reuse (#446)
- Feishu: Fixed cron task message delivery with correct channel metadata and receiver IDs (#464)
- QQ: Added URL filtering to prevent QQ API errors when messages contain links (#362)
- Telegram: Fixed typing indicator continuous display and added typing loop timeout with stop() race condition fix (#640, #686)
Model & Provider Fixes
- OpenAI-Compatible Providers:
- Console Model Provider Handling: Graceful handling of unknown provider IDs with non-blocking model test execution (#655)
Platform-Specific Fixes
- Windows:
- Shell Command Timeout: Enforced timeout around
communicate()to prevent hangs when child processes keep pipes open (#672) - Local File Handling: Fixed audio/image/video file path handling in agentscope integration (#627)
System & UI Fixes
- Console TypeScript Build: Resolved TS2352 error in ChannelCard component with runtime type checks (#687)
- MCP Client:
- Tool System: Fixed "already registered in toolkit" errors with automatic duplicate handling (#438)
- AgentScope Compatibility: Updated compatibility layer for AgentScope 1.0.16 release (#699)
- CLI Commands: Removed redundant provider validation in
config keycommand (#457)
📚 Documentation
Guides & Tutorials
- Model Configuration Guide: Comprehensive documentation for cloud providers, local models (llama.cpp/MLX), and Ollama (EN/ZH) (#630)
- Docker + Ollama Guide: Connecting CoPaw in Docker to host Ollama with two connection methods (EN/JA/ZH) (#696)
- Cron Task Troubleshooting: Detailed FAQ section for scheduled task debugging with step-by-step guide and screenshots (#721)
- Telegram Setup Guide: Complete Telegram channel documentation covering bot registration, configuration, and proxy settings ([#592](https://github.com/agen...
v0.0.5-beta.3
v0.0.5-beta.3 Release Note
✨ Added
- Channel Customization & Filtering: Implemented comprehensive channel management with filter tabs (All/Built-in/Custom), dynamic custom-field editor, and channel type badges (#615)
- Version Update Notification: Added automatic version update detection with clickable badge, modal with update instructions, and navigation links to docs/FAQ/changelog (#715)
- DeepSeek Reasoner Support: Implemented
reasoning_contentpreservation in message formatting to support DeepSeek API validation for reasoner mode with tool calls (#707) - Twilio Voice Channel: Added Twilio voice channel integration with Cloudflare tunnel support (#38)
- Agent Interruption API: Added
interrupt()method to cancel active reply tasks with proper cleanup and error handling (#728) - DingTalk Access Control: Added
openandallow_fromsupport for direct messages and group chats in DingTalk channel (#661) - /message Command: Added command to view specific messages by index in conversation history (#638)
- Windows Installation Script: Added
install.batscript for simplified Windows installation (#742)
🔄 Changed
- Sidebar Expansion: Improved sidebar menu expansion behavior with all groups auto-opening when sidebar expands (#663)
- Message Content Filtering: Added channel-aware filtering of thinking content based on
filter_thinkingconfiguration per channel (#704) - Console Filter Config: Console now properly respects
filter_tool_messagesandfilter_thinkingconfiguration settings (#744) - Optional Channel Loading: Enhanced lazy loading mechanism for optional channels to reduce startup time and memory footprint (#596)
- ModelScope MLX Support: Download full ModelScope snapshot for MLX models for improved loading reliability (#602)
🐛 Fixed
- Ollama Base URL Configuration: Fixed Ollama
base_urlsetting not being properly respected; added host parameter support to all Ollama operations (#683) - Console TypeScript Build: Resolved TS2352 error in ChannelCard component by replacing unsafe type assertions with runtime type checks (#687)
- Shell Command Timeout: Enforced timeout around
communicate()to prevent hangs when child processes keep pipes open (#672) - MCP Client Startup: Prevented app startup failure when MCP client initialization fails with graceful error handling (#727)
- AgentScope 1.0.16 Compatibility: Updated compatibility layer for AgentScope 1.0.16 release (#699)
- Windows Playwright: Use synchronous Playwright on Windows in reload mode to resolve browser automation issues (#732)
- Telegram Stability: Added typing loop timeout and fixed stop() race condition for improved channel shutdown reliability (#686)
- Console Model Provider Handling: Console now handles unknown provider IDs gracefully with non-blocking model test execution (#655)
📚 Documentation
- Docker + Ollama Guide: Added comprehensive guide for connecting CoPaw in Docker to host Ollama with two connection methods (EN/JA/ZH) (#696)
- Cron Task Troubleshooting: Added detailed FAQ section for scheduled task debugging with step-by-step troubleshooting guide and screenshots (#721)
- Docker Security Updates: Changed default Docker port binding to localhost (
127.0.0.1) for improved security and refreshed DingTalk QR code (#681) - iMessage Channel Guide: Added complete iMessage channel setup and usage documentation (#748)
- Release Notes System: Integrated release notes display in website for better version tracking (#724)
- Contributors Section: Added contributors visualization to README files across all languages (#650)
👥 New Contributors
- @qoli made their first contribution in #672
- @qbc2016 made their first contribution in #707
- @yunlzheng made their first contribution in #661
- @BlueSkyXN made their first contribution in #596
- @sidonsoft made their first contribution in #744
Full Changelog: v0.0.5-beta.2...v0.0.5-beta.3
v0.0.5-beta.2
v0.0.5-beta.2 Release Note
✨ Added
- Telegram CLI Configuration: Added command-line interface to configure Telegram channels with interactive prompts for bot token, prefix, proxy settings, and typing indicators (#529)
- Channel Documentation Links: Added "Doc" button to each channel card (DingTalk, Feishu, iMessage, Discord, QQ) for quick access to setup guides (#556)
- Model Provider Discovery: Implemented automatic model discovery with provider status indicators; added Anthropic as a built-in provider (#408)
- Model Configuration Guide: Added comprehensive documentation for configuring cloud providers, local models (llama.cpp/MLX), and Ollama in English and Chinese (#630)
- iMessage Attachments: Extended iMessage channel to support sending images, audio, and video files (#386)
- Daemon Mode: Added
copaw daemonCLI for managing background service (status, restart, reload-config, version, logs) (#597)
🔄 Changed
- Memory Architecture: Migrated to reme-ai 0.3.0.3 with simplified memory management and token counting (#566)
- Memory Compaction: Improved auto-compaction to better estimate total context size for more accurate memory management (#547)
- Heartbeat Behavior: Updated documentation to encourage context-aware meaningful heartbeat responses instead of mechanical replies (#599)
- Cron Task UI: Redesigned cron job interface with structured sections, tooltips, and help links for better usability (#595)
- Console UI Enhancements:
- Ollama Timeout Management: Added configurable timeouts for Ollama operations to prevent hanging (#427, #634)
- Windows Installation: Improved installation experience with
.batscript and better documentation (#484)
🐛 Fixed
- MCP Client Name Display: Fixed long MCP client names overflowing with ellipsis and tooltip (#540)
- QQ Channel URL Handling: Added URL filtering to prevent QQ API errors when messages contain links (#362)
- Telegram Typing Indicator: Fixed typing indicator to show continuously during agent processing (#640)
- Windows Subprocess Compatibility: Fixed subprocess issues on Windows 11 + Python 3.13 (#622)
- Local File Handling: Fixed local audio/image/video file path handling in agentscope integration (#627)
📚 Documentation
- Japanese README: Added complete Japanese translation with cross-language links (#354)
- Telegram Setup Guide: Added comprehensive Telegram channel documentation covering bot registration, configuration, and proxy settings (#592)
- FAQ Section: Added FAQ page link to all README files (#601)
🔧 CI/CD
- First-Time Contributor Labeling: Added automated workflow to label PRs from first-time contributors (#533)
- Contributing Guidelines: Updated PR template to require pre-commit checks and strengthened contribution guidelines (#421)
👥 Contributors
Special thanks to all new contributors in this release:
@lishengzxc, @pikaxinge, @linshengli, @eltociear, @liuxiaopai-ai, @Leirunlin, @pan-x-c, @garyzhang99, @celestialhorse51D, @wwx814, @nszhsl, @DavdGao, @zhangckcup
Full Changelog: v0.0.5-beta.1...v0.0.5-beta.2