Bazel 4.0 以降は、長期サポートという 2 つのリリース トラックをサポートしています。 (LTS)リリースとローリング リリースです。このページでは、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 の内部テストスイートでテストされます。互換性のないフラグは、
新機能に移行する負担を軽減するために使用できますが、デフォルトの動作
ローリング リリースで変更される可能性があります。(ローリング リリースを使用して、
してプレビューすることです。たとえば、5.0.0-pre.20210604.6
は
2021 年 6 月 4 日に短縮され、5.0 LTS に向けたマイルストーンになります
release.)
最新のローリング リリースは GitHub からダウンロードできます。別の方法として、 Bazelisk v1.9.0 (またはそれ以降)を指定して、特定のバージョン名または 「ローリング」識別子。最新のローリング リリースが使用されます。詳細情報 詳しくは、 Bazelisk のドキュメント。
バージョンの更新
- Bazel バージョンの更新について詳しくは、以下をご覧ください。 Bazel の更新
- 新しい Bazel リリースのアップデートに貢献する方法について詳しくは、以下をご覧ください。 Bazel への貢献