发布 React Native 0.67
大家新年快乐!今天我们发布了 React Native 的最新版本 0.67.0,同时还带来了我们过去几个月一直在进行的发布流程的一些更新。
章节
0.67 的亮点
如 Meta 在其 H2 2021 计划中所述,React Native 正在尝试更频繁地发布,以缩短新功能和修复(如新架构)在社区中落地的时间。当然,许多发布将侧重于修复和改进。
以下是 0.67.0 中一些值得注意的更改
- Lean-core 移除:DatePickerAndroid
- 升级 Gradle 版本至 7.2,升级 Kotlin 版本至 1.5.31 Bump Kotlin and Gradle versions (#32319)
- 一个值得注意的声明:0.67 仍然依赖 Hermes 0.9.0,与 0.66 保持不变
您可以在此处找到完整的更改日志。
您可以参与关于此版本状态的讨论,请访问此讨论 - 并且,一如既往,为了帮助您升级到此版本,您可以使用升级助手 ⚛️
致谢
此版本包括379 个提交,来自 74 位贡献者!感谢我们所有(新老)贡献者!您可以在此处找到完整的更改日志。
我们还要感谢发布测试人员,他们帮助我们确保 0.67.0 能够顺利部署到您的代码库中,而不会出现任何大规模的回归。
- Marc Rousavy (@mrousavy),来自Margelo,他发现了一个 Hermes 0.10 的回归(regression for Hermes 0.10)(这在 CI 测试中永远不会被发现),该回归将在 0.68 版本的 React Native 的 Hermes 0.11 中得到修复。
- Reanimated 团队,他们为在 0.67 RC 阶段早期准备了一个与 0.67 兼容的版本。
- Elias Nahum (@enahum),来自Mattermost
- Mike Hardy (@mikeHardy),与Invertase合作
我们也感谢Rainbow,Comm和Ledger Live参与了“发布测试人员”计划的试点(更多细节如下)。
改进发布流程
如前所述,React Native 正在重构发布流程,以便更频繁地发布,从而能够更快地将新功能和修复交付给社区。
在过去的几个月里,我们处理了一些延迟发布的问
协调和知识共享
我们投入资源改进发布文档,涵盖如何进行发布、常见问题解答、发布问题协调等 - 所有这些都可以在react-native wiki的此部分找到。通过文档,发布不再依赖于任何个人或领域知识。
除了文档,我们还改进了发布协调,并将发布前状态和补丁的讨论转移到了一个专门的讨论组:react-wg/react-native-releases。
明确的责任
在进一步完善文档后,发布工作得以扩展,这样就没有一个人是进行发布的关键人物了。
React Native 的发布容易出现各种潜在的故障点,并且有大量的依赖项和后续工作。考虑到 React Native 在社区中的使用情况各不相同,让利益相关者参与发布至关重要。我们已经定义了一套支持发布的角色和职责。
发布候选信号
发布的另一个问题是如何获得一个好的信号,表明发布不会出现构建回归。这可以通过增加对构建变体等的测试投入来解决,但采用的信号在一段时间内仍然有用。
在 0.67 版本中,我们试点了一个“发布测试人员”计划,即从事开源应用程序的 React Native 开发人员承诺在他们的应用程序上测试发布候选版本。在此之前,社区没有正式的期望会测试发布候选版本以发现任何潜在问题。该计划帮助我们更快地获得信号,以确保发布的稳定性。
开源的 React Native 应用程序特别有用,因为源代码可用,有助于调试任何回归。有了这个计划,一位发布测试人员发现了 0.67 版本中的一个回归,我们得以解决它,而无需将一个有问题的版本推给更广泛的社区。
有兴趣帮助 React Native 稳定新版本吗?
捕捉回归的一个好方法是将 React Native 的预发布版本react-native@next或react-native@nightly集成到您的 CI 中。对于任何回归,您可以提交一个发布问题并通知相关的讨论。
如果您的应用程序或公司有兴趣加入“发布测试人员”计划,请前往发布角色和职责 Wiki底部的专用部分了解更多信息。
最后,非常感谢您在尝试我们的发布候选版本或帮助解决发布问题方面提供的任何帮助!

