跳至主内容

React Native 0.66 正式发布

· 1 分钟阅读
Luna Wei
Luna Wei
Software Engineer @ Meta
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

今天我们正式发布 React Native v0.66 版本,提供对 Android 12 和 iOS 15 的支持,同时包含多项修复和常规更新。

重点详解​

处理 Android 上子视图超出父视图边界的点击事件​

感谢 @hsource 通过 overflow: visible 添加了对子视图超出父边界时的交互支持。这是常见的使用场景,使 Android 平台的 React Native 更贴近 Web 标准。

详情请参阅该 pull request。

Android 新增蓝牙权限支持​

我们已添加对新蓝牙权限的支持以适配 Android 12,并计划在下一版本中将 targetSDKVersion 更新至 31。

增强对 Apple Silicon、Xcode 13 和 iOS 15 的支持​

本次更新提供了多项解决方案,显著提高了在 Apple Silicon (M1) Mac 设备上使用 Xcode 构建 iOS 应用的可靠性。

特别值得一提的是,新应用模板现已包含 CocoaPods 的临时解决方案(感谢 @mikehardy!)。 要应用此方案,请确保在应用的 Podfile 中,post_install 步骤已添加 __apply_Xcode_12_5_M1_post_install_workaround(installer)。

此外,RCT-Folly.podspec 已更新以防止 arm64 链接器故障。

请查看我们分享的这篇关于适配 iOS 15 和 Android 12 的文章。

Hermes 0.9.0​

Hermes 0.9.0 主要致力于缩小 Hermes 发布节点与本次 React Native 发布之间的差距。

在约 400 次提交中,包含常规错误修复以及内存和体积优化。

详见 Hermes 0.9.0 发布说明。

每日构建与"提交级"构建​

在最近的博客文章中我们提到,2021 下半年的目标之一是改进发布流程,使其更快更稳定。为此我们正在努力提升 main 分支的稳定性,并减少候选发布版本中的缺陷数量。

虽然我们发布 React Native 的 nightly 版本已超过一年,但这些版本尚未被大多数项目有效使用。现在它们更容易获取,我们希望将其作为未来的发布候选版本。Nightly 版本通过 npm 的 "nightly" 标签发布。

为了改进单个提交的测试流程,React Native 的 CI 现在会为 main 分支和 release 分支上的每个提交以及每个 PR 创建 tarball 产物。我们将其称为 commitly 版本。这些 commitly 版本不会发布到 npm,但可以直接从 CircleCI 下载。具体操作请参考下方说明。

想帮助合并 PR 吗?通过测试相关 commitly 版本并验证变更,您将提供宝贵信号来协助落地这项变更!

使用 Nightly 版本(Nightlies)​

迁移项目到 React Native nightly 版本的过程与升级常规版本非常相似,但请注意 Upgrade Helper 等工具目前暂不支持 nightly 版本。因此我们建议:如果尚未升级,请先将项目升级到最新稳定版,然后运行 yarn upgrade react-native@nightly 安装最新 nightly 版本。请注意,您的项目可能需要额外调整才能在 nightly 版本上正常运行。

使用 Commitly 版本(Commitlies)​

Screenshot of CircleCI artifact panel to find tarball

Find the "build_npm_package-1" job related to a commit and head to the "Artifacts" panel to download the tarball for the commitly.

与 nightly 版本类似,首先确保项目已升级至最新稳定版。然后前往 Circle CI 的 react-native 仪表板,查找目标提交触发的工作流。找到名为 build_npm_package 的作业,在 "Artifacts" 面板获取 tarball 文件下载链接。之后可运行以下命令:

# Update your react-native dependency to the tarball
# using your preferred package manager
$ yarn add <path to tarball>
$ npm add <path to tarball>

致谢​

本次发布包含 621 次提交和 92 位贡献者!感谢所有新老贡献者!您可在此查看完整更新日志。

同时感谢以下贡献者在准备、测试和推进本次发布过程中提供的支持!