该版本为预览测试版,请勿用于生产环境,若需稳定版请使用1.5.9,有bug及时反馈。
- **1.6.15**:彻底消除备份完成聊天框重复提示 — 玩家执行备份时只靠广播(文件名并入完成行),不再额外私聊「文件/未备份」,控制台仍显示完整详情
- **1.6.14**:修复 MineStock 持仓数据恢复/导出失败(MineStock 懒初始化 holdings 表,回档后 3 秒表未建导致「Table HOLDINGS not found」)——新增等待表出现的轮询(最多 60 秒、不抢建空库),备份与恢复都生效
- **1.6.13**:修复回档时「检测到正在运行的备份任务」误报(回档准备与备份共用 running 标志,插件 onDisable 提前关服导致 onDisable 误判);回档标记改为轮询等待(不再依赖时序巧合);回档禁用插件前打印说明(插件「运行时禁用」警告属正常)
- **1.6.12**:修复 1.6.11 引入的严重问题 — `getServerRoot()` 必须 `toAbsolutePath()`(部分核心上 `getWorldContainer()` 返回相对路径,`normalize()` 后为空路径,导致回档把所有文件误判为不安全路径、恢复 0 个文件);修复备份完成时聊天框重复提示(玩家执行备份时广播与私聊提示重复)
- **1.6.11**:服务器根目录改用 Bukkit API(`getWorldContainer`)获取,彻底移除对进程工作目录的依赖,适配面板/守护进程/脚本等任意启动方式;备份路径、数据库扫描、回档标记文件全部基于绝对根目录
- **1.6.10**:备份完成日志精简 — 已覆盖的数据库库不再提示为「跳过」;被锁文件汇总改为一行总结(如「4/5 已覆盖 | 1 未备份」),只列出真正未备份的文件;聊天栏不再重复广播「跳过被锁文件」
- **1.6.9**:SQLite 回档恢复改为「直接复制」(回档时插件已禁用、无文件占用,直接把 VACUUM INTO 快照覆盖回原 .db,绕开 ATTACH 逐表复制的表结构依赖/自增序列丢失问题;复制失败仍保留启动兜底);备份日志新增「数据库备份汇总」分类(

已覆盖 /

未备份,一眼区分数据是否在备份包内)
- **1.6.8**:修复 Folia 下日志调用 Bukkit.isPrimaryThread() 崩溃;修复被同 JVM 锁定的世界区域文件被误判跳过(备份不再缺世界数据);修复回档准备阶段关闭自动保存后、手动关服/异常路径不恢复 save-on;备份名触发源过滤非法字符(防路径穿越);SQLite 恢复等待目标库就绪并逐表计数(消除空库假成功);SQLite/H2 导出与恢复 SQL 路径单引号转义;恢复任务被中断后不再继续执行;构建脚本 target 8→17(适配 Paper 1.20.1+/Java 17)
- **1.6.7**:日志大幅精简(备份过程不再刷阶段日志,跳过文件只汇总);SQLite 扫描排除 H2 文件(不再误报);MineStock 连接去掉多余 USER 参数(修复认证失败)
- **1.6.6**:回档禁用插件按依赖顺序执行(先禁依赖别人的,最后禁 LuckPerms/PAPI),消除 onDisable 报错噪音;插件禁用后异步线程不再尝试调度任务(消除"回档准备失败"误报)
- **1.6.5**:修复 SQLite 回档恢复 — 不再覆盖被插件占用的文件,改为 ATTACH 备份库 + SQL 逐表复制数据(插件运行时也能恢复)
- **1.6.4**:回档容错 — 单个文件被占用不再中断整个回档(跳过并提示);备份排除 tmp 临时目录(sqlite-jdbc 等 native 库);数据库导出日志精简为汇总
- **1.6.3**:SQLite 优化 — 已被 VACUUM INTO 热备份的原始 .db 不再重复直接复制,备份包更干净
- **1.6.2**:新增通用 SQLite 数据库热备份(官方 VACUUM INTO 一致性快照,自动覆盖 AuthMe/Brewery/PlayerPoints/TrMenu 等所有 SQLite 插件,回档后自动恢复)
- **1.6.1**:新增通用 H2 数据库兜底备份(自动尝试连接被锁的 H2 库,能连的用 SCRIPT TO 导出整个库随备份打包,回档后自动恢复;失败跳过不拖慢备份)
- **1.6.0**:新增 MineStock 持仓数据自动导出/回档导入(利用其 H2 AUTO_SERVER=TRUE,ClawBackup 内置 H2 驱动运行时 JDBC 直连,无需 MineStock 编译依赖)