- The prelude file (
//tools/build_rules:prelude_bazel) is now processed as a Starlark module, rather than being sourced into the BUILD file textually. This may cause slight breakages depending on the content of the prelude file. For more details, see the discussion in issue #11940.
- The flag
--experimental_ui_limit_console_outputis removed. If you use
--experimental_ui_limit_console_output=1to silence terminal output, you should use
- The flag
--proto:instantiation_stackmust be enabled with
--record_rule_instantiation_callstackto see call stack in proto output from Bazel query.
- A few other flags are removed:
- NDK 21 is now supported.
- Building Android apps for legacy multidex (pre-L) now requires a main-dex list if the application does not fit into a single DEX file.
- Stop needlessly parsing WORKSPACE files from external repositories.
- Dot (
.) is now allowed in workspace names. See issue #11837.
- In Starlark, the Args object supports a new parameter file format
flag_per_line, compatible with the Abseil flags library.
- The Starlark interpreter now correctly emits an error if the operand of the
first loop in a list comprehension refers to a variable bound by a later
loop, such as y in this example:
python [e1 for x in f(**y**) in e2 for y in e3] # error: undefined y`This may cause latent dynamic errors to become static errors.
- Added the
--experimental_worker_max_multiplex_instancesflag to configure the number of WorkRequests that are sent concurrently to one multiplex worker process. This flag has the same syntax as the
--worker_max_instancesflag are no longer used to determine max instances for multiplex workers, because the two have different resource requirements. Multiplex workers have an 8-instance maximum, by default.
- Added the
--experimental_worker_multiplexflag, which is enabled by default. When enabled, multiplex workers are used for all mnemonics that support them.
- Added support for a
supports-graceful-terminationexecution requirement and tag, which causes Bazel to send a SIGTERM to any tagged actions before sending a delayed SIGKILL. This is to give actions, and more specifically tests, a chance to clean up after themselves.
- Bazel now skips printing action stdout/stderr contents if they exceed
- A description of the Bazel codebase is now available in CODEBASE.md, in the root of the Bazel repository. This can be useful to people willing to contribute to Bazel.
This release contains contributions from many people at Google, as well as Benjamin Peterson, Daniel Wagner-Hall, David Ostrovsky, Emil Kattainen, George Gensure, Keith Smiley, Michael Eisel, Per Halvor Tryggeseth, Ruixin Bao, Samuel Giddins, Steeve Morin, Thi Doan, Tom de Goede, Ulf Adams, Zhongpeng Lin, and mai12.