Release 9.1.0rc1 (2026-04-09)

Release Notes:

Configurability: + package_group now supports labels with external repositories in the packages attribute. (#28893)

ExternalDeps: + 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) + 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) + Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29239)

Remote-Exec: + 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-Interpreter: + [Incompatible] string.splitlines() no longer incorrectly treats u+0085 (NEL) as a newline character (#28931)

Acknowledgements:

This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, bazel.build machine account, Boleyn Su, Damian Banki, Fabian Meumertzheim, Greg, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, Will Stranton, Xùdōng Yáng.

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.

Index of files