Swift 4.1 发布流程

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

Swift 4.1 是 Swift 4.0 的源码兼容更新。它将包含一些对核心语言的附加增强功能,以及对 Swift Package Manager、Linux 上的 Swift 的改进,以及对编译器和标准库的总体质量改进。

Swift 4.1 与 4.0 版本二进制兼容。它包含各种底层的更改,这些更改是为 Swift 5 中 稳定 Swift ABI 所做的努力的一部分。

Swift 4.1 计划于 2018 年上半年发布。

源码兼容性

绝大多数使用 Swift 4.0 编译器构建的源代码(包括那些使用 Swift 3 兼容模式的源代码)应该可以使用 Swift 4.1 编译器编译。在某些特殊情况下,这无法得到绝对保证。这包括修复编译器中的不正确行为,或通过引入期待已久的泛型功能来解决泛型使用的极端情况。然而,期望是大多数项目将继续构建,而无需更改源代码。

Swift 4.1 的快照

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

一旦 Swift 4.1 发布,除了快照之外,还将发布官方最终构建版本。

将更改纳入 Swift 4.1

swift-4.1-branch 分支包含将在 Swift 4.1 中发布的更改。该分支的管理方式如下:

此计划的四个显著例外是 swift-package-managerswift-llbuildswift-corelibs-foundationswift-corelibs-libdispatch,它们将每天从 master 分支合并到 swift-4.1-branch 分支,并且它们的最终更改截止日期将延长至 12 月 4 日之后,具体时间稍后公布。

将更改纳入 Swift 4.1 的理念

受影响的仓库

以下仓库将有一个 swift-4.1-branch 分支,用于跟踪作为 Swift 4.1 发布一部分的源代码

swift-llvmswift-clangswift-compiler-rtswift-lldb 仓库已经从 master 分支分出了 swift-4.1-branch 分支,并且不会再次重新分支。

发布经理

发布的总体管理将由以下人员监督,他们将在 Swift 4 发布趋于稳定时宣布何时对更改进行更严格的控制

如果您对发布管理流程有任何疑问,请随时发送电子邮件至 swift-dev 或直接联系 Ted Kremenek

注意:Swift 邮件列表已关闭、存档,并已替换为 Swift 论坛。请参阅此处的公告

发布分支的拉取请求

为了使拉取请求被考虑包含在发布分支中,它必须包含以下信息:

进入 swift-4.1-branch 分支的所有更改(自动从 master 分支合并的更改除外)必须通过拉取请求,并由相应的发布经理接受。