Files
ShrinkDataSaver/CHANGELOG.md
T
cneicy 67d6814c4b
Publish UPM package / publish (push) Successful in 2s
Publish NuGet packages / publish (push) Successful in 4m2s
feat: update Godot integration and coordinated package dependencies
2026-11-06 19:13:16 +08:00

55 lines
2.3 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.
# Changelog
本文件记录 `ShrinkDataSaver` 在当前工作区中的包内变更。
## [2.5.0] - 2026-11-06
### Added
- `LocalStorageProvider` 新增 `LocalStorageCommitStrategy`;`RenameOnly` 通过宿主注入的覆盖移动委托提交,适用于不支持原子替换的沙箱文件系统。
- `ShrinkDataSaverPlatform.Initialize(IStorageProvider, ...)` 与两套 `ShrinkDataSaverRuntimeConfig.Storage` 支持宿主注入存储实现。
### Changed
- `RenameOnly` 保留 `.bak1` / `.bak2` 两级备份,并在读取或下一次写入前从备份恢复中断的提交;孤立临时文件不会被当成完整存档。
- `DeleteAsync` 会同时清理主文件、两级备份和临时文件。
## [2.2.2] - 2026-08-28
### Changed
- `ShrinkDataSaverSettings` 优先从 `GameAssets/Runtime/Data/ShrinkSDK/ShrinkDataSaverSettings` 加载,并保留旧根路径回退。
- 新增 `ShrinkSDK/存档/创建设置`,统一在标准资源目录创建配置。
## [2.2.0] - 2026-05-18
### Added
- 新增 `ShrinkDataSaverRuntime`,把真实初始化入口与 autosave 生命周期驱动下沉到运行时层。
### Changed
- `ShrinkDataSaverBootstrap` 现主要承担旧项目兼容入口职责;实际初始化改为委托给 `ShrinkDataSaverRuntime`。
- 该调整为 `ShrinkApp` 等统一宿主接管初始化顺序铺路,同时保留旧项目直接挂 bootstrap 的使用方式。
## [2.1.0] - 2026-05-15
### Added
- `ShrinkSave.GetRecentSlotIndex()` 与 `ShrinkSave.GetRecommendedContinueSlotAsync()`,用于把“最近游玩槽位 / 继续游戏”能力下沉到包内。
- 包内测试补充了主文件损坏时的备份回退、最近槽位回退、以及本地存储双副本轮换验证。
### Changed
- `LocalStorageProvider` 升级为异步文件流读写,并在提交时使用主文件原子替换。
- 本地存储新增 `.bak1` / `.bak2` 双副本轮换备份。
- `ShrinkSave` 与 `ShrinkSettings` 在主文件损坏或缺失时,会自动从备份恢复并修复主文件。
- `ShrinkSave.DeleteSlotAsync(...)` 现在会同时清理主文件、备份文件和临时文件,并在删除最近游玩槽位后自动回退记录。
## [2.0.1] - 2026-04-07
### Changed
- 数据查看器编辑器入口迁移到 `ShrinkSDK/存档/数据查看器`。
- README 同步更新新的菜单路径,统一到 `ShrinkSDK` 顶栏下。