React Native 0.67 发布公告
大家新年快乐!今天我们宣布了 React Native 的最新版本 0.67.0,以及过去几个月里我们在发布流程方面的一些更新。
章节
0.67 的亮点
正如 Meta 的 2021 年下半年计划 中提到的,React Native 正在尝试更频繁地发布,以缩短新功能和修复程序(如新架构)进入社区的时间。当然,许多版本将专注于修复和改进。
以下是 0.67.0 中的一些值得注意的更改
- 精简核心移除:DatePickerAndroid
- 将 Gradle 版本升级到 7.2,将 Kotlin 版本升级到 1.5.31 升级 Kotlin 和 Gradle 版本(#32319)
- 一个值得注意的说明:0.67 继续依赖 Hermes 0.9.0,与 0.66 相同
您可以在 此处找到完整的变更日志。
您可以在 此讨论 中参与关于此版本状态的讨论 - 并且,与往常一样,为了帮助您升级到此版本,您可以使用 升级助手 ⚛️
鸣谢
此版本包含 来自 74 位贡献者的 379 次提交!感谢我们所有的贡献者(新老皆宜)!您可以在 此处找到完整的变更日志。
我们还想感谢那些帮助我们确保 0.67.0 能够在没有重大回归的情况下到达您的代码库的版本测试人员。具体来说,我们要感谢
- 来自 Margelo 的 Marc Rousavy (@mrousavy),他发现了 Hermes 0.10 的一个回归(这在 CI 测试中永远不会被发现),将在 React Native 0.68 版本的 Hermes 0.11 中修复。
- Reanimated 团队,他们在 0.67 RC 阶段早期快速准备了其库的 与 0.67 兼容的版本。
- 来自 Mattermost 的 Elias Nahum (@enahum)
- 与 Invertase 合作的 Mike Hardy (@mikeHardy)
我们也感谢 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 中。对于任何回归,您可以 提交发布问题 并通知相应的讨论组。
如果您的应用或公司有兴趣加入“发布测试员”计划,请前往发布角色和职责维基底部的专用部分了解更多信息。
最后,任何帮助我们尝试发布候选版本或帮助解除发布问题的帮助都将不胜感激!