Skip to content

Releases: bazelbuild/bazel

8.4.0rc1

20 Aug 21:28
6dfb2d6
Compare
Choose a tag to compare
8.4.0rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.4.0rc1 (2025-08-20)

Bazel 8.4.0 is a minor LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

General

  • 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)

Android

  • Add better defaults for mobile-install flags (#26388)

CLI

  • Bazel on MacOS now respects XDG directory settings: if the XDG_CACHE_HOME environment variable is set, the output root directory is ${XDG_CACHE_HOME}/bazel, like on Linux (#26773)

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 the 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)

Coverage

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

External Dependencies

  • Modules backed by http_archive or git_repository no longer require a MODULE.bazel file to be contained in the source archive. (#26462)
  • Repository content cache is disabled by default due to #26450, you can still manually enable it by setting --repo_contents_cache=.

Refer to the full list of commits for more details.

Acknowledgements:

This release contains contributions from many people at Google, as well as Aaron Sky, Adrian Vogelsgesang, Dmitry Ryabkov, Ed Schouten, Fabian Meumertzheim, George Gensure, Greg, James Judd, Jonathan Woodbury, Keith Smiley, Pelikan.B, Valentin Grigorev, Wade Carpenter, and Xavier Bonaventura.

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.

8.3.1

30 Jun 17:15
Compare
Choose a tag to compare

Note

If you are looking for rolling releases, please visit this page.

Release 8.3.1 (2025-06-30)

Bazel 8.3.1 is a patch LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

  • Removed the "overwrote runfiles" warning related to rules_shell. (#26374)
  • Reverted the change to move the Bash runfiles library out of Bazel. This will be delayed until 9.0. (#26372)
  • Fixed hang with force fetching + repo contents cache (#26412)

Refer to the full list of commits for more details.

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.

8.3.1rc2

27 Jun 17:03
49e43bb
Compare
Choose a tag to compare
8.3.1rc2 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.3.1rc2 (2025-06-27)

Bazel 8.3.1 is a patch LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

  • Removed the "overwrote runfiles" warning related to rules_shell. (#26374)
  • Reverted the change to move the Bash runfiles library out of Bazel. This will be delayed until 9.0. (#26372)
  • Fixed hang with force fetching + repo contents cache (#26412)

Refer to the full list of commits for more details.

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.

8.3.1rc1

25 Jun 18:25
42dbcff
Compare
Choose a tag to compare
8.3.1rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.3.1rc1 (2025-06-25)

Bazel 8.3.1 is a patch LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

  • Removed the "overwrote runfiles" warning related to rules_shell. (#26374)
  • Reverted the change to move the Bash runfiles library out of Bazel. This will be delayed until 9.0. (#26372)

Refer to the full list of commits for more details.

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.

8.3.0

23 Jun 19:35
Compare
Choose a tag to compare

Note

If you are looking for rolling releases, please visit this page.

Release 8.3.0 (2025-06-23)

Bazel 8.3.0 is a minor LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

General

  • Bazel now requires the minimal glibc version of 2.25.
  • Bazel now prints exactly which startup options have changed when the running Bazel server needs to be killed. (#26034)

Apple / Xcode

  • Added support for dSYM generation to cc_binary. (#26031)
  • On macOS, Bazel now respects the environment variable DEVELOPER_DIR for Xcode selection. (#25885)

C / C++

  • Added strip_include_prefix to cc_import. (#26296)

External Dependencies

  • Added a new flag --repo_contents_cache (defaults to the contents directory under the --repository_cache) where Bazel stores fetched contents of repos that can be safely cached across workspaces. A repo rule can indicate cacheability by returning repository_ctx.repo_metadata(reproducible=True) from its implementation function. (#26129)
  • source.json now supports a new attribute mirror_urls as backup URLs for the source archive. (#25937)
  • Added the load_wasm and execute_wasm methods to repository_ctx and module_ctx that allow repo rules and module extensions to run a WebAssembly binary. These methods are only available if --experimental_repository_ctx_execute_wasm is set. (#26280)
  • repository_ctx.download_and_extract now supports the .whl file extension for Python wheel files, treating them as ZIP archives under PEP 427. (#26323)
  • User-provided repo names may now start with a number. (#26252)
  • Added a "hidden" lockfile under the output base that contains the output of reproducible module extensions for performance. (#26195)

Performance

  • Add executable to stateful runfiles if necessary, avoiding a very costly check during analysis. (#26288)

Refer to the full list of commits for more details.

Acknowledgements:

This release contains contributions from many people at Google, as well as Aaron Levy, Adin Cebic, Benji Vos, benjivos, David Sanderson, Fabian Meumertzheim, Farid Zakaria, Greg, helly25, Jaden Peterson, Jim Carroll, John Millikin, Jordan Mele, Keith Smiley, Zhongpeng Lin, and Alberto Cavalcante.

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.

8.3.0rc3

17 Jun 21:10
13ede51
Compare
Choose a tag to compare
8.3.0rc3 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.3.0rc3 (2025-06-17)

Bazel 8.3.0 is a minor LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

General

  • Bazel now prints exactly which startup options have changed when the running Bazel server needs to be killed. (#26034)

Apple / Xcode

  • Added support for dSYM generation to cc_binary. (#26031)
  • On macOS, Bazel now respects the environment variable DEVELOPER_DIR for Xcode selection. (#25885)

C / C++

  • Added strip_include_prefix to cc_import. (#26296)

External Dependencies

  • Added a new flag --repo_contents_cache (defaults to the contents directory under the --repository_cache) where Bazel stores fetched contents of repos that can be safely cached across workspaces. A repo rule can indicate cacheability by returning repository_ctx.repo_metadata(reproducible=True) from its implementation function. (#26129)
  • source.json now supports a new attribute mirror_urls as backup URLs for the source archive. (#25937)
  • Added the load_wasm and execute_wasm methods to repository_ctx and module_ctx that allow repo rules and module extensions to run a WebAssembly binary. These methods are only available if --experimental_repository_ctx_execute_wasm is set. (#26280)
  • repository_ctx.download_and_extract now supports the .whl file extension for Python wheel files, treating them as ZIP archives under PEP 427. (#26323)
  • User-provided repo names may now start with a number. (#26252)
  • Added a "hidden" lockfile under the output base that contains the output of reproducible module extensions for performance. (#26195)

Performance

  • Add executable to stateful runfiles if necessary, avoiding a very costly check during analysis. (#26288)

Refer to the full list of commits for more details.

Acknowledgements:

This release contains contributions from many people at Google, as well as Aaron Levy, Adin Cebic, Benji Vos, benjivos, David Sanderson, Fabian Meumertzheim, Farid Zakaria, Greg, helly25, Jaden Peterson, Jim Carroll, John Millikin, Jordan Mele, Keith Smiley, Zhongpeng Lin, and Alberto Cavalcante.

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.

8.3.0rc2

17 Jun 18:27
9dc30b7
Compare
Choose a tag to compare
8.3.0rc2 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.3.0rc2 (2025-06-17)

Bazel 8.3.0 is a minor LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

General

  • Bazel now prints exactly which startup options have changed when the running Bazel server needs to be killed. (#26034)

Apple / Xcode

  • Added support for dSYM generation to cc_binary. (#26031)
  • On macOS, Bazel now respects the environment variable DEVELOPER_DIR for Xcode selection. (#25885)

C / C++

  • Added strip_include_prefix to cc_import. (#26296)

External Dependencies

  • Added a new flag --repo_contents_cache (defaults to the contents directory under the --repository_cache) where Bazel stores fetched contents of repos that can be safely cached across workspaces. A repo rule can indicate cacheability by returning repository_ctx.repo_metadata(reproducible=True) from its implementation function. (#26129)
  • source.json now supports a new attribute mirror_urls as backup URLs for the source archive. (#25937)
  • Added the load_wasm and execute_wasm methods to repository_ctx and module_ctx that allow repo rules and module extensions to run a WebAssembly binary. These methods are only available if --experimental_repository_ctx_execute_wasm is set. (#26280)
  • User-provided repo names may now start with a number. (#26252)
  • Added a "hidden" lockfile under the output base that contains the output of reproducible module extensions for performance. (#26195)

Performance

  • Add executable to stateful runfiles if necessary, avoiding a very costly check during analysis. (#26288)

Refer to the full list of commits for more details.

Acknowledgements:

This release contains contributions from many people at Google, as well as Aaron Levy, Adin Cebic, Benji Vos, benjivos, David Sanderson, Fabian Meumertzheim, Farid Zakaria, Greg, helly25, Jaden Peterson, Jim Carroll, John Millikin, Jordan Mele, Keith Smiley, Zhongpeng Lin, and Alberto Cavalcante.

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.

8.3.0rc1

16 Jun 18:43
92ab2bc
Compare
Choose a tag to compare
8.3.0rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.3.0rc1 (2025-06-16)

Bazel 8.3.0 is a minor LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

General

  • Bazel now prints exactly which startup options have changed when the running Bazel server needs to be killed. (#26034)

Apple / Xcode

  • Added support for dSYM generation to cc_binary. (#26031)
  • On macOS, Bazel now respects the environment variable DEVELOPER_DIR for Xcode selection. (#25885)

External Dependencies

  • Added a new flag --repo_contents_cache (defaults to the contents directory under the --repository_cache) where Bazel stores fetched contents of repos that can be safely cached across workspaces. A repo rule can indicate cacheability by returning repository_ctx.repo_metadata(reproducible=True) from its implementation function. (#26129)
  • source.json now supports a new attribute mirror_urls as backup URLs for the source archive. (#25937)
  • Added the load_wasm and execute_wasm methods to repository_ctx and module_ctx that allow repo rules and module extensions to run a WebAssembly binary. These methods are only available if --experimental_repository_ctx_execute_wasm is set. (#26280)
  • User-provided repo names may now start with a number. (#26252)
  • Added a "hidden" lockfile under the output base that contains the output of reproducible module extensions for performance. (#26195)

Performance

  • Add executable to stateful runfiles if necessary, avoiding a very costly check during analysis. (#26288)

Refer to the full list of commits for more details.

Acknowledgements:

This release contains contributions from many people at Google, as well as Aaron Levy, Adin Cebic, Benji Vos, benjivos, David Sanderson, Fabian Meumertzheim, Farid Zakaria, Greg, helly25, Jaden Peterson, Jim Carroll, John Millikin, Jordan Mele, Keith Smiley, Zhongpeng Lin, and Alberto Cavalcante.

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.

8.2.1

17 Apr 20:50
Compare
Choose a tag to compare

Note

If you are looking for rolling releases, please visit this page.

Release 8.2.1 (2025-04-17)

Bazel 8.2.1 is a patch LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

External Dependencies

  • Fixed crash when setting --noincompatible_enable_deprecated_label_apis with native.repository_name() (#25850)

Performance

  • Fix atomic writes of VirtualActionInputs on Windows (#25857)

Remote Execution

  • Fix crash on lost inputs that are symlinks (#25856)

Refer to the full list of commits for more details.

Acknowledgements:
This release contains contributions from many people at Google, as well as Fabian Meumertzheim.

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.

8.2.1rc1

15 Apr 20:25
5301289
Compare
Choose a tag to compare
8.2.1rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.2.1rc1 (2025-04-15)

Bazel 8.2.1 is a patch LTS release. It is fully backward compatible with Bazel 8.0 and contains selected changes by the Bazel community and Google engineers.

External Dependencies

  • Fixed crash when setting --noincompatible_enable_deprecated_label_apis with native.repository_name() (#25850)

Performance

  • Fix atomic writes of VirtualActionInputs on Windows (#25857)

Remote Execution

  • Fix crash on lost inputs that are symlinks (#25856)

Refer to the full list of commits for more details.

Acknowledgements:
This release contains contributions from many people at Google, as well as Fabian Meumertzheim.

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.