發布版本

Bazel 4.0 以上版本支援兩個測試群組:長期支援 (LTS) 版本和滾動版本。本頁面將介紹 Bazel 的版本管理、版本類型,以及這些版本為 Bazel 使用者與貢獻者帶來的好處。

瞭解 Bazel 的版本管理

Bazel 會使用 major.minor.patch 語意版本管理架構。

  • 主要版本包含與先前版本不回溯相容的功能。
  • 次要版本包含回溯相容的新功能。
  • 修補程式版本包含小幅變更和錯誤修正。

以 3.5.1 版為例,每種類型的新版本會產生下列版本號碼:

  • 主要:4.0
  • 次要:3.6
  • 修補程式:3.5.2

Bazel 的發布週期

Bazel 會持續發布滾動式版本。每個主要版本都是 LTS 版本。您可以選擇採用任一發布頻率,也就是從某個 LTS 版本更新至下一個版本,或是隨著每個子版本更新。

圖片顯示滾動式和 LTS 版,以及各版本的預期支援。

發展藍圖

圖 1:滾動式和 LTS 版本。

發布分支版本

在發布過程中,每個主要版本都會成為獨立的開發分支版本。您可接收該分支版本重大錯誤的修正項目,而不需要在頭更新 Bazel 版本。主要版本分支版本的其他功能會成為次要版本,而分支上的最高版本則是支援的版本。

每個 Bazel 版本都會與一份建議規則版本清單配對。這些版本可以搭配使用,且每個分支版本都具有嚴格的回溯相容性。

LTS 版本

LTS 版本是推出後 3 年支援的主要版本 (例如 4.0)。主要版本大約每九個月發布一次,

針對版本分支版本進行持續開發,會導致子版本產生子版本。

您可以選擇將專案固定至主要版本,並在您每次更新時更新至較新版本。這可讓您有時間預覽即將發布的變更,並事先加以調整。

滾動式版本

系統會定期從 Bazel 的主要分支版本中剪下發布版本。這個發布頻率涉及持續推送下一個主要 Bazel 版本的預先發布版,而且該版本會與 Google 的內部 Blaze 版本同步。

請注意,新的滾動式版本可能包含與先前版本不相容的破壞性變更。

系統會透過 Bazel 的測試套件,測試 Bazel CI 和 Google 的內部測試套件。不相容的標記可用於簡化遷移至新功能的負擔,但預設行為可能會隨任何滾動版本而改變。(您也可以使用滾動式版本來預覽下一個 LTS 版本。舉例來說,5.0.0-pre.20210604.6 以 2021 年 6 月 4 日的候選版本為基礎,代表 5.0 LTS 版本的里程碑。

您可以從 GitHub 下載最新的滾動版本。您也可以設定 Bazelisk v1.9.0 (或更新版本),以使用特定的版本名稱或「滾動」ID (使用最新的滾動版本)。詳情請參閱 Bazelisk 說明文件

更新版本

  • 如要進一步瞭解如何更新 Bazel 版本,請參閱「更新 Bazel」。
  • 如要進一步瞭解如何為新的 Bazel 版本提供更新,請參閱為 Bazel 提供貢獻