Files
BlueArchiveToolkit/CHANGELOG.md
T
nyaKazuhaandClaude Fable 5 4c123b9560 docs(official-sync): 推荐环境变量配置代理并同步凭据处理说明
- official-resource-test-pull.md §0.1:新增"带凭据代理优先用 HTTPS_PROXY 环境
  变量"推荐(含 systemd EnvironmentFile 0600 用法),补充凭据处理说明——日志/
  status 脱敏、经 ALL_PROXY 环境变量传 curl、daemon 经环境变量下传、bat-proxy.secret
  复用与 clean-stable 清除;修正旧表述"代理参数写入后台子进程启动参数"。
- official-resource-backend.md 第 13 条:把"仅日志脱敏"扩写为全链路凭据不落
  世界可读位置。
- CURRENT_STATUS.md 第 7 条:同步上述凭据处理描述。
- deployments/systemd/official-sync.env.example:新增注释版 HTTPS_PROXY/NO_PROXY
  示例,并提示含凭据时按 0600 安装。
- CHANGELOG:新增"修复"(Unity 版本数值比较)与"安全"(代理凭据不落世界可读
  位置)条目。

对应 issue #18 维护清单 1-1 / 1-2。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 06:58:11 -07:00

4.4 KiB
Raw Blame History

变更日志

所有重要的项目变更都将记录在此文件中。

本项目遵循 语义化版本

[未发布]

新增

  • 初始化 Monorepo 项目结构
  • 创建 Rust workspace (bat-cas-engine, bat-assetbundle, bat-patch, bat-ffi)
  • 创建 Go module 结构
  • 配置 Docker Compose 支持本地和远程数据库
  • 添加 Makefile 统一构建入口
  • 创建架构文档和开发指南
  • 完成 CAS V1:原子写入、BLAKE3 校验、SQLite 引用计数、GC、并发写入测试和损坏检测
  • 新增官方日服资源同步链路:auto-discover、pull plan、snapshot、marker diff、本地 manifest audit/repair
  • 新增 Rust 官方同步 binary,当前正式入口为 bat,支持 one-shot、--watch、默认 1 小时间隔、人类可读默认输出和 --json 结构化 report
  • 官方同步正式入口统一为 bat,新增 --daemon 后台模式和基于 bat.sock 的 Unix socket JSON-RPC 控制面,管理命令覆盖 statusstoprestartreloadrefreshlogsverifyrepairdoctorclean-stable
  • 新增 daemon 控制锁 bat-control.lock、daemon 与前台同资源目录写入互斥,以及失效/损坏 PID 和锁文件恢复逻辑
  • 新增官方同步路径安全边界:拒绝危险输出目录和 snapshot 路径逃逸,下载目标、manifest、daemon PID/status/log/control 文件不跟随 symlinkdaemon 状态文件默认使用 0600 权限
  • 新增官方资源原子发布布局:非 dry-run 下载先进入 .staging/<id>,校验和 manifest/snapshot 写入完成后发布到 versions/<id>,再原子切换 current symlink
  • 新增 daemon 可观测性:bat-events.jsonl 结构化 JSONL 日志、日志轮转、status 中的当前下载进度、最后成功时间、下次检查时间和最后错误摘要
  • 新增运行时下载与校验 progress log:总体下载进度、单文件开始/完成状态、官方 .hash、本地 BLAKE3、需修复项和 ZIP 结构校验摘要
  • 新增官方资源同步生产部署模板:release binary symlink 路径、systemd unit、运行用户、日志位置、升级和回滚流程
  • 新增真实官方网络全量拉取 smokescripts/official-full-pull-smoke.shmake official-smokedocs/guides/official-full-pull-smoke.md
  • 新增官方资源下载校验:官方 URL 拒绝、.part 续传、重试、本地 size+BLAKE3、官方 seed .hash 校验
  • 新增下载失败分类与 quarantine403/404/普通 4xx 不重试,5xx/429/网络类错误重试,最终失败写入 official-download-quarantine.json 并阻止发布不完整资源;旧 launcher 包支持官方 primary/backup CDN 切换
  • 新增官方版本状态管理:official-version-state.json 持久化当前已完成版本、正在拉取版本、上一个可用版本和失败版本,并在 bat status 中暴露状态摘要
  • 优化资源导入链路:CAS 导入会写入 ResourceRepositoryAssetBundle 记录 UnityFS 摘要,TextAsset/Table/Media 按资源类型分类并可被索引
  • 新增离线回归 fixture:当前 catalog、上一个版本 catalog、catalog 结构变化、403、404 和官方 seed hash mismatch 样本
  • 新增 Addressables 当前真实形态 fixture/golden 测试
  • 新增 SQLite Resource Repository 和粗粒度 FFI JSON 接口
  • 补齐官方资源运行、架构、状态、缺口和交接文档

修复

  • 修正 Unity 版本范围比较:改为按 (major, minor, patch) 数值比较,2021.3.9f1 等带发布后缀的正式版本号不再被字典序误判越界

安全

  • 代理凭据不再落入世界可读位置:传给 curl 子进程时经 ALL_PROXY 环境变量而非 --proxy 参数,不进 curl 的 /proc/<pid>/cmdline--daemon 模式下代理凭据经环境变量下传后台子进程,不进子进程 argv 或 bat-status.json,复用凭据单独存于 0600bat-proxy.secret 并在 clean-stable 后台停止后清除;日志与 status 输出对带凭据代理 URL 脱敏(含无 scheme 形式);推荐带凭据代理用 HTTPS_PROXY 等环境变量配置

计划

  • 实现 CAS 存储引擎
  • 实现 Rust 官方资源同步核心链路
  • 实现 Go CLI 最小可用入口
  • 固化真实官方网络全量下载 smoke test 文档和可重复命令
  • 实现 AssetBundle 解析器
  • 实现翻译系统
  • 实现 Patch 引擎
  • 实现 API Server
  • 实现 Web 管理后台

[0.1.0] - 2026-06-27

新增

  • 项目初始化
  • 基础架构搭建