Skip to content

v2.25.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 02:39
516be8d

English

Highlights

  • Hardened Hermes detection across Android, iOS, Expo, and CI environments. Android now follows gradle.properties, legacy Gradle configuration, and React Native defaults in the correct order; iOS respects explicit Hermes/JSC settings, ignores commented-out Podfile options, and falls back safely to installed pods or Podfile.lock.
  • Protected intermediate-directory cleanup by canonicalizing the target and refusing filesystem, home, project, temporary, VCS, and symbolic-link redirected locations.
  • Added proxy-aware networking for API calls, uploads, registry checks, and remote archive range requests, including HTTP_PROXY, HTTPS_PROXY, and NO_PROXY handling.
  • Reduced CLI startup overhead through lazy command loading and targeted dependency-version lookup.

Reliability and API improvements

  • Non-interactive and non-TTY executions now fail fast instead of prompting indefinitely or performing unnecessary list requests.
  • App selection now rejects malformed IDs, verifies platform ownership, and validates appKey before persisting configuration.
  • Improved explicit appId/configuration propagation, Provider APIs, source-map option handling, upload retry behavior, and cwd-aware dependency caching.
  • Improved diagnostics while redacting signed URLs and credentials, preserving nested network failure causes, and supporting detailed stacks through RNU_DEBUG=1.
  • Added Node.js 18.17 compatibility checks and broad regression coverage for the new safety and runtime behavior.

中文

主要更新

  • 强化 Android、iOS、Expo 与 CI 环境下的 Hermes 检测。Android 按 gradle.properties、旧版 Gradle 配置和 React Native 默认值的正确优先级判断;iOS 尊重显式 Hermes/JSC 配置,忽略 Podfile 中被注释的设置,并安全回退到已安装 Pods 或 Podfile.lock
  • 强化中间目录清理安全边界:对目标路径进行规范化,阻止清空文件系统根目录、用户目录、项目目录、临时目录根、版本控制目录及符号链接重定向位置。
  • API 请求、上传、registry 检查和远程归档 Range 请求现已支持代理,并正确处理 HTTP_PROXYHTTPS_PROXYNO_PROXY
  • 通过命令按需加载和单依赖版本查询,降低 CLI 启动开销。

稳定性与接口改进

  • 非交互及非 TTY 环境会直接失败,不再无限等待输入,也不会先执行无意义的列表请求。
  • 应用选择会拒绝格式错误的 ID、校验应用平台,并在写入配置前验证 appKey
  • 改进显式 appId/配置传递、Provider API、source map 选项、上传重试以及按工作目录隔离的依赖版本缓存。
  • 改进错误诊断:隐藏签名 URL 与凭据,保留嵌套网络错误原因,并支持通过 RNU_DEBUG=1 输出完整堆栈。
  • 增加 Node.js 18.17 兼容性验证及覆盖安全边界和运行时行为的回归测试。