Downloads (v2.1.7)
| Platform | Architecture | Download |
|---|---|---|
| Windows | x64 | Installer · Portable |
| Windows | arm64 | Installer · Portable |
| macOS | Apple silicon (arm64) | DMG · ZIP |
| macOS | Intel (x64) | DMG · ZIP |
| Linux | x64 | AppImage · DEB · RPM |
| Linux | arm64 | AppImage · DEB · RPM |
Release Notes
Cherry Studio 2.1.7 - Voice, Cloud, and Model Updates ✨ New Features - [Voice] Add Kokoro Chinese-English TTS with 103 voices for Windows x64, Linux and macOS, and Qwen3-TTS for Apple Silicon. Download models from Settings > Local Models before first use. - [Voice] Show live audio spectra in speech playback and dictation controls. Restore the microphone after empty dictation. - [Voice] Add local FunASR speech transcription on Windows, Linux and macOS. - [Cherry Cloud] Add subscription plan and quota usage visibility to the Global edition, with limited-time-free and exhausted-quota descriptions for managed models. - [Cherry Cloud] Add a compact anchored sidebar account menu. Avatar and nickname open Personal Information settings; Appearance and Login stay in the menu. - [Cherry Cloud] Preserve login during temporary connection or refresh failures. - [Automation] Orchestrate Browser and Computer Use through persistent JavaScript with clearer execution feedback. - [Knowledge Base] Drag knowledge bases between groups and reorder groups; cycle item columns through ascending, descending and default ordering. - [Image] Add GPT-Image-2 aspect ratio presets for 16:9, 9:16, 16:10, and 4K output. - [Models] Add Gemini 4 Argon support with thinking levels and automatic long-output continuation. - [Models] Add Muse Spark Open model recognition with multimodal capabilities and reasoning controls. - [Search] Add DuckDuckGo as a free keyword web search provider. No API key required. - [Tools] Tool results now preview image links and display clickable web links. - [Errors] Show actionable error notifications with readable diagnoses, expandable details, and recovery actions for conversations, provider checks, and MCP failures. - [Chat] Queued follow-up messages start collapsed. Click the header to expand or collapse. - [Chat] Hover over conversations to see full name, activity time, and workspace details. - [Notes] Search code-block languages by name. 🐛 Bug Fixes - [Attachments] Fix unrecognized-extension text files (e.g., .lrmx) not being read as text. - [OCR] Identify which OCR path failed when sending images to non-vision models, with guidance for each failure type. - [Window] Fix main window closing on Windows/Linux hiding the window when the tray icon is unavailable, leaving no way to restore or quit. - [Messages] Preserve disclosure state and follow streamed reasoning in message display. - [Composer] Automatically follow prompt text direction; keep leading-dot file names; accept any file type on the agent surface. - [Files] Add file context menu actions; align file links and icons with inline text. - [MCP] Connect to remote MCP servers that reject the version probe with 5xx errors; confirm health before reconnects. - [Models] Accept null Gemini model list pagination tokens; improve Gemini model discovery and metadata refresh. - [Tray] Use a stable Windows tray GUID for portable installs. - [Voice] Fixed read-aloud skipping text in code blocks and inline code. - [Agents] Allow users to turn off onboarding by declining setup. - [Translation] Keep idle dictation and copy buttons beside the input text without adding an extra toolbar row. - [Computer Use] Fixed missing automation tool output for Claude agents and added structured accessibility-tree pagination to prevent oversized observations from being omitted. - [Settings] Restore settings scrollbars and consistent layouts, clarify Computer Use permission actions, and fix clipped content, MCP tab order and unnecessary Usage heatmap overflow.What's Changed
- fix(topic-purge): chunk permanent deletion in one transaction by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21494
- fix(message-reply-group): invalidate descendant context on deletion by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21492
- fix(knowledge-item): reconcile containers atomically on deletion by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21490
- chore(release): sync v2.1.6 metadata by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21495
- fix(shared): trim trailing whitespace/dots after 255-char truncation by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/21501
- fix(file-import): derive URL extension from pathname by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21500
- feat(archive): add navigation actions to archive toasts by @ousugo in https://github.com/CherryHQ/cherry-studio/pull/21502
- fix(composer): fall back to clipboard image when pasting from Flatpak apps by @wellcoming in https://github.com/CherryHQ/cherry-studio/pull/21503
- feat(provider-registry): add LiteLLM provider by @misbahsy in https://github.com/CherryHQ/cherry-studio/pull/21511
- fix(gitcode-sync): use domestic Windows runner by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21509
- fix(orphan-sweep): preserve retained blobs with tmp-shaped extensions by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21499
- fix(directory-tree): clean up failed initialization by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21504
- fix(directory-tree): retain watcher fallback after missed rename by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21505
- fix(composer): automatically follow prompt text direction by @GuyvDev in https://github.com/CherryHQ/cherry-studio/pull/21463
- fix(markdown): render single-line $$ formulas with display-only LaTeX as display math by @404-Page-Found in https://github.com/CherryHQ/cherry-studio/pull/20813
- fix(dangling-cache): discard stale presence probes by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21510
- fix(directory-tree): discard stale pending additions by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21508
- fix(resource-list): animate rows moving after removal by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21517
- fix(composer): clarify workspace resource search results by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21516
- feat(provider-billing): add multipliers and daily rate schedules by @WhiteZeek in https://github.com/CherryHQ/cherry-studio/pull/21498
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21518
- fix(files): report real existence for the requested name in fileNameGuard by @HHHSL in https://github.com/CherryHQ/cherry-studio/pull/21522
- fix(assistant-relations): deduplicate linked IDs by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21470
- refactor(async-coordination): share task scheduling primitives by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/20512
- feat(provider-registry): prepare cross-platform npm package by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21529
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21532
- fix(trash-purge): retain empty-all requests across restart by @focus-zyw in https://github.com/CherryHQ/cherry-studio/pull/21531
- fix(ci): stop publishing package Git tags by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21533
- fix(chat-markdown): render file paths without code wrappers by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21521
- fix(image-preview): keep SVG previews sharp when zooming by @SiinXu in https://github.com/CherryHQ/cherry-studio/pull/21534
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21538
- fix(code-cli): normalize MiniMax Code icon size by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21483
- fix(agent-settings): compact reply language controls by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21481
- docs(readme): add mobile app link by @zhangjiadi225 in https://github.com/CherryHQ/cherry-studio/pull/21542
- feat(chat-files): add file context menu actions by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21537
- fix(chat-files): align file links and icons with inline text by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21544
- fix(files): skip inline rename submit while IME is composing by @mahirhir in https://github.com/CherryHQ/cherry-studio/pull/16582
- docs(gh-create-pr): remove mandatory PR body confirmation by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21550
- fix(cache-cleanup): bypass orphan sweep volume limits by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21551
- feat(remote-uploads): verify source checksums before publishing files by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21527
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21562
- fix(download): strip trailing quote when parsing quoted Content-Disposition filename by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/21536
- fix(file-manager): decouple shared mock from main-process types by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21564
- feat(claude-code): download native runtime on demand by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21548
- fix(composer): accept any file type on the agent surface by @NatsUIJM in https://github.com/CherryHQ/cherry-studio/pull/20357
- ci(automation): remove PR update and issue tracker workflows by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21563
- refactor(lan-transfer): remove unused transfer feature by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21570
- feat(heartbeat): configure per-agent execution timeout by @Dante-dan in https://github.com/CherryHQ/cherry-studio/pull/21558
- refactor(general-settings): organize settings into titled groups by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21568
- refactor(agent-runtime): replace DSH with Pi and migrate history by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21400
- fix(messages): sanitize message-derived title in export-as-image save dialog by @ggbdpq in https://github.com/CherryHQ/cherry-studio/pull/21220
- chore(codeowners): add DeJeune to file processing, knowledge and UI by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21574
- feat(sessions): show conversation details in hover cards by @ousugo in https://github.com/CherryHQ/cherry-studio/pull/21573
- refactor(claude-code): use native AGENTS.md loading by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21580
- chore(codeowners): remove eeee0717 from ownership rules by @eeee0717 in https://github.com/CherryHQ/cherry-studio/pull/21581
- fix(new-api): route image endpoints through the New API adapter by @pczhao1210 in https://github.com/CherryHQ/cherry-studio/pull/21547
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21589
- fix(main): treat a child directory named ..archive as inside its parent by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/21587
- feat(list-search): support Chinese pinyin initials by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21592
- fix(mini-app): clean up unused WebViews on tab close by @404-Page-Found in https://github.com/CherryHQ/cherry-studio/pull/19535
- fix(mcp-filesystem): drop the platform-shaped default baseDir from the preset by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21605
- fix(thinking-block): render the reasoning panel's own scrollbar by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21604
- fix(composer): remove text cap and auto-fit input height by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21595
- perf(model-settings): lazy-load optional panels by @lihuiyang1024 in https://github.com/CherryHQ/cherry-studio/pull/19872
- perf(markdown-editor): defer preview rendering by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/18942
- fix(rtk): accept rtk's exit-code-3 rewrites and log rewrite failures by @angri450 in https://github.com/CherryHQ/cherry-studio/pull/21583
- fix(agent-session): gate edit-and-resend on the session teardown state by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21619
- feat(tool-results): preview image URLs and render clickable links by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21608
- feat(gemini): support Gemini 4 Argon in AI SDK runtime by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21625
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21630
- test(claude-code): await installation cleanup before asserting by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21631
- feat(composer): add collapsible queued messages by @ousugo in https://github.com/CherryHQ/cherry-studio/pull/21635
- fix(gemini): improve model discovery and refresh model metadata by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21633
- fix(messages): preserve disclosure state and follow streamed reasoning by @ousugo in https://github.com/CherryHQ/cherry-studio/pull/21623
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21637
- feat(screenshot): add captures and optional text to chat drafts by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21540
- fix(agent-lifecycle): compress archived system workspaces by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21515
- fix(resource-list): suppress hover previews while context menus are open by @ousugo in https://github.com/CherryHQ/cherry-studio/pull/21638
- fix(tray): stable Windows tray GUID for portable installs by @404-Page-Found in https://github.com/CherryHQ/cherry-studio/pull/21485
- fix(auto-backup): postpone automatic backup while data writers are active by @404-Page-Found in https://github.com/CherryHQ/cherry-studio/pull/20916
- fix(model-settings): explain saved modality overrides by @Dante-dan in https://github.com/CherryHQ/cherry-studio/pull/21312
- feat(agent): mount ApiGatewayRequiredDialog at AppShell level (Fixes [#18556]) by @xxiaoxiong in https://github.com/CherryHQ/cherry-studio/pull/19709
- fix(oauth): clean up popup message listeners by @userInner in https://github.com/CherryHQ/cherry-studio/pull/19401
- perf(markdown): load the CodeMirror editor stack only when editing by @yzxcj797 in https://github.com/CherryHQ/cherry-studio/pull/19223
- feat(voice): add local speech runtime foundation by @AtomsH4 in https://github.com/CherryHQ/cherry-studio/pull/20746
- feat(voice): add shared renderer voice foundation by @AtomsH4 in https://github.com/CherryHQ/cherry-studio/pull/20858
- feat(voice): add local FunASR transcription runtime by @AtomsH4 in https://github.com/CherryHQ/cherry-studio/pull/20902
- feat(voice): add primary consumer integrations by @AtomsH4 in https://github.com/CherryHQ/cherry-studio/pull/21506
- feat(voice): add text and content consumer integrations by @AtomsH4 in https://github.com/CherryHQ/cherry-studio/pull/21049
- chore(pr-template): remove branch strategy notices by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21657
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21658
- perf(topic-rename): isolate row subscriptions by @ActiveSky in https://github.com/CherryHQ/cherry-studio/pull/19362
- fix(redaction): redact shared references at every occurrence in redactDeep by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/21648
- fix(renderer): keep leading-dot file names when removing a file extension by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/21649
- fix(provider): repair legacy order keys before preset seeding by @lorenzozanee in https://github.com/CherryHQ/cherry-studio/pull/21285
- feat(computer-use): add SDK permission settings by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/20718
- ci(validation): share setup for lightweight checks by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21656
- feat(voice-asr): accept canonical WAV input by @SiinXu in https://github.com/CherryHQ/cherry-studio/pull/21403
- fix(agent-identity): refresh persona and memory across runtime turns by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21664
- fix(voice-runtime): report unsupported explicit transcription choices by @SiinXu in https://github.com/CherryHQ/cherry-studio/pull/21629
- fix(grok-cli): read x-grok-client-version from ~/.grok/version.json by @pppan2003 in https://github.com/CherryHQ/cherry-studio/pull/21652
- fix(data-api): accept the built-in Agent slug as a pin entity id by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21684
- docs(gh-pr-review): require existing module reuse checks by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21691
- perf(files): hydrate only newly paginated entries by @userInner in https://github.com/CherryHQ/cherry-studio/pull/19380
- fix(funasr): accept canonical WAV input by @SiinXu in https://github.com/CherryHQ/cherry-studio/pull/21665
- fix(chat-flow): resolve the paused status label key in the message-flow node by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21685
- fix(binary-manager): keep BabelDOC's bitstring dependency below 5 by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21688
- fix(cherry-assistant): upgrade legacy stock instructions with a seeder by @SiinXu in https://github.com/CherryHQ/cherry-studio/pull/21666
- feat(cdp-settings): add local CDP controls and miniapp debugging indicator by @HappyAny in https://github.com/CherryHQ/cherry-studio/pull/21299
- feat(note-editor): search code block languages by @1lck in https://github.com/CherryHQ/cherry-studio/pull/21670
- fix(mcp-runtime): confirm health before bounded reconnects by @WhiteZeek in https://github.com/CherryHQ/cherry-studio/pull/21678
- fix(remote-access): refuse over-rate requests instead of ending the session by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21687
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21696
- test(pi): make the retired-session migration suite host-agnostic by @angri450 in https://github.com/CherryHQ/cherry-studio/pull/21694
- fix(notes): name icon controls for assistive tech by @SiinXu in https://github.com/CherryHQ/cherry-studio/pull/19512
- fix(work): keep pinned tasks in agent grouping by @Dante-dan in https://github.com/CherryHQ/cherry-studio/pull/20320
- test(provider-registry): guard DeepSeek V4 reasoning metadata by @ActiveSky in https://github.com/CherryHQ/cherry-studio/pull/19303
- style(pi-runtime): fix main CI fixture formatting by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21703
- feat(web-search): add DuckDuckGo as free keyword search provider by @Shiina18 in https://github.com/CherryHQ/cherry-studio/pull/19389
- fix(rtk): survive slow wrappers — realistic probe budgets and failure-aware caching by @angri450 in https://github.com/CherryHQ/cherry-studio/pull/21689
- refactor(composer): drop the send shortcut from the input placeholder and name it on the send control by @NatsUIJM in https://github.com/CherryHQ/cherry-studio/pull/20277
- fix(azure): respect user-configured apiVersion in URL preview (#11691) by @xr843 in https://github.com/CherryHQ/cherry-studio/pull/15728
- fix(mcp-browser): prevent hidden media playback by @userInner in https://github.com/CherryHQ/cherry-studio/pull/19430
- fix(mcp-runtime): connect to remote MCP servers that reject the version probe with 5xx by @cherry-coding[bot] in https://github.com/CherryHQ/cherry-studio/pull/21709
- fix(huggingface): serve Agents over the router's Anthropic Messages API by @kennyzheng-builds in https://github.com/CherryHQ/cherry-studio/pull/19786
- fix(searxng-provider): keep search hits whose page content cannot be fetched by @kennyzheng-builds in https://github.com/CherryHQ/cherry-studio/pull/19618
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21714
- fix(composer): notify the quick panel once an IME composition ends by @kennyzheng-builds in https://github.com/CherryHQ/cherry-studio/pull/17926
- feat(local-voice): add downloadable Qwen3 TTS with independent voice selection by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21713
- fix(chat): improve voice action icon sizing by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21729
- fix(composer): keep a referenced name from closing the delimiter block early by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/21727
- docs(claude): fix the mistyped Write Serialization anchor by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/20436
- feat(error-toasts): add typed errors and recovery actions by @WhiteZeek in https://github.com/CherryHQ/cherry-studio/pull/21675
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21732
- fix(provider-import): allow editing custom provider names by @1lck in https://github.com/CherryHQ/cherry-studio/pull/21718
- feat(image-generation): add GPT-Image-2 aspect ratio presets by @1lck in https://github.com/CherryHQ/cherry-studio/pull/21715
- fix(selection-context-menu): preserve quoted math formulas by @1lck in https://github.com/CherryHQ/cherry-studio/pull/21712
- docs(api-gateway): explain purpose and startup controls by @1lck in https://github.com/CherryHQ/cherry-studio/pull/21722
- fix(pdf-translation): give the BabelDOC sidecar a Requests CA bundle by @lianshuang-photo in https://github.com/CherryHQ/cherry-studio/pull/21672
- fix(voice-settings): explain busy microphone tests by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21735
- fix(ai-sdk): converge out-of-range DashScope Qwen temperature to 1.9 by @cherry-coding[bot] in https://github.com/CherryHQ/cherry-studio/pull/21734
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21733
- fix(agent-session): prepare the pi session workspace before runtime startup by @cherry-coding[bot] in https://github.com/CherryHQ/cherry-studio/pull/21740
- fix(main): collapse trailing-separator PATH spellings in dedupePathSegments by @c020627 in https://github.com/CherryHQ/cherry-studio/pull/21650
- refactor(electron-dev): merge PR testing into development skill by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21748
- feat(local-voice): add Kokoro Chinese-English TTS by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21742
- feat(user-account): add anchored sidebar account menu by @SiinXu in https://github.com/CherryHQ/cherry-studio/pull/20071
- feat(agent-model-selector): show cloud quota descriptions by @zhibisora in https://github.com/CherryHQ/cherry-studio/pull/19988
- fix(code-mate): enforce Cherry Cloud model boundary by @zhibisora in https://github.com/CherryHQ/cherry-studio/pull/20048
- fix(cherry-cloud): preserve login during recoverable request failures by @zhibisora in https://github.com/CherryHQ/cherry-studio/pull/20310
- feat(cherry-cloud): add global subscription usage by @zhibisora in https://github.com/CherryHQ/cherry-studio/pull/20841
- fix(design-tokens): let the input border composite against its surface by @kennyzheng-builds in https://github.com/CherryHQ/cherry-studio/pull/18052
- feat(automation-repl): orchestrate browser and computer tasks with persistent JavaScript by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21704
- feat(voice-controls): add spectrum capsules for speech and dictation by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21745
- feat(knowledge-base): add drag ordering and three-state sorting by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21290
- fix(local-model): complete Kokoro TTS test context by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21755
- fix(nightly-build): split installer downloads and add summary by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21754
- fix(system-speech): enable standard coroutines on Windows by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21759
- ci(sherpa-runtime): build and verify Windows ARM64 addon by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21757
- fix(ai-core): repair restored tool result names by @Dante-dan in https://github.com/CherryHQ/cherry-studio/pull/20281
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21767
- fix(api-gateway): continue after reasoning+text assistant tails by @cherry-coding[bot] in https://github.com/CherryHQ/cherry-studio/pull/21765
- fix(pi-runtime): preserve Gemini custom fetch transport by @WhiteZeek in https://github.com/CherryHQ/cherry-studio/pull/21747
- fix(claude-code): disable total token reminders by default by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21770
- fix(mac-signing): allow microphone capture in packaged apps by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21771
- fix(e2e-regression): stabilize runs and support branch selection by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21758
- fix(provider): accept null Gemini model list pagination tokens by @WhiteZeek in https://github.com/CherryHQ/cherry-studio/pull/21752
- fix(main-window): quit on close when no tray icon exists by @cherry-coding[bot] in https://github.com/CherryHQ/cherry-studio/pull/21773
- ci(validation): reduce repeated work and speed up i18n checks by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21753
- fix(chat): content-sniff unrecognized-extension attachments by @cherry-coding[bot] in https://github.com/CherryHQ/cherry-studio/pull/21763
- feat(provider-registry): support Muse Spark Open by @ousugo in https://github.com/CherryHQ/cherry-studio/pull/21776
- chore: version packages by @github-actions[bot] in https://github.com/CherryHQ/cherry-studio/pull/21777
- fix(ai): identify the failed OCR path in the non-vision image error by @angri450 in https://github.com/CherryHQ/cherry-studio/pull/21690
- feat(local-voice): enable Kokoro and FunASR on Windows ARM64 by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21779
- fix(release): backport [#21799] to v2.1.7 by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21800
- fix(release): backport [#21798] to v2.1.7 by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21803
- fix(release): backport [#21825] to v2.1.7 by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21827
- fix(release): backport [#21824] to v2.1.7 by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21828
- fix(release): restore v2.1.7 builder final newline by @DeJeune in https://github.com/CherryHQ/cherry-studio/pull/21831
- fix(release): backport [#21794] to v2.1.7 by @kangfenmao in https://github.com/CherryHQ/cherry-studio/pull/21893
New Contributors
- @wellcoming made their first contribution in https://github.com/CherryHQ/cherry-studio/pull/21503
- @misbahsy made their first contribution in https://github.com/CherryHQ/cherry-studio/pull/21511
- @GuyvDev made their first contribution in https://github.com/CherryHQ/cherry-studio/pull/21463
- @mahirhir made their first contribution in https://github.com/CherryHQ/cherry-studio/pull/16582
- @pczhao1210 made their first contribution in https://github.com/CherryHQ/cherry-studio/pull/21547
- @pppan2003 made their first contribution in https://github.com/CherryHQ/cherry-studio/pull/21652
- @Shiina18 made their first contribution in https://github.com/CherryHQ/cherry-studio/pull/19389
Full Changelog: https://github.com/CherryHQ/cherry-studio/compare/v2.1.6...v2.1.7