本文翻譯自官網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提交併被髮行管理員容許.