リリースのバージョニング

問題を報告する ソースを表示 ナイトリー · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Bazel 4.0 以降では、長期サポート(LTS)リリースとローリング リリースの 2 つのリリース トラックがサポートされています。このページでは、Bazel のバージョニング、リリースの種類、Bazel のユーザーとコントリビューターにとってのリリースのメリットについて説明します。

Bazel のバージョニングについて

Bazel は major.minor.patch セマンティック バージョニング スキームを使用します。

  • メジャー リリースには、以前のリリースとの下位互換性のない機能が含まれています。
  • マイナー リリースには、下位互換性のある新機能が含まれています。
  • パッチリリースには、軽微な変更とバグの修正が含まれています。

バージョン 3.5.1 を例に取ると、各タイプの新しいリリースでは、次のバージョン番号が使用されます。

  • メジャー: 4.0
  • 軽微: 3.6
  • パッチ: 3.5.2

Bazel のリリース サイクル

Bazel は、ローリング リリースを継続的に公開しています。すべてのメジャー バージョンは LTS リリースです。リリース ケイデンス(LTS リリースから次の LTS リリースへの更新、またはマイナー バージョンのリリースごとに更新)を選択できます。

この画像は、ローリング リリースと LTS リリースの両方と、それぞれのサポート期間を示しています。

ロードマップ

図 1. ローリング リリースと LTS リリース。

リリース ブランチ

各メジャー バージョンは、リリース時に個別の開発ブランチになります。ヘッドの Bazel リリースに更新しなくても、そのブランチの重大なバグの修正を受け取ることができます。メジャー バージョン ブランチの追加機能はマイナー リリースになり、ブランチの最高バージョンがサポート対象のバージョンになります。

各 Bazel リリースは、連携する推奨ルール バージョンのリストとペアになっています。各ブランチ内には厳格な下位互換性があります。

LTS リリース

LTS リリースは、リリースから 3 年間サポートされるメジャー バージョン(4.0 など)です。メジャー バージョンは約 9 か月ごとにリリースされます。

リリース ブランチで継続的に開発が行われると、マイナー バージョンが作成されます。

プロジェクトをメジャー リリースに固定し、都合のよいタイミングで新しいバージョンに更新することもできます。これにより、今後の変更をプレビューして、事前に適応できます。

ローリング リリース

ローリング リリースは、Bazel のメインブランチから定期的にカットされます。このリリース ケイデンスでは、Google の内部 Blaze リリースと同期して、次のメジャー Bazel バージョンのプレビュー リリースが継続的に提供されます。

新しいローリング リリースには、以前のリリースとの互換性を破る変更が含まれている場合があります。

ローリング リリースは、Bazel CI の Bazel のテストスイートと Google の内部テストスイートでテストされます。互換性のないフラグを使用して、新しい機能への移行の負担を軽減できますが、デフォルトの動作はローリング リリースによって変更される可能性があります。(ローリング リリースを使用して、次の LTS バージョンをプレビューすることもできます。たとえば、5.0.0-pre.20210604.6 は 2021-06-04 の候補カットに基づいており、5.0 LTS リリースに向けたマイルストーンを表します)。

最新のローリング リリースは GitHub からダウンロードできます。または、特定のバージョン名または「rolling」識別子(最新のローリング リリースを使用)を使用するように Bazelisk v1.9.0 以降を設定することもできます。詳細については、Bazelisk のドキュメントをご覧ください。

バージョンの更新