7.4.0rc4
Pre-releaseNote
If you are looking for rolling releases, please visit this page.
Release 7.4.0rc4 (2024-10-18)
Bazel 7.4.0 is a minor LTS release. It is fully backward compatible with Bazel 7.0 and contains selected changes by the Bazel community and Google engineers.
Configurability
- Bazel now supports all characters in the rlocation and target paths of runfiles and can be run from workspaces with a space in their full path. (#23912)
External Deps
- Overrides in the root MODULE.bazel file are now ignored with
--ignore_dev_dependency
. (Overrides in non-root modules are already ignored.) (#23550) - Repository rules instantiated in the same module extensions can now refer to each other by their extension-specified names in label attributes. (#23585)
- Bazel fetch and vendor command now supports --target_pattern_file for specifying target patterns. (#23663)
- Patches to the module file in
single_version_override
are now effective as long as the patch file lies in the root module. (#23757) override_repo
andinject_repo
can be used to override and inject repos in module extensions. (#23938)- When using vendor mode, the vendor dir is automatically ignored while package loading (#23919)
Remote Execution
- Improve progress message in case there are no actions in flight, and display explicitly "no actions running" in that case. (#23357)
- Added support for using a remote cache that evicts blobs and doesn't have AC integrity check (e.g. HTTP cache). (#23561)
- Implemented disk cache garbage collection (#23833)
C++ / Objective-C
- The new
cc_static_library
rule produces a static library that bundles given targets and all their transitive dependencies. It has to be enabled via--experimental_cc_static_library
. (#23392) - Add conlyopts and cxxopts attributes to cc rules (#23904)
- Auto-load with language specific rules that're removed from Bazel with --incompatible_autoload_externally (#23906)
Refer to the full list of commits for more details.
Acknowledgements:
This release contains contributions from many people at Google, as well as Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, Daniel Wagner-Hall, David Sanderson, Dennis van den Berg, Fabian Meumertzheim, FaBrand, Fredrik Medley, George Gensure, Grzegorz Lukasik, Jamison Lahman, Jay Conrod, Jordan Mele, Keith Smiley, Laurent Le Brun, Lior Gorelik, Luis Padron, Michael Siegrist, Son Luong Ngoc, Tom Renn, and xinyu.wang.
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.