From 8f66bcab1023f86ce63ebf4a8b7d6c8338d8a4ec Mon Sep 17 00:00:00 2001
From: Dailin521 <71995555+Dailin521@users.noreply.github.com>
Date: Sat, 8 Aug 2026 02:08:16 +0800
Subject: [PATCH] chore: prepare v0.4.1 release
---
CHANGELOG.md | 26 +++++++++
README.md | 1 +
.../CodexProviderSync.App.csproj | 6 +-
.../CodexProviderSync.Application.csproj | 6 +-
.../CodexProviderSync.Automation.csproj | 6 +-
.../CodexProviderSync.Core.csproj | 6 +-
.../CodexProviderSync.GuiE2E.csproj | 6 +-
.../CodexProviderSync.Mac.csproj | 6 +-
docs/README_EN.md | 1 +
docs/release-notes/v0.4.1-zh.md | 58 +++++++++++++++++++
package-lock.json | 4 +-
package.json | 2 +-
12 files changed, 107 insertions(+), 21 deletions(-)
create mode 100644 docs/release-notes/v0.4.1-zh.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5ec8c7e..0a8b0da 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,32 @@
本文件记录面向用户和集成方的重要变化。完整的发布叙事、升级说明和下载入口见对应版本的中文发布说明;实现证据和测试门禁见技术发布说明。
+## [0.4.1] - 2026-08-08
+
+### 新增
+
+- Release 新增独立的 Windows x64 Automation ZIP,并继续提供单文件 GUI、Windows 完整包和 SHA-256 校验文件。
+- 新增版本化中文发布说明、自动化接口中文快速入门,以及发布元数据和打包契约校验。
+
+### 变更
+
+- Windows Node CLI 在批量改写 rollout 时复用持久 PowerShell worker,避免为每个文件重复启动进程。
+- 合并 rollout 内容扫描并复用不可变内容摘要;事务日志在 Windows 上复用已校验的写入租约。
+- 缓存托管备份的大小与文件数统计,并在提交、恢复和回滚结束后刷新统计。
+
+### 修复
+
+- 活跃 rollout 在扫描期间变化时按“已跳过锁定文件”处理,不再中止其余历史会话同步。
+- 备份统计刷新失败会作为警告返回,已提交或已恢复的操作仍会继续完成清理流程。
+- 保持事务记录顺序、崩溃恢复、checked apply 重新校验和旧版备份恢复兼容性。
+
+### 升级说明
+
+- v0.4.0 Windows GUI 可以直接使用内置更新升级;内置更新仍只替换单文件 GUI。
+- 升级不要求迁移配置、SQLite 或备份;自动化接口用户请手动下载新的 Automation ZIP 或 Windows 完整包。
+
+[中文发布说明](docs/release-notes/v0.4.1-zh.md) · [完整变更对比](https://github.com/Dailin521/codex-provider-sync/compare/v0.4.0...v0.4.1)
+
## [0.4.0] - 2026-08-04
### 新增
diff --git a/README.md b/README.md
index c3b773a..5c740c0 100644
--- a/README.md
+++ b/README.md
@@ -159,6 +159,7 @@ $planDigest = $planResponse.data.digest
- [Windows GUI 说明](docs/README_GUI_ZH.md)
- macOS GUI 说明:[中文](docs/README_MAC_GUI_ZH.md) · [English](docs/README_MAC_GUI_EN.md)
+- [v0.4.1 中文发布说明](docs/release-notes/v0.4.1-zh.md)
- [v0.4.0 中文发布说明](docs/release-notes/v0.4.0-zh.md)
- [v0.4.0 技术发布说明](docs/RELEASE_NOTES_V0.4.0.md)
- [更新日志](CHANGELOG.md)
diff --git a/desktop/CodexProviderSync.App/CodexProviderSync.App.csproj b/desktop/CodexProviderSync.App/CodexProviderSync.App.csproj
index 1333730..4c9f712 100644
--- a/desktop/CodexProviderSync.App/CodexProviderSync.App.csproj
+++ b/desktop/CodexProviderSync.App/CodexProviderSync.App.csproj
@@ -24,9 +24,9 @@
CodexProviderSync
Codex Provider Sync
Dailin521
- 0.4.0
- 0.4.0.0
- 0.4.0.0
+ 0.4.1
+ 0.4.1.0
+ 0.4.1.0
diff --git a/desktop/CodexProviderSync.Application/CodexProviderSync.Application.csproj b/desktop/CodexProviderSync.Application/CodexProviderSync.Application.csproj
index 5b3658a..fc42569 100644
--- a/desktop/CodexProviderSync.Application/CodexProviderSync.Application.csproj
+++ b/desktop/CodexProviderSync.Application/CodexProviderSync.Application.csproj
@@ -5,9 +5,9 @@
enable
enable
false
- 0.4.0
- 0.4.0.0
- 0.4.0.0
+ 0.4.1
+ 0.4.1.0
+ 0.4.1.0
diff --git a/desktop/CodexProviderSync.Automation/CodexProviderSync.Automation.csproj b/desktop/CodexProviderSync.Automation/CodexProviderSync.Automation.csproj
index 44aa135..aaaa3de 100644
--- a/desktop/CodexProviderSync.Automation/CodexProviderSync.Automation.csproj
+++ b/desktop/CodexProviderSync.Automation/CodexProviderSync.Automation.csproj
@@ -7,9 +7,9 @@
enable
CodexProviderSync.Automation
CodexProviderSync.Automation
- 0.4.0
- 0.4.0.0
- 0.4.0.0
+ 0.4.1
+ 0.4.1.0
+ 0.4.1.0
diff --git a/desktop/CodexProviderSync.Core/CodexProviderSync.Core.csproj b/desktop/CodexProviderSync.Core/CodexProviderSync.Core.csproj
index de5ac19..424e3c2 100644
--- a/desktop/CodexProviderSync.Core/CodexProviderSync.Core.csproj
+++ b/desktop/CodexProviderSync.Core/CodexProviderSync.Core.csproj
@@ -4,9 +4,9 @@
net10.0
enable
enable
- 0.4.0
- 0.4.0.0
- 0.4.0.0
+ 0.4.1
+ 0.4.1.0
+ 0.4.1.0
diff --git a/desktop/CodexProviderSync.GuiE2E/CodexProviderSync.GuiE2E.csproj b/desktop/CodexProviderSync.GuiE2E/CodexProviderSync.GuiE2E.csproj
index 8947d2a..4c62f6d 100644
--- a/desktop/CodexProviderSync.GuiE2E/CodexProviderSync.GuiE2E.csproj
+++ b/desktop/CodexProviderSync.GuiE2E/CodexProviderSync.GuiE2E.csproj
@@ -7,9 +7,9 @@
enable
true
CodexProviderSync.GuiE2E
- 0.4.0
- 0.4.0.0
- 0.4.0.0
+ 0.4.1
+ 0.4.1.0
+ 0.4.1.0
diff --git a/desktop/CodexProviderSync.Mac/CodexProviderSync.Mac.csproj b/desktop/CodexProviderSync.Mac/CodexProviderSync.Mac.csproj
index 55b5856..9c39121 100644
--- a/desktop/CodexProviderSync.Mac/CodexProviderSync.Mac.csproj
+++ b/desktop/CodexProviderSync.Mac/CodexProviderSync.Mac.csproj
@@ -17,9 +17,9 @@
CodexProviderSync
Codex Provider Sync
Dailin521
- 0.4.0
- 0.4.0.0
- 0.4.0.0
+ 0.4.1
+ 0.4.1.0
+ 0.4.1.0
true
diff --git a/docs/README_EN.md b/docs/README_EN.md
index 94f32bc..19bc604 100644
--- a/docs/README_EN.md
+++ b/docs/README_EN.md
@@ -153,6 +153,7 @@ Before each `sync` or `switch`, the tool creates a backup under:
- [Windows GUI guide](README_GUI_ZH.md)
- [macOS GUI guide](README_MAC_GUI_EN.md)
+- [v0.4.1 Chinese release announcement](release-notes/v0.4.1-zh.md)
- [v0.4.0 Chinese release announcement](release-notes/v0.4.0-zh.md)
- [v0.4.0 technical release notes](RELEASE_NOTES_V0.4.0.md)
- [Changelog](../CHANGELOG.md)
diff --git a/docs/release-notes/v0.4.1-zh.md b/docs/release-notes/v0.4.1-zh.md
new file mode 100644
index 0000000..81c8464
--- /dev/null
+++ b/docs/release-notes/v0.4.1-zh.md
@@ -0,0 +1,58 @@
+
+
+> v0.4.1 面向拥有大量历史会话或大型 rollout 文件的用户,显著减少 Windows 同步过程中的重复进程启动、文件扫描和事务日志读取,同时完善备份统计与发布包交付。升级不改变配置、认证或自动化协议。
+
+## 🚀 升级后,你可以
+
+- **更快地同步大量历史会话**:Windows Node CLI 会复用同一个改写 worker,Core 也减少重复内容扫描和事务日志校验。
+- **更可靠地看到备份占用信息**:备份文件数和大小会被缓存,并在提交、恢复或回滚结束后刷新;刷新失败会明确显示警告。
+- **按使用场景选择下载包**:普通用户继续下载单文件 GUI,自动化用户可单独下载 Automation ZIP,也可下载包含全部工具的 Windows 完整包。
+
+## 📦 下载
+
+| 使用场景 | 下载 | 更新方式 |
+| --- | --- | --- |
+| 只需要 Windows GUI | [单文件 GUI](https://github.com/Dailin521/codex-provider-sync/releases/download/v0.4.1/CodexProviderSync.exe) | 支持软件内自动更新 |
+| 脚本、CI 或 AI Agent | [Windows x64 自动化接口包](https://github.com/Dailin521/codex-provider-sync/releases/download/v0.4.1/codex-provider-sync-v0.4.1-automation-win-x64.zip) | 手动下载更新 |
+| GUI 与自动化接口都需要 | [Windows x64 完整包](https://github.com/Dailin521/codex-provider-sync/releases/download/v0.4.1/codex-provider-sync-v0.4.1-win-x64.zip) | 手动下载更新 |
+
+[查看全部 SHA-256 校验值](https://github.com/Dailin521/codex-provider-sync/releases/download/v0.4.1/checksums.txt)
+
+当前 Windows 程序尚未进行代码签名,首次运行可能出现 SmartScreen 的“发布者未知”提示。请确认文件来自本项目 GitHub Release,并按需使用 SHA-256 校验下载内容。
+
+## ⬆️ 升级说明
+
+1. v0.4.0 Windows GUI 用户可以直接使用内置更新:每天首次启动会自动检查稳定版,也可以点击“检查更新”。
+2. 内置更新只升级 GUI,不会安装 `CodexProviderSync.Automation.exe` 或协议描述文件;自动化用户请手动下载对应 ZIP。
+3. 升级不要求迁移 `config.toml`、SQLite 数据库或已有托管备份。更新后建议先点击“刷新”或运行 `codex-provider status` 核对路径与 Provider。
+4. 同步、切换或恢复前仍建议关闭 Codex Desktop、Codex App 和 app-server,以避免 SQLite 被占用或活跃 rollout 被跳过。
+
+## 🛡 安全保障
+
+- 工具不负责登录、认证或切换账号,不会修改 `auth.json`,也不会复制凭据到备份或测试夹具。
+- 工具只同步会话可见性相关元数据,不改写对话正文、消息历史、会话标题、`updated_at` 或 `encrypted_content`。
+- 写操作仍在目标修改前创建托管备份,并保留事务记录、失败回滚和崩溃恢复能力。
+- checked apply 仍会在执行前重新验证目标状态;Windows 进程仍不会通过 WSL UNC 路径直接修改 SQLite。
+
+## ⚙️ 自动化接口(实验性)
+
+普通桌面用户可以跳过本节。v0.4.1 没有更改自动化协议版本;`describe`、`status`、`plan`、`sync`、`switch`、`restore` 和 `prune` 的调用方式保持兼容。新的独立 Automation ZIP 包含可执行文件、协议 schema 和中文快速说明。
+
+## ⚠️ 重要说明
+
+- 如果结果显示 `Skipped locked rollout files`,说明活跃会话在同步期间仍在写入;其余历史会话已继续处理。结束对应会话后再次同步即可完整改写。
+- `\\wsl.localhost\...` 和 `\\wsl$\...` SQLite Home 在 Windows 中仅用于安全诊断;请进入对应 WSL 发行版,用 Linux 路径运行 CLI。
+- 含 `encrypted_content` 的会话跨 Provider 或账号后,通常只能恢复列表可见性;继续对话或 compact 仍可能出现 `invalid_encrypted_content`。
+- Codex Desktop 首屏可能只显示最近 50 条会话;本工具不会修改 `updated_at` 来改变排序。
+
+## 🔍 验证结果
+
+- PR #75 的 Node CLI 验证通过 207 项测试;100 个 rollout 文件的本地基准仅使用一个 Windows worker,约 1.1 秒完成。
+- v0.4.1 发布准备验证通过 385 项 .NET 测试(1 项按环境跳过)和 210 项 Node 测试,Release 构建为 0 警告、0 错误。
+- GitHub Actions `ci` 已在合并提交前通过;Release 工作流还会再次校验版本一致性、完整测试、Windows 发布构建、打包内容和 SHA-256 文件。
+
+[查看 v0.4.0 到 v0.4.1 的完整代码变更](https://github.com/Dailin521/codex-provider-sync/compare/v0.4.0...v0.4.1)。
+
+## 🙏 贡献者
+
+感谢本轮审查与测试反馈帮助完善活跃 rollout 跳过策略、备份统计刷新、跨平台测试和恢复警告展示。
diff --git a/package-lock.json b/package-lock.json
index 17a4f82..ce490d8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "codex-provider-sync",
- "version": "0.4.0",
+ "version": "0.4.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "codex-provider-sync",
- "version": "0.4.0",
+ "version": "0.4.1",
"license": "MIT",
"bin": {
"codex-provider": "src/cli.js"
diff --git a/package.json b/package.json
index 6b3596a..64d9367 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "codex-provider-sync",
- "version": "0.4.0",
+ "version": "0.4.1",
"description": "Synchronize Codex session provider metadata across rollout files and SQLite state.",
"type": "module",
"files": [