# v0.7.0 升级说明

v0.7.0 从已发布的 v0.5.0 直接升级，合入 v0.6.0 内部里程碑，未单独发布 v0.6.0。

从 v0.5.0 升级须同时阅读[同步范围读取与行为变化](migration-0.6.md)：非根空 B-tree 页现在拒绝，合法碎片不再被误拒，CLI 错误信息和范围源错误分类更精确；超过 Int 长度时须使用 `Database.source64()`。CLI 默认单条/累计 payload 预算仍为 16 MiB / 64 MiB，可分别配置。

原同步入口、公开结构体及错误枚举保持；v0.3.0–v0.6.0 的公开声明基线继续核对。新增可供页游标，同步扫描/WAL/全库检查改为驱动同一状态机，原 JSON 契约仍由 SQLite 与消费验证覆盖。

异步能力位于独立 JS 包，不需要给 MoonBit 核心添加 async 或宿主依赖。核心仍支持四后端，异步包当前验证 Node 22.14 和 Chrome；其他宿主未声明支持。构建、接口、取消及源接管规则见[异步范围读取](async-source.md)。异步包以 v0.7.0 Release tarball 附件提供，也可本地构建；尚未发布 npm registry。

异步源使用 BigInt 长度/偏移，并以 Promise 返回严格长度的 Uint8Array。不能直接传入原同步 PageSource；用 BlobSource/openFileSource 或实现异步协议。记录扫描支持 await 和异步迭代器背压；break、取消和失败都会释放游标，消费方应检查完整状态并在 finally 中关闭数据库。

离线查看器现在按 Blob 分块读取 db 与可选 WAL，移除 64 MiB 文件长度限制；默认累计 payload 仍为 64 MiB，单条仍为 16 MiB，全库页数和记录数仍有界。默认检查时间从 30 秒调整为可设置的 120 秒，预算不足或取消返回已观察结果。直接 file:// 打开仍缺真实验收，实际已完成本机 HTTP 载入后断网测试；该差别在验收记录中保留。

新增枚举使用独立类型，未给原枚举添加分支。新增 WalCursor 供应完整 WAL 头/帧；取消的游标不能构造最新快照。异步 WAL JSON 64 位字段为十进制文本，与 CLI 在安全整数范围内使用数字的输出约定不同，请按所属入口消费。

Complete 仍仅代表所声明结构检查完成，不是 SQLite integrity_check；SQL 执行、写入、在线锁/快照协议、恢复及表/索引记录一致性不在此版本范围。
