mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 04:35:16 +08:00
Persist official version-state, extend CAS/ResourceRepository import classification, and add offline catalog and failure regression fixtures. Fixes #13 Fixes #12 Fixes #8
52 lines
3.7 KiB
Markdown
52 lines
3.7 KiB
Markdown
# 变更日志
|
||
|
||
所有重要的项目变更都将记录在此文件中。
|
||
|
||
本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
||
|
||
## [未发布]
|
||
|
||
### 新增
|
||
- 初始化 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 控制面,管理命令覆盖 `status`、`stop`、`restart`、`reload`、`refresh`、`logs`、`verify`、`repair`、`doctor`、`clean-stable`
|
||
- 新增 daemon 控制锁 `bat-control.lock`、daemon 与前台同资源目录写入互斥,以及失效/损坏 PID 和锁文件恢复逻辑
|
||
- 新增官方同步路径安全边界:拒绝危险输出目录和 snapshot 路径逃逸,下载目标、manifest、daemon PID/status/log/control 文件不跟随 symlink,daemon 状态文件默认使用 `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、运行用户、日志位置、升级和回滚流程
|
||
- 新增真实官方网络全量拉取 smoke:`scripts/official-full-pull-smoke.sh`、`make official-smoke` 和 `docs/guides/official-full-pull-smoke.md`
|
||
- 新增官方资源下载校验:官方 URL 拒绝、`.part` 续传、重试、本地 size+BLAKE3、官方 seed `.hash` 校验
|
||
- 新增下载失败分类与 quarantine:403/404/普通 4xx 不重试,5xx/429/网络类错误重试,最终失败写入 `official-download-quarantine.json` 并阻止发布不完整资源;旧 launcher 包支持官方 primary/backup CDN 切换
|
||
- 新增官方版本状态管理:`official-version-state.json` 持久化当前已完成版本、正在拉取版本、上一个可用版本和失败版本,并在 `bat status` 中暴露状态摘要
|
||
- 优化资源导入链路:CAS 导入会写入 `ResourceRepository`,AssetBundle 记录 UnityFS 摘要,TextAsset/Table/Media 按资源类型分类并可被索引
|
||
- 新增离线回归 fixture:当前 catalog、上一个版本 catalog、catalog 结构变化、403、404 和官方 seed hash mismatch 样本
|
||
- 新增 Addressables 当前真实形态 fixture/golden 测试
|
||
- 新增 SQLite Resource Repository 和粗粒度 FFI JSON 接口
|
||
- 补齐官方资源运行、架构、状态、缺口和交接文档
|
||
|
||
### 计划
|
||
- [x] 实现 CAS 存储引擎
|
||
- [x] 实现 Rust 官方资源同步核心链路
|
||
- [ ] 实现 Go CLI 最小可用入口
|
||
- [x] 固化真实官方网络全量下载 smoke test 文档和可重复命令
|
||
- [ ] 实现 AssetBundle 解析器
|
||
- [ ] 实现翻译系统
|
||
- [ ] 实现 Patch 引擎
|
||
- [ ] 实现 API Server
|
||
- [ ] 实现 Web 管理后台
|
||
|
||
## [0.1.0] - 2026-06-27
|
||
|
||
### 新增
|
||
- 项目初始化
|
||
- 基础架构搭建
|