Release Notes:
Configurability: + aquery: //foo:bar
now means “all configured targets with label //foo:bar
” instead of “choose an arbitrary configured target with label //foo:bar
”. This is in line with cquery behavior. (#22135) + Added a new flag --incompatible_disable_native_repo_rules
to disable native repo rule usage in WORKSPACE. All native repo rules now have a Starlark counterpart that can be used in both WORKSPACE and Bzlmod; see #22080 for more details. (#22203) + Starlark command-line flags can now be referred to through alias
targets. (#22212)
ExternalDeps: + bzlmod git_repository
now accepts the strip_prefix
arg and passes it to the underlying git_repository
call. (#22137) + Added a new include()
directive to MODULE.bazel
files, which allows the root module file to be divided into multiple segments. (#22204) + Fixed certain deadlocks in repo fetching with worker threads (--experimental_worker_for_repo_fetching=auto
). (#22261) + print
statements in module files are now only executed for the root module and modules subject to non-registry overrides (e.g. local_path_override
). (#22263) + The new refresh
value for --lockfile_mode
behaves like the update
mode, but additionally forces a refresh of mutable registry content (yanked versions and missing module versions) when switched to or from time to time while enabled. (#22371) + Label
instances passed to print
or fail
as positional arguments are now formatted with apparent repository names (optimized for human readability). (#22460) + Changes to environment variables read via getenv
now correctly invalidate module extensions. (#22541)
OSS: + Bazel on Linux and BSD now respects the XDG_CACHE_HOME environment variable instead of assuming that ~/.cache/bazel is writable. (#21817)
Performance: + Paths in the Linux sandbox are now again identical to those outside the sandbox, even with --incompatible_sandbox_hermetic_tmp
. (#22407)
Remote-Exec: + The combined coverage report produced via --combined_report=lcov
is now announced on the BES via the new CoverageReport
event. (#22327) + The compact and full execution logs now contain start times for spawns (if available). (#22341)
Rules-CPP: + The default Unix C++ toolchain now supports the parse_headers
feature to validate header files with --process_headers_in_dependencies
. (#22369)
Starlark-Interpreter: + Starlark min
and max
buitins now allow a key
callback, similarly to sorted
. (#21960)
Acknowledgements:
This release contains contributions from many people at Google, as well as bazel.build machine account, Brentley Jones, Cameron Martin, Daniel Wagner-Hall, Douglas Thor, Fabian Meumertzheim, George Gensure, hvd, Isaac Torres, Keith Smiley, Mark Elliot, oquenchil, Romain Chossart, Son Luong Ngoc, Spencer Putt, Thomas Weischuh, Xdng Yng, Xùdōng Yáng, Zheng Wei Tan.
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.