Note
If you are looking for rolling releases, please visit this page.
Release 9.1.0rc2 (2026-04-14)
Bazel 9.1.0 is a minor LTS release. It is fully backward compatible with Bazel 9.0 and contains selected changes by the Bazel community and Google engineers
Configurability
- Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29239)
External Deps
- The `compatibility_level` and `max_compatibility_level` attributes of `module` in MODULE.bazel are now no-ops. Module maintainers should stop specifying those attributes and provide clear build time error messages and actionable migration paths when making major breaking changes. (#28616)
- `package_group` now supports labels with external repositories in the `packages` attribute. (#28893)
- `rctx.symlink` now implicitly watches the target if it falls back to a copy. (#28741)
- The local and remote repo contents cache now include the host OS and CPU architecture in the cache key. (#29195)
- The remote repo contents cache now supports all reproducible repo rules. (#29225)
Remote Execution
- The `requires-worker-protocol` execution requirement is now forwarded to remote execution services as a platform property (`persistentWorkerProtocol`) to support intermixing JSON and Proto remote persistent worker protocols across a build. (#28710)
- Bazel now has experimental support for `--rewind_lost_inputs`, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28958)
- Added `--experimental_remote_cache_chunking` flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28903)
Starlark / Build Language
- `string.splitlines()` no longer incorrectly treats u+0085 (`NEL`) as a newline character (#28931)
Acknowledgments
This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, Boleyn Su, Fabian Meumertzheim, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, and Will Stranton.
Notice: Bazel installers contain binaries licensed under the GPLv2 with Classpath exception. Those installers should always be redistributed along with the source code.
Some versions of Bazel contain a bundled version of OpenJDK. The license of the bundled OpenJDK and other open-source components can be displayed by running the command bazel license. The vendor and version information of the bundled OpenJDK can be displayed by running the command bazel info java-runtime. The binaries and source-code of the bundled OpenJDK can be downloaded from our mirror server.
Security: All our binaries are signed with our public key 3D5919B448457EE0.