v2.21.1
修复
发布流程
- 发布版本号改为以 GitHub Release tag 为唯一来源,发布前硬校验 package.json 版本与 tag 一致,并用
npm pack --dry-run验证包内容(修复 v2.21.0 发布失败) - Node 18 验证扩展为同时加载 CLI 与编程入口(exports/diff)
控制面
- 编程接口
publish()现在正确转发appId/config,不再静默回退到 update.json 中的应用 minPackageVersion与maxPackageVersion同时提供时取交集(此前上界被忽略);混用不同的包选择器(packageId / packageVersion / packageVersionRange / min+max)现在显式报错- 登录 token 文件以 0600 权限写入(已存在文件同样收紧),并在登录时即加入 .gitignore
打包与差分
- 原生包内 bundle 查找改为锚定精确匹配,
.map/.backup等条目不再可能顶替真实 bundle 的 bundleHash - bundletool 仅在 PATH 中不存在(ENOENT)时才回退
npx node-bundletool,其余错误原样报告 - AAB 上传的中间 APK 改用私有 mkdtemp 临时目录,避免共享 /tmp 的可预测路径
- diff 产物 ZIP 与 universal.apk 提取补全读写流错误传播(只读目录 / 磁盘满不再挂起)
- 流式 diff 路径下 HBC 变换补丁仅在小于基线补丁时才被采用,与内存路径约束一致
v2.21.0 因发布流水线版本号问题未能上 npm,本版本包含其全部内容。