Releases: CherryHQ/cherry-studio
Releases · CherryHQ/cherry-studio
v1.9.4
What's Changed
- hotfix(models): add DeepSeek V4+ model support with reasoning effort by @SiinXu in #14551
- hotfix(copilot): github copilot model fetch by @ousugo in #14566
- hotfix(models): add MiMo V2.5 model support by @ousugo in #14557
- hotfix(deepseek): forward reasoning effort for DeepSeek V4+ via Claude endpoint by @DeJeune in #14572
- fix(models): add vision and reasoning_effort support for mistral-small-2603 by @GeorgeDong32 in #14541
- hotfix(models): disable temperature and top_p for Kimi K2.6 by @DeJeune in #14580
- hotfix(agents): drop @cherry/browser MCP auto-injection by @DeJeune in #14571
- hotfix(image-generation): fix gpt-image-2 / gpt-image-1.5 failures and stuck pending placeholder by @DeJeune in #14578
- fix(gateway): pass user apiKey to createGateway when fetching models by @Raymond8196 in #14605
- fix(code-tools): support new-api providers and endpoint type routing for OpenCode by @GeorgeDong32 in #14511
- fix(images/edits): default to image/png when file has no extension by @LWWZH in #14616
- chore: release v1.9.4 by @kangfenmao in #14681
- fix(CodeBlock): do not recognize Unix-style paths as clickable links on Windows by @LWWZH in #14709
- fix(deps): bump @ai-sdk/deepseek to 2.0.30 by @DeJeune in #14718
- fix: suppress DeepSeek DSML tags in web search results by @kangfenmao in #14721
- fix: parse DeepSeek DSML tool-call markup into AI SDK tool calls by @DeJeune in #14747
- fix(deps): omit max_tokens for non-Anthropic models in @ai-sdk/anthropic by @DeJeune in #14749
- fix: refresh openrouter provider patch by @zhibisora in #14750
New Contributors
Full Changelog: v1.9.3...v1.9.4
v1.9.3
What's Changed
- fix(quick-panel): reset stale state on panel close to prevent model deselection by @GeorgeDong32 in #14378
- chore(deps): bump form-data from 2.3.3 to 4.0.5 by @dependabot[bot] in #14441
- fix: use cli-wrapper.cjs to launch claude-code instead of native binary by @Raymond8196 in #14430
- hotfix: Custom params dropped by CherryIN/NewAPI — respect model.endpoint_type by @zhibisora in #14409
- fix(security): allow vscode/cursor/zed deep-links in openExternal by @beyondkmp in #14437
- hotfix: Support
case-insensitivefile extensions for drag-and-drop uploads when editing messages by @ELDment in #14416 - fix(agents): preserve session instructions in Soul Mode by @DeJeune in #14424
- fix(api-server): rotate comma-separated provider API keys by @DeJeune in #14346
- hotfix: disable native structured output for AiHubMix/NewAPI Anthropic models by @DeJeune in #14376
- fix(feishu): handle image messages from IM channel by @DeJeune in #14421
- fix(useInstalledSkills): keep agent skills list stable while toggling by @404-Page-Found in #14472
- fix: prevent empty baseURL/region string in Bedrock provider config by @Tsudrat in #14425
- fix(ai-core): keep native tool loops going by @404-Page-Found in #14481
- fix(mcp): delegate connect timeout to SDK to restore slow SSE servers by @DeJeune in #14348
- hotfix(ai-sdk/openai): patch @ai-sdk/openai to support gpt-image-2 by @DeJeune in #14488
- fix: prevent outer scrolling in horizontal multi-model messages by @Fu-Jumping in #13964
- fix: handle symlinks during backup copy by @kangfenmao in #14471
- fix: limit builtin web search usage by @kangfenmao in #14466
- fix: align CherryIN seed apiHost with migration 183 (.cc) by @zhibisora in #14528
- fix(models): add gpt-image-2 model icon by @DeJeune in #14539
- chore: release v1.9.3 by @kangfenmao in #14523
New Contributors
- @zhibisora made their first contribution in #14409
- @Tsudrat made their first contribution in #14425
- @Fu-Jumping made their first contribution in #13964
Full Changelog: v1.9.2...v1.9.3
v1.9.2
What's Changed
- fix(openclaw): persist language selection in overview page by @404-Page-Found in #13992
- fix(agents): set NODE_PATH so spawned Claude Code process can resolve @img/sharp by @beyondkmp in #14183
- fix(agents): sync agent settings changes to active session by @DeJeune in #14205
- fix(skills): support agent-authored skills via skills tool init/register by @DeJeune in #14184
- fix: update dify knowledge retrieval payload by @kovsu in #14246
- feat(agents): add "Add More Skills" button to agent skills settings by @kennyzheng-builds in #14258
- fix: limit topic naming retries and timeout by @kovsu in #14265
- feat(skills): per-agent skill enablement with workspace symlinks by @DeJeune in #14247
- chore(deps-dev): bump axios from 1.13.2 to 1.15.0 by @dependabot[bot] in #14293
- chore(deps-dev): bump lodash from 4.17.21 to 4.18.1 by @dependabot[bot] in #14294
- chore(deps): bump form-data from 2.3.3 to 4.0.4 by @dependabot[bot] in #14295
- feat(i18n): add Vietnamese (vi-VN) language support by @kennyzheng-builds in #14279
- fix: sync builtin agent prompt updates to sessions by @kovsu in #14304
- fix(knowledge): support Ollama knowledge embeddings by @404-Page-Found in #14172
- 🤖 Daily Auto I18N Sync: Apr 17, 2026 by @github-actions[bot] in #14321
- fix(agents): set Cherry Assistant default avatar to 🍒 by @DeJeune in #14333
- hotfix: Custom params not passed to
GeminiAPI when usingNewAPI/AiHubMixby @ELDment in #14352 - fix(search): support phrase search and fix CJK matching in history search by @Raymond8196 in #14225
- fix(export): add obsidian:// to allowed protocol whitelist by @rfslzy in #14366
- fix: Fix Ollama model list loading when metadata contains null families values by @lancediarmuid in #14364
- fix(analytics): respect data collection setting for all tracking events by @Yuerchu in #14390
- fix: update node-abi for Electron 41 packaging by @kangfenmao in #14403
- chore: release v1.9.2 by @kangfenmao in #14406
New Contributors
- @ELDment made their first contribution in #14352
- @rfslzy made their first contribution in #14366
- @lancediarmuid made their first contribution in #14364
- @Yuerchu made their first contribution in #14390
Full Changelog: v1.9.1...v1.9.2
v1.9.1
Cherry Studio 1.9.1 - CherryClaw Agent & Skills System
- [Agents] "Plugins" system renamed to "Skills". Plugin marketplace has been replaced by a unified Skills management interface
✨ New Features
- [Agents] Add CherryClaw autonomous agent: personality system, scheduled tasks, multi-channel integration (Telegram, Discord, Feishu, Slack, WeChat, QQ), and filesystem sandbox
- [Agents] Add built-in Cherry Assistant — helps diagnose issues, navigate pages, collect FAQs, and submit bug reports
- [Agents] Improved tool output display with syntax highlighting, diff viewer, line numbers, and file type icons
- [ErrorHandling] Add AI-powered error diagnosis with instant classification and step-by-step fix suggestions
- [MCP] Add flomo as a built-in MCP server for capturing notes and ideas
- [MCP] Add MCPWorld (mcpworld.com) as a new MCP server marketplace
- [Topics] Support pinning topics to the top of the list
- [Models] Add endpoint option for aionly provider and update default models
🔒 Security Fixes
- [Security] Fix potential security issues with external URL handling and file operations
- [Security] Fix XSS vulnerability in MCP description and search results
🐛 Bug Fixes
- [Models] Add Ollama gemma4 format support for Gemma 4 model capability detection
- [Models] Fix new-api provider ignoring configured host for Anthropic format requests
- [Models] Fix Poe provider unable to load models dynamically
- [Models] Fix Google Gemini web search failing
- [Models] Fix model detection for Qwen3.5–3.9 and GPT series
- [Models] Fix NVIDIA provider reasoning parameters for Qwen/DeepSeek/Kimi/Zhipu models
- [Models] Fix Xiaomi MiMo thinking/non-thinking toggle behavior
- [Agents] Fix Claude Code child processes ignoring app proxy settings (including SOCKS proxy)
- [Agents] Fix Cherry Assistant ignoring user's language and always responding in English
- [MCP] Fix Hub-mode MCP tool calls silently truncating list-style responses
- [Knowledge] Fix epub file embedding failure
- [Notes] Fix KaTeX formula corruption when toggling editor modes
- [Notes] Fix note editor search state and scrolling
- [Thinking] Fix thinking time display showing incorrect values
- [MiniApps] Fix removed pinned mini-apps silently reappearing
- [Code Tools] Fix kimi-cli crash when uv is not installed
- [Build] Fix built-in skill files (.md) missing from packaged app
- [Chat] Fix data loss when selecting model via keyboard shortcut
- [UI] Fix move-to submenu height overflow
- [UI] Fix macOS traffic light alignment in custom title bar
⚡ Performance
- [Backup] Faster backups with smaller file sizes
- [Agent] Improve session switch experience
v1.9.0-rc.0
What's Changed
- 🤖 Daily Auto I18N Sync: Mar 27, 2026 by @github-actions[bot] in #13836
- fix(ci): narrow release-packages trigger to changeset-managed packages only by @EurFelux in #13859
- fix(extension-table-plus): add local tsconfig.json to fix dts build failure by @EurFelux in #13840
- fix(ci): run format after changeset version to satisfy pre-commit hooks by @EurFelux in #13862
- fix(models): strip
models/prefix from Google API model IDs by @DeJeune in #13861 - fix: centralize sidebar shortcut handling by @kovsu in #13854
- feat(agent-tools): use @pierre/diffs for diff rendering and add material file icons by @DeJeune in #13800
- fix(aiCore): handle NVIDIA provider reasoning params via chat_template_kwargs by @EurFelux in #13846
- fix(updater): fallback to latest channel when requested test channel is null by @beyondkmp in #13884
- refactor(agents): replace postinstall patch with SDK's spawnClaudeCodeProcess option by @beyondkmp in #13886
- feat: integrate rtk for reducing LLM token consumption on agent shell commands by @vaayne in #13615
- fix(agents): add missing PreToolUseHookInput type import by @DeJeune in #13889
- perf(backup): adjust compression level for speed optimization by @404-Page-Found in #13882
- Fix macOS traffic light alignment by @ZeroZ-lab in #13902
- feat: aionly default models update & models add endpoint option by @jo1yne06 in #13888
- fix(security): prevent XSS via dangerouslySetInnerHTML in MCP description and search results by @xr843 in #13893
- fix: replace dots in provider name for opencode API key env var by @Raymond8196 in #13921
- fix: resolve uv binary not found error when running kimi-cli by @Raymond8196 in #13923
- fix(poe): fix model loading and update default models by @kamilio in #13726
- feat(agent): add terminal syntax highlighting for shell tool outputs by @DeJeune in #13799
- feat: respect pinTopicsToTop setting in Topics by @chengcheng84 in #13697
- fix(models): use word boundary matching for GPT model detection by @EurFelux in #13927
- fix: suppress UNDICI-EHPA experimental warning in Claude Code child process by @beyondkmp in #13998
- hotfix(agents): paginate session messages to reduce initial paint time by @DeJeune in #13995
- chore: release v1.9.0-rc.0 by @kangfenmao in #13987
New Contributors
- @Raymond8196 made their first contribution in #13921
- @kamilio made their first contribution in #13726
- @chengcheng84 made their first contribution in #13697
Full Changelog: v1.8.4...v1.9.0-rc.0
v1.8.4
What's Changed
- fix(aiCore): add missing @openrouter/ai-sdk-provider dependency by @EurFelux in #13787
- ci: restrict package release workflow to cherry-studio's main branch by @kovsu in #13797
- feat(SelectionAssistant): Linux support by @0xfullex in #13720
- feat(api): add knowledge base REST API endpoints by @victoryangn in #13762
- fix(aiCore): remove openai-compatible providers from PDF native support list by @DeJeune in #13809
- chore: release v1.8.4 by @kangfenmao in #13824
- fix(extension-table-plus): remove reference to non-existent tsconfig.build.json by @EurFelux in #13817
- fix(aiCore): normalize model ID before looking up thinking token limits by @EurFelux in #13843
- fix: update broken Awesome MCP Servers link by @cyphercodes in #13847
- fix(ci): add Linux system deps for selection-hook native rebuild by @DeJeune in #13855
New Contributors
- @victoryangn made their first contribution in #13762
- @cyphercodes made their first contribution in #13847
Full Changelog: v1.8.3...v1.8.4
v1.8.3
What's Changed
- fix(mcp): create fresh MCP Server per transport session by @DeJeune in #13631
- fix: route copilot gpt-5.4 models to responses by @kovsu in #13632
- fix(aiCore): improve PDF processing robustness for aggregator providers by @EurFelux in #13641
- fix: add @napi-rs/canvas to avoid dependency missing on dev startup by @alephpiece in #13685
- 🤖 Daily Auto I18N Sync: Mar 21, 2026 by @github-actions[bot] in #13673
- fix: skip thinking budget subtraction for Claude 4.6 adaptive thinking models by @majiayu000 in #13676
- fix(agents): show reasoning effort button for agent session reasoning models by @DeJeune in #13569
- fix(linkConverter): enhance link parsing to handle invalid parenthesized links by @alephpiece in #13688
- fix(migrate): safer openclaw state access in migrate 197 by @alephpiece in #13686
- fix: align agent chat bubble layout with shared chat styles by @kovsu in #13633
- chore: bump mermaid to 11.13.0 to support venn and ishikawa by @alephpiece in #13695
- fix: agent session auto renaming feedback by @alephpiece in #13707
- feat(agents): upgrade Agent SDK, enable ToolSearch, and add UI renderer by @DeJeune in #13690
- chore: enable type-aware linting with oxlint upgrade by @EurFelux in #13689
- fix: resolve all await-thenable lint violations by @EurFelux in #13712
- feat(agent): add OpenRouter support for Agent mode by @GeorgeDong32 in #13716
- test: add vitest benchmarks by @alephpiece in #13713
- fix(citation): use position-based insertion for Gemini grounding supports by @DeJeune in #13646
- refactor(SelectModelPopup): use the same base popup for chat and agent pages by @alephpiece in #13700
- fix: override @napi-rs/canvas to 0.1.97 for Windows ARM64 support by @EurFelux in #13723
- 🤖 Daily Auto I18N Sync: Mar 23, 2026 by @github-actions[bot] in #13728
- fix(memory): fix agentId filtering and search fallback in vector memory by @Pleasurecruise in #13725
- fix(groq): add dedicated @ai-sdk/groq provider to avoid reasoning_content errors by @DeJeune in #13735
- fix: topic message bulk deletion by @alephpiece in #13718
- refactor: resolve all no-floating-promises lint violations by @EurFelux in #13743
- fix(aiCore): fix temperature/topP incorrectly disabled when reasoning_effort is default by @EurFelux in #13505
- fix(deps): add @napi-rs/canvas platform binaries to fix startup crash by @kangfenmao in #13759
- fix(agent): use containerRef from useScrollPosition to memorize scroll position by @EurFelux in #13744
- feat: show model ids for duplicate names in model pickers by @kovsu in #13654
- fix: prevent CherryAI provider from using native PDF input in middleware by @kangfenmao in #13777
- fix(paintings): fix base64 image handling across providers by @Pleasurecruise in #13747
- feat: introduce changeset for monorepo version management by @EurFelux in #12783
- feat(code-tools): add LMStudio and Ollama support for Claude Code by @GeorgeDong32 in #13518
- feat: add onboarding page with guided setup flow by @kangfenmao in #13774
- fix: use per-model context window and preserve user config in OpenClaw sync by @SiinXu in #13666
- fix(CodeToolsService): prevent command injection on Windows by @GeorgeDong32 in #13677
- refactor: add no-unnecessary-type-assertion rule and remove redundant assertions by @EurFelux in #13741
- fix: add API key placeholders for LM Studio and Ollama in OpenClaw and Claude Code by @DeJeune in #13552
- fix(agent): stop thinking timer on abort by emitting abort stream part by @DeJeune in #13568
- chore: release v1.8.3 by @kangfenmao in #13788
New Contributors
- @majiayu000 made their first contribution in #13676
Full Changelog: v1.8.2...v1.8.3
v1.8.2
What's Changed
- feat: upgrade MiniMax default model to M2.7 by @octo-patch in #13593
- fix: Format provider API hosts in API server & refactor shared utilities by @EurFelux in #13198
- feat(model): add support for MiMo-V2-Pro and MiMo-V2-Omni models by @ousugo in #13613
- chore: Add CI check scripts to package.json by @EurFelux in #13564
- fix(tests): resolve Windows test failures and upgrade prek by @GeorgeDong32 in #13619
- fix(MessageHeader): crash when clicking topic in message search by @kangfenmao in #13627
- fix: correct parameter order in knowledgeSearchTool call by @SiinXu in #13635
- chore: release v1.8.2 by @kangfenmao in #13639
Full Changelog: v1.8.1...v1.8.2
v1.8.1
What's Changed
- fix(agents): fix Zed URL scheme and redesign OpenExternalAppButton by @beyondkmp in #13501
- fix(azure): keep dated api versions on chat transport by @cherry-ai-bot[bot] in #13506
- fix: prevent horizontal scroll in agent chat messages container by @EurFelux in #13508
- fix(mcp): resolve hub tool auto-approve to underlying server by @DeJeune in #13493
- fix(ci): only trigger release build on PR merge, not on every push by @DeJeune in #13512
- feat: add clickable file paths to agent tool outputs and inline code by @DeJeune in #13465
- 🤖 Daily Auto I18N Sync: Mar 17, 2026 by @github-actions[bot] in #13521
- fix(code-tools): launch errors on Windows & Qwen Code auth issue by @GeorgeDong32 in #13400
- fix: propagate actual stream errors instead of generic NoTextGeneratedError by @EurFelux in #13542
- fix: Windows Terminal launch fails on non-English systems by @SiinXu in #13551
- fix: disable thinking mode for LLM language detection by @EurFelux in #13565
- fix: add budgetTokens fallback for Agent thinking compatibility by @EurFelux in #13575
- feat: enhance gh-pr-review skill with multi-agent teams review and auto-fix by @DeJeune in #13530
- feat(mcp): add whitelist auto-trust for protocol install servers by @kangfenmao in #13586
- refactor(backup): enhance backup system with legacy backup and path security by @kangfenmao in #13587
- fix: add manual download option for macOS users with old code signing by @kangfenmao in #13378
- chore: release v1.8.1 by @kangfenmao in #13605
New Contributors
- @cherry-ai-bot[bot] made their first contribution in #13506
Full Changelog: v1.8.0...v1.8.1
v1.8.0
What's Changed
- fix: correctly pass poe web_search via extra_body when built-in search is enabled by @kovsu in #13434
- feat(openclaw): binary download install, auto update check, and gateway refactor by @kangfenmao in #13440
- feat(assistant): add configurable max tool calls setting by @GeorgeDong32 in #13398
- feat: separate Agent into independent module with dedicated page and route by @EurFelux in #13420
- fix: increase default request timeout from 10 to 30 minutes by @EurFelux in #13453
- chore: add Zed editor settings example, clean up configs, and improve dev guides by @EurFelux in #13457
- fix(aiCore): bypass AI SDK model ID allowlist for reasoning detection by @EurFelux in #13463
- fix(openclaw): fix gateway status detection and improve error reporting by @DeJeune in #13433
- feat: add MiniMax-M2.5-highspeed model by @octo-patch in #13470
- docs: update agents.db path in CLAUDE.md after #13392 by @EurFelux in #13471
- feat(agents): add manual drag-and-drop sorting for agent and session lists by @EurFelux in #13460
- fix(ui): show web search providers for all models by @EurFelux in #13472
- fix(agents): use correct SWRInfinite cache key and add optimistic update for session editing by @EurFelux in #13475
- feat(ui): enable windows mica effect by @lacser in #13476
- chore: migrate .claude/skills to directory symlinks by @EurFelux in #13486
- fix(agents): prevent deleting the last accessible directory by @EurFelux in #13483
- feat(skills): add vercel-react-best-practices skill by @DeJeune in #13424
- fix(scripts): add fallback to GitCode mirror when GitHub download fails by @kangfenmao in #13492
- fix(openclaw): improve gateway startup diagnostics and fix UI polling loop by @DeJeune in #13495
- fix(agents): improve navbar layout for agent status screens by @kangfenmao in #13494
- feat(streaming): replace fixed timeout with resettable idle timeout by @EurFelux in #13497
- chore: release v1.8.0 by @kangfenmao in #13500
New Contributors
- @octo-patch made their first contribution in #13470
- @lacser made their first contribution in #13476
Full Changelog: v1.7.25...v1.8.0