Release 2.2.0 (2020-03-03)
Baseline: 78055efad0917b848078bf8d97b3adfddf91128d
Incompatible changes:
- The --[no]incompatible_windows_bashless_run_command flag is no
longer supported. It was flipped in Bazel 1.0
- The --[no]incompatible_windows_native_test_wrapper flag is no
longer supported. It was flipped in Bazel 1.0
Important changes:
- Consistent target naming style in example target names.
- cquery's config() now supports arbitrary configurations.
- The flag --incompatible_disallow_dict_lookup_unhashable_keys is
removed.
- Include target label in Python version error message.
- The flag --incompatible_remap_main_repo is removed.
- Windows: we now discourage running Bazel from MSYS2 because of a
newly found bug (#10573)
- Reduced the packaging time (`package-bazel.sh`) for the
`//src:bazel-dev` Bazel development build target from 14s to 6s.
Use `//src:bazel-dev` if you're iterating rapidly on a local
Bazel changes, and use `//src:bazel --compilation_mode=opt` for
release builds.
- cquery: "//foo:bar" now means "all configured targets with label
//foo:bar" instead of "choose an arbitrary configured target with
label //foo:bar". See cquery docs for details.
- WORKSPACE and BUILD.bazel files of http_archive repositories can
now be patched using the "patch_cmds" and "patches" attributes.
- Actions with "parse" on the critical path should no longer finish
in the future.
- Flags that affect external repositories like
"--override_repository" can now be addressed in bazelrc files
using the "common" command, without causing commands like "bazel
shutdown" to fail.
- The flag --incompatible_disallow_unverified_http_downloads is
removed.
- Create the incompatibleApplicableLicenses flag.
We plan to flip this from false to true in Bazel 4.x.
Implementation to follow.
- Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
natively supported and will require custom flags to compile with
e.g. clang.
- Treat .cu and .cl files as C++ source. CUDA or OpenCL are not
natively supported and will require custom flags to compile with
e.g. clang.
- The --starlark_cpu_profile=<file> flag writes a profile in
pprof format containing a statistical summary of CPU usage
by all Starlark execution during the bazel command. Use it
to identify slow Starlark functions in loading and analysis.
- --ram_utilization_factor will be deprecated. Please use
--local_ram_resources=HOST_RAM*<float>
- Docs: glob() documentation is rewritten, and now it points out a
pitfall of rules shadowing glob-matched files.
This release contains contributions from many people at Google, as well as Alessandro Patti, Alex Kirchhoff, aman, Artur Dryomov, Benjamin Peterson, Benjamin Peterson, David Ostrovsky, Elliotte Rusty Harold, Eric Klein, George Chiramel, George Gensure, Guillaume Bouchard, Hui-Zhi, John Millikin, Jonathan Springer, Laurent Le Brun, Michael McLoughlin, nikola-sh, Nikolaus Wittenstein, Nikolay Shelukhin, Yannic Bonenberger, Yannic.
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md