Release 8.4.0rc1 (2025-08-20)

Release Notes:

Android: + Add better defaults for mobile-install flags (#26388)

Configurability: + Added --incompatible_compact_repo_mapping_manifest, which causes the repo mapping manifest file for runfiles to use a more compact format when necessary. (#26420) + If a cc toolchain feature named shorten_virtual_includes is enabled, virtual include header files are linked under bin/_virtual_includes/<hash of target path> instead of bin/<target package path>/_virtual_includes/<target name>. This shortens the virtual include paths which is critical for mitigating long path issue with MSVC on Windows. (#26532) + The --experimental_cancel_concurrent_tests option now accepts the values on_passed, on_failed and never and cancels concurrent test runs on the first matching result. If enabled, it’s now effective by default and no longer requires --test_strategy=standalone to be passed explicitly. (#26670) + Tool paths specified in cc_toolchain action configs are now normalized based on the current execution platform’s OS rather than the host OS. In particular, Windows-style absolute paths are now treated as absolute paths when building on a Windows executor from a non-Windows host. (#26598)

ExternalDeps: + Modules backed by http_archive or git_repository no longer require a MODULE.bazel file to be contained in the source archive. (#26462)

OSS: + Branches will always be merged as best as possible based on branch and block numbers during coverage report generation. (#26461)

Rules-CPP: + [Incompatible] Bazel releases that include a bundled JDK now use the system trust store for certificates by default. Set -Djavax.net.ssl.trustStore and -Djavax.net.ssl.trustStoreType via --host_jvm_args to override the default location. (#26681)

Acknowledgements:

This release contains contributions from many people at Google, as well as Aaron Sky, Adrian Vogelsgesang, bazel.build machine account, Dmitry Ryabkov, Ed Schouten, Fabian Meumertzheim, George Gensure, Greg, James Judd, Jonathan Woodbury, Keith Smiley, Pelikan.B, Valentin Grigorev, Wade Carpenter, Xavier Bonaventura, Xdng Yng, 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