本文翻译自官网Blog: https://swift.org/blog/swift-3-0-release-process/git
本文将阐述Swift 3.0的目标,发布过程以及预估进度.github
Swift 3.0是一个与Swift 2.2源码不兼容的主发行版. 这个版本在语言和标准库上作出了根本性地改变. 对于Swift 3.0中全部实现变化的完整列表可在Swift evolution site查阅.swift
Swift 3.0一样也是第一个包含Swift包管理器的发行版. 尽管Swift包管理器尚处于开发早期,但其已支持对Swift包跨平台的开发和部署. Swift包管理器将同时支持Darwin及Linux.app
对于Linux, Swift 3也会是第一个包含Swift核心库的发行版.测试
Swift 3.0预计会在16年下半年的某个时候发布. 除了在Swift.org发布, Swift 3.0也将集成在后续Xcode版本中推出.ui
Swift 3.0会有一系列的开发者预览版本 (例如“seeds”或者“betas”) 以期能提供合格的Swift 3构建版本. 这样作是为了提供给用户更稳定合格的可下载试用(并提交Bug)的Swift库, 而不只是抓取master
分支的最新快照.spa
各个开发者预览版之间的间隔极可能不一致, 大体上是每隔4-6个礼拜. 这会被要并入master
分支的变动大小和稳定下来所需时间长短所影响.翻译
Swift 3.0的最后一个开发者预览分支为“GM”.code
进入开发者预览版本的内容将会被合适的发行管理人员来管理 (见下文).blog
master: Swift 3.0的开发所有在master
分支上. 全部在最后一个开发者预览分支建立前进入master
分支的变动都将会成为最终版本的一部分. 在这一点上master
分支会记录Swift将来版本的开发内容.
swift-3.0-preview-<X>-branch: 全部的开发者预览分支均从master
分支上切出. 提交到这些分支上的全部变动要经过pull request在持续集成系统上发起测试并提交. 各个仓库的发行管理员才可批准将此pull request合并入开发者预览分支.
swift-3.0-branch: 最后一个开发者预览分支一样从master
分支切出,名叫swift-3.0-branch
. 这会是最终的“发行分支”.
随着Swift 3.0的汇聚,只会考虑和发布的核心目标相一致的变化.
语法变化将会逐一予以考虑.
全部语法和API的变化均记录在Swift Evolution.
准则 — 经过设立发行管理员 — 来严格审核接收随时间不断增长的变动. 一样的策略一样适用于开发者预览分支及其余迷你分支.
首个开发者预览版分支swift-3.0-preview-1-branch
会在5月12号从master
分支切出. 会在4到6个礼拜后发布.
什么时候建立最后的开发者预览版分支swift-3.0-branch
还待定. 在日期肯定后该计划会经过swift-dev传达,本文也会及时更新.
下列的Git库都将会有swift-3.0-preview--branch
/swift-3.0-branch
分支做为Swift 3.0的部分代码:
下列的Git库将只有swift-3.0-branch
分支而没有开发者预览分支, 由于它们已经被有效的集成了:
发行版的管理所有由如下人员监管, 他们会严格控制能进入Swift 3.0发行版的变动提交,并决定集中发行:
Ted Kremenek是Swift 3.0的总发行管理员.
Frédéric Riss是负责swift-llvm和swift-clang的发行管理员.
Kate Stone是负责swift-lldb的发行管理员.
Tony Parker是负责swift-corelibs-foundation的发行管理员.
Daniel Steffen是负责swift-corelibs-libdispatch的发行管理员.
Mike Ferris是负责swift-corelibs-xctest的发行管理员.
Rick Ballard是负责swift-package-manager的发行管理员.
若是你对发行管理过程有任何疑问,能够直接email给swift-dev或Ted Kremenek.
全部要归入开发者预览版分支的pull request必需要包含如下信息:
说明: 对于问题修复或改进实现的描述. 说明能够简短但必定要清楚明确.
做用: 评估会形成的影响和重要性. 好比, 该变动是否会形成语法变化, 等等.
SR问题: 变动是否修复/实现了一个bugs.swift.org上的问题/改进.
风险: 采起该变动有何风险?
测试: 哪些具体的测试已完成或须要进一步验证变动可能会形成的影响?
被影响组件的一个或多个代码全部者必需要评审变动. 技术审查可由代码全部者受权或要求以其余方式证实适当或有效.
想要进入开发者预览分支的全部的变动必须经过pull request提交并被发行管理员容许.