Releases: CherryHQ/cherry-studio
Releases · CherryHQ/cherry-studio
v1.9.11
What's Changed
- chore(models): prune legacy MiniMax models, keep M2.7 and M3 by @kapelame in #15580
- fix: encode gemini model list api key by @kangfenmao in #15575
- fix: infer custom provider model groups by @kangfenmao in #15577
- fix: clean up agent session messages on delete by @kangfenmao in #15531
- fix: oversized text in Gemini mini-program due to Electron UA detection by @LWWZH in #15389
- fix(reasoning): add MiniMax M3 thinking process support (v1.9.8) by @HUQIANTAO in #15513
- fix(anthropic): support Opus 4.8 adaptive thinking by @kangfenmao in #15532
- fix: use openPath instead of openExternal for HTML artifacts external browser by @Raymond8196 in #15644
- fix: avoid embedding dimensions request parameter by @eeee0717 in #15727
- fix: bind CherryIN OAuth flow to sender by @3em0 in #15410
- fix: upgrade mermaid to 11.15.0 to fix CJK parsing error in flowcharts by @LWWZH in #15391
- fix: agent task completed but task list still shows unchecked items by @LWWZH in #15358
New Contributors
Full Changelog: v1.9.9...v1.9.11
v1.9.9
What's Changed
- fix: guard OV OCR availability CPU detection by @kangfenmao in #15538
- fix: respect topic naming setting for agent sessions by @kangfenmao in #15533
- feat(models): add MiniMax M3 to the system model registry by @kapelame in #15543
New Contributors
Full Changelog: v1.9.8...v1.9.9
v1.9.8
What's Changed
- fix(ci): add v1 branch to workflow triggers by @GeorgeDong32 in #15446
- refactor: update tool components for improved styling and functionality
Full Changelog: v1.9.7...v1.9.8
v1.9.7
What's Changed
- fix: clarify OpenClaw external install prompt by @mturac in #15147
- fix: support Grok 4.3 reasoning effort in xAI responses by @ousugo in #15137
- fix(code): keep light theme tokens readable by @mturac in #15143
- fix(claudecode): apply [1m] context suffix for DeepSeek V4 Flash and MiMo V2.5+ by @DeJeune in #15162
- fix(agents): pass custom headers to claude code by @kovsu in #15185
- fix: launch opencode from package-local executable by @kovsu in #15188
- hotfix(model): align Gemini 3.x UI and sampling handling by @ousugo in #15204
- chore(gitignore): Ignore Antigravity CLI local files by @ousugo in #15201
- fix: add missing key prop to SendMessageButton in InputbarCore by @LGiki in #15233
- fix: correct provider ID for AIHubMix reasoning effort by @xxiaoxiong in #15283
- fix(provider): support StepFun as Anthropic-compatible provider by @lianshuang-photo in #15277
- hotfix(models): support capabilities for grok-build-0.1 by @ousugo in #15256
- fix(models): exclude Qwen max series from vision model detection by @xxiaoxiong in #15288
- fix(analytics): respect enableDataCollection setting in renderer by @EurFelux in #15318
- fix(aiCore): do not treat Gemini model via non-Gemini provider as native PDF by @octo-patch in #14329
- fix(websearch): align ExaMCP response parser with server field names by @zhibisora in #15331
- fix: add CherryIN DeepSeek 1m suffix by @zhibisora in #15352
- hotfix(ci): run GitCode sync on signing runner by @zhibisora in #15324
- chore: release v1.9.7 by @kangfenmao in #15362
- fix: keep note toolbar static at top during scroll by @LWWZH in #15349
- Fix: change Gemini Safety Settings to BLOCK_NONE - For main by @ous50 in #15303
- fix: refresh cached miniapp urls by @mturac in #15146
New Contributors
- @mturac made their first contribution in #15147
- @LGiki made their first contribution in #15233
- @xxiaoxiong made their first contribution in #15283
Full Changelog: v1.9.6...v1.9.7
v1.9.6
What's Changed
- fix(knowledge): preserve HTTP URLs in knowledge base documents by @Raymond8196 in #14983
- fix(ai): thread idle timeout handle to stream chunk adapter by @GeorgeDong32 in #15056
- fix(ci): improve GitCode sync reliability by @zhibisora in #15063
- fix(image): convert assistant image blocks to base64 for multi-turn editing by @Raymond8196 in #15011
- fix(agent): invalidate provider cache on settings changes by @404-Page-Found in #14596
- fix: recognize ctrl by uniKey value by @kovsu in #15002
- hotfix(aiCore): prevent crash when model.provider not found (#14999) by @DeJeune in #15001
- fix: align provider model list actions by @kangfenmao in #15078
- fix(agents): use task name as session name for cron task sessions by @Kingzi49 in #15053
- fix: resolve ENOENT in OpenMinerU preprocessing caused by MinerU ZIP structure change by @suujonH in #15061
- fix: clean up OAuth tokens when deleting MCP server by @xr843 in #14083
- fix: exclude deepseek-r1 models from function_calling capability by @404-Page-Found in #15102
- fix: auto-expand MCP tool approval card so action buttons are immediately visible by @LWWZH in #15080
- hotfix: add environment variable for claude code provider management by @kovsu in #15089
- fix(agents): preserve updatedAt timestamps when creating new agents by @LWWZH in #14675
- fix(aiCore): Qiniu PDF fallback for GPT-5.4 by @404-Page-Found in #15090
- fix(code-tools): handle Codex CLI reserved provider IDs by @GeorgeDong32 in #15068
- chore: release v1.9.6 by @kangfenmao in #15116
New Contributors
Full Changelog: v1.9.5...v1.9.6
v1.9.5
What's Changed
- fix(search): prevent empty activeTools when web search is the only tool by @TakotsuboChen in #14752
- hotfix(vertex): vertex model list fetch and improve service account setup by @ousugo in #14611
- fix(messages): prevent outer scrolling in horizontal multi-model layout by @Fu-Jumping in #14768
- fix(reasoning): use enable_thinking param for SiliconFlow DeepSeek/Zhipu models when reasoning_effort is none by @Raymond8196 in #14782
- feat(claw): add timeout_minutes parameter to cron tool by @xvweirong in #14707
- hotfix(gateway): bypass @ai-sdk/gateway schema for Vercel model listing by @DeJeune in #14772
- fix(api-server): strip trailing /v1 from Anthropic SDK baseURL by @Raymond8196 in #14818
- hotfix(feishu): use emoji reaction as typing indicator by @DeJeune in #14799
- hotfix(i18n): update default assistant and topic names on language switch by @Raymond8196 in #14607
- fix(anthropic): support Claude Opus 4.7 by @DeJeune in #14349
- hotfix(models): update DeepSeek default models to V4 by @ousugo in #14877
- fix(NewApiPage): restore generated image re-editing by @404-Page-Found in #14500
- Feat(AIhubmix): painting module add gpt-image-2 to AiHubMix provider by @DDU1222 in #14903
- hotfix(models):detect routed DeepSeek V4 model slugs for reasoning effort by @ousugo in #14887
- hotfix(models): support hosted Gemma 4 thinking mode by @ousugo in #14793
- fix(code-tools): disable opencode built-in auto-update check by @Raymond8196 in #14925
- hotfix(models): correct Tongyi model icon matching by @ousugo in #14922
- fix(agent): allow CherryIN OpenAI-protocol models in Agent model picker by @Azure12355 in #14811
- hotfix(backup): stage restored data into .restore dirs to fix silent data loss on macOS by @DeJeune in #14781
- fix: sanitize subprocess call in run_eval.py by @orbisai0security in #14842
- hotfix(agents): remove stale mcp__browser__* references from agent prompt by @DeJeune in #14815
- fix(backup): clean up selection hook before restore relaunch by @kangfenmao in #14961
- hotfix(agents): show all sessions and agents in sidebar (#14854) by @DeJeune in #14954
- hotfix(agents): report 1M context for DeepSeek V4+ pro on official host by @DeJeune in #14965
- chore: release v1.9.5 by @kangfenmao in #14963
- hotfix(naming): sanitize non-ASCII characters in provider name for env vars by @Raymond8196 in #14915
New Contributors
- @TakotsuboChen made their first contribution in #14752
- @xvweirong made their first contribution in #14707
- @Azure12355 made their first contribution in #14811
- @orbisai0security made their first contribution in #14842
Full Changelog: v1.9.4...v1.9.5
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