Swift 5.2的发布过程

182 阅读2分钟

这篇文章描述了Swift 5.2的目标、发布过程和预计时间表。

动机和目标

Swift 5.2 是一个旨在包括重大质量和性能改进的版本。

Swift 5.2 的快照

作为持续集成测试的一部分,Swift 5.2 发布分支的可下载快照将定期发布。

一旦Swift 5.2发布,除了快照之外,官方最终版本也会发布。

将变更纳入Swift 5.2

2019年12月9日swift-5.2-branch 分支将被切割,这将包含将在Swift 5.2中发布的变化。 分支被砍掉后,如果修改符合发布标准,可以通过拉取请求登陆到该分支。

这个计划的一些值得注意的例外情况在下表中指出。每一个都会每天从master 合并到swift-5.2-branch 。 每个例外情况的最终截止日期将超过11月5日,并将在以后公布:

项目截止日期
索引库-数据库2020年1月7日
sourcekit-lsp2020年1月7日
swift-llbuild2020 年 1 月 7 日
swift-package-manager2020 年 1 月 7 日

将变化带入 Swift 5.2 的理念

  • Swift 5.2 的所有语言和 API 变更都将经过Swift 进化过程。 进化建议应力求在分支日期前完成,以增加其对 Swift 5.2 版本产生影响的机会。 例外情况将被逐一考虑,特别是如果它们与该版本的核心目标相联系。

  • 其他更改(例如,错误修复、诊断改进、SourceKit 接口改进)将根据其风险和影响被接受。

  • 低风险的测试调整也会在发布分支的后期被接受,如果它有助于版本的鉴定。

  • 随着发布工作的进行,接受修改的标准将变得越来越严格。

发布分支的拉动请求

为了使一个拉动请求在被切割后被考虑纳入发布分支 (swift-5.2-branch),它必须包括以下信息:

  • 解释:对要修复的问题或改进的描述。 这可以很简短,但应该很清楚。

  • 范围:对该变化的影响/重要性的评估。例如,该变化是否是一个破坏源代码的语言变化,等等。

  • SR问题:如果该变更修复/实施了bugs.swift.org 上的一个问题/增强功能,则为 SR。

  • 风险:采取这一变更对发布的(具体)风险是什么?

  • 测试:已经做了哪些具体的测试,或需要做哪些测试来进一步验证该变更的任何影响?

  • 评审员:一个或多个受影响组件的代码拥有者应该审查这个变化。技术审查可以由代码所有者委托,或者在认为适当或有用的情况下要求进行。