From 08f577bf4e815d4198435a4679345f8857265a76 Mon Sep 17 00:00:00 2001 From: zkpaiminmin <270750933@qq.com> Date: Mon, 23 Mar 2026 20:13:35 +0800 Subject: [PATCH] docs: add v0.3.1 changelog Update CHANGELOG.md and webview/src/version/changelog.ts with v0.3.1 release notes covering 3 new features, 8 bug fixes, and 6 improvements from PR #695. --- CHANGELOG.md | 56 ++++++++++++++++++++++++++++++++ webview/src/version/changelog.ts | 50 ++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d61bf43c..35edcf72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,59 @@ +##### **2026年3月23日(v0.3.1)** + +English: + +✨ Features +- Add CLI Login provider: delegate authentication to Claude SDK's native OAuth flow, with account info display and authorize/revoke dialogs in ProviderList; update i18n across 9 languages +- Add provider deactivation support: deactivateClaudeProvider() sets current provider to empty string, add confirmation dialogs for switching to/from local provider, simplify settings UI by integrating provider info into ProviderList +- Add Korean language support #KimTibber + +🐛 Fixes +- Fix UI stuck in responding/thinking state: resolve multiple race conditions in DaemonBridge, ClaudeMessageHandler, StreamMessageCoalescer, and streamingCallbacks.ts that left the frontend permanently stuck after stream completion or error +- Fix race condition where last streaming assistant message is lost: move ref cleanup into setMessages updater body in onStreamEnd, add fallback recovery path via message-level markers #gadfly3173 +- Fix JCEF WebView showing incorrect cursor types on macOS: add CefDisplayHandler to map Chromium cursor changes to Swing cursors (#753) #yogendrasinghx +- Fix Codex history initial load returning fewer sessions than refresh: replace unreliable root-dir timestamp check with file-count comparison #gadfly3173 +- Fix MSYS2/Git Bash path conversion: handle ~, /home/\, /tmp, /dev/null mappings; consolidate temp directory resolution into PlatformUtils.getTempDirectory() #gadfly3173 +- Fix node path validation regression: reject invalid saved node paths and keep bridge state in sync #gadfly3173 +- Fix plugin installation and UI interaction reliability: support versioned plugin directories, prevent thinking block expansion state being overridden, enqueue dialog requests to avoid losing follow-ups #hpstream +- Rename "Auto Open File" label to "Send Opened File Path" across all 8 locales to accurately describe behavior (#693) #gadfly3173 + +🔧 Improvements +- Large-scale backend refactoring: split ClaudeSDKBridge (1600+ lines) into 12 focused classes, DiffHandler into 7 modules, ClaudeSession into SessionContextService/SessionProviderRouter/SessionSendService/SessionCallbackFacade/SessionMessageOrchestrator, PermissionService into dedicated modules, SlashCommandRegistry into 6 focused classes with unit tests, PersistentQueryService and ChatInputBox hooks into focused modules, CodexHistoryReader into 4 focused modules +- Reorganize Java package structure by domain: action/dev, action/editor, action/tab, action/vcs, ui/detached, ui/toolwindow, i18n, permission, session, settings, skill +- Reorganize handler classes into domain subpackages: handler/core, handler/file, handler/history, handler/provider +- Normalize model resolution and env config handling: keep canonical model ID in Java session state, add normalizeProviderEnvForSave/sanitizeProviderJsonConfig helpers, add unit tests +- Extract CursorHandler and throttle mousemove listener with requestAnimationFrame +- Translate Chinese comments and JSDoc to English across 14 files for international collaboration +- Rename plugin ID and project name to jetbrains-claude-code-gui; update build.gradle, plugin.xml, and settings.gradle + +中文: + +✨ Features +- 新增 CLI Login Provider:通过 Claude SDK 原生 OAuth 流程完成认证,ProviderList 显示账户信息及授权/撤销对话框,更新 9 种语言 i18n +- 新增 Provider 停用支持:deactivateClaudeProvider() 将当前 Provider 置为空字符串,切换本地 Provider 时显示确认对话框,将 Provider 信息集成至 ProviderList 简化设置界面 +- 新增韩语支持 #KimTibber + +🐛 Fixes +- 修复 UI 卡在"响应中/思考中"状态:修复 DaemonBridge、ClaudeMessageHandler、StreamMessageCoalescer 及 streamingCallbacks.ts 中多处竞态条件,防止流结束或报错后前端永久卡死 +- 修复流结束时最后一条助手消息丢失的竞态问题:将 ref 清理移至 setMessages updater 内,添加基于消息级别标记的兜底恢复路径 #gadfly3173 +- 修复 JCEF WebView 在 macOS 上光标类型不正确:新增 CefDisplayHandler 将 Chromium 光标变化映射为 Swing 光标 (#753) #yogendrasinghx +- 修复 Codex 历史记录首次加载比刷新少会话:将不可靠的根目录时间戳检查改为文件数量比较 #gadfly3173 +- 修复 MSYS2/Git Bash 路径转换:处理 ~、/home/\、/tmp、/dev/null 映射;将临时目录解析统一至 PlatformUtils.getTempDirectory() #gadfly3173 +- 修复 Node 路径验证回归:拒绝保存无效路径并同步 Bridge 状态 #gadfly3173 +- 修复插件安装和 UI 交互可靠性:支持带版本号的插件目录、防止 thinking block 展开状态被覆盖、将对话框请求入队避免丢失 #hpstream +- 将"Auto Open File"标签重命名为"Send Opened File Path",8 种语言全部更新,准确描述功能行为 (#693) #gadfly3173 + +🔧 Improvements +- 大规模后端重构:ClaudeSDKBridge(1600+ 行)拆分为 12 个聚焦类、DiffHandler 拆分为 7 个模块、ClaudeSession 拆分为 SessionContextService/SessionProviderRouter/SessionSendService/SessionCallbackFacade/SessionMessageOrchestrator、PermissionService 拆分为独立模块、SlashCommandRegistry 拆分为 6 个聚焦类并附单元测试、PersistentQueryService 和 ChatInputBox 拆分为聚焦 hooks、CodexHistoryReader 拆分为 4 个聚焦模块 +- 按领域重组 Java 包结构:action/dev、action/editor、action/tab、action/vcs、ui/detached、ui/toolwindow、i18n、permission、session、settings、skill +- 将 handler 类重组为领域子包:handler/core、handler/file、handler/history、handler/provider +- 规范化模型解析和环境变量配置:Java 侧保留规范 model ID,新增 normalizeProviderEnvForSave/sanitizeProviderJsonConfig 辅助函数,补充单元测试 +- 提取 CursorHandler,并使用 requestAnimationFrame 节流 mousemove 监听 +- 将 14 个文件中的中文注释和 JSDoc 统一翻译为英文,提升国际协作体验 +- 重命名插件 ID 和项目名称为 jetbrains-claude-code-gui,同步更新 build.gradle、plugin.xml 和 settings.gradle + +--- + ##### **2026年3月16日(v0.3)** English: diff --git a/webview/src/version/changelog.ts b/webview/src/version/changelog.ts index 6d787098..7afdc31c 100644 --- a/webview/src/version/changelog.ts +++ b/webview/src/version/changelog.ts @@ -12,6 +12,56 @@ export interface ChangelogEntry { } export const CHANGELOG_DATA: ChangelogEntry[] = [ + { + version: '0.3.1', + date: '2026-03-23', + content: { + en: `✨ Features +- Add CLI Login provider: delegate auth to Claude SDK's native OAuth flow, with account info display and authorize/revoke dialogs; update i18n across 9 languages +- Add provider deactivation support: deactivateClaudeProvider() sets current provider to empty, add confirmation dialogs for switching to/from local provider, simplify settings UI +- Add Korean language support #KimTibber + +🐛 Fixes +- Fix UI stuck in responding/thinking state: resolve race conditions in DaemonBridge, ClaudeMessageHandler, StreamMessageCoalescer, and streamingCallbacks.ts +- Fix race condition where last streaming assistant message is lost: move ref cleanup into setMessages updater, add fallback recovery path #gadfly3173 +- Fix JCEF WebView incorrect cursor types on macOS: add CefDisplayHandler to map Chromium cursors to Swing (#753) #yogendrasinghx +- Fix Codex history initial load returning fewer sessions than refresh: replace root-dir timestamp check with file-count comparison #gadfly3173 +- Fix MSYS2/Git Bash path conversion: handle ~, /home/, /tmp, /dev/null mappings; consolidate temp dir resolution into PlatformUtils.getTempDirectory() #gadfly3173 +- Fix node path validation regression: reject invalid saved node paths and keep bridge state in sync #gadfly3173 +- Fix plugin installation and UI interaction reliability: versioned plugin dirs, thinking block state, enqueue dialog requests #hpstream +- Rename "Auto Open File" to "Send Opened File Path" across all 8 locales (#693) #gadfly3173 + +🔧 Improvements +- Large-scale refactoring: ClaudeSDKBridge (1600+ lines) → 12 classes, DiffHandler → 7 modules, ClaudeSession → 5 modules, SlashCommandRegistry → 6 classes, CodexHistoryReader → 4 modules, PersistentQueryService and ChatInputBox split into focused modules +- Reorganize Java package structure by domain (action, ui, handler subpackages) +- Normalize model resolution: keep canonical model ID in Java, add env config normalization helpers with tests +- Extract CursorHandler and throttle mousemove with requestAnimationFrame +- Translate Chinese comments and JSDoc to English across 14 files +- Rename plugin ID and project name to jetbrains-claude-code-gui`, + zh: `✨ Features +- 新增 CLI Login Provider:通过 Claude SDK 原生 OAuth 认证,ProviderList 显示账户信息及授权/撤销对话框,更新 9 种语言 i18n +- 新增 Provider 停用支持:切换本地 Provider 时显示确认对话框,将 Provider 信息集成至 ProviderList 简化设置界面 +- 新增韩语支持 #KimTibber + +🐛 Fixes +- 修复 UI 卡在"响应中/思考中"状态:修复 DaemonBridge、ClaudeMessageHandler、StreamMessageCoalescer 及 streamingCallbacks.ts 多处竞态 +- 修复流结束时最后一条助手消息丢失的竞态问题 #gadfly3173 +- 修复 JCEF WebView 在 macOS 上光标类型不正确 (#753) #yogendrasinghx +- 修复 Codex 历史记录首次加载比刷新少会话 #gadfly3173 +- 修复 MSYS2/Git Bash 路径转换:处理 ~、/tmp、/dev/null 等映射 #gadfly3173 +- 修复 Node 路径验证回归:拒绝保存无效路径 #gadfly3173 +- 修复插件安装和 UI 交互可靠性:支持带版本号插件目录、对话框请求入队 #hpstream +- 将"Auto Open File"重命名为"Send Opened File Path",8 种语言全部更新 (#693) #gadfly3173 + +🔧 Improvements +- 大规模后端重构:ClaudeSDKBridge(1600+行)→ 12 个类,DiffHandler → 7 个模块,ClaudeSession → 5 个模块,SlashCommandRegistry → 6 个类,CodexHistoryReader → 4 个模块 +- 按领域重组 Java 包结构(action、ui、handler 子包) +- 规范化模型解析和环境变量配置,新增辅助函数和单元测试 +- 提取 CursorHandler,使用 requestAnimationFrame 节流 mousemove 监听 +- 将 14 个文件中文注释和 JSDoc 统一翻译为英文 +- 重命名插件 ID 和项目名称为 jetbrains-claude-code-gui`, + }, + }, { version: '0.3', date: '2026-03-16',