# Changelog 本文件记录 `ShrinkDataSaver` 在当前工作区中的包内变更。 ## [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` 顶栏下。