Swift 5.1 發佈進程

原文連接swift

Swift 5.0 的 ABI 剛穩定不久,Swift 團隊就開始着手 Swift 5.1 的發佈了,並在官方網站發了博文來公佈 Swift 5.1 的發佈進度。如下是官宣的譯文,藉此也能夠管窺一下蘋果對發佈流程的控制。xcode

連接:swift.org/blog/5-1-re…微信

這篇文章描述了 Swift 5.1 的目標,發佈過程和預計時間表。測試

動機和目標

Swift 5.1 的主要目標是使語言實現模塊穩定性。網站

二進制兼容性

在 Apple 平臺上,因爲 ABI 如今已經穩定,Swift 5.1 與 Swift 5.0 是二進制兼容,而且與將來版本的 Swift 二進制兼容。ui

在非 Apple 平臺(例如Linux)上,ABI 還沒有徹底穩定,須要進行更多審查。基於 Linux 的新平臺將尤爲須要這樣的審查。spa

源碼兼容性

與 Swift 5.0 同樣,咱們但願使用 Swift 5.0 編譯器構建的大多數源代碼均可以使用 Swift 5.1 編譯器進行編譯。可是,Swift 5.1 中的 Bug 修復可能會致使它檢測到之前未檢測到的代碼中的錯誤。code

Swift 5.1 的快照

做爲持續集成測試的一部分,將按期發佈 Swift 5.1 版本分支的可下載快照。cdn

一旦發佈了 Swift 5.1,除了快照以外,還將發佈官方最終版本。blog

Swift 5.1 中的更新

Swift 5.0 的開發須要在其融合的整個過程當中得到不一樣尋常的關注,由於每一個問題都必須針對其持久的 ABI 影響進行評估。受此影響,Swift 5.1 的開發窗口比之前的版本短得多。須要這種更嚴格的時間限制來確保提供成熟穩定的 5.1 版本,併爲破壞性更改提供更嚴格的截止日期。

swift-5.1-branch 包含將在 Swift 5.1 中發佈的更改。該分支將按以下方式進行管理:

  • swift-5.1-branch 是從 master 主分支拉取。
  • master 分支將按期合併到 swift-5.1-branch 中,直到最終分支日期爲止。
  • 2019年3月18日(最終分支):swift-5.1-branch 將最後一次從 master 合併。在最後一個分支日期以後,將有一個「bake」期,其中只選擇關鍵修復做爲發佈項(經過拉取請求)。

該計劃的一些值得注意的例外狀況見下表。每一項天天都會從 master 合併到 swift-5.1-branch。每一個例外變動的最終截止日期將延長至 3 月 18 日之後,並將在稍後公佈。

將更改放入 Swift 5.1 的指導思想

  • Swift 5.1 的全部語言和 API 更改都將經過 Swift Evolution 過程完成。Evolution 提案的目標應該是在分支日期以前完成,以增長影響 Swift 5.1 版本的機會。將根據具體狀況考慮例外狀況,特別是若是它們與發佈的核心目標相關聯。
  • 其餘更改(例如,錯誤修復、診斷改進、SourceKit 界面改進)將根據其風險和影響被接受。
  • 若是有助於提升發佈的質量,那麼低風險的測試調整也將在發佈分支的後期被接受。
  • 隨着發佈的臨近,接受的變動的標準將變得愈來愈嚴格。

受影響的 Repositories

如下 repositories 將有一個 swift-5.1-branch 分支來跟蹤源代碼,做爲 Swift 5.1 版本的一部分:

  • indexstore-db
  • sourcekit-lsp
  • swift
  • swift-clang
  • swift-cmark
  • swift-compiler-rt
  • swift-corelibs-foundation
  • swift-corelibs-libdispatch
  • swift-corelibs-xctest
  • swift-integration-tests
  • swift-llbuild
  • swift-lldb
  • swift-llvm
  • swift-package-manager
  • swift-stress-tester
  • swift-syntax
  • swift-xcode-playground-support

發佈分支的 Pull Requests

爲了將 Pull Requests 包含在發佈分支中,它必須包含如下信息:

  • 說明:正在修復或加強的問題的說明。這能夠是簡短的,但應該很清楚。
  • 範圍:評估變動的影響/重要性。例如,更改是破壞源語言的變化等。
  • SR 問題:若是更改修復或實現了在 bugs.swift.org 上的問題或加強特性,則爲SR。
  • 風險:採起此更改的發佈的(特定)風險是什麼?
  • 測試:爲了進一步驗證此更改的影響,已完成或須要進行哪些特定測試?
  • 審閱者:受影響組件的一個或多個代碼全部者應審覈更改。技術審覈可由代碼全部者委派,或在認爲適當或有用時另行要求。

進入 swift-5.1-branch 的全部更改(外部更改將自動從master中合併)必須經過相應發佈管理人員接受的 Pull Requests。

關注咱們

歡迎關注咱們的公衆號:iOS-Tips,也歡迎加入咱們的羣組討論問題。能夠加微信 coldlight_hh/wsy9871 進入咱們的 iOS/flutter 微信羣。

相關文章
相關標籤/搜索