Program Updater 更新日志
=========================

## 261030.0.0 [WHEEL]

发布日期：2026-10-30
发行包：program-updater
制品：program_updater-261030.0.0-py3-none-any.whl

- `run_startup_update()` 改为用户确认更新后才创建并显示下载进度框，修复首次
  更新时确认框和进度框同时弹出的问题。
- 确认框和下载进度框移除标题栏帮助按钮；进度框不再显示取消/空白按钮。

## 261028.4.0 [WHEEL]

发布日期：2026-10-28
发行包：program-updater
制品：program_updater-261028.4.0-py3-none-any.whl

- 新增 `update_on_startup()` 便捷入口，自动处理 frozen 判断、
  `sys.executable` 和内嵌 `UpdaterHelper.exe` 路径。
- 新增可选 `updater.integrations.pyqt` 集成，提供
  `run_startup_update()`，内置确认框和下载进度条；PyQt5 仍不是基础依赖。
- 保留无 UI 依赖的回调接入方式，并同步简化文档示例。

## 261028.4.0 [EXE]

发布日期：2026-10-28
应用 ID：program-updater-helper
目标平台：Windows
架构：x86-64
制品：UpdaterHelper.exe

- 重新构建 helper，产品版本更新为 261028.4.0，helper 协议版本保持 2。

## 261028.3.0 [WHEEL]

发布日期：2026-10-28
发行包：program-updater
制品：program_updater-261028.3.0-py3-none-any.whl

- 新版完成启动确认后，在后台删除 `.updates` 中剩余的临时文件、备份和日志。

## 261028.3.0 [EXE]

发布日期：2026-10-28
应用 ID：program-updater-helper
目标平台：Windows
架构：x86-64
制品：UpdaterHelper.exe

- 更新成功并确认启动后，删除 `.updates` 中的 staging、backup、健康标记和
  旧 helper 文件。

## 261028.2.0 [WHEEL]

发布日期：2026-10-28
发行包：program-updater
制品：program_updater-261028.2.0-py3-none-any.whl

- 启动更新前校验目标程序内嵌的 helper 版本；helper 过旧或缺少版本信息时
  不再执行更新，避免更新中途失败。
- helper 版本不满足要求时弹出提示框，用户确认后打开下载页面获取最新完整
  程序。
- 新增 `download_page_url` 配置；未提供时按 manifest 地址推导
  `/download/{app_id}` 下载页面。

## 261028.2.0 [EXE]

发布日期：2026-10-28
应用 ID：program-updater-helper
目标平台：Windows
架构：x86-64
制品：UpdaterHelper.exe

- helper 可执行文件写入版本资源，协议版本为 2，供客户端校验。
- `app.spec` 从 `pyproject.toml` 读取产品版本并写入 exe 元数据。

## 261028.1.2 [WHEEL]

发布日期：2026-10-28
发行包：program-updater
制品：program_updater-261028.1.2-py3-none-any.whl

- 修复更新后首次启动仍会再次检查更新并交接，导致新版提前退出、健康确认
  失败并回滚的问题；helper 健康检查启动期间 `update_before_startup()` 会
  跳过更新检查，让新版完成启动确认。

## 261028.1.1 [EXE]

发布日期：2026-10-28
应用 ID：program-updater-helper
目标平台：Windows
架构：x86-64
制品：UpdaterHelper.exe

- 修复旧进程已退出时查询进程映像路径失败、更新中断并报
  `[WinError 31]` 的问题；父进程已退出时会跳过路径校验并继续替换。

## 261028.1.0 [EXE]

发布日期：2026-10-28
应用 ID：program-updater-helper
目标平台：Windows
架构：x86-64
制品：UpdaterHelper.exe

- 新增仓库根目录 `app.spec`，可在 Windows 上执行
  `python -m PyInstaller app.spec` 构建单文件 helper，输出到 `dist/`。
- 提供独立的 `UpdaterHelper.exe`，负责等待旧进程退出、备份并替换主程序、
  启动新版以及在启动失败时回滚。
- helper 以无控制台窗口模式构建，错误通过消息框提示。

## 261028.0.0 [WHEEL]

发布日期：2026-10-28
发行包：program-updater
制品：program_updater-261028.0.0-py3-none-any.whl

- 首次按 `YYMMDD.FEATURE.BUGFIX` 版本规则发布 wheel。
- 提供可复用的 `updater` 包，支持启动时检查更新、下载、完整性校验和更新交接。
- 支持由目标应用提供确认回调，用户可以立即安装更新或延后到下次启动。
- 包含 Windows helper 源码，供目标应用替换并重启自身可执行文件。