Release 2.1.0rc4 (2020-01-30)
Baseline: 41ec5a28fb30a8d6c5c60194c4bb29528352cf78
Cherry picks:
- 733ac0ff7ad1e13ab68ceb2fde694d7ab71b2366: Adds an alias for d8_jar_import in android.WORKSPACE.
- c94b1474b368dedf9f68f34fad90cc8664f2b0e0: Automatic code cleanup.
- 2a8cc7075f741721563efd9dc050ca3458cde30b: Do not fail or print errors when Shellzelisk cannot find a requested ?
- bdf34d7fd9539411e93348ba25307f34362d9a42: Fix race when extracting the install base when Bazel runs in a PID namespace.
- d381c25bb7dd205c283f7ad91cac13190d2dfede: Fix wrong mode of install base directory.
- eab39cc7b5a612f891fd1e5af5b45bdc1b66e6e1: Disable broken test_max_open_file_descriptors.
Incompatible changes:
- The following attributes of CcToolchainProvider, which formerly were accessible both as fields (x.f) and as methods (x.f()), are now only fields:
New features:
- Similar to the .bazelignore in the main repository, a
.bazelignore
file in external repository will cause the specified directories to be ignored by Bazel. Bazel won't try to identify any packages under the directories, but the files can still be referenced in other BUILD files.
- bazelignore files now support line comments, e.g. "# this is a comment"
Important changes:
- Experimental support for d8 merger is now available for use using --define=android_dexmerger_tool=d8_dexmerger.
- Critical path run time should not have a longer run time than total execution run time.
- Remove "please do not import" warning for cc rules.
- x.f() is now equivalent to y=x.f; y(). That is, x.f should return the same attribute value regardless of whether it is accessed as a field or called like a method. Any arguments to the call are evaluated after the x.f operation.
- Add desugaring support for RoleManager#addRoleHolderAsUser
- Adds ctx.target_platform_has_constraint to allow rules to check the target platform's constraints.
- Critical path run time should not have a longer run time than total execution run time.
- Post new ConvenienceSymlinksIdentifiedEvent to the BuildEventProtocol when --experimental_convenience_symlinks_bep_event is enabled.
- Keyword-only arguments are now allowed: def foo(a, , k): pass def foo(a, b, k): pass where k can be specified only by keyword: foo(5, k=6)
- Generated Go protobufs now depend on //net/proto2/go:protodeps in addition to //net/proto2/go:proto
- cquery 'somepath' returns more reliable results when the dep has a different configuration than the parent. To get a result for
somepath(//foo, //bar
) where //bar isn't in the top-level configuration, run your query with --universe_scope=//foo
. See cquery docs for details.
This release contains contributions from many people at Google, as well as Adam Liddell, Alessandro Patti, Andreas Herrmann, Bor Kae Hwang, Brian Silverman, Emran BatmanGhelich, George Gensure, Greg Estren, Jeff Palm, Jonathan Beverly, Mark Nevill, Patrick Niklaus, Peter, Philipp Wollermann, Ryan Beasley, Shin Yamamoto, Yen-Chi Chen.
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.
Index of files