Releases: agentscope-ai/QwenPaw
Releases · agentscope-ai/QwenPaw
v1.1.8
✨ Added
Plugins & Tools
- Official Plugin Distribution: Browse and download official plugins from the website, or install them with one click in the console Plugin Manager (#4482)
- QwenPaw Pet: Desktop pet companion plugin with animated pet window (#4418, #4516)
- CloudPaw — Alibaba Cloud Deployment: New plugin with multi-agent orchestration, IaC-driven cloud provisioning, and A2A streaming integration with Alibaba Cloud Skills Hub (#4362, #4423, #4506, #4524)
- Browser Robustness: Improved browser stability with crash recovery, idle timeout protection, and automatic cleanup on exit (#4306, #4350)
- Browser Tab Metadata:
tabsaction now returns the URL and title of each open tab (#4438)
Chat & Console
- Inbox Batch Operations: Redesigned Inbox with batch select and batch delete for managing messages more efficiently (#4358, #4493)
- Pinned Chat History Drawer: Pin the session drawer to keep it open alongside the chat (#4414, #4416, #4517)
Models & Providers
- Custom HTTP Headers & Auth Mode: Custom headers editor for all providers with auth mode selection (API Key vs Bearer Token) (#4413)
- Per-Model Token Limits:
max_tokensandmax_input_lengthare now configured per model in Settings → Models (#4417)
Agent System
/make-skillCommand: A new magic command for turning the current chat session into a reusable skill (#4282)- Indonesian Agent Templates: Agent persona markdown templates and
Asia/Jakartatimezone (#4287) - Cron Job Timeout: Configurable timeout for cron jobs (default 120s) (#4425)
Security
- Skill Path Safety: Prevent path traversal attacks in skill directory operations (#4335)
- Backup Trust Controls: Verify backup integrity on import/restore with trust confirmation dialogs, and strengthen remote access controls (#4409, #4429)
- AgentMd Path Traversal Prevention: Prevent path traversal in agent memory file operations (#4511)
- Plugin API Auth: Plugin management APIs now require authentication (#4513)
Channels
- Matrix E2EE Verification: Password and access-token login with E2EE toggle and SAS device verification (#4120)
- Telegram Streaming Output: Real-time streaming replies with reasoning indicator support (#4318)
- DingTalk Streaming Cards: Real-time streaming replies via AI Card (Card message mode only) (#4420)
- Feishu CardKit Streaming: Real-time streaming replies via CardKit (#4480)
🔄 Changed
- Console Header Navigation: Consolidated header links into a Documentation dropdown with Tutorial, Feature Demos, Changelog, and FAQ entries (#3875)
- Feishu/Lark QR Code Domain: QR code API accepts query parameters (#4504)
- Stream Task Timeout: Increased from 300 to 1800 seconds for long-running streamed agent tasks (#4510)
🐛 Fixed
Channels
- WeCom Duplicate Placeholder: Suppress duplicate "Thinking…" stream on rapid consecutive messages (#4427)
- WeChat Poll Shutdown: Fix crash-on-exit and tight error loops in the WeChat polling thread (#4490)
- QQ Reconnect Loop: Prevent high-frequency reconnect on IP whitelist rejection (#4503)
Skills
- QA Agent Docs Packaging: QA agent now works correctly in all install methods (pip, Docker, desktop) — previously some docs might be missing (#4280)
- Skill Hub URL Validation: Fixed skill import failing for URLs with
www.prefix (#4359)
Providers & Models
- Per-Model Rate Limiter: A rate limit on one model no longer blocks requests to other models (#4487)
- Per-Model Token Usage: Token usage summaries now include a per-model breakdown with prompt/completion token counts (#4476)
Console & UI
- SSE Connection Leak: Fixed SSE connections not closing on page navigation, which could exhaust browser connection limits (#4488)
- Cron Validation Errors: Cron creation/update returns localized, actionable error messages instead of generic server errors (#4495)
- Session Memory Persistence:
/missionand/skillinfo responses are now persisted to session memory so they survive page reload (#4523)
📝 Documentation
- Website Feature Demos: Docs demo gallery with walkthrough videos for skills, doctor, and mission mode (#4507)
New Contributors
Full Changelog: v1.1.7...v1.1.8
v1.1.8-beta.2
What's Changed
- refactor(console): Model performance optimization by @zhaozhuang521 in #4502
- perf(trace): batch append inbox trace events to reduce file I/O by @lalaliat in #4493
- add qwenpaw pet plugin by @Osier-Yi in #4418
- feat(channel): enhance QR code API to accept additional query paramet… by @zhijianma in #4504
- feat(model): add per-model max_tokens and migrate max_input_length from agent config by @qbc2016 in #4417
- fix(cron): return 422 for cron validation and show localized actionab… by @lalaliat in #4495
- plugin(cloudpaw): add automatic iac-code model configuration from QwenPaw by @xuanrui-L in #4506
- feat(skill): /make-skill command, new built-in skills by @Leirunlin in #4282
- fix(WeChat): graceful poll thread shutdown and exponential backoff on failures by @hongxicheng in #4490
- fix(QQ): Fix QQ Channel high-frequency reconnect on IP whitelist rejection by @hongxicheng in #4503
- perf(app): increase stream task timeout from 300 to 1800 seconds for … by @zhijianma in #4510
- chore(version): bumping version to 1.1.8b2 by @qbc2016 in #4508
- feat(feishu): add CardKit streaming card output by @hongxicheng in #4480
- feat(browser): add url and title to tabs action response by @weixizi in #4438
- fix(console): ChatSessionInitializer by @zhaozhuang521 in #4517
- perf(security): prevent path traversal in AgentMdManager file operations by @rayrayraykk in #4511
- perf(auth): close unauthenticated access to all plugin API routes by @rayrayraykk in #4513
- add dist/index.js file in plugin: qwenpaw-pet by @Osier-Yi in #4516
- feat(website):docs add functional demonstration, footer add douyin link by @yuluo1007 in #4507
- add plugin download to website by @yuanxs21 in #4482
- feat(console): add link to demo page in header url by @zhaozhuang521 in #3875
- fix(cli): correct typo in tool_results directory reference by @jinliyl in #4522
- plugin(cloudpaw): bump version to 0.0.2 with toolkit patching fix and i18n docs by @xuanrui-L in #4524
- fix(runner): persist /mission and /skill info responses to session me… by @rayrayraykk in #4523
Full Changelog: v1.1.8-beta.1...v1.1.8-beta.2
v1.1.8-beta.1
What's Changed
- chore(version): bumping version to 1.1.8b1 by @xieyxclack in #4346
- feat(plan mode): Strengthen plan reaffirm from the user message by @yuanxs21 in #4198
- fix(tool): browser implement activity tracking, crash monitoring, and lifecycle management by @weixizi in #4306
- feat(agent): add Indonesian language option by @aqilaziz in #4287
- feat(telegram): add streaming output via editMessageText by @hongxicheng in #4318
- fix(skill): fix skill hub import: fix www, add skill_hub retry by @Leirunlin in #4359
- style(console): inbox by @zhaozhuang521 in #4358
- fix(skill): fix skill path, use safer path normalizer and refactor for function naming by @Leirunlin in #4335
- feat(plugin): add CloudPaw plugin bundle for Alibaba Cloud deployment by @xuanrui-L in #4362
- fix(QA agent): bundle docs as package_data by @xieyxclack in #4280
- fix(tool): add _CDP_CONNECT_TIMEOUT_SECONDS = 30 for connect cdp by @x1n95c in #4350
- feat(console): add pin/unpin functionality for chat session drawer with … by @zhijianma in #4414
- chore(deps): upgrade agentscope to 1.0.20 and remove MCP JSON schema monkey-patch by @qbc2016 in #4419
- docs(roadmap): update roadmap by @cuiyuebing in #4424
- ci: add spam gate to auto-close issues/PRs when open count exceeds 10 by @rayrayraykk in #4422
- refactor(DingTalk): unify message processing to base event loop with streaming card support by @hongxicheng in #4420
- Fix(backup): backup import restore trust controls by @jinglinpeng in #4409
- feat(models): add custom headers editor and Anthropic auth token support by @rayrayraykk in #4413
- feat(cron): add timeout when creating cron job for agent tasks and us… by @zhijianma in #4425
- feat(console): enhance Matrix E2EE verify step and prevent "not encrypted / device not verify by owner" icon by @Morxi in #4120
- fix(WeCom): suppress duplicate "Thinking…" placeholder on rapid messages by @hongxicheng in #4427
- feat(console): implement localStorage for pinned state in chat session d… by @zhijianma in #4416
- fix(plugin): resolve CloudPaw plugin issues and enhance Alibaba Cloud Skills remote hosting integration by @xuanrui-L in #4423
- fix(token_usage): add per-model token usage aggregation by @zhijianma in #4476
- fix(console/chat): upgrade @agentscope-ai/chat to 1.1.63 to fix SSE connection leak on page navigation by @zhijianma in #4488
- fix(openai_provider): increase min max_tokens to 20 to satisfy model API constraints by @qbc2016 in #4489
- fix(providers): replace global LLM rate limiter with per-model instances by @rayrayraykk in #4487
- Fix(backup): backup restore trust follow-up by @jinglinpeng in #4429
New Contributors
Full Changelog: v1.1.7...v1.1.8-beta.1
v1.1.7
✨ Added
Tools & MCPs
- Browser Use — Batch Actions: Execute multiple browser steps (navigate, click, type, screenshot, etc.) in a single tool call (#4139)
- Browser Use — File Download: Download files by clicking page elements or fetching URLs directly (#4261)
- GPT Image 2 Reference Images: Support uploading 1–16 reference images via URL or local path in the GPT Image 2 plugin (#4194)
- External Agent Async Execution:
delegate_external_agentsupports async streaming with task listing and status queries and configurable timeout (#4197) - Shell Executable Configuration: Choose which shell runs commands via the config option (#4215)
- OAuth 2.1 for Remote MCP Servers: Authenticate remote MCP servers via OAuth 2.1 with PKCE (#4256)
Plugins
- Console Plugin Management: Install and uninstall plugins from the Settings UI via local path, ZIP upload, or URL (#4214, #4266)
- Qwen-Image & Wan 2.7 Plugins: New plugins for image generation/editing and video generation (#4248)
- Plugin HTTP API Router: Plugins can register custom HTTP API endpoints (#4255)
Chat & Console
- Multiple File Attachments: Chat input now supports selecting multiple files in a single message (#4206)
- Indonesian Language: Full Bahasa Indonesia locale support for Console UI and backend (#4219)
- Inbox: New centralized Inbox with Approvals and Push Messages tabs for managing tool-guard approvals and viewing cron execution results with traces (#4210, #4305)
- Cron Job Enhancement: Cron jobs now support one-time scheduled execution, a calendar view for visualizing upcoming runs, built-in templates for quick creation, per-job execution history with detailed run traces, and save-to-inbox delivery (#4210)
Channels
- Feishu Voice Bubbles: Audio files sent via Feishu now render as native voice bubbles (#4202)
- DingTalk Quoted Messages: Replies with quoted messages in DingTalk now include quoted text and media in the agent context (#4209)
- Feishu QR Code Bot Creation: Create a Feishu/Lark bot by scanning a QR code in the Channels setup UI (#4236)
- WeCom Streaming Output: Optional streaming replies for WeCom channel with real-time message delivery and reasoning indicator support (#4271)
🔄 Changed
- Model Selector Redesign: Replaced the hover dropdown with a searchable flat list grouped by provider (#3876)
- Floating Chat Button: Chat navigation moved from sidebar menu to a sticky button next to the agent selector (#4240, #4273)
- Agent Stats Session Discovery: Simplified session file lookup by walking channel subdirectories directly (#4250)
⚡ Performance
- Async FastAPI Dependencies: Model and provider manager dependencies converted to async, eliminating unnecessary thread pool dispatch (#4229)
- File Read Size Limit: Maximum file read size reduced to 200 MB (from 1 GB) with pre-allocation based on actual file size (#4272, #4276)
- Keyring Timeout: Keyring operations now have a 10-second timeout to prevent credential manager hangs from blocking startup (#4263)
🐛 Fixed
Providers & Models
- Volcengine Model IDs: Corrected model IDs to match actual API endpoints and updated capability flags (#4169)
- Provider Meta Preservation: Provider metadata is no longer dropped when retrieving provider info (#4200)
- Malformed Tool Use Filtering: Streaming parser now filters out tool-use blocks with null IDs or empty names (#4234)
Channels
- WeCom Approval Card Operator: Resolved approval cards now display the operator name (#4233)
- Feishu WebSocket Keepalive: Detect and recover from silent WebSocket connection loss (#4241)
Console & UI
- Session History Routing: Fixed session history disappearing and messages being routed to wrong sessions (#4203)
- Plan Panel Dark Mode: Improved text contrast in Plan Panel dark mode (#4190)
- Mobile Sidebar: Sidebar auto-collapses on narrow screens (#4225)
- User Message Newlines: User messages now preserve line breaks (#4231)
- Token Usage Date Labels: Chart labels now show year prefix when the date range crosses a year boundary (#4268)
- Desktop External Links: Links now open correctly in desktop builds (#4270)
New Contributors
- @weixizi made their first contribution in #4139
- @StarTrekking made their first contribution in #4202
- @aqilaziz made their first contribution in #4225
- @suntp made their first contribution in #4272
Full Changelog: v1.1.6...v1.1.7
v1.1.7-beta.2
What's Changed
- feat(plugins): enable register FastAPI APIRouter instances through plugin by @Osier-Yi in #4255
- feat: add timeout for keyring by @rayrayraykk in #4263
- fix(console): TokenUsage by @zhaozhuang521 in #4268
- refactor(console): console/PluginManager by @zhaozhuang521 in #4266
- feat(mcp): add OAuth 2.1 PKCE support for remote MCP servers by @rayrayraykk in #4256
- fix(console): replace window.open calls with openExternalLink utility… by @zhijianma in #4270
- style: sidebar by @zhaozhuang521 in #4273
- feat(channel): add streaming output hooks to BaseChannel with WeCom support by @hongxicheng in #4271
- Fix(tool): read_file_safe allocation size by @suntp in #4272
- perf(tools): reduce maximum file read size to 200MB by @jinliyl in #4276
- fix(QA agent): package website/public/docs into wheel and sdist by @lalaliat in #4275
- Feat(tool): Add action="file_download" for browser use by @x1n95c in #4261
- feat(cron & inbox): add inbox and optimize the cron job by @lalaliat in #4210
- chore(version): bumping version to 1.1.7b2 by @xieyxclack in #4283
New Contributors
Full Changelog: v1.1.7-beta.1...v1.1.7-beta.2
v1.1.7-beta.1
What's Changed
- Fix(provider): fix models in VOLCENGINE Provider by @Nioolek in #4169
- chore(version): bumping version to 1.1.7b1 by @xieyxclack in #4196
- fix(console): improve text contrast in Plan Panel dark mode by @ltzu929 in #4190
- fix(provider,wecom): preserve provider meta field and update tool_guard docstring in wecom by @zhijianma in #4200
- feat(plugins): add reference image support to gpt-image2 plugin by @rayrayraykk in #4194
- feat(tool): browser_use add batch action support to browser_use tool by @weixizi in #4139
- feat(memory): add auto-memory management features by @jinliyl in #4204
- Fix(session): session history disappearing and messages being routed to a different session by @zhaozhuang521 in #4203
- feat(tool): Add async execution support for delegate_external_agent by @x1n95c in #4197
- feat(chat): enable multiple attachments support in chat page by @zhijianma in #4206
- feat(DingTalk): process quoted messages for user-sent replies by @hongxicheng in #4209
- fix(exception): fix ConfigurationException key passing by @Leirunlin in #4212
- feat(console): user message support newline by @zhaozhuang521 in #4231
- perf(api): optimize async depends to fix thread pool blocking by @zhijianma in #4229
- fix(model): filter out malformed tool_use blocks from OpenAI-compatible model response by @qbc2016 in #4234
- feat(console): Chat floating in the menu by @zhaozhuang521 in #4240
- feat(shell): Add shell_command_executable` configuration to let users choose which shell uses by @xieyxclack in #4215
- fix(feishu): detect silent WebSocket connection loss in Feishu channel by @hongxicheng in #4241
- Refactor(skill): Add skill system by @Leirunlin in #4235
- feat(channels): support native voice bubble in Feishu channel by @StarTrekking in #4202
- fix(WeCom): show operator in resolved approval card by @hongxicheng in #4233
- feat(chat): refactor chat model selector into searchable flat list with provider grouping by @bowenliang123 in #3876
- fix(console): collapse sidebar on mobile by @aqilaziz in #4225
- feat(console): add Indonesian language option by @aqilaziz in #4219
- feat(plugins): support install/uninstall plugins on console by @rayrayraykk in #4214
- feat(feishu): add QR code bot creation via OAuth Device Flow by @zhijianma in #4236
- feat(memory): add pluggable memory manager with adbpg long-term memory by @shaohuaxi in #2308
- fix(mcp): add monkey patch for mcp by @qbc2016 in #4245
- refactor(agent_stats): streamline session file handling and remove un… by @zhijianma in #4250
- feat(plugins): add Qwen-Image, Wan 2.7 plugins by @rayrayraykk in #4248
New Contributors
- @weixizi made their first contribution in #4139
- @StarTrekking made their first contribution in #4202
- @aqilaziz made their first contribution in #4225
Full Changelog: v1.1.6...v1.1.7-beta.1
v1.1.6
✨ Added
Agent System
- Windows Diagnostics:
qwenpaw doctornow checks Windows-specific environment issues including long path support, PowerShell language mode, and working directory path length (#4032) - Agent Status API: New
GET /agents/{agentId}/agent-statusendpoint reporting agent runtime status, running task count, and task timestamps (#4107) - Cron Session Isolation: Cron jobs now support a
share_sessionoption — when disabled, each scheduled run creates an isolated session context with a cron job ID (#4117) - GPT Image 2 Plugin: New tool plugin for generating images via OpenAI's GPT Image 2 API (#3911)
- Config-Driven Agent Name: Use the configured agent profile name instead of a hardcoded default (#4140)
Chat & Console
- Whisper Voice Input: Replaced browser-native Web Speech API with server-side Whisper transcription for more reliable, cross-browser voice input (#3574)
- LLM-Generated Session Titles: Chat sessions are now automatically titled by the LLM in the background after the first message. Configurable via the "Auto-generate session titles" toggle in Agent Config (#3829)
- Token Usage Trends: Added per-model and per-token-type trend line charts to the Token Usage settings page for visualizing usage over time (#4080, #4094)
- Batch Skill Operations: Added Enable and Disable buttons to the skill batch operation toolbar with per-skill error reporting (#4091)
- Mermaid Diagram Rendering: Markdown code blocks with
mermaidlanguage tag are now rendered as interactive diagrams in chat and file previews (#4146) - Brazilian Portuguese (pt-BR): Added full pt-BR locale support for both the Console UI and backend language settings (#4009, #4143)
Providers
- Volcano Engine Provider: Added Volcano Engine as a built-in OpenAI-compatible provider with standard and Coding Plan endpoints (#3994)
- DashScope Region Selection: DashScope base URL can now be modified from preset region endpoints (#4074)
- Aliyun Token Plan Provider: Added Aliyun Token Plan as a built-in provider (#4122)
- Anthropic Default Max Tokens: Raised default
max_tokensfor Anthropic-compatible models to 16,384 (#4054)
Channels
- Feishu Interactive Approval Cards: Tool-guard approval requests in Feishu are now rendered as interactive button cards that update in-place on approve/deny, with a documentation link hint when the card action callback is not subscribed (#3941, #3982)
- WeCom Group Session Sharing: Added
share_session_in_grouptoggle to control whether group chat members share a single session or get per-member isolation (#3948) - Feishu Sender Context: Feishu sender nickname is now passed to the agent environment context (#4098)
- WeCom Interactive Approval Cards: Tool-guard approval requests in WeCom are now rendered as interactive template cards (#4112)
Security
- Static File Path Traversal Protection: Console static file serving now rejects absolute paths to prevent path traversal bypass (#3973)
- Rule-Level Auto Deny: Individual security rules can now be configured to automatically deny tool calls (#4046)
Skills & CLI
- Skill Test CLI: New
qwenpaw skills testcommand to validate skill content and run security scans (#3999) - Skill Install/Uninstall CLI: New
qwenpaw skills installandqwenpaw skills uninstallcommands for managing skills from the command line, supporting both pool-level and per-agent workspace installs (#4053)
⚡ Performance
- Console Rendering: Eliminated duplicate re-renders by stabilizing approval polling state comparisons and memoizing chat runtime options (#4052, #4110, #4153)
- Chat History Navigation: Skip chat history lookup for non-arrow keys and cache user-message lists to avoid repeated scans on every keystroke (#4130)
- QR Polling Cleanup: Immediately stop QR code polling and clear status indicators on auth completion or code expiry (#4148)
🐛 Fixed
Channels
- WeCom Stream Keepalive: Keep the "Thinking..." placeholder stream alive with periodic refreshes to prevent stuck status indicators in WeCom (#3950)
- WeCom Reconnect Race: Fixed double reconnect scheduling and cross-event-loop disconnect in WeCom WebSocket handling (#3963)
- Telegram Network Retry: Added exponential backoff and controlled reconnect for transient Telegram network errors instead of silently dying (#4039)
- WeChat Cron Buffer Flush: Flush WeChat merge buffer immediately for cron/proactive sends that bypass the normal completion path (#4106)
- Markdown Table Splitting: Preserve markdown table structure across message chunks by repeating header and separator rows in each fragment (#4119)
Agent System
- External Agent Timeout: Added safe default timeout (60s) for
delegate_external_agentto prevent indefinite hangs (#3928) - Agent Config Reload: Agent config file changes now trigger a graceful reload with task draining instead of lightweight reinstantiation (#4064)
- Agent Config Persistence: Fixed the console agent config editor dropping nested settings on save by preserving the complete config structure (#4157)
MCP
- MCP Execution Timeout: Use
sse_read_timeoutas the MCP tool execution timeout instead of the shorter HTTP connect timeout (#4058, #4061) - MCP Client Lifecycle Leak: Fixed lifecycle-task leak where
close()could skip stopping a background reconnect task (#4152)
Console & UI
- SSE Surrogate Safety: Avoid SSE stream crash on malformed surrogate text by sanitizing non-encodable content before serialization (#3553)
- CodeMirror Line Wrapping: Fixed line wrapping in tool call input/output blocks (#3960)
- Default Agent Display Name: Respect custom name for the default agent in all UI surfaces (#4073)
- File Preview Paths: Fixed redundant URL prefix stripping in file preview paths that could cause broken URLs (#4089)
Infrastructure
- Docker Backup Restore: Correctly restore secrets on Docker volume mount points by swapping directory contents instead of renaming (#3916)
- Audio Block Paths: Return resolved filesystem path for
file://URL audio blocks and remove redundant file handling code (#4021, #4048) - Log Rotation: Use
RotatingFileHandlerfor log rotation on all platforms (#4076) - Loopback Proxy Bypass: Bypass proxy environment variables for loopback API health checks to prevent connection failures behind corporate proxies (#4092)
- Conda Packaging: Restore conda packaging tools before running
conda-packto prevent broken packaging pipeline (#4093)
📝 Documentation
- WSL2 Timeout FAQ: Added FAQ entry for handling
APITimeoutErrorwhen running in WSL2 NAT mode (#4005) - Documentation Update: Updated website documentation to reflect new features (#4013)
🧪 Testing & CI
- Console Unit Tests: Added Vitest setup with unit and component tests covering Chat, API layer, and sh...
v1.1.6-beta.2
What's Changed
- fix(runner): rename channel variable to channel_name in command dispatch by @zhijianma in #4134
- perf(console): skip chat history lookup for non-arrow keys by @YingchaoX in #4130
- fix(tool_schema): add sanitize tool function schemas by @qbc2016 in #4126
- fix(cli): bypass proxies for loopback API checks by @jinglinpeng in #4092
- fix(agent): replace hardcoded agent name with config-driven value by @xieyxclack in #4140
- fix(channels): keep markdown tables renderable across split_text chunks by @hongxicheng in #4119
- fix(agent): emoji example in AGENTS.md by @Keillion in #4142
- fix(backup): restore secrets on Docker volume mount points by @jinglinpeng in #3916
- feat(settings): add pt-BR language support by @zhijianma in #4143
- feat(console): support mermaid graph by @zhaozhuang521 in #4146
- feat(WeCom): tool-guard interactive approval card by @hongxicheng in #4112
- feat(provider): allow Dashscope base URL selection in Console UI by @ekzhu in #4074
- fix(agent-tools): add safe default timeout for delegate_external_agent by @q1023884985 in #3928
- perf(console): Immediately stop polling and clear the status after clo… by @zhaozhuang521 in #4148
- fix(agent-config): preserve complete config on save to prevent nested… by @zhijianma in #4157
- refactor(console): extract QrcodeAuthBlock component and fix polling … by @zhaozhuang521 in #4153
- fix(mcp): fix lifecycle-task leak in stateful clients and refactor shared logic… by @qbc2016 in #4152
- chore(version): bumping version to 1.1.6b2 by @xieyxclack in #4161
New Contributors
- @Keillion made their first contribution in #4142
- @q1023884985 made their first contribution in #3928
Full Changelog: v1.1.6-beta.1...v1.1.6-beta.2
v1.1.6-beta.1
What's Changed
- chore(version): bump version to 1.1.6b1 by @zhijianma in #4082
- test(integration): add app startup and settings/envs smoke tests by @yutai78786 in #4081
- fix(console): avoid SSE crash on malformed surrogate text by @Prince-liu in #3553
- chore(console): Optimize language switching logic and replace with the latest language icon by @zhaozhuang521 in #4085
- feat(chat): replace Web Speech API with Whisper transcription for voice input by @tqjason in #3574
- Feat(provider): add volcengine provider by @Nioolek in #3994
- Feat/add token usage trend by @zhijianma in #4080
- fix(console): respect custom name for default agent by @CA-mambo in #4073
- fix(chat): remove redundant URL prefix stripping in file preview paths by @zhijianma in #4089
- refactor(wechat): centralize legacy weixin → wechat data migrations on workspace startup by @celestialhorse51D in #3605
- refactor(console): TokenUsage by @zhaozhuang521 in #4094
- plugin: add gpt image 2 tool plugin by @rayrayraykk in #3911
- feat(console): Add "Enable" and "Disable" buttons to the batch operation of skills by @zhaozhuang521 in #4091
- fix(pack): restore conda packaging tools before conda-pack by @jinglinpeng in #4093
- feat(skills): add cli skill test command by @JingHou1215 in #3999
- feat(feishu): surface sender nickname to agent env context by @hongxicheng in #4098
- fix(WeChat): flush WeChat merge buffer immediately for cron sends by @hongxicheng in #4106
- chore: fix openai by @rayrayraykk in #4118
- feat(security): add rule level auto deny by @gnipping in #4046
- feat(cron): add channel-based session isolation for session and share option for cron jobs by @zhijianma in #4117
- feat: add agent status endpoint with task tracking by @rayrayraykk in #4107
- perf(console): Chat performance optimization by @zhaozhuang521 in #4110
- fix: use RotatingFileHandler for log rotation on all platforms by @wjt0321 in #4076
- test(console): add Vitest setup + unit/component tests (Chat pilot, API layer, shared components) by @hanson-hex in #3559
- fix(console): fix test by @zhaozhuang521 in #4121
- feat(doctor): add Windows environment diagnostics by @1105623876 in #4032
- fix(reload): route AgentConfigWatcher through reload_agent for graceful task draining by @hongxicheng in #4064
- feat(provider): add aliyun token plan as a built-in provider by @yuanxs21 in #4122
New Contributors
- @yutai78786 made their first contribution in #4081
- @tqjason made their first contribution in #3574
- @JingHou1215 made their first contribution in #3999
- @wjt0321 made their first contribution in #4076
- @1105623876 made their first contribution in #4032
Full Changelog: v1.1.5.post2...v1.1.6-beta.1
v1.1.5.post2
What's Changed
- docs(website): update documentation to v1.1.5 by @xieyxclack in #4013
- feat(chat): generate session titles asynchronously via LLM by @ekzhu in #3829
- fix(message_processing): return resolved path for file:// URL audio blocks by @karls0r in #4021
- Fix(Provider): Increase
max_tokenfor anthropic compatible models by @pan-x-c in #4054 - perf(console): Solve duplicate rendering by @zhaozhuang521 in #4052
- fix(mcp): typo fix by @qbc2016 in #4058
- fix(mcp): use sse_read_timeout as MCP tool execution_timeout instead of HTTP connect timeout by @qbc2016 in #4061
- fix(utils): remove redundant codes by @qbc2016 in #4048
- fix(channel): telegram network retry by @Leirunlin in #4039
- feat(i18n): add Brazilian Portuguese (pt-BR) locale support by @Jailtonfonseca in #4009
- fix(skill): resilient loading for migrated or malformed skill & skill pool entries by @Leirunlin in #4016
- fix(approval): /approve shorthand ignores request_id argument by @xieyxclack in #4014
- docs(faq): Docs for handling APITimeoutError when running in WSL2 (NAT mode) by @hllqkb in #4005
- feat(skill): Add skill install/uninstall cli by @Leirunlin in #4053
- chore(version): bumping version to 1.1.5p2 by @xieyxclack in #4071
New Contributors
- @karls0r made their first contribution in #4021
- @Jailtonfonseca made their first contribution in #4009
- @hllqkb made their first contribution in #4005
Full Changelog: v1.1.5.post1...v1.1.5.post2