Skip to content

v2.29.2

Choose a tag to compare

@sunnylqm sunnylqm released this 12 Oct 07:54
b86803b

English

Fixes

  • bundle no longer hangs when the .ppk cannot be written: a full disk, a read-only directory, or an output path that is a directory left packing waiting forever. It now fails with the write error and removes the partial file. (#98)
  • No crash on a write error while building a patch or a slimmed native package: such an error could surface as an unhandled rejection and end the process before the partial file was cleaned up. It is now reported normally and the partial file is removed. (#98)

Improvements

  • Fewer dependencies: cgbi-to-png and properties are removed. hermesEnabled in android/gradle.properties is read directly, with the same results for the usual forms (=/:/space separators, comments, last assignment wins). (#98)
  • Faster package commands: uploadApk / uploadIpa / parseApk / parseIpa read the archive once instead of twice. The APK/IPA reader now only parses the fields the CLI uses (version name, pushy_build_time meta-data), and the output is unchanged on real release APKs. (#98)
  • Cheaper version check: the background "newer version available" check only reads the registry's latest tag. It no longer resolves installed copies on every check. The cache location and format are unchanged. (#98)
  • Sentry upload runs sentry-cli sourcemaps upload --help once instead of twice to detect its capabilities. (#98)
  • Hermes base verification: internal cleanup with no behavior change. The diff-transform layout sent with patches is byte-identical for every HBC version. docs/hermes-base-verification.md now covers HBC v99. (#99)

Behavior notes

  • A corrupt HarmonyOS .app now reports the underlying zip error instead of "bundle not found", like .apk / .ipa already did.
  • selectApp with a malformed update.json now fails with the same "failed to parse update.json" error that other commands give.

About 2,700 lines of dead or duplicated code were removed in #98 and #99.

Full Changelog: v2.29.1...v2.29.2

中文

修复

  • .ppk 写不进去时,bundle 不再卡住:磁盘已满、目录只读,或输出路径本身是一个目录时,打包原先会一直等待。现在会直接报出写入错误,并删除写了一半的文件。(#98)
  • 生成补丁包或精简原生包时遇到写入错误,进程不再崩溃:这类错误原先可能变成未处理的 Promise 拒绝,在清理半成品文件之前就让进程退出。现在会正常报错,并删除半成品文件。(#98)

改进

  • 依赖更少:移除了 cgbi-to-png 和 properties。android/gradle.properties 中的 hermesEnabled 改为直接读取,常见写法(=/:/空格分隔、注释、以最后一次赋值为准)的结果与原来一致。(#98)
  • 原生包命令更快:uploadApk / uploadIpa / parseApk / parseIpa 对安装包只扫描一遍,原来要扫两遍。APK/IPA 解析现在只解析 CLI 用到的字段(版本名、pushy_build_time meta-data),在真实 release APK 上的输出不变。(#98)
  • 版本检查更轻:后台的“有新版本”检查只读取 registry 的 latest 标签,不再在每次检查时查找本地已安装的副本。缓存位置和格式不变。(#98)
  • Sentry 上传检测 sentry-cli 能力时,只运行一次 sentry-cli sourcemaps upload --help,原来要运行两次。(#98)
  • Hermes base 校验:内部清理,行为不变。随补丁下发的 diff-transform 布局对所有 HBC 版本逐字节一致。docs/hermes-base-verification.md 补充了 HBC v99 的内容。(#99)

行为说明

  • HarmonyOS .app 文件损坏时,现在会报出底层的 zip 错误,不再提示“找不到 bundle”。这与 .apk / .ipa 原有的行为一致。
  • update.json 格式错误时,selectApp 现在会报出与其它命令相同的“解析 update.json 失败”错误。

#98 和 #99 共删除了约 2,700 行无用或重复的代码。

完整变更:v2.29.1...v2.29.2