程序员阿江(Relakkes) 6e6c87aa16 release: v0.4.5
Tested: bun run scripts/release.ts 0.4.5 --dry

Tested: bun run verify (quality report artifacts/quality-runs/2026-07-02T18-46-23-146Z/report.md, passed=9 failed=0 skipped=1)

Tested: bun run quality:gate --mode release --allow-live --provider-model codingplan:main:codingplan-main (report artifacts/quality-runs/2026-07-02T18-54-51-367Z/report.md, passed=18 failed=1 skipped=0; live provider lanes passed)

Not-tested: local macOS Gatekeeper package-smoke did not pass because the local canonical macOS artifact directory contained stale v0.4.4 artifacts and the current shell has no Apple notarization credentials to produce a stapled local build; the tag-triggered GitHub release workflow remains the source of truth for signed/notarized assets.

Confidence: medium

Scope-risk: moderate
2026-07-03 03:09:42 +08:00

120 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Claude Code Haha v0.4.5
这是 `v0.4.4` 之后的稳定性、provider/proxy 兼容性、桌面工作流和 Windows ARM64 补丁版本,重点修复模型连接、权限模式、首轮 provider 生效、历史会话时间、sidecar 内存、浏览器预览缩放、Markdown 安全和 release smoke 中暴露出来的问题。
相比 `v0.4.4`,本版本让 OpenAI-compatible provider 默认走更明确的直连 proxy 模式,避免系统代理或 sidecar 代理环境影响模型连接;同时补齐 reasoning effort 透传、experimental beta 开关、默认会话权限设置、`/model` 快捷切换、Skill 命令历史恢复、Windows ARM64 启动和 package-smoke 识别。
## Highlights
- **Provider/proxy 连接更稳**provider 请求默认使用 direct proxy mode只有显式选择 System proxy 时才继承系统代理;第三方 API 返回的 `model` 与请求模型 ID 不一致时,不再把上下文窗口误显示为 `200000`reasoning effort 会正确透传到 proxy transform。
- **权限和首轮会话行为更准确**:新增默认会话权限模式设置,`bypassPermissions` 会跳过可跳过的审批而保留显式 deny 和必须交互的工具;干净安装后添加 provider 的第一轮提问会先应用 active provider runtime再发起 prewarm 和 user message。
- **历史会话和列表性能继续收敛**:历史会话排序不再被 metadata-only 写入刷新成“刚刚更新”;会话时间展示统一为更稳定的月日时分格式;非 Git 项目不会因为新会话 git-info 探测拖慢;最近项目和会话列表加载路径继续减少重复扫描。
- **桌面聊天细节更干净**:完成后的 turn duration 系统行不再持久化到 transcript`/model` 能打开模型选择器;用户输入的 Skill command 会在恢复、WebSocket replay 和搜索中保留;自动 Dream task 卡片不再进入聊天内容噪音。
- **预览、布局和安全补齐**:内置浏览器新增 zoom/scale 控制,并把缩放同步到 Electron WebContentsView工作区面板恢复可向右缩小Markdown 渲染会阻止 `<style>` 标签和 inline style 注入全局 UI。
- **Windows ARM64 和 release smoke 更可靠**Windows ARM64 桌面启动、sidecar 超时诊断、release workflow 和 package-smoke 识别补齐;桌面 live smoke 会等待恢复后的项目 chip再开始输入降低误建默认 home session 的概率。
## Fixes
- 修复 `v0.4.4` 中 provider 连接仍受系统代理或 sidecar 代理环境影响的问题,默认 provider 请求改为 direct proxy mode并补齐 provider connectivity 和 OpenAI-compatible proxy 的网络设置测试 (#953, #896)。
- 修复推理强度没有作为模型调用入参透传的问题OpenAI Chat/Responses proxy transform 会传递 reasoning effort (#905)。
- 修复干净安装后添加 provider、不点击测试就首次提问时第一轮可能没有应用 active provider runtime 而一直思考的问题 (#844)。
- 修复第三方 API 响应里的 `model` 与请求 `modelId` 不一致时session context window 展示异常的问题。
- 修复最高权限跳过模式下仍要求审批运行的问题;现在 `bypassPermissions` 会跳过 approval ask同时保留明确拒绝和必须用户交互的工具约束 (#910)。
- 修复 `/model` slash command 无法打开模型选择器的问题 (#909)。
- 修复用户输入的 Skill command 在 session restore、WebSocket replay 或 session search 中被隐藏的问题 (#926)。
- 修复自动 Dream task 生命周期卡片进入聊天 transcript、任务状态残留 running 的问题 (#887)。
- 修复完成后的 turn duration 消息被持久化为系统 transcript 行的问题。
- 修复 `/clear` 后 header/sidebar 仍保留旧 message count 的问题。
- 修复模型输出中的 `<style>` 标签或 inline style 可以影响桌面 Markdown 渲染样式的问题 (#904)。
- 修复读取非 PDF 文件时模型误传 `pages` 参数导致 Invalid pages parameter 错误循环的问题 (#928)。
- 修复 Claude Code sidecar 在大 transcript 下内存压力过高的问题,减少 trace/message polling 路径重复 hydrate 大 session 文件 (#933)。
- 修复项目路径含中文或非 Git 项目时git-info 探测可能拖慢新会话或打开外部编辑器的问题 (#908)。
- 修复历史会话查看时 metadata-only 写入导致“最近更新”时间被刷新为刚刚的问题 (#951)。
- 修复查看更新和消息操作时间显示不稳定的问题,现在统一显示更明确的月日时分。
- 修复会话中最近项目列表加载慢的问题,并在会话变化时失效 recent project cache。
- 修复新建会话未执行、关闭后留下无效 untitled session 的问题。
- 修复工作区面板只能向左拖大、不能向右缩小的问题 (#940)。
- 修复 Windows 11 ARM64 上桌面启动错误,并补齐 ARM64 sidecar/native 文件和 unpacked package-smoke 识别 (#954)。
## Features and Improvements
- 新增 General settings 里的默认会话权限模式设置,新建桌面 chat session 会使用该默认值,同时保留 per-session 覆盖能力。
- Provider 设置新增 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` 兼容开关,可对第三方 API 通道禁用 experimental beta headers并隔离 stale parent env (#929)。
- 内置浏览器新增 per-session zoom/scale 控制,缩放会同步到 preview bridge、Electron WebContentsView、截图和标注坐标 (#952)。
- Release/package smoke 覆盖 Windows ARM64 产物识别、当前平台 package smoke 和 release workflow 元数据边界,降低发版前平台产物漏检风险。
- Session restore、search 和 WebSocket replay 的 command metadata 处理统一,继续隐藏异常 command breadcrumb同时保留用户真实输入的 Skill command。
- Trace/session message signature、recent project cache 和桌面 smoke 等跨表面路径补齐 post-release semantic conflict 的回归保护。
## Issue 对照
- #844:修复干净安装后首次提问未正确应用 active provider runtime。
- #887:隐藏自动 Dream task 聊天卡片,并修复 Dream task 生命周期收尾。
- #904:阻止 assistant Markdown 注入 `<style>` 或 inline style。
- #905:透传 reasoning effort 到 provider/proxy 模型调用。
- #908:限制 git-info 探测,降低中文路径或非 Git 项目的卡顿风险。
- #909:修复 `/model` 无法打开模型选择器。
- #910:修复 bypass permission mode 下仍要求审批。
- #926:恢复用户输入的 Skill command 历史展示。
- #928:非 PDF 文件忽略 `pages` 参数,避免 Read 工具错误循环。
- #929:新增 experimental beta kill switch。
- #933:降低 sidecar transcript 内存压力。
- #940:修复工作区面板无法向右缩小。
- #951:修复历史会话查看后更新时间被刷新。
- #952:内置浏览器新增 zoom/scale 机制。
- #953 / #896:修复 provider 连接受代理环境影响的问题,默认走 direct proxy mode。
- #954:支持 Windows ARM64 桌面启动和发布产物 smoke。
## Notes
- GitHub Release 正文继续以 `release-notes/v0.4.5.md` 作为来源。
- 桌面端发布版本号来源是 `desktop/package.json`root `package.json` 仍保留本地开发用的 `999.0.0-local`。发布时需确保 `desktop/package.json`、Git tag `v0.4.5``release-notes/v0.4.5.md` 三者严格对齐。
- 本版本覆盖 desktop、server、provider/runtime、agent-loop、native 和 release 多个表面;发布前建议至少跑 `bun run scripts/release.ts 0.4.5 --dry``bun run verify`,并在有真实 provider 配额时跑 `bun run quality:gate --mode release --allow-live --provider-model <provider:model[:label]>`
- 建议发布前额外 smokeOpenAI-compatible provider 直连和 System proxy 模式、reasoning effort、experimental beta 开关、干净安装首次 provider 提问、默认权限模式、bypass permission、`/model`、Skill command 恢复、Dream task drawer、Read 非 PDF、历史会话时间、最近项目列表、浏览器 zoom、Markdown style 注入、Windows ARM64 启动和 macOS 签名 DMG 首次打开。
- 如果需要先验证全平台签名/公证产物,可以手动触发 `Release Desktop` workflow 并保持 `draft=true`;正式发布仍以 `v0.4.5` tag 对应提交和 GitHub Actions 产物为准。
## 安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|------|------|
| macOS Apple SiliconM 系列) | `Claude-Code-Haha-0.4.5-mac-arm64.dmg` |
| macOS Intel | `Claude-Code-Haha-0.4.5-mac-x64.dmg` |
| Windows x64 | `Claude-Code-Haha-0.4.5-win-x64.exe` |
| Windows ARM64 | `Claude-Code-Haha-0.4.5-win-arm64.exe` |
| Linux x64 | `Claude-Code-Haha-0.4.5-linux-x86_64.AppImage``Claude-Code-Haha-0.4.5-linux-amd64.deb` |
| Linux ARM64 | `Claude-Code-Haha-0.4.5-linux-arm64.AppImage``Claude-Code-Haha-0.4.5-linux-arm64.deb` |
### macOS
双击 DMG 把应用拖入「应用程序」。如果 macOS 签名和公证验证通过,首次打开应直接走正常 Gatekeeper 流程。
如果仍提示"已损坏"或"无法验证开发者",说明当前产物可能仍是 unsigned fallback 或本地 quarantine 状态未清理,可在终端执行:
```bash
xattr -cr /Applications/Claude\ Code\ Haha.app
```
也可以在「系统设置 → 隐私与安全性」里点"仍要打开"。
### Windows
双击 `.exe` 安装。SmartScreen 提示时点「更多信息」→「仍要运行」。
### Linux
AppImage
```bash
chmod +x Claude-Code-Haha-0.4.5-linux-x86_64.AppImage
./Claude-Code-Haha-0.4.5-linux-x86_64.AppImage
```
deb
```bash
sudo apt install ./Claude-Code-Haha-0.4.5-linux-amd64.deb
```
ARM64 机器把文件名换成 `...-linux-arm64.AppImage` / `...-linux-arm64.deb`