Skip to content

Releases: CherryHQ/cherry-studio

v1.9.11

07 Jun 08:42

Choose a tag to compare

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

02 Jun 04:29

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.9.8...v1.9.9

v1.9.8

31 May 16:30

Choose a tag to compare

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

28 May 16:00

Choose a tag to compare

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

Full Changelog: v1.9.6...v1.9.7

v1.9.6

15 May 14:05
a574aa5

Choose a tag to compare

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

12 May 10:34
73dc3fd

Choose a tag to compare

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

Full Changelog: v1.9.4...v1.9.5

v1.9.4

30 Apr 14:04
794698f

Choose a tag to compare

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

24 Apr 03:35
e72b77a

Choose a tag to compare

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-insensitive file 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

Full Changelog: v1.9.2...v1.9.3

v1.9.2

20 Apr 15:29
260c545

Choose a tag to compare

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 Gemini API when using NewAPI/AiHubMix by @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

Full Changelog: v1.9.1...v1.9.2

v1.9.1

16 Apr 00:49

Choose a tag to compare

Cherry Studio 1.9.1 - CherryClaw Agent & Skills System

⚠️ Breaking Changes

  • [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