release: prepare v0.4.10

This commit is contained in:
程序员阿江(Relakkes) 2026-07-18 19:12:26 +08:00
parent c60d3780b8
commit 34a3fcb22e
4 changed files with 126 additions and 12 deletions

View File

@ -1,7 +1,7 @@
{
"name": "claude-code-desktop",
"private": true,
"version": "0.4.9",
"version": "0.4.10",
"description": "Desktop coding agent workbench for Claude Code Haha.",
"homepage": "https://github.com/NanmiCoder/cc-haha",
"author": {

View File

@ -48,16 +48,16 @@ WINDOWS_CERTIFICATE_PASSWORD
4. 确认只出现标准下载来源确认,不出现无法验证开发者、文件损坏或 unidentified developer。
5. 再把后续 `v0.4.4` 作为自动更新验证目标。
## v0.4.9 自动更新验证
## v0.4.10 自动更新验证
发布 `v0.4.9` 时至少验证一条真实更新链路:
发布 `v0.4.10` 时至少验证一条真实更新链路:
1. 安装 GitHub Release 中的 `v0.4.8` 正式包。
2. 发布 `v0.4.9` tag`Release Desktop` workflow 完整通过。
3. 打开 `v0.4.8` 应用,等待启动后自动检查,或进入 Settings 手动检查更新。
4. 确认应用提示 `v0.4.9`,下载完成后点击安装并重启。
5. 重启后确认 About/Settings 中版本为 `0.4.9`并检查原有服务商、会话、Skills、记忆和自定义数据目录仍然可用。
6. 确认历史会话与全局搜索可以正常读取;在「设置 → 诊断」查看本地索引状态,并验证重建索引不会删除源会话文件。
1. 安装 GitHub Release 中的 `v0.4.9` 正式包。
2. 发布 `v0.4.10` tag`Release Desktop` workflow 完整通过。
3. 打开 `v0.4.9` 应用,等待启动后自动检查,或进入 Settings 手动检查更新。
4. 确认应用提示 `v0.4.10`,下载完成后点击安装并重启。
5. 重启后确认 About/Settings 中版本为 `0.4.10`并检查原有服务商、会话、Skills、记忆和自定义数据目录仍然可用。
6. 确认历史会话、对话内搜索、后台任务终态和全局搜索均可正常恢复;在「设置 → 诊断」查看本地索引状态,并验证重建索引不会删除源会话文件。
平台重点:
@ -70,9 +70,9 @@ WINDOWS_CERTIFICATE_PASSWORD
发版前至少运行:
```bash
bun run scripts/release.ts 0.4.9 --dry
bun run scripts/release.ts 0.4.10 --dry
bun test scripts/pr/release-workflow.test.ts scripts/release-update-metadata.test.ts scripts/quality-gate/package-smoke/index.test.ts
bun run check:policy
```
正式调用 `bun run scripts/release.ts 0.4.9` 前,先确认对应 `release-notes/v0.4.9.md` 已经存在。
正式调用 `bun run scripts/release.ts 0.4.10` 前,先确认对应 `release-notes/v0.4.10.md` 已经存在。

View File

@ -42,7 +42,7 @@
### [Electron 发布与自动更新](./10-release-auto-update.md)
维护者发版 runbookDeveloper ID 签名、GitHub Release metadata、`v0.4.8 -> v0.4.9` 自动更新验证路径。
维护者发版 runbookDeveloper ID 签名、GitHub Release metadata、`v0.4.9 -> v0.4.10` 自动更新验证路径。
### [Electron 迁移交互式验收清单](/desktop/electron-migration-qa-checklist.html)

114
release-notes/v0.4.10.md Normal file
View File

@ -0,0 +1,114 @@
# Claude Code Haha v0.4.10
这是 `v0.4.9` 之后的稳定性与恢复版本,重点修复会话重启、后台 Agent、权限拒绝、H5 断连、对话搜索和 Windows 覆盖升级中的边界问题,并补齐启动诊断、代理波动恢复、模型角色配置和无界面 H5 部署能力。
相比 `v0.4.9`,本版本更可靠地保存“已经完成、已经停止、已经拒绝”的真实状态。应用冷启动、网络波动或手机离开 H5 后不应再把终态回退为运行中也不应把未执行的写入显示为文件变更。Windows 安装器会更准确地区分真正占用安装目录的进程,并保护升级前的用户数据。
## Highlights
- **会话恢复与撤销更可信**:撤销当前轮次改用真实 checkpoint重启前会先落盘上下文恢复历史会话时不再误触发预热长对话重新挂载后保持阅读位置。
- **后台任务终态持久化**:后台 Agent 的完成、失败和停止状态会写入会话历史;完全退出再启动后,已完成卡片不会回退成“进行中”,旧版通知格式仍可继续读取。
- **H5 断连清理补齐启动竞态**:手机在 CLI 启动阶段离开、权限请求随后才出现时,服务端仍会建立清理观察;无人连接的权限等待会在上限后停止,重连和正常长任务不会被误杀。
- **Windows 覆盖升级加固**:安装器更准确地检查相关进程、处理当前用户安装和旧数据恢复,减少 CLR HRESULT、误报程序仍在运行或必须卸载重装的问题。
- **对话搜索与滚动稳定**:虚拟化长对话支持可靠搜索、方向导航和当前匹配定位;快速输入、内容刷新与组件重新挂载不会让旧结果覆盖新结果或把滚动位置拉回底部。
- **代理、启动与诊断更可恢复**:系统代理连接重置不会再触发主进程 JavaScript 异常渲染器入口失败时会显示启动错误SDK 诊断消息设有保留上限,避免长时间运行后持续占用内存。
## Fixes
- 修复异常结束的轮次必须重启后才能撤销、或撤销到错误文件状态的问题;现在使用服务端权威 checkpoint只回退目标轮次 (#1030)。
- 修复上下文在运行时重启前未完整落盘、恢复会话时额外预热可能污染上下文的问题 (#1033, #1054)。
- 修复长对话重新挂载后滚动位置丢失,以及搜索结果更新时方向键、当前匹配和高亮不同步的问题 (#1045, #1057)。
- 修复后台 Agent 完成通知与前台 Skill 并发时可能影响前台输出,以及冷启动后终态回退为“进行中”的问题 (#1047)。
- 修复中断的历史任务长期保持运行状态的问题;未完成轮次现在收敛为“已停止”,真正完成的轮次仍保持“已完成” (#1034)。
- 修复普通工具被拒绝后当前轮次仍继续执行,以及拒绝的 Write/Edit 虽未落盘却出现在 changed-files 卡片和工作区变更中的问题 (#1051)。
- 修复 H5 已离开但权限请求稍后才出现时,清理观察未能生效的问题;同时保留重连取消清理和正常后台执行语义 (#1019)。
- 修复系统代理节点切换、短暂断网或连接重置时弹出主进程异常、恢复网络后仍需重启的问题 (#1050, #1056)。
- 修复 Windows 当前用户覆盖安装可能出现 CLR HRESULT、误判残留进程、错误阻止安装或损伤旧数据恢复的问题 (#1028, #1029, #1036)。
- 修复渲染入口加载失败时应用只剩后台进程、没有可见错误窗口的问题 (#1032)。
- 修复 Sidecar 长时间保留过多 SDK 诊断事件导致内存持续增长的问题,同时保留实时回复和关键错误信息 (#1049)。
- 修复应用缩放和窗口变化后,原生浏览器预览与 React 容器边界错位的问题 (#1042)。
- 修复关闭最后一个预览标签后标签仍残留、需要额外操作才能退出预览的问题 (#1038)。
- 修复附件参与上下文分析时,不同消息形态可能导致状态计算不一致的问题 (#1022)。
## Features and Improvements
- 模型选择器会合并运行时配置中的主模型和 Haiku、Sonnet、Opus 等角色模型,并在重启后保持当前模型 (#1024)。
- 对话内查找新增面向虚拟化消息列表的定位桥接,可在大量历史消息中稳定查找并跳转。
- H5 文档补充无界面服务器构建和部署路径,发布流程会把 Web UI 产物包含进 Sidecar 构建 (#1027)。
- Proxy Trace 写盘与响应完成解耦,慢磁盘或大 Trace 不再阻塞用户看到最终回复 (#1014)。
- WebSocket 与会话服务增加后台任务终态的顺序写入、去重和旧格式兼容,多个观察端不会重复落盘同一通知。
- Windows 发布 smoke 增加安装进程检查、默认模式重装和旧目录数据恢复覆盖。
## Issue 对照
- #1014:避免 Trace 写盘阻塞响应完成。
- #1019:限制 H5 无人连接的权限等待,并修复先断连后出现审批的竞态。
- #1022:统一附件参与上下文状态分析的格式。
- #1024:展示配置中的主模型和角色模型。
- #1027:补充无界面 H5 构建与发布产物。
- #1028 / #1029 / #1036:加固 Windows 覆盖升级、进程检查和旧数据恢复。
- #1030:使用权威 checkpoint 撤销目标轮次。
- #1032:在渲染器启动失败时显示可见错误。
- #1033 / #1054:稳定重启、恢复和上下文落盘。
- #1034:让中断的历史任务正确显示为已停止。
- #1038:保持最后一个预览标签可正常关闭。
- #1042:让原生预览跟随应用缩放和窗口边界。
- #1045 / #1057:稳定长对话搜索、结果刷新和滚动恢复。
- #1047:保留前台 Skill 输出并持久恢复后台 Agent 终态。
- #1049:限制 Sidecar 诊断消息内存占用。
- #1050 / #1056:处理系统代理连接重置并支持恢复后重试。
- #1051:拒绝工具后停止当前轮次,不再显示未执行的文件变更。
## Verification
- 产品候选提交运行完整本地质量门9 项通过、0 项失败;发布文件变更再次通过 desktop、native、docs 与 coverage 检查,并通过 49 项 release workflow、updater metadata 和 package-smoke 专项测试。
- macOS 真人业务验证从官方 `v0.4.9` 对照到本版本候选:原清单完成 46/83 步,其中旧版证据 14/29、新版验证 20/36、完整工作流 10/18记录的问题均已复测关闭。
- 额外严格复测:拒绝 Write 后文件与 changed-files 均为 0后台 Agent 完成后冷启动仍保持完成H5 在提交后 328ms 断连30 分 28 秒后首次重连时权限流已收敛、会话停止且目标文件不存在。
- Windows 安装、覆盖升级、系统代理和任务管理器资源观测仍需使用本 Release 生成的 Windows 安装包完成实机验证Linux 无界面远程访问仍需独立 Linux 主机验证。未执行的平台步骤不计为通过。
## Notes
- GitHub Release 正文以 `release-notes/v0.4.10.md` 作为唯一来源。
- 桌面端发布版本号来源是 `desktop/package.json`root `package.json` 继续保留本地开发用的 `999.0.0-local`。发布时必须确保版本号、Git tag `v0.4.10` 和本文件严格一致。
- `Release Desktop` workflow 会构建 macOS、Windows 和 Linux 的 x64 / ARM64 安装包,并在完整资产和 updater metadata 校验通过后公开 Release。
- 自动更新验证路径是正式 `v0.4.9 -> v0.4.10`。发布完成后需核对 `latest-mac.yml``latest.yml``latest-linux.yml``latest-linux-arm64.yml`
- macOS 正式公开发布依赖签名和公证 secretsWindows 未配置签名时仍可安装和自动更新,但可能显示 SmartScreen 提示。
- Windows 实机测试必须使用由 `v0.4.10` Tag 生成的安装包,不能用 Tag 之前的候选构建代替。
## 安装
在本页面底部 Assets 中按系统和 CPU 架构下载:
| 平台 | 文件 |
|------|------|
| macOS Apple SiliconM 系列) | `Claude-Code-Haha-0.4.10-mac-arm64.dmg` |
| macOS Intel | `Claude-Code-Haha-0.4.10-mac-x64.dmg` |
| Windows x64 | `Claude-Code-Haha-0.4.10-win-x64.exe` |
| Windows ARM64 | `Claude-Code-Haha-0.4.10-win-arm64.exe` |
| Linux x64 | `Claude-Code-Haha-0.4.10-linux-x86_64.AppImage``Claude-Code-Haha-0.4.10-linux-amd64.deb` |
| Linux ARM64 | `Claude-Code-Haha-0.4.10-linux-arm64.AppImage``Claude-Code-Haha-0.4.10-linux-arm64.deb` |
### macOS
双击 DMG把应用拖入“应用程序”。正式签名和公证产物应直接通过正常 Gatekeeper 流程。
### Windows
双击 `.exe` 安装。建议直接以当前用户运行,不要使用“以管理员身份运行”。覆盖升级前先完全退出应用;如果安装器报告相关进程仍在运行,请根据提示关闭对应进程后重试。未签名构建出现 SmartScreen 时可选择“更多信息”→“仍要运行”。
### Linux
AppImage
```bash
chmod +x Claude-Code-Haha-0.4.10-linux-x86_64.AppImage
./Claude-Code-Haha-0.4.10-linux-x86_64.AppImage
```
deb
```bash
sudo apt install ./Claude-Code-Haha-0.4.10-linux-amd64.deb
```
ARM64 机器请换用对应的 `linux-arm64` 文件。