Baseline: b384a98a55e1ff4da0a650f5f782645581173358
Cherry picks:
Incompatible changes:
This has the side effect of changing the message on unsuccessful builds from
FAILED: Build did NOT complete successfully (0 packages loaded)
to
ERROR: Build did NOT complete successfully
This has the side effect of changing the message on unsuccessful builds from
FAILED: Build did NOT complete successfully (0 packages loaded)
to
ERROR: Build did NOT complete successfully
cquery --output=files
also outputs source files.--incompatible_strict_conflict_checks
is flipped to true. See https://github.com/bazelbuild/bazel/issues/16729 for details.--incompatible_strict_conflict_checks
is flipped to true. See https://github.com/bazelbuild/bazel/issues/16729 for details.--incompatible_always_include_files_in_data
is flipped to true. See https://github.com/bazelbuild/bazel/issues/16654 for details.--features
only applies to targets built in the target configuration, and --host_features
is used for the host / exec configuration (gated behind --incompatible_use_host_features
)--incompatible_strict_conflict_checks
is flipped to true. See https://github.com/bazelbuild/bazel/issues/16729 for details.--local_cpu_resources
, --loading_phase_threads
or --jobs
to override.copy_from_rule
is exec_groups is deprecated (https://github.com/bazelbuild/bazel/issues/17668).--experimental_execution_graph_log
no longer exists. Current users that want local logs need to pass --experimental_enable_execution_graph_log --experimental_execution_graph_log_path=/some/local/path
. Current users that want logs uploaded to BEP need to pass --experimental_enable_execution_graph_log --experimental_stream_log_file_uploads
.Renamed PackageMetrics proto message to PackageLoadMetrics. The formats should be wire compatible.
New features:
aquery
and cquery
commands now respect the --query_file
flag just like the query
command.Important changes:
$(rlocationpath ...)
and its plural form $(rlocationpaths ...)
can be used to expand labels to the paths accepted by the Rlocation
function of runfiles libraries. This is the preferred way to access data dependencies at runtime and works on all platforms, even when runfiles are not enabled (e.g., on Windows by default).print()
statements are now emitted iff the line of code is executed. They are no longer replayed on subsequent invocations unless the Starlark code is re-executed. Additionally, multiple identical print()
statements (same string from the same line of code, e.g. from a loop) are all emitted and no longer deduplicated.genrule
should prefer the use of tools
and stop using exec_tools
.native.package_relative_label()
function, which converts a label string to a Label object in the context of the calling package, in contrast to Label()
, which does so in the context of the current .bzl file. Both functions now also accept relative labels such as :foo
, and are idempotent.--experimental_remote_cache_ttl
and set the default value to 3 hours.--distinct_host_configuration
is removed. It has been a no-op since Bazel 6.0.0.native.module_name()
and native.module_version()
to allow BUILD macro authors to acquire information about which Bazel module the current repo is associated with.--skip_incompatible_explicit_targets
option@foo
labels can now be used on the command line as the top-level target (that is, bazel build @foo
now works). Double-dot syntax is now forbidden (bazel build ../foo
will no longer work).generator_name
and/or generator_function
attributes (typically because they are incidentally copied from native.existing_rule()
) is now the top-level call in the BUILD
file, which is consistent with rules that do not explicitly specify these attributes.deprecation
rule attribute) are no longer replayed on subsequent invocations unless the target in question is re-analyzed. Warnings are purely informational, so this change has no bearing on the correctness of the build. Downstream tests that break due to this change should update their expectations.--experimental_remote_build_event_upload
has been renamed to --remote_build_event_upload
--experimental_action_cache_store_output_metadata
has been renamed to --action_cache_store_output_metadata
--remote_build_event_upload
to minimal
.--experimental_remote_cache_compression
has been renamed to --remote_cache_compression
max_compatibility_level
attribute to the bazel_dep
directive, which allows version selection to upgrade a dependency up to the specified compatibility level.--experimental_remote_grpc_log
has been renamed to --remote_grpc_log
--incompatible_remote_build_event_upload_respect_no_cache
is now a no-op.default
positional parameter; if this parameter is specified and decoding fails, json.decode will return the default
value instead of failing Starlark evaluation.This release contains contributions from many people at Google, as well as Adam Lavin, Alessandro Patti, Alex Eagle, AlexTereshenkov, Amanda L Martin, Andreas Herrmann, Andy Hamon, Ankit Agarwal, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, Austin Schuh, Ben Lee, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Brentley Jones, Cameron Martin, Chirag Ramani, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, David Ostrovsky, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, George Gensure, Greg Magolan, Halil Sener, Hao Yuan, Ivan Golub, Jack Dai, James Ma, Jasper, Jeff Hodges, Joel Jeske, John Hinnegan, Jon Landis, Jon Parise, Julio Merino, Kai Zhang, Keith Smiley, Konstantin Erman, Krzysztof Naglik, Kun-Lu, Lee Mracek, Malte Poll, Marc Zych, Matt Mackay, Maxwell Elliott, Nick Korostelev, Oliver Lee, Oscar Garzon, Patrick Balestra, Patrick Balestra, Philipp Schrader, Red Daly, Robin Tweedie, Roger Hu, Sagar Pathare, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, Son Luong Ngoc, Stiopa Koltsov, Ted Kaplan, Ted Kaplan, Ted Logan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic, Yannic Bonenberger, Yi Cheng, aryeh, eareilg, hvadehra, hvd, jonrose-dev, keertk, kshyanashree, lripoche, mohamadk, nathyong, redwrasse, robincaloudis, something_vague, stoozy, tbaing, yuzhy8701.
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.