發布版本

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 版本是主要版本 (例如 4.0),在發布後 3 年內提供支援。主要版本大約每 9 個月會發布一次。

持續開發發布分支版本會導致子版本產生。

您可以選擇將專案固定為主要版本,並及時更新至較新版本。讓您有時間預覽即將推出的變更並事先進行調整。

推出版本

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

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

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

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

更新版本

  • 如要進一步瞭解如何更新 Bazel 版本,請參閱更新 Bazel
  • 如要進一步瞭解如何為新的 Bazel 版本提供更新,請參閱協助 Bazel