Bazel Version Policy

Bazel Version Policy

Stable Baseline

GloriousFlywheel and its overlays pin Bazel 7.4.x as the stable baseline. The version is locked in .bazelversion and enforced via Bazelisk.

Version Matrix

Repository Version Module System Status
GloriousFlywheel 7.4.0 Bzlmod Primary
tinyland-infra 7.4.0 Bzlmod Aligned
tinyland-infra inherited local_path_override Consumer
remote-juggler 7.4.1 Bzlmod Minor drift
tinyland.dev 8.1.1 Bzlmod Testing 8.x
DenmarkSmbCache mixed WORKSPACE Exception

Upgrade Path

  1. 7.4.x → 7.4.y: Patch updates applied freely
  2. 7.4.x → 8.x: Requires compatibility testing (see #107)
  3. DenmarkSmbCache: Remains on WORKSPACE until rules_dotnet supports Bzlmod

Testing a New Version

# In a feature branch:
echo "8.1.1" > .bazelversion
bazel build //...
bazel test //...

Known Differences in 8.x

  • Bzlmod is the default (no need for --enable_bzlmod)
  • Some experimental_ flags promoted to stable
  • rules_nixpkgs_core 0.13.0 compatible with 8.x
  • aspect_rules_js may need version bumps

Intentional Exceptions

DenmarkSmbCache uses WORKSPACE mode because rules_dotnet does not yet support Bzlmod. This repo uses .bazelversion but skips MODULE.bazel. Track upstream: https://github.com/bazel-contrib/rules_dotnet

GloriousFlywheel