这篇文章描述了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-lsp | 2020年1月7日 |
| swift-llbuild | 2020 年 1 月 7 日 |
| swift-package-manager | 2020 年 1 月 7 日 |
将变化带入 Swift 5.2 的理念
-
Swift 5.2 的所有语言和 API 变更都将经过Swift 进化过程。 进化建议应力求在分支日期前完成,以增加其对 Swift 5.2 版本产生影响的机会。 例外情况将被逐一考虑,特别是如果它们与该版本的核心目标相联系。
-
其他更改(例如,错误修复、诊断改进、SourceKit 接口改进)将根据其风险和影响被接受。
-
低风险的测试调整也会在发布分支的后期被接受,如果它有助于版本的鉴定。
-
随着发布工作的进行,接受修改的标准将变得越来越严格。
发布分支的拉动请求
为了使一个拉动请求在被切割后被考虑纳入发布分支 (swift-5.2-branch),它必须包括以下信息:
-
解释:对要修复的问题或改进的描述。 这可以很简短,但应该很清楚。
-
范围:对该变化的影响/重要性的评估。例如,该变化是否是一个破坏源代码的语言变化,等等。
-
SR问题:如果该变更修复/实施了bugs.swift.org 上的一个问题/增强功能,则为 SR。
-
风险:采取这一变更对发布的(具体)风险是什么?
-
测试:已经做了哪些具体的测试,或需要做哪些测试来进一步验证该变更的任何影响?
-
评审员:一个或多个受影响组件的代码拥有者应该审查这个变化。技术审查可以由代码所有者委托,或者在认为适当或有用的情况下要求进行。