Bazel Blog

Bazel 0.25

Bazel 0.25.0 has arrived with an exciting mix of new features, important bug fixes, and updated documentation.

This version of Bazel has been regression-tested against over 50 open-source projects. Want to get your open-source project on Bazel's CI to ensure that we catch any regressions or have suggestions what we should test against? Reach out to and we can set you up!

Incompatible changes

The following incompatible flags are now enabled by default, and will be removed in a near-term release. Before updating to Bazel 0.25, you may first check if your codebase is compatible either by running bazelisk --migrate or by building your code with Bazel

0.24 and the following flags:

The following incompatible change flags have been added in this release and migration for them should begin. Check out the linked bugs to see when it is expected that the flags be turned on by default.


  • Android NDK C++ toolchain is now configured in Starlark.

  • Fixed an issue where the Android resource processor did not surface errors from aapt2 compile and link actions.

Other Changes

  • Bazel is now ~20MiB smaller, from unbundling the Android rules' runtime dependencies.

  • genrules now support a $(RULEDIR) variable that resolves to the directory where the outputs of the rule are stored.

  • genquery somepath output is now deterministic.

  • Tree artifacts are now deterministic.

  • The analysis cache is no longer dropped when the same --define flag is set multiple times and the last value is the same (e.g. if the current invocation was run with "--define foo=bar" and the previous one was run with "--define foo=baz --define foo=bar").

Community Updates


This release contains contributions from many people at Google, as well as Andreas Herrmann, Andrew Suffield, Andy Scott, Benjamin Peterson, Ed Baunton, George Gensure, Ian McGinnis, Ity Kaul, John Millikin, Keith Smiley, Marwan Tammam, Mike Fourie, Oscar Bonilla, perwestling, petros, Ryan Beasley, silvergasp, Stanimir Mladenov, Travis Cline, Vladimir Chebotarev.