Skip to content

Releases: CherryHQ/cherry-studio

v1.4.8

03 Jul 16:18
Compare
Choose a tag to compare

What's Changed

  • feat: Add S3 Backup by @GeorgeDong32 in #6802
  • chore: format zh-cn and zh-tw i18n strings with pangu. by @Konjac-XZ in #7644
  • fix: restore message content className logic to resolve search issue by @kingsword09 in #7651
  • feat: support linux deb by @beyondkmp in #7652
  • fix: textarea not resizing back after clearing long input (#7609) by @suenyiyang in #7632
  • fix(models): enhance Doubao model checks to include model.id conditions by @DeJeune in #7657
  • chore(OpenAIApiClient): handle empty delta objects in non-streaming esponses by @WAcry in #7658
  • Feat/ppio rerank by @cnJasonZ in #7567
  • fix(translate): improve language options with clearer values by @EurFelux in #7640
  • Fix/gemini by @DeJeune in #7659
  • fix(ImageGenerationMiddleware): read image binary data by @DeJeune in #7681
  • fix(Inputbar): fix enter key confict by @teojs in #7679
  • chore(package): add opendal dependency to package.json by @beyondkmp in #7685
  • feat: add country flag emoji support and enhance UI components by @beyondkmp in #7646
  • style(antd): Optimize antd components through patch method by @teojs in #7683
  • feat(TranslatePage): replace ReactMarkdown with MarkdownIt. by @Konjac-XZ in #7545
  • refactor(Messages): enhance ImageBlockGroup to dynamically adjust grid columns based on block count by @teojs in #7678
  • fix(WindowService): remove backgroundThrottling option for improved window configuration by @beyondkmp in #7699
  • refactor(APIClients): apply custom parameters conditionally for chat scenarios to avoid affecting other functionalities by @DeJeune in #7702
  • fix: Ensure tool call results are included in the conversation context by @EurFelux in #7463
  • refactor(inputbar): enforce image upload and model mentioning restrictions by @EurFelux in #7314
  • feat(TopicsHistory): add sorting functionality for topics and update UI components by @teojs in #7673
  • fix: update default timeout configuration across API clients by @DeJeune in #7686
  • fix(WindowService): remove backgroundThrottling option for cleaner window configuration by @beyondkmp in #7704
  • test: add comprehensive tests for CopyButton component by @farion1231 in #7719
  • refactor(WebSearchMiddleware, linkConverter): enhance link processing and buffering logic by @DeJeune in #7724
  • chore(ci): update dependabot by @alephpiece in #7725
  • chore: update electron dependency to version 35.6.0 in package.json and yarn.lock by @beyondkmp in #7730
  • fix(MessageMenubar): Add check for empty relatedUserMessageBlocks to prevent errors by @EurFelux in #7733
  • fix: remove opendal by @alephpiece in #7753
  • refactor: Restructure the knowledge base directory by @kangfenmao in #7754
  • fix: add custom prompt setting for translate model by @Pleasurecruise in #7623
  • PPIO OAuth Login by @cnJasonZ in #7717
  • feat(AppUpdater): integrate User-Agent generation for autoUpdater req… by @kangfenmao in #7751
  • test: add tests for DividerWithText and EmojiIcon components by @farion1231 in #7747
  • fix: migrate version by @alephpiece in #7757
  • refactor: new knowledge base ui layout by @kangfenmao in #7748
  • chore: Disable auto-organize imports on save by @EurFelux in #7744
  • fix: clear cached web search and knowledge references in BaseApiClient by @kangfenmao in #7759
  • fix: i18n missing & model select options by @Pleasurecruise in #7760
  • chore: update markdown-related packages by @alephpiece in #7745
  • chore: update i18n script by @alephpiece in #7729
  • refactor(ProviderSettings): add provider key by urlScheme by @beyondkmp in #7529
  • feat: Add code linting plugin support to the Electron configuration by @ZeroZ-lab in #7740
  • fix(AboutSettings): don't throw a notification when switch to the about page by @beyondkmp in #7688
  • fix: cannot move data dir in linux by @beyondkmp in #7643
  • chore: remove dependency updates by @alephpiece in #7743
  • feat: SelectionAssistant macOS version / 划词助手macOS版 by @0xfullex in #7561
  • fix(migrate): enable stream output for existing assistants in migrati… by @DeJeune in #7772
  • feat(knowledge): support doc2x, mistral, MacOS, MinerU... OCR by @eeee0717 in #3734
  • fix(messageThunk): handle missing user message in response creation by @ABucket in #7375
  • fix(SelectionAssistant): [macOS] enable AXAPI in Chrome and Electron Apps by @0xfullex in #7782
  • HotFix/dexie error by @DeJeune in #7778
  • HotFix: QuotaTag 循环调用 by @eeee0717 in #7788
  • feat: add PH8 provider support by @littleRiceZhou in #7756

New Contributors

Full Changelog: v1.4.7...v1.4.8

v1.5.0-rc.3

01 Jul 11:50
3eb6d08
Compare
Choose a tag to compare
v1.5.0-rc.3 Pre-release
Pre-release

新增:

  • TTS语音播放
  • MCP DXT格式导入

修复:

  • 全局记忆入口不显示问题,优化UI

v1.5.0-rc.2

30 Jun 08:52
Compare
Choose a tag to compare
v1.5.0-rc.2 Pre-release
Pre-release

功能预览✨

  • 知识库文档预处理(支持MacOS OCR)
  • MacOS划词助手
  • OpenAI DeepResearch
  • 全局记忆功能

Feature Preview✨

  • Knowledge Base Document Preprocessing(Support MacOS OCR)
  • MacOS Text Selection Assistant
  • OpenAI DeepResearch
  • Global Memory Function

v1.4.7

29 Jun 02:06
Compare
Choose a tag to compare

What's Changed

  • fix(Selector): Fix the issue with the Selector component being selected. by @teojs in #7600
  • fix(models): Resolve case sensitivity issue with model names by @EurFelux in #7595
  • fix(Markdown, LaTeX): do not touch escaped brackets by @alephpiece in #7582
  • refactor: show error on missing mcp tool by @alephpiece in #7587
  • refactor(CodePreview): line numbers as elements by @alephpiece in #7588
  • docs: add 20 language links of README by @shps951023 in #7611
  • feat(WebSearch): support RAG for external websearch, improve feedback by @alephpiece in #7446
  • fix: tei reranker by @eeee0717 in #7606
  • refactor: increase css editor height, fix EditMcpJsonPopup by @alephpiece in #7535
  • feat: Increase the upper limit of web search results by @EurFelux in #7439
  • fix: support spell check for mini app by @beyondkmp in #7602
  • fix(models): Add inference model detection for qwen-plus and qwen-turbo by @EurFelux in #7622
  • fix(FileStorage): remove redundant WordExtractor import by @beyondkmp in #7625
  • fix: restore strict no-think for Openrouter provider with latest api by @happyZYM in #7620
  • fix: move ContentSearch below Messages in Chat layout by @Pleasurecruise in #7628
  • fix(models): update regex patterns for Doubao models and enhance function checks by @DeJeune in #7624
  • fix: 测试版本 by @beyondkmp in #7590
  • fix(migrate): handle state return in migration process and add upgradechannel setting by @beyondkmp in #7634
  • fix(Menubar): icon for multi select by @alephpiece in #7635
  • ♻️ refactor(ContentSearch): ContentSearch to use CSS highlights API by @kingsword09 in #7493

New Contributors

Full Changelog: v1.4.6...v1.4.7

v1.4.6

26 Jun 10:30
Compare
Choose a tag to compare

What's Changed

  • fix: use shouldThrow param in checkApi instead of adding error property to CompletionsResult by @EurFelux in #7457
  • feat(FileStorage): add support for .doc files using word-extractor by @ABucket in #7374
  • fix(rename): disable thinking for topic rename by @purefkh in #7461
  • feat(TopicsTab): Allow deletion of inactive topics by @EurFelux in #7415
  • fix: re-add newline separator between reasoning_summary parts after openai middleware refactor by @MurphyLo in #7390
  • fix(Markdown): improve latex brackets handling by @alephpiece in #7358
  • feat(mcpServers): Add a thought field to sequential thinking mcp server by @EurFelux in #7465
  • fix: Data config improvement by @beyondkmp in #7471
  • feat(ContextMenu): add spell check and dictionary suggestions to context menu by @beyondkmp in #7067
  • fix: display updated timestamp when available in knowledge base by @Ying-xi in #7453
  • feat: Update API Key Management Interface by @FunJim in #3444
  • refactor(CodePreview): auto resize gutters by @alephpiece in #7481
  • refactor: file actions into FileAction service by @Pleasurecruise in #7413
  • fix: add tag collapse state management for assistants by @Pleasurecruise in #7436
  • fix(model): doubao thinking param by @alephpiece in #7499
  • feat: Implement occupied directories handling during data copy by @beyondkmp in #7485
  • feat: add appcode by @DDU1222 in #7507
  • fix: non streamoutput sometimes by @DeJeune in #7512
  • feat: 一些UI上的优化和重构 by @teojs in #7479
  • fix: bailian reranker by @eeee0717 in #7518
  • feat: implement Python MCP server using existing Pyodide infrastructure by @vaayne in #7506
  • refactor: rename isWindows to isWin for consistency across main/renderer by @0xfullex in #7530
  • refactor: data migration modal logic in DataSettings by @Pleasurecruise in #7503
  • fix: clear search cache on resending by @alephpiece in #7510
  • fix: Resolve vllm bad request caused by always sending dimensions in embedding requests by @EurFelux in #7525
  • feat: Support custom registry address when configuring mcp for npm & fix lint error by @silenceboychen in #7531
  • refactor(GeminiAPIClient): separate model and user message handling to adapt vertex by @DeJeune in #7511
  • feat(SelectionAssistant): actionWindow show footer a while when initial showing and key pressing by @0xfullex in #7534
  • fix(SelectionAssistant): opacity slider too slow when sliding in settings page by @0xfullex in #7537
  • fix(AihubmixAPIClient): add getBaseURL method to handle client base URL retrieval by @DeJeune in #7538
  • refactor(SelectionAssistant): make all Toolbar CSS variables customizable by @0xfullex in #7532
  • fix(CodeEditor): save to db by @alephpiece in #7504
  • style: 优化消息滚动条 by @teojs in #7549
  • fix: Gemini reasoning model check and improve citation popover structure by @kangfenmao in #7554
  • Fix anthropic request cannot handle webSearch and knowbase references by @kangfenmao in #7559
  • refactor(CodePreview): handle chunking in ShikiStreamService, make the algorithm more robust by @alephpiece in #7409
  • fix(models): update isReasoningModel function to exclude embedding models by @DeJeune in #7540
  • feat(MentionedModels): improve feedback for MessageGroupModelList by @alephpiece in #7539
  • feat: implement early access feature toggle and update related configurations by @beyondkmp in #7304
  • fix(Markdown): falsely early return for display \[\n...\n\] by @alephpiece in #7565
  • feat(FileStorage): enhance open dialog to handle large files by retur… by @kangfenmao in #7568
  • fix(Messages): Fix single model response style issue by @teojs in #7560

New Contributors

Full Changelog: v1.4.5...v1.4.6

v1.4.5

22 Jun 09:41
Compare
Choose a tag to compare

What's Changed

  • feat(Markdown): disable indented code blocks by @alephpiece in #7288
  • fix(AssistantService): add default settings configuration to assistant initialization by @ABucket in #7371
  • fix(i18n): fix model name export help text by @GeorgeDong32 in #7372
  • fix(GeminiAPIClient): update abortSignal option and ensure userLastMessage is pushed to messages by @DeJeune in #7387
  • fix: Chat does not work properly when configuring multiple API keys by @EurFelux in #7385
  • fix(ApiService): correct enableWebSearch conditional logic error by @EurFelux in #7396
  • fix(models): Unexpected inability to disable image generation feature by @EurFelux in #7401
  • fix: add node-stream-zip for zip file extraction in install-bun script by @beyondkmp in #7403
  • fix: remove duplicated deepseek-v3 in volcengine by @EurFelux in #7406
  • fix: 修复数据目录迁移的bug by @beyondkmp in #7386
  • fix: update source language handling and persist user selection in TranslatePage component by @Pleasurecruise in #7243
  • refactor(middleware): Add error property to CompletionResult and handle errors when checking API by @EurFelux in #7407

New Contributors

Full Changelog: v1.4.4...v1.4.5

v1.5.0-rc.1

19 Jun 12:23
Compare
Choose a tag to compare
v1.5.0-rc.1 Pre-release
Pre-release
chore(version): 1.4.4

v1.4.4

19 Jun 11:39
Compare
Choose a tag to compare

What's Changed

  • 新功能:选择用户数据保存的目录
  • 快捷助手:支持单独选择助手,支持暂停、上下文、思考过程、流式
  • 划词助手:通过系统托盘菜单开关
  • 翻译(Sidebar):新增翻译设置的 Markdown 预览选项
  • 新供应商:新增Vertex AI支持、新增Lanyu
  • 修复API:OpenAI 响应工具使用问题、Anthropic非流式工具调用的处理、Gemini消息初始化和处理逻辑、SiliconFlow失效文生图模型、Doubao/Mistral推理控制支持
  • 修复文件与内容处理:优化块检索中的图片文件处理、改进知识库搜索的重写逻辑、修复知识库创建时嵌入维度获取失败的问题
  • 修复UI与交互:统一发送消息快捷键行为、多模型响应中锚点点击无法跳转的问题、输入栏回车键处理
  • 修复MCP:MCP 服务器工具获取的错误处理、移除已弃用的MCP和知识库逻辑
  • fix(Markdown): inline math overflow by @alephpiece in #7095
  • feat:add cephalon provider by @HzTTT in #7050
  • Feat/support 302ai provider by @JI4JUN in #7044
  • feat: add middleware support for provider by @MyPrototypeWhat in #6176
  • feat(Markdown): customize table to support source copying by @alephpiece in #7019
  • feat: animate topic renaming by @alephpiece in #6794
  • fix: start animation only if the topic should be renamed by @alephpiece in #7125
  • feat: Support reasoning control for Doubao/Mistral models. by @Konjac-XZ in #7116
  • fix: token usage always display when assistant msg generation aborted by @EurFelux in #7121
  • feat: Reduce app size by @beyondkmp in #7113
  • feat: Enhance AppUpdater for Windows installation directory support by @beyondkmp in #7135
  • refactor(CodeEditor): remove the right border of gutters by @alephpiece in #7137
  • fix(MermaidPreview): re-render mermaid on display change by @alephpiece in #7058
  • fix(TopicRenaming): captured activeTopic.id is outdated and causes accidental topic changing after renaming by @alephpiece in #7157
  • refactor(ImageBlock): enhance loading state presentation and improve … by @MyPrototypeWhat in #7160
  • feat: clean up Windows license files by @beyondkmp in #7133
  • chore(electron.vite.config): update Rollup configuration for single file packaging by @beyondkmp in #7183
  • fix(SelectionAssistant): make add custom action button bigger by @0xfullex in #7185
  • feat: add prompt variable "username" by @EurFelux in #7174
  • fix: model_name prompt var always use default model by @EurFelux in #7178
  • fix: missing topic prompt on resend/regenerate and duplicate prevention by @EurFelux in #7173
  • fix: transparent background on translate dropdown by @EurFelux in #7189
  • fix: remove margin-bottom for loading animation by @EurFelux in #7191
  • feat: add prompt variables docs on topic naming modal popup by @EurFelux in #7175
  • fix: update app-builder-lib patch and add excludeReBuildModules option by @beyondkmp in #7193
  • fix: update app-builder-lib patch and adjust minimumSystemVersion handling by @beyondkmp in #7197
  • fix(model): qwen3 model detection by @alephpiece in #7201
  • fix(ImageGenerationMiddleware): correctly process image URLs by @Doekin in #7198
  • chore(ci): remove --fix from lint by @alephpiece in #7159
  • fix: 7127 by @eeee0717 in #7196
  • fix: send message shortcut doesn't work when editing existing message by @EurFelux in #6934
  • feat:add lanyun mcp server by @AichaelLee in #7163
  • feat: use variables in topic naming and improve default prompt by @EurFelux in #7083
  • refactor: optimize notion export by @GeorgeDong32 in #7228
  • fix: prevent update button from rendering when auto-check for updates… by @Pleasurecruise in #7212
  • fix(SelectionService): Win10 showing problem & AlwaysOnTop level by @0xfullex in #7215
  • feat: Add PDF file support for OpenAI vision models by @MurphyLo in #7217
  • fix: include image files in block retrieval for improved file handling by @Pleasurecruise in #7231
  • fix: enable stream output in assistant settings for chat completion by @DeJeune in #7240
  • fix: gemini generateImage model detection by @alephpiece in #7241
  • fix: reranker i18n by @EurFelux in #7251
  • feat: add quick assistant settings panel and management functionality by @jwcrystal in #6201
  • fix: enhance AppUpdater with IP country detection by @beyondkmp in #7235
  • Feat/vertex ai support by @DeJeune in #6416
  • fix: modify siliconflow text-to-image available models by @Pleasurecruise in #7165
  • [功能]: aihubmix 更新默认模型 by @DDU1222 in #7242
  • fix: support tei by @eeee0717 in #7239
  • fix(PromptPopup): Textarea overflow causes modal's close button unclickable by @kingsword09 in #7266
  • fix(Inputbar): handle Enter key press correctly during composition by @0xfullex in #7269
  • fix(MessageMenubar): add "copy plain text" control by @GeorgeDong32 in #7261
  • Update models.ts, fix doubao-seed-1-6 by @koinin in #7274
  • fix: unified the behavior of SendMessage shortcut by @0xfullex in #7276
  • fix: add Markdown preview option in translation settings by @Pleasurecruise in #7250
  • fix: classify agents as Chinese and English by @IvanHanloth in #7287
  • fix: use rewrite to search knowledge by @eeee0717 in #7289
  • fix: refactor provider middleware by @MyPrototypeWhat in #7164
  • feat: Add pricing configuration and display for models by @shiquda in #3125
  • fix: update buildSdkMessages to handle undefined output in API clients by @DeJeune in #7293
  • feat: toggle Selection Assistant on tray menu by @0xfullex in #7286
  • fix: update dify icon by @ZeroZ-lab in #7301
  • feat: Add app data path selection and relaunch functionality by @beyondkmp in #6096
  • fix: initialize messageContents and improve message handling in GeminiAPIClient; add new Gemini model to configuration by @DeJeune in #7307
  • fix: lint by @DeJeune in #7333
  • fix(OpenAI): respect successful stream without finish reason by @alephpiece in #7326
  • refactor(QuickAssistant): fix loop rendering & support context/pause/thinking block by @0xfullex in #7336
  • feat: update gemini-2.5 model capabilities and thinking budget by @purefkh in #7323
  • fix(AnthropicAPIClient): non stream tooluse by @DeJeune in #7338
  • Fix: Handle embedding dimension retrieval failure when creating knowledge base by @EurFelux in #7324
  • fix: 修复多模型回答的锚点点击无法跳转问题 by @teojs in #7342
  • fix(ApiService): improve error handling when fetching tools from MCP servers by @DeJeune in #7340
  • fix: openai response tool use by @DeJeune in #7332
  • chore(WebDav): remove useless webdav restore by @alephpiece in #7347
  • refactor: remove deprecated MCP server handling and knowledge base ID logic from Inputbar and related services by @DeJeune in #7339
  • refactor(CodeBlock): support more file extensions for code downloading by @alephpiece in #7192
  • refactor: hard-coded language map by @alephpiece in #7360
  • fix: update WindowService transparency and improve Inputbar resizing … by @kangfenmao in #7362

New Contributors

Read more

v1.4.3

16 Jun 08:40
Compare
Choose a tag to compare

服务商:新增端脑云、302.AI、蓝耘服务商
MCP: 新增蓝耘 MCP 服务器
实现话题重命名动画效果
错误修复

Full Changelog: v1.4.2...v1.4.3

v1.5.0-rc.0

15 Jun 14:24
b4b71ee
Compare
Choose a tag to compare
v1.5.0-rc.0 Pre-release
Pre-release

添加知识库文档预处理功能(支持OCR)