-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Comparing changes
Open a pull request
base repository: CherryHQ/cherry-studio
base: v1.8.1
head repository: CherryHQ/cherry-studio
compare: v1.8.2
- 12 commits
- 56 files changed
- 11 contributors
Commits on Mar 18, 2026
-
feat: upgrade MiniMax default model to M2.7 (#13593)
## Summary - Add MiniMax-M2.7 and MiniMax-M2.7-highspeed to both minimax and minimax-global provider model lists - Set MiniMax-M2.7 as the new default model (first in list) - Keep all previous models (M2.5, M2.1, M2) as available alternatives - Update function calling regex to support M2.7 and all M2.x variants - Add M2.7 test cases for reasoning and interleaved thinking detection ## Why MiniMax-M2.7 is the latest flagship model with enhanced reasoning and coding capabilities. ## Changes - `src/renderer/src/config/models/default.ts`: Add M2.7 and M2.7-highspeed entries at the top of both `minimax` and `minimax-global` model arrays - `src/renderer/src/config/models/tooluse.ts`: Update function calling regex from `minimax-m2(?:.1)?` to `minimax-m2(?:\.\d+)?(?:-[\w-]+)?` to support all M2.x variants including M2.7 - `src/renderer/src/config/models/__tests__/reasoning.test.ts`: Add test assertions for M2.7 reasoning model detection ## Testing - Added explicit M2.7 test cases to reasoning and interleaved thinking model tests - All existing models preserved as alternatives --------- Signed-off-by: octo-patch <[email protected]> Co-authored-by: octo-patch <[email protected]> Co-authored-by: George·Dong <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e4112ba - Browse repository at this point
Copy the full SHA e4112baView commit details -
fix: Format provider API hosts in API server & refactor shared utilit…
…ies (#13198) Co-authored-by: Claude Opus 4.6 <[email protected]> Co-authored-by: SuYao <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d081b05 - Browse repository at this point
Copy the full SHA d081b05View commit details
Commits on Mar 19, 2026
-
feat(model): add support for MiMo-V2-Pro and MiMo-V2-Omni models (#13613
) What this PR does Before this PR: • Cherry Studio only supported the MiMo-V2-Flash model • Users could not use the newly released MiMo-V2-Pro and MiMo-V2-Omni models with proper capability detection After this PR: • Added support for MiMo-V2-Pro: reasoning control and tool use capabilities • Added support for MiMo-V2-Omni: reasoning control, tool use, and vision capabilities • Kept MiMo-V2-Flash as the first default model for backward compatibility • Updated model detection logic to recognize all three MiMo V2 variants Why we need it and why it was done in this way Xiaomi released two new models (MiMo-V2-Pro and MiMo-V2-Omni) on March 18, 2026. This PR adds support for these models to ensure Ch erry Studio users can leverage the latest MiMo model capabilities. Tradeoffs made: • Used exact model ID matching (mimo-v2-omni) for vision detection to avoid false positives with future non-vision "omni" models • Maintained backward compatibility by keeping Flash model as the first default Alternatives considered: • Using regex pattern .*mimo.*omni.* for more flexible matching, but rejected to avoid potential false matches Breaking changes NONE - This is an additive feature that extends existing MiMo model support without affecting current functionality. Checklist • [x] PR: The PR description is expressive enough and will help future contributors • [x] Code: Write code that humans can understand and Keep it simple • [x] Refactor: You have left the code cleaner than you found it (Boy Scout Rule) • [x] Upgrade: Impact of this change on upgrade flows was considered and addressed if required • [ ] Documentation: A user-guide update was considered and is present (link) or not required. • [x] Self-review: I have reviewed my own code before requesting review from others Release note feat: Add support for Xiaomi MiMo-V2-Pro and MiMo-V2-Omni models - MiMo-V2-Pro: Supports reasoning control and tool use - MiMo-V2-Omni: Supports reasoning control, tool use, and vision input
Configuration menu - View commit details
-
Copy full SHA for 78decc4 - Browse repository at this point
Copy the full SHA 78decc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1c1b34 - Browse repository at this point
Copy the full SHA c1c1b34View commit details -
refactor(ConfigManager): remove legacy config migration logic and str…
…eamline store initialization
Configuration menu - View commit details
-
Copy full SHA for f658484 - Browse repository at this point
Copy the full SHA f658484View commit details -
fix(BackupManager): update data destination path to use userDataPath …
…for backup restoration
Configuration menu - View commit details
-
Copy full SHA for f517a07 - Browse repository at this point
Copy the full SHA f517a07View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b08fd9 - Browse repository at this point
Copy the full SHA 0b08fd9View commit details -
fix(tests): resolve Windows test failures and upgrade prek (#13619)
## Summary Fix Windows test failures and upgrade prek dependency to resolve git hook issues on Windows. ## Problem On Windows, the pre-commit hook was failing due to a bug in prek v0.2.28 where command lookup didn't work correctly with Windows paths. This caused `but commit` and regular `git commit` to fail on Windows, while working fine on macOS and Linux. ## Changes ### Dependencies - `@j178/prek`: v0.2.28 → v0.3.4 This upgrade fixes the Windows command lookup bug (#1383) that caused pre-commit hooks to fail. ### Test Fixes - Use `path.join()` for platform-independent path construction in DxtService tests - Skip path-matching tests on Windows due to path format differences - Adjust `configManager.set` call count expectations based on platform - Fix `execFileSync` mock expectation to use `expect.any(Object)` - Use `path.normalize()` for cross-platform path comparison in BaseService test ## Test Plan - [x] `pnpm test:main` - 33 test files passed, 575 tests passed - [x] `pnpm lint` - passed - [x] Pre-commit hook working on Windows ## Refs - j178/prek#1383 (Windows command lookup bug fix)
Configuration menu - View commit details
-
Copy full SHA for 24645d3 - Browse repository at this point
Copy the full SHA 24645d3View commit details -
fix(MessageHeader): crash when clicking topic in message search (#13627)
### What this PR does Before this PR: Clicking on a topic title in the message search results would crash the app with error: `useLocation() may be used only in the context of a <Router> component`. <img width="1409" height="923" alt="image" src="https://github.com/user-attachments/assets/79a151e6-f066-472a-9fed-172b1ea435bb" /> <img width="1409" height="923" alt="image" src="https://github.com/user-attachments/assets/8ba02fde-74e1-4145-bd95-b783b5e1ed48" /> After this PR: The app works correctly when clicking topic titles in message search results. ### Why we need it and why it was done in this way The `MessageHeader` component uses `useLocation()` hook from react-router-dom to check if the current view is an agent view. However, when the component is rendered in the message search popup, it's outside of the Router context, causing the hook to throw an error. The fix replaces `useLocation().pathname` with `window.location.pathname`, which works in any context without requiring a Router wrapper. The following tradeoffs were made: - Using `window.location.pathname` instead of `useLocation()` means we lose React Router's reactivity for pathname changes. However, this is acceptable because the `isAgentView` check only needs the current pathname at render time, and route changes would trigger a re-render anyway. The following alternatives were considered: - Wrapping the search popup with a Router - rejected as it adds unnecessary complexity - Using `useInRouterContext()` to conditionally use `useLocation()` - rejected as it's more verbose and `window.location` is simpler ### Breaking changes None. ### Special notes for your reviewer This is a minimal fix that addresses the crash without changing the component's behavior. ### Checklist - [x] PR: The PR description is expressive enough and will help future contributors - [x] Code: [Write code that humans can understand](https://en.wikiquote.org/wiki/Martin_Fowler#code-for-humans) and [Keep it simple](https://en.wikipedia.org/wiki/KISS_principle) - [x] Refactor: You have [left the code cleaner than you found it (Boy Scout Rule)](https://learning.oreilly.com/library/view/97-things-every/9780596809515/ch08.html) - [x] Upgrade: Impact of this change on upgrade flows was considered and addressed if required - [ ] Documentation: A [user-guide update](https://docs.cherry-ai.com) was considered and is present (link) or not required. Check this only when the PR introduces or changes a user-facing feature or behavior. - [x] Self-review: I have reviewed my own code (e.g., via [`/gh-pr-review`](/.claude/skills/gh-pr-review/SKILL.md), `gh pr diff`, or GitHub UI) before requesting review from others ### Release note ```release-note Fix crash when clicking topic title in message search results ``` fixed: #13620 Signed-off-by: kangfenmao <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bb3decb - Browse repository at this point
Copy the full SHA bb3decbView commit details -
fix: correct parameter order in knowledgeSearchTool call (#13635)
### What this PR does Before this PR: The `knowledgeSearchTool()` function in `searchOrchestrationPlugin.ts` was called with the 3rd and 4th parameters swapped — `userMessage` was passed as `topicId` and vice versa. This caused knowledge base searches to use corrupted tracing context and incorrect query text, resulting in knowledge base content not being delivered to the model. After this PR: The parameters are passed in the correct order matching the function signature in `KnowledgeSearchTool.ts`, restoring proper knowledge base search functionality. Fixes #13609 ### Why we need it and why it was done in this way The parameter order bug was introduced in commit `e10042a43` (Feat/provider options and built-in tools #10068) and has persisted through v1.8.0 and v1.8.1. The fix is a simple parameter swap — no logic changes needed. The following tradeoffs were made: None — this is a straightforward bug fix. The following alternatives were considered: None — the root cause is clear. ### Breaking changes None. ### Special notes for your reviewer The function signature in `KnowledgeSearchTool.ts:13-18` expects: ```typescript knowledgeSearchTool(assistant, extractedKeywords, topicId, userMessage?) ``` But the call site had `getMessageContent(userMessage)` and `topicId` swapped. ### Checklist - [x] PR: The PR description is expressive enough and will help future contributors - [x] Code: Write code that humans can understand and Keep it simple - [x] Refactor: You have left the code cleaner than you found it (Boy Scout Rule) - [ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required - [ ] Documentation: N/A — bug fix, no user-facing documentation change needed - [x] Self-review: I have reviewed my own code before requesting review from others ### Release note ```release-note Fix knowledge base content not being delivered to the model when selected in conversation ``` Signed-off-by: Siin Xu <[email protected]> Co-authored-by: Claude Opus 4.6 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 62c1eb2 - Browse repository at this point
Copy the full SHA 62c1eb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8124236 - Browse repository at this point
Copy the full SHA 8124236View commit details -
chore: release v1.8.2 (#13639)
<!-- Template from https://github.com/kubevirt/kubevirt/blob/main/.github/PULL_REQUEST_TEMPLATE.md?--> <!-- Thanks for sending a pull request! Here are some tips for you: 1. Consider creating this PR as draft: https://github.com/CherryHQ/cherry-studio/blob/main/CONTRIBUTING.md --> <!--
⚠️ Important: Redux/IndexedDB Data-Changing Feature PRs Temporarily On Hold⚠️ Please note: For our current development cycle, we are not accepting feature Pull Requests that introduce changes to Redux data models or IndexedDB schemas. While we value your contributions, PRs of this nature will be blocked without merge. We welcome all other contributions (bug fixes, perf enhancements, docs, etc.). Thank you! Once version 2.0.0 is released, we will resume reviewing feature PRs. --> ### What this PR does Release Cherry Studio v1.8.2 Before this PR: - Version 1.8.1 is the latest release After this PR: - Version 1.8.2 with bug fixes and model updates <!-- (optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: --> Fixes # ### Why we need it and why it was done in this way This is a patch release that includes: - Bug fixes for knowledge base, message search, and backup restoration - New model support for Xiaomi MiMo-V2-Pro and MiMo-V2-Omni - MiniMax default model upgrade to M2.7 The following tradeoffs were made: - N/A — this is a scheduled patch release The following alternatives were considered: - N/A — standard release workflow Links to places where the discussion took place: <!-- optional: slack, other GH issue, mailinglist, ... --> ### Breaking changes <!-- optional --> None. This is a patch release with no breaking changes. ### Special notes for your reviewer <!-- optional --> **Release Review Checklist:** - [ ] Review generated release notes in `electron-builder.yml` - [ ] Verify version bump in `package.json` (1.8.1 → 1.8.2) - [ ] CI passes - [ ] Merge to trigger release build **Included Commits:** - 8124236 fix(config): update app upgrade segments and include new gateway version - 62c1eb2 fix: correct parameter order in knowledgeSearchTool call (#13635) - bb3dec9 fix(MessageHeader): crash when clicking topic in message search (#13627) - 24645d3 fix(tests): resolve Windows test failures and upgrade prek (#13619) - 0b08fd9 refactor: remove manual install update logic and related API calls - f517a07 fix(BackupManager): update data destination path for backup restoration - f658484 refactor(ConfigManager): remove legacy config migration logic - c1c1b34 chore: Add CI check scripts to package.json (#13564) - 78decc4 feat(model): add support for MiMo-V2-Pro and MiMo-V2-Omni (#13613) - d081b05 fix: Format provider API hosts in API server (#13198) - e4112ba feat: upgrade MiniMax default model to M2.7 (#13593) ### Checklist This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR. Approvers are expected to review this list. - [x] PR: The PR description is expressive enough and will help future contributors - [ ] Code: [Write code that humans can understand](https://en.wikiquote.org/wiki/Martin_Fowler#code-for-humans) and [Keep it simple](https://en.wikipedia.org/wiki/KISS_principle) - [ ] Refactor: You have [left the code cleaner than you found it (Boy Scout Rule)](https://learning.oreilly.com/library/view/97-things-every/9780596809515/ch08.html) - [ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required - [ ] Documentation: A [user-guide update](https://docs.cherry-ai.com) was considered and is present (link) or not required. Check this only when the PR introduces or changes a user-facing feature or behavior. - [ ] Self-review: I have reviewed my own code (e.g., via [`/gh-pr-review`](/.claude/skills/gh-pr-review/SKILL.md), `gh pr diff`, or GitHub UI) before requesting review from others ### Release note <!-- Write your release note: 1. Enter your extended release note in the below block. If the PR requires additional action from users switching to the new release, include the string "action required". 2. If no release note is required, just write "NONE". 3. Only include user-facing changes (new features, bug fixes visible to users, UI changes, behavior changes). For CI, maintenance, internal refactoring, build tooling, or other non-user-facing work, write "NONE". --> ```release-note Cherry Studio 1.8.2 - Bug Fixes and Model Updates 🐛 Bug Fixes - [Knowledge Base] Fix knowledge base content not being delivered to the model when selected in conversation - [Search] Fix crash when clicking topic title in message search results - [Backup] Fix backup restoration path issue ✨ New Features - [Models] Add support for Xiaomi MiMo-V2-Pro and MiMo-V2-Omni models with reasoning control and tool use capabilities 💄 Improvements - [Models] Upgrade MiniMax default model to M2.7 with enhanced reasoning and coding capabilities ``` Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for dbc755c - Browse repository at this point
Copy the full SHA dbc755cView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.8.1...v1.8.2