Releases: agentscope-ai/QwenPaw
v2.0.0-beta.1
What's Changed
- refactor: migrate agentscope from version 1.x to 2.0.0 by @qbc2016 in #4846
- Add uninstall hooks and expose skill provider API by @wangfei010313 in #5008
- fix: propagate ModelInfo.max_input_length to AgentScope context_size for auto-compaction by @qbc2016 in #5018
- feat(tui): bundle the terminal chat UI into
qwenpaw(Phase 1) by @ekzhu in #5032 - feat(runtime): Runtime 2.0 modular architecture with enhanced tool-call coordination by @XiuShenAl in #5078
- feat(driver): introduce Agent OS Driver — unified abstraction for external capabilities (MCP/A2A/ACP/...) by @xiaoming-qxm in #5067
- feat: initial governance & sandbox interface disscussion by @weidankong in #5088
- bump: version to 2.0.0a1 by @rayrayraykk in #5281
- feat(context): migrate context management from LightContextManager to AgentScope 2.0 native compression by @qbc2016 in #5309
- feat(memory): migrate QwenPaw memory runtime to ReMe4 by @jinliyl in #5349
- Merge/2.0 into main by @rayrayraykk in #5412
- docs(roadmap): update roadmap for QwenPaw 2.0.0 by @cuiyuebing in #5461
- fix: macos sandbox missing close bracket by @weidankong in #5454
- refactor(memory): restructure auto-memory lifecycle, enhance /compact and add /system_prompt command by @jinliyl in #5450
- revert(upload_file): replace manual file size check with utility func… by @zhijianma in #5467
- perf: parallelize shutdown to reduce close time by @rayrayraykk in #5469
- feat(coding): expand chat panel to 50% and shrink editor area by @zhaozhuang521 in #5473
- Revert/relative path file preiview by @zhijianma in #5478
- feat(ci): end-to-end UI verification for desktop releases by @yutai78786 in #5428
- fix(cron): restore cron session compatibility and sanitize malformed tool_call history by @qbc2016 in #5475
- fix(cron): allow editing and deleting enabled cron jobs by @lalaliat in #5483
- fix(dashscope): honour extra_body generate_kwargs and avoid sending default enable_thinking by @qbc2016 in #5491
- fix(token_usage): restore chat token/context usage ring & popover under agentscope 2.0 by @yuanxs21 in #5493
- feat(dingtalk): support custom API endpoint for private deployments by @hongxicheng in #5111
- feat(discord): download attachments locally and add media_dir config by @hongxicheng in #5468
- fix(channel): restore streaming path and split multi-segment reply into separate streaming boxes by @hongxicheng in #5487
- feat(memory): Enhance memory search functionality and simplify metadata display by @jinliyl in #5482
- Feat/channel page dual layout by @zhaozhuang521 in #5504
- style(chat): remove max-width constraints in wide mode styles by @zhijianma in #5502
- feat(tools): redesign Tools page with enabled/available split layout by @zhaozhuang521 in #5509
- fix(WeCom): WeCom QR code fetch fails due to greedy regex in settings parsing by @hongxicheng in #5460
- fix(cron): cron session visibility, memory isolation and hot-reload stability by @lalaliat in #5494
- test(integration): stabilise flaky integration tests + remove dead /api/agent code by @yutai78786 in #5507
- fix(runtime): align envelope event translation with v1 streaming protocol by @XiuShenAl in #5495
- docs(locales): update "tools" translations for consistency across mul… by @zhijianma in #5516
- feat(console): mobile adaptation for sidebar, header, and page header by @yaozy2020 in #5444
- fix(chat): prevent ModelSelector dropdown overflow and marquee long model names on mobile by @yaozy2020 in #5445
- fix(chat): mobile header actions, session dropdown, and unified right drawers by @yaozy2020 in #5446
- feat(console): mobile adaptation for Debug page by @yaozy2020 in #5449
- feat(console): mobile adaptation for Security page by @yaozy2020 in #5451
- feat(console): mobile adaptation for Agent Skills page by @yaozy2020 in #5458
- feat(console): mobile adaptation for Skill Market page by @yaozy2020 in #5459
- feat(console): make TokenUsage tables horizontally scrollable on mobile by @yaozy2020 in #5463
- feat(console): mobile adaptation for Skill Pool page by @yaozy2020 in #5464
- feat(console): mobile adaptation for Voice Transcription settings page by @yaozy2020 in #5470
- fix(pack): repair desktop packaging builds by @jinglinpeng in #5518
- feat(skills): split Skills page into enabled/disabled sections with d… by @zhaozhuang521 in #5521
- fix: override format_tools for gemini by @qbc2016 in #5517
- fix: add DashScopeChatModel to ChatModelName literal type by @qbc2016 in #5513
- fix(console): improve MCP access policy layout by @xiaoming-qxm in #5213
- fix: inline $ref/$defs in tool schemas for GLM model compatibility by @qbc2016 in #5496
- feat: add OpenAI Response API provider by @qbc2016 in #5519
- fix: fix tool input json decode by @qbc2016 in #5486
- fix: refine mcp tool name to pase openai api by @qbc2016 in #5485
- fix(matrix): use nio client.download for encrypted media by @Morxi in #5059
- feat(inbox): add source type filter for push messages by @lalaliat in #5522
- fix(skillpool): restore SkillPool styles after PR #5521 by @zhaozhuang521 in #5532
- refactor(readme): add trending badge by @lalaliat in #5534
- fix(tui): restore ACP commands and inline approvals by @ekzhu in #5443
- Document Langfuse Docker deployment by @totoyang in #5380
- fix: add missing emptyState and emptyIcon styles for TokenUsage page by @zhaozhuang521 in #5544
- fix(chat): preserve assistant markdown newlines by @wananing in #5538
- fix: cap the file size of send_file_to_user by @weidankong in #5457
- fix(skill): zip metadata error handling by @Leirunlin in #5481
- feat(memory): refactor auto memory system with turn-based tracking by @jinliyl in #5540
- feat(tui): support project-scoped code sessions by @ekzhu in #5448
- fix(models): count only configured providers online by @wananing in #5537
- fix(skill): remove enable all during init by @Leirunlin in #5477
- test(e2e): adapt for agentscope 2.0 — drop Plan Mode, fix selectors and fixtures by @yutai78786 in #5542
- feat(desktop): add tauri auto updater by @jinglinpeng in #4669
- test(integration): parallelize with pytest-xdist and harden coverage pipeline by @yutai78786 in #5531
- fix: standalone "type": "null" in functionDeclaration schema breaks third-party proxies by @NotFoundOvO in #5545
- fix(hooks): inject user_id and channel into ContextVarsSetupHook by @XiuShenAl in #5552
- feat(channel): add Slack channel with fu...
v1.1.12.post2
What's Changed
- fix: navigate to new chat after deleting the current session by @zhaozhuang521 in #5376
- feat(console, chat): enhance file preview to support relative path by @zhijianma in #5377
- fix(queue): bind agent ID at enqueue time to prevent cross-agent deli… by @zhaozhuang521 in #5371
- Context with model by @yuanxs21 in #5386
- fix(console): use QueueItem userId/channel in background queue sender by @zhaozhuang521 in #5389
- fix(#5354): release session switch lock on embedded mode completion by @yaozy2020 in #5357
- fix(console): improve ModelSelector dropdown mobile responsiveness by @yaozy2020 in #5355
- feat(console): mobile adaptation for Inbox page by @yaozy2020 in #5383
- feat(console): mobile adaptation for ACP page by @yaozy2020 in #5382
- feat(console): mobile responsive layout for Agent Config page by @lecheng2018 in #5366
- feat(console): mobile adaptation for CronJobs page and PageHeader by @yaozy2020 in #5362
- feat(console): mobile card layout for Backups page by @yaozy2020 in #5391
- feat(console): mobile adaptation for Sessions page by @yaozy2020 in #5364
- feat(console): adapt Settings-Models page for mobile view by @lecheng2018 in #5397
- feat(console): mobile adaptation for MCP page by @yaozy2020 in #5381
- feat(console): mobile adaptation for Channels page by @yaozy2020 in #5369
- feat(console): mobile adaptation for Environments page by @yaozy2020 in #5385
- feat(console): mobile adaptation for Workspace page by @yaozy2020 in #5384
- fix(cron): record APScheduler misfires in history and raise default misfire grace to 600s by @lalaliat in #5418
- refactor(chat): centralize session-id resolution and navigation state tracking by @zhijianma in #5388
- feat(auth): improve login error handling and add rate limiting by @zhijianma in #5424
- test(e2e): add UI coverage for 6 modules + infrastructure hardening by @yutai78786 in #5372
- feat(discord): add streaming responses via message edit and typing indicator by @hongxicheng in #5314
- fix(dream): set the default misfire time to 600s for dream. by @lalaliat in #5426
- chore(version): bump version to 1.1.12.post2 by @zhijianma in #5429
New Contributors
- @yaozy2020 made their first contribution in #5357
- @lecheng2018 made their first contribution in #5366
Full Changelog: v1.1.12.post1...v1.1.12.post2
v1.1.12.post1
What's Changed
- fix(scripts): correct prerelease arguments expansion and bump version to 1.1.12.post1 by @zhijianma in #5288
- fix(memory): rename ChromaDB probe collection to 'probe-test' by @zhijianma in #5289
- fix(proactive): prevent cache pollution of load_agent_config() by @imrewce in #5275
- fix(console,provider): improve model readiness check for local providers by @zhijianma in #5305
- Feat/chat history right panel by @zhaozhuang521 in #5293
- fix(token_usage): use active model's max_input_length for context usage display by @nguyenthanhthe in #5303
- fix: handle Windows certificate store SSL errors in build verification by @wangfei010313 in #5298
- fix: explicitly configure SSL certificates for DingTalk channel HTTP client by @wangfei010313 in #5291
- test(integration): Sprint 3.1-3.4 — ACP / Plugin / Security / cross-cutting (64 cases) by @yutai78786 in #5270
Full Changelog: v1.1.12...v1.1.12.post1
v1.1.12
What's Changed
✨ Added
Console
- Models Page Overhaul: Provider Aggregation, Unified Card UI & Layout Redesign (#5203)
- Simple Mode: Add simple mode with flat nav and sorted session list by updated time (#5222)
- Wide Mode Toggle: Add wide mode toggle for expanded chat layout (#5212)
- Per-Turn Token Usage: Add per-turn token and context usage popover (#5130)
- User Input Queue: Add user input queue (#5158)
- Session Filter by Title: Add session filter by title (#5178)
- Syntax Highlighting: Add syntax highlighting for code blocks across all views (#5219)
- Vietnamese Language: Add complete Vietnamese (vi) interface language support (#5186)
- Fallback Message: Show fallback message when response output is empty (#5232)
Skills
- Skill Market Update: Update skill-market, include QwenPaw platform, improve UI (#5123)
- Skill Slash Inject: Improve skill-slash-inject and display (#5146)
Channels
- Yuanbao Quoted Messages: Support quoted messages and unify media download pipeline (#5160)
- Yuanbao Bot Filtering: Add bot message filtering and environment variable support (#5150)
- Non-blocking Flush: Non-blocking flush with adaptive throttling for all channels (#5215)
- DingTalk Liveness Watchdog: Add liveness watchdog to recover stream after system sleep (#5224)
Desktop
- Port Persistence: Persist backend port across restarts to preserve localStorage (#5051)
- Port Config: Desktop port configuration support (#5272)
Files
- File Preview: Improve file preview error handling and use FileResponse (#5115)
CI
- Release Verification Gate: Add release verification gate between build and publish (#5121)
Observability
- Langfuse Agent Loop: Group langfuse observations by agent loop (#5128)
🔄 Changed
- Request Payload Transforms: Request payload transforms (#5188)
- Memory Search Style: Refactor the result style of the memory search tool (#5154)
- Xiaoyi Dual WebSocket: Refactor connection to dual WebSocket & fix unusable channel (#5274)
- Calendar Date Grouping: Use calendar dates for session list date grouping (#5257)
🐛 Fixed
Security
- Keychain Master Key: Isolate keychain master key per install (#5028)
Desktop
- Windows Console Crash: Guard against Windows console crash and self-kill commands (#5192)
- Tauri Windows CI: Harden Tauri Windows CI against crates.io fetch failures (#5125)
- Plugin Dependency: Repair plugin dependency installs in Tauri sidecar (#5260)
- Session Filename: Resolve session filename duplication and Desktop inter-agent call failures (#5036)
Console
- Session Redirection: Fixed session redirection when switching code mode (#5147)
- Collapse Panel Render: Force render Collapse panels to prevent memory config loss (#5144)
- Approval Command Overflow: Wrap approval command text with word-break to prevent horizontal overflow (#5176)
- Tool Card Loading: Tool card loading spinner for shell commands and unregistered tools (#5141)
- Browser Autocomplete: Disable browser autocomplete on provider search input (#5112)
- Dream Cron: Keep empty dream_cron empty to disable dream job (#5256)
Providers & Config
- Local Providers in PRO Tab: Show local providers (ollama/lmstudio) in PRO tab of ModelSelector (#5113)
- Deep Copy Cache: Ensure deep copy of cached agent configurations (#5229)
Context & Agent
- Empty Msg Guard: Guard empty msg list in LightContextManager.pre_reply (#5038)
- Mission Crash: Prevent agent crash on corrupted loop_config.json / prd.json (#5000)
Local Models
- Llama.cpp Version: Parse llama.cpp server version without fixed-width slice (#5035)
MCP
- OAuth IndexError: Avoid IndexError on empty authorization_servers in OAuth discovery (#5194)
Memory
- Chromadb Async Probe: Add async runtime probe for chromadb Rust bindings (#5271)
Gemini
- Tool Schema Sanitize: Sanitize tool schemas to prevent 400 INVALID_ARGUMENT on function calling (#5226)
Tools
- Raw Decode: Use raw_decode to silence spurious "Extra data" warnings on no-param tool calls (#5220)
- Title Generation: Use formatter for title generation and skill optimization to support all model providers (#5228)
Install
- Stable PyPI Default: Default to stable PyPI releases only (#5269)
Pack
- OpenSSL Pin: Pin openssl<3.5.7 to fix desktop startup failure (#5100)
⚡ Performance
- Remove Unnecessary Copy: Remove unnecessary deep copy operations in agent config (#5240)
🏗️ Infrastructure
- Release Duty Checklist: Chore release duty checklist (#5105)
- Tool Card Title Truncate: Truncate tool card titles to single line with ellipsis (#5119)
- Datapaw Agent Menu: Refresh Datapaw agent menu on agent switch (#5114)
🧪 Testing
- Sprint 2.4 Tests: Add Sprint 2.4 cron execution and tool API tests (#5201)
📖 Docs
- Vietnamese README: Add Vietnamese README (README_vi.md) (#5245)
- Roadmap Update: Update roadmap (#5277)
New Contributors
- @ly-wang19 made their first contribution in #5038
- @biencuong made their first contribution in #5186
- @nguyenthanhthe made their first contribution in #5178
- @totoyang made their first contribution in #5128
Full Changelog: v1.1.11...v1.1.12
v1.1.12-beta.2
What's Changed
- perf(config): remove unnecessary deep copy operations in agent config… by @jinliyl in #5240
- feat(console): add session filter by title (#4999) by @nguyenthanhthe in #5178
- chore: bump version 1.1.12b2 by @rayrayraykk in #5255
- feat(console): add user input queue by @zhijianma in #5158
- fix(sidebar): use calendar dates for session list date grouping by @zhijianma in #5257
- fix(console): keep empty dream_cron empty to disable dream job by @ployts in #5256
- docs: add Vietnamese README (README_vi.md) by @nguyenthanhthe in #5245
- fix(mcp): avoid IndexError on empty authorization_servers in OAuth discovery by @ly-wang19 in #5194
- fix(install): default to stable PyPI releases only by @rayrayraykk in #5269
- group langfuse observations by agent loop by @totoyang in #5128
- fix(memory): add async runtime probe for chromadb Rust bindings (#5243) by @rayrayraykk in #5271
- fix(console): wrap approval command text with word-break to prevent horizontal overflow (#4985) by @nguyenthanhthe in #5176
- fix(desktop): repair plugin dependency installs in Tauri sidecar by @jinglinpeng in #5260
- Feature/desktop port config by @wangfei010313 in #5272
- docs(roadmap): update roadmap by @cuiyuebing in #5277
- refactor(xiaoyi): refactor connection to dual WebSocket & fix unusable channel by @hongxicheng in #5274
New Contributors
- @nguyenthanhthe made their first contribution in #5178
- @totoyang made their first contribution in #5128
Full Changelog: v1.1.12-beta.1...v1.1.12-beta.2
v1.1.12-beta.1
What's Changed
- fix(security): isolate keychain master key per install by @ekzhu in #5028
- fix(desktop): harden Tauri Windows CI against crates.io fetch failures by @jinglinpeng in #5125
- refactor(console): Refactor the result style of the memory search tool. by @zhaozhuang521 in #5154
- fix(console): fixed session redirection when switching code mode by @zhaozhuang521 in #5147
- feat(ci): add release verification gate between build and publish by @yutai78786 in #5121
- fix(console): force render Collapse panels to prevent memory config loss by @zhaozhuang521 in #5144
- chore(release): bump version to 1.1.12.beta1 by @rayrayraykk in #5157
- fix(release): switch version to 1.1.12b1 by @rayrayraykk in #5159
- fix(context): guard empty msg list in LightContextManager.pre_reply by @ly-wang19 in #5038
- fix(local_models): parse llama.cpp server version without fixed-width slice by @ly-wang19 in #5035
- fix(desktop): persist backend port across restarts to preserve localStorage (#4733) by @wangfei010313 in #5051
- Request payload transforms by @sanfran1068 in #5188
- feat(yuanbao): support quoted messages and unify media download pipeline by @hongxicheng in #5160
- feat(yuanbao): add bot message filtering and environment variable support by @hongxicheng in #5150
- fix(desktop): guard against Windows console crash and self-kill commands by @wangfei010313 in #5192
- feat(chat): add per-turn token and context usage popover by @yuanxs21 in #5130
- fix(skill): Improve skill-slash-inject and display by @Leirunlin in #5146
- feat(skill): Update skill-market, include qwenpaw platform, improve UI by @Leirunlin in #5123
- feat(chat): add wide mode toggle for expanded chat layout by @zhijianma in #5212
- fix: tool card loading spinner for shell commands and unregistered tools by @zhaozhuang521 in #5141
- feat: Models Page Overhaul — Provider Aggregation, Unified Card UI & Layout Redesign by @rayrayraykk in #5203
- fix(mission): prevent agent crash on corrupted loop_config.json / prd.json (#4970) by @rayrayraykk in #5000
- test(integration): add Sprint 2.4 cron execution and tool API tests by @yutai78786 in #5201
- feat(console): add complete Vietnamese (vi) interface language support by @biencuong in #5186
- fix(dingtalk): add liveness watchdog to recover stream after system sleep by @hongxicheng in #5224
- feat: add syntax highlighting for code blocks across all views (#5191) by @zhaozhuang521 in #5219
- feat(channel): non-blocking flush with adaptive throttling for all channels by @hongxicheng in #5215
- fix: resolve session filename duplication and Desktop inter-agent call failures (#4988) by @wangfei010313 in #5036
- fix: use raw_decode to silence spurious "Extra data" warnings on no-param tool calls by @qbc2016 in #5220
- feat(chat): show fallback message when response output is empty by @zhijianma in #5232
- fix(config): ensure deep copy of cached agent configurations by @jinliyl in #5229
- fix: use formatter for title generation and skill optimization to support all model providers by @qbc2016 in #5228
- fix(gemini): sanitize tool schemas to prevent 400 INVALID_ARGUMENT on function calling by @qbc2016 in #5226
- feat(console): add simple mode with flat nav and sorted session list by updated time by @zhijianma in #5222
New Contributors
- @ly-wang19 made their first contribution in #5038
- @biencuong made their first contribution in #5186
Full Changelog: v1.1.11.post2...v1.1.12-beta.1
v1.1.11.post2
What's Changed
- style: truncate tool card titles to single line with ellipsis by @zhaozhuang521 in #5119
- chore: bump version to 1.1.11post2 by @rayrayraykk in #5124
Full Changelog: v1.1.11.post1...v1.1.11.post2
v1.1.11.post1
What's Changed
- chore: bump version to 1.1.11.post1 by @rayrayraykk in #5093
- Revert "fix(pack): compile-check discord after conda-unpack" by @rayrayraykk in #5092
- Chore: release duty checklist by @rayrayraykk in #5105
- fix(pack): pin openssl<3.5.7 to fix desktop startup failure (#5086) by @jinglinpeng in #5100
- fix: disable browser autocomplete on provider search input by @zhaozhuang521 in #5112
- [codex] refresh Datapaw agent menu on agent switch by @sanfran1068 in #5114
- fix: show local providers (ollama/lmstudio) in PRO tab of ModelSelector by @rayrayraykk in #5113
- feat(files): improve file preview error handling and use FileResponse by @zhijianma in #5115
- chore: add news for agentscope platform by @rayrayraykk in #5118
Full Changelog: v1.1.11...v1.1.11.post1
v1.1.11
What's Changed
✨ Added
Providers
- Free Model OAuth: Zero-config free models with one-click OAuth authentication (#5049)
- Xiaomi MiMo Provider: Add Xiaomi MiMo Token Plan as built-in provider (#4722)
- Extra Body Routing: Route non-standard generate_kwargs into extra_body (#4689)
Console
- Plugin Market: Add Plugin Market tab with AgentScope Platform integration (#5023)
- Plugin Extension Infrastructure: Plugin extension infrastructure for console (#4997)
- Tool Cards Plugin System: Tool cards plugin system (#5046)
- Slash Command Suggestions: Add current-agent skills to slash command suggestions with UI optimizations (#4810)
- External URL Navigation: Support href field on MenuItem for external URL navigation (#5071)
MCP
- Tool Whitelisting: Add per-server MCP tool whitelisting with frontend toggle UI (#5002)
Plugins
- Prompt Section Registry: Allow plugins to inject system prompt blocks at defined anchor points (#4804)
- Uninstall Hooks: Add uninstall hooks, fix validator imports, expose skill provider API (#4794)
- CloudPaw Agent Import: Support importing agents from AgentHub and enhance A2A capabilities (#5033)
Skills
- Self-Evolving Skill Creation: Enhanced make-skill flow to support self-evolving skill creation (#4857)
- Skill Tag Batch Download: Add skill tag batch download (#4969)
- Multi-Path Skill Pool: Add multi-path support for skill pool (#4891)
Channels
- Telegram Tool Guard: Interactive tool approval via inline keyboard (#4737)
- Feishu Group Sharing: Add group session sharing mode (#4821)
- Feishu Interactive Cards: Support interactive card content extraction and refactor message parsing (#4879)
- QQ QR Code Auth: Add QR code authorization for QQ channel (#4848)
- DingTalk Inline Media: Enable inline image preview and video playback card via webhook (#5073)
- Yuanbao Typing Indicator: Add typing indicator via heartbeat API (#5020)
- Access Control Username: Add sender username to access control with unified user info structure (#4897)
Browser
- Page Coordinate Click: Add page coordinate click support to browser_control (#4905)
ACP
- ACP Enhancements: Advertise commands, surface errors, tool params, agent/model meta, file links (#4949)
Runner
- Stream Query Timestamp: Override stream_query to set current timestamp on responses (#4892)
🔄 Changed
- Cron Push Bubbles: Disable push bubbles for cron jobs of type 'agent' (#4803)
- Console Media Handling: Simplify media message handling in console channel (#5077)
- Revert Session Panel: Revert "embed history session list as right-side panel" (#5076)
🐛 Fixed
Providers & Config
- ProviderManager Fallback: Add ProviderManager fallback to get_model_max_input_length (#4827)
- Compaction Fix: Resolve /compact ignoring model's max_input_length when active_model is unset (#5021)
Coding Mode
- Windows Drive Browsing: Support browsing all drives on Windows (#4906)
- Session Switch & Header: Fix coding mode session switch failure and header overflow (#5011)
Console
- Session List Spinner: Fix session list kept spinning (#4929)
- Scrollbar Flickering: Remove hover transform to prevent scrollbar flickering (#4766)
- Shield Icon & Table: Center shield icon and adjust rule table column widths (#4765)
- Theme Toggle Icon: Change system theme toggle icon from computer to sun (#5050)
Desktop
- Tauri External Links: Fix Tauri desktop external links (#4683)
Agent & Memory
- Broadcast Coroutine: Await unawaited coroutine in _broadcast_to_subscribers (#5048)
- Skip Auto Memory: Skip automation auto memory (#4348)
- Dream Workspace: Dream should use cron runner's workspace, not stale instance dir (#4936)
- Media Block Processing: Handle non-dict source objects in media block processing (#4933)
MCP
- Tool Name Regex: Alias-rewrite tool names rejected by OpenAI-style regex (#4958)
- Subprocess Accumulation: Prevent subprocess accumulation across restarts (#5014)
Channels
- DingTalk Message Merging: Prevent cross-user message merging when conversation_id suffix collides (#4932)
- OneBot Port Conflict: Graceful degradation on port conflict during reload (#5010)
- ACL Sender ID: Preserve acl_sender_id during native payload merge across all channels (#4925)
Browser
- CDP Timeout & Profile: Add CDP timeout param and browser profile isolation for cross-browser switching (#4944)
File & Session
- Async File Writes: Use aiofiles for non-blocking file writes (#4954)
- Atomic State Write: Write session state atomically (#4706)
- Upload Size & Timeout: Upload size limit + plugin loader timeout resilience (#4940)
- Zip Download Size: Increase zip download file size (#4941)
Security
- File Preview Restriction: Restrict file preview to WORKING_DIR and block sensitive files (#4981)
Packages
- Yuanbao Proto JSON: Include yuanbao proto JSON files in package-data (#4899)
⚡ Performance
- Backend Startup: Unblock event loop and parallelize startup (#5074)
- CI Coverage: Switch coverage collection from py3.10 to py3.13 (#4952)
🏗️ Infrastructure
- E2E CI Pipeline: Complete E2E integration CI pipeline — backend startup, coverage, test fixes (#5054)
- CI Cleanup: Remove redundant channel-tests workflow (#5056)
- Dependencies: Update reme-ai dependency to version 0.3.1.10 (#4935)
- Chat Component: Update @agentscope-ai/chat to 1.1.68 (#5072)
🧪 Testing
- Frontend Unit Tests: Complete frontend unit test milestone — constants, contexts, layouts, api-types, components (#4332)
- Runner & Router Tests: Add unit + contract tests for runner & routers (#4852)
- Agent-Scoped P0 Tests: Agent-scoped P0 contract coverage (+55 cases) (#4945)
- Agent Page Tests: Agent page + API modules unit tests + coverage ratchet (#5012)
- Provider & Utils Tests: Add unit tests for local_models, providers, tunnel, and utils (#4973)
- Channel Layer Tests: Channel layer + multi-agent management integration tests (#5058)
- E2E Token Usage: Fix token usage test empty state detection in clean environment ([#5068](https://github.com/agentscope-a...
v1.1.11-beta.3
What's Changed
- ci: remove redundant channel-tests workflow by @yutai78786 in #5056
- feat(skills): enhanced make-skill flow to support self-evolving skill creation by @x1n95c in #4857
- feat(skill): Add skill tag batch download by @Leirunlin in #4969
- fix(mcp): prevent subprocess accumulation across restarts (#4834) by @rayrayraykk in #5014
- feat(plugin/cloudpaw): support importing agents from AgentHub and enhance A2A capabilities by @Saint-Yin in #5033
- fix(security): restrict file preview to WORKING_DIR and block sensiti… by @zhijianma in #4981
- feat(chat): embed history session list as right-side panel by @zhaozhuang521 in #5070
- test(phase5): add unit tests for local_models, providers, tunnel, and utils by @EaveLuo in #4973
- docs(website): consolidate frontend plugin docs into website pages by @zhijianma in #5066
- Add multi-path support for skill pool by @Leirunlin in #4891
- fix(e2e): fix token usage test empty state detection in clean environment by @yutai78786 in #5068
- feat(console): support href field on MenuItem for external URL navigation by @sanfran1068 in #5071
- fix(session): write session state atomically by @JasonBuildAI in #4706
- test(integration): Sprint 2.1–2.2 channel layer + multi-agent management by @yutai78786 in #5058
- chore(console): update @agentscope-ai/chat to 1.1.68 version by @zhijianma in #5072
- Feat/tool cards plugin system clean by @zhaozhuang521 in #5046
- chore: bump version to 1.1.11b3 by @rayrayraykk in #5075
- feat(plugins): add Plugin Market tab with AgentScope Platform integration by @Osier-Yi in #5023
- feat(dingtalk): enable inline image preview and video playback card via webhook by @hongxicheng in #5073
- perf(backend): Unblock Event Loop & Parallelize Startup by @rayrayraykk in #5074
- Revert "feat(chat): embed history session list as right-side panel (#… by @zhijianma in #5076
- refactor(console): simplify media message handling in console channel by @zhijianma in #5077
New Contributors
- @Saint-Yin made their first contribution in #5033
- @EaveLuo made their first contribution in #4973
Full Changelog: 1.1.11-beta.2...v1.1.11-beta.3