Skip to content

v10.50.0

Choose a tag to compare

@sunnylqm sunnylqm released this 03 Aug 15:41
· 70 commits to master since this release
0aef8b5

pdiff content verification, closed loop (BUNDLEHASH_MIGRATION §4.2.1)

  • Copy-source CRC verification for pdiff on all three platforms: paired with the full copiesCrc map generated by CLI ≥ 2.21.2, assets whose path matches but whose content has drifted in a repackaged binary are no longer copied silently — on a CRC mismatch the whole pdiff fails and the strategy chain automatically falls back to a full download. End users never notice, and a corrupted bundle can never be installed
    • Android: BundledResourceCopier compares CRC even on a path hit; on mismatch it first relocates by content, and fails if none is found
    • iOS: the shared C++ patch core verifies before copying (new streaming CRC32, anchored by NIST check-value tests)
    • Harmony: entries declaring a CRC now go through the byte path, verified via NAPI crc32 before landing on disk
  • Telemetry: new local event downloadFallback (an incremental strategy failed but a later strategy rescued the download); failures coded PATCH_FAILED now report patch_fail to the server. On Android, failures after the download completes are now correctly classified as PATCH_FAILED (previously always DOWNLOAD_FAILED); the Harmony patch phase carries stable codes as well
  • Any combination of older pdiff files / older servers behaves exactly as before (only entries with a CRC declaration are verified)

CI

  • Fixed the all-red Android e2e since 7/30: after the second test suite landed, two Detox workers fought over the single AVD and timed out; Android now runs a single worker serially

pdiff 内容校验闭环(BUNDLEHASH_MIGRATION §4.2.1)

  • 三端 pdiff 拷贝源 CRC 校验:配合 CLI ≥2.21.2 生成的全量 copiesCrc,重打包二进制上路径命中但内容漂移的资源不再被静默拷贝——校验不符时整次 pdiff 失败,策略链自动回退 full,终端用户无感知,永不装出坏包
    • Android:BundledResourceCopier 路径命中也比对 CRC,不符先按内容定位、仍无则失败
    • iOS:共享 C++ patch 内核在拷贝前校验(新增流式 CRC32,NIST check-value 测试锚定)
    • Harmony:声明 CRC 的条目改走字节路径,经 NAPI crc32 校验后落盘
  • 遥测:新增本地事件 downloadFallback(增量策略失败但被后续策略救回);失败码为 PATCH_FAILED 时上报服务端 patch_fail。Android 下载完成后的失败现在正确归类为 PATCH_FAILED(此前一律 DOWNLOAD_FAILED),Harmony patch 阶段同样带稳定码
  • 老版本 pdiff / 老服务端任意组合行为不变(仅校验有 CRC 声明的条目)

CI

  • 修复 Android e2e 自 7/30 起的全红:第二个测试套件加入后 Detox 双 worker 抢占单 AVD 导致超时,Android 端改为单 worker 串行