Repository navigation
English
v1.5.6 — Fix large-metadata history imports and CSV list completeness
- Fix a v1.5.5 failure where metadata larger than 8 MiB could leave an existing-backup import pending and prevent subsequent backups from starting. Copying, history preservation, and TAR export now stream SHA-256 independently of plist parsing limits.
- Add
IOSBK_PLIST_MAX_MIB, defaulting to64and accepting integers from1–256. It limits each plist input and converted output during checks and browsing. An over-budget backup can still be preserved and exported as a pending history point, without becoming an incremental baseline. - Show the failing plist and effective parsing limit. Identify the existing-backup import stage and distinguish permission or read-only storage failures from insufficient space. Preserve pending policy settings so storage preparation can be retried.
- Fix long records being omitted from online CSV file lists. Support individual records up to 1 MiB and report oversized records explicitly. Abort an already-started download so clients can detect an incomplete transfer.
- Update English and Simplified Chinese messages and configuration, history, and browsing documentation. Existing configuration and backup formats remain compatible.
Upgrade notes
- If storage preparation failed on v1.5.5, upgrade to v1.5.6, then select Device settings → Backup retention → Retry storage preparation. Keep the original backup and saved policy settings.
- No new setting is normally required. To parse plists larger than 64 MiB, set
IOSBK_PLIST_MAX_MIB: "128"under your Compose service'senvironmentand recreate the container. This setting limits plist parsing, not the total backup or TAR export size. A higher limit can increase parsing memory use. - Pending points remain available for preservation and export but cannot serve as normal incremental baselines. Passed checks and matching export hashes do not establish successful whole-device recovery.
Validation / 验证
- ARM64 test-machine Go suite: 971 top-level cases passed, with conditional skips; all 173 frontend tests passed. The complete race suite passed on macOS; the test machine's 39-bit VMA kernel cannot start ThreadSanitizer.
- Verified 9 MiB and 65 MiB plist imports, the 128 MiB setting, recovery of a persisted v1.5.5 failure, repeated retry without duplicate history points, and preservation across restart.
- A real encrypted history-point export matched all 10,004 source-file SHA-256 hashes. A real unencrypted CSV contained 145,905 data records, matching an independent SQLite count. These checks did not perform a new device backup or whole-device restore.
中文
v1.5.6 — 修复大文件历史导入与 CSV 清单完整性
- 修复 v1.5.5 导入已有备份时,超过 8 MiB 的元数据可能导致存储准备失败、后续备份无法启动的问题。复制、历史保存和 TAR 导出改用流式 SHA-256,不再受 plist 解析大小限制。
- 新增
IOSBK_PLIST_MAX_MIB,默认64,接受1–256的整数,限制检查和浏览时单个 plist 的输入及转换输出。超过上限的备份仍可保存为可导出的待确认历史点,不参与增量基线选择。 - 改善失败提示:显示发生问题的 plist 文件名和本次使用的上限;历史导入失败时标明“导入已有备份”阶段,并区分权限不足、只读挂载和空间不足。保留已有未完成策略,支持重试存储准备。
- 修复在线 CSV 清单中的长记录可能被遗漏的问题。单条记录支持到 1 MiB,超过上限时明确报错;下载已开始时中断传输,让客户端识别下载不完整。
- 同步中英文界面提示和配置、历史备份、浏览文档,沿用现有配置和备份格式。
升级须知
- 已在 v1.5.5 遇到存储准备失败的设备,升级到 v1.5.6 后,在“设备设置 → 备份保留策略”点击“重试存储准备”。不需要删除原备份或重新开启策略。
- 通常无需新增配置。若需要解析超过 64 MiB 的 plist,可在 Compose 的
environment中设置IOSBK_PLIST_MAX_MIB: "128"并重建容器。该值仅控制 plist 解析,不是整份备份或 TAR 导出的大小限制;调高上限可能增加解析内存占用。 - 待确认历史点可保留和导出,但不能作为正常增量基线。检查通过及导出哈希一致不代表已验证整机恢复成功。
Full changelog / 完整变更: v1.5.5...v1.5.6