[MD]
## 从 PotatoSack 2.x.x 更新到 3.0.0
直接把原本的 `PotatoSack-2.0.0.jar` 替换为本次发布的 `PotatoSack-3.0.0.jar` 即可,插件会自动迁移配置文件。
> PotatoSack 3.0.0 在**备份记录文件的存储格式上发生了变更**(从 `_xxx.json` 变成了压缩二进制格式 `_xxx.bin`)。建议修改服务端的 `plugins/PotatoSack/data/backup.json`,将其中的 `last_full_backup_time` 改为 `0`,以在服务器重新启动后立即触发一次全量备份,这样能用 PotatoSack 3.0.0 的格式创建一个新的备份组。
或者你也可以移除云端的所有 2.x.x 版本产生的备份组(如移动到其他地方),并删除本地的 `plugins/PotatoSack/data/` 目录,下一次全量备份的时候也会以 PotatoSack 3.0.0 的格式进行备份组创建。
> 你也可以选择啥都不做,PotatoSack 3.0.0 在继承旧的 2.x.x 备份组时,如果进行增量备份,**可能会产生一个体积相当于全量备份的增量备份压缩包**,自随后一次全量备份开始一切正常 (✧≖‿ゝ≖) 。
## 变更内容
1. 新增对 **S3 / 兼容 S3 的对象存储**服务的支持;
2. 针对增量备份,新增特制的 PSMCA 格式(详见 README 中的[概念介绍](https://github.com/Bottle-M/PotatoSack/blob/main/README.zh-CN.md#%E6%A6%82%E5%BF%B5%E4%BB%8B%E7%BB%8D)一节)的 `.mca` 文件,以支持**按区块级别**追踪变更(以前的版本只要有一点变化就会备份整个 `.mca` 文件),显著减小增量备份产生的压缩包体积;
3. 修复 OneDrive 和 Dropbox 上传过程中因大量拷贝字节数组或者因递归重试所导致的,在备份过程中持有的对象引用迟迟没有释放、内存占用短时间内上涨明显的问题;
4. 修复主类初始化逻辑,因 `config.yml` 配置有问题而无法初始化时,不再直接停用插件,而是允许用户修改配置后,通过 `/potatosack reload` 重新初始化插件;
5. 延长 OkHttp 的 `CALL_TIMEOUT`,以防在上行传输速率过慢时 OneDrive 和 Dropbox 上传分片超时。
以及其他一些小 BUG 的修复... (*´꒳`*)b
## 版本支持
目前依旧支持 **Minecraft JE 1.19**+,**Java 17**+
## 备份拼装工具
* **注**:PotatoSack 3.0.0 产生的备份组必须**由 `BackupsMerger 1.1.0` 及之后的版本**进行合并。
在这里下载: [BackupsMerger 1.1.0](https://github.com/Bottle-M/PotatoSack/releases/tag/backups-merger-v1.1.0)
[/MD]