跳至主内容

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 位贡献者!感谢所有新老贡献者!您可在此查看完整更新日志

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