Skip to content

Commit e7d3480

Browse files
Bazel Release Systemfweikert
Bazel Release System
authored andcommitted
Release 5.0.0-pre.20210510.2 (2021-05-31)
Baseline: 8a42645 Cherry picks: + e3c78c4: Ensure that test status artifacts are reported as top-level artifacts. + 1f52e9a: Support rolling releases in Bazel release scripts. Incompatible changes: - Removing java_common.javac_jar Starlark call. - native.existing_rule now returns select values in a form that is accepted by rule instantiation. This is a breaking API change because there is some code that relies on the precise type returned, including brittle workarounds for this bug specifically and insufficiently flexible workarounds for other issues with the intersection of select and native.existing_rule. - flipped incompatible_use_toolchain_resolution_for_java_rules, see #7849 - Query output=xml/proto/location for source files will now show the location of line 1 of the source file (as the new default) instead of its location in the BUILD file. - Specifying a target pattern underneath a directory specified by .bazelignore will now emit a warning, not an error. - Query `--order_output=auto` will now sort lexicographically. However, when `somepath` is used as a top level function (e.g. `query 'somepath(a, b)'`), it will continue to output in dependency order. If you do not want the lexicographical output ordering, specify another `--order_output` value (`no`, `deps` or `full`) based on what ordering you require. - In the build event stream, BuildMetrics.TargetMetrics.targets_loaded is no longer populated. Its value was always mostly meaningless. BuildMetrics.TargetMetrics.targets_configured and BuildMetrics.ActionSummary.actions_created now include configured aspect data. - //visibility:legacy_public has been removed. - Flip and remove incompatible_dont_collect_so_artifacts (#13043). - Remove flag --experimental_no_product_name_out_symlink: it is always true. - The Starlark method generate_dsym in objc fragment has been deleted. Please use the equivalent apple_generate_dsym in cpp fragment instead. Important changes: - Flag --incompatible_objc_compile_info_migration is removed. See #10854. - Flag --incompatible_objc_compile_info_migration is removed. See #10854. - Flag --incompatible_objc_compile_info_migration is removed. See #10854. - none PAIR=cmita - The --incompatible_load_python_rules_from_bzl flag is now a no-op. - Filter all (instead of just C++) source files for coverage output according to --instrumentation_filter and --instrument_test_targets. - The `--incompatible_disable_native_apple_binary_rule` flag has been added which disables the native `apple_binary` rule. Users who need to use `apple_binary` directly (if they cannot use one of the more specific Apple rules) should load it from https://github.com/bazelbuild/rules_apple. - The Android rules' --use_singlejar_apkbuilder is now a no-op. SingleJar will always be used to build APKs. - dict.setdefault(key, ...) now fails if dict is frozen, even if it already contains key. This is an incompatible API change. - Flag --incompatible_objc_provider_remove_compile_info is removed. See #11359. - Starlark now permits def statements to be nested (closures). - native.existing_rule now returns select values in a form that is accepted by rule instantiation. This is a breaking API change, though the fallout is expected to be small. - Starlark now supports lambda (anonymous function) expressions. - The "test" and "coverage" commands no longer return 3 when a test action fails because of a system error. Instead, the exit code reflects the type of system error. - The undocumented ctx.expand feature no longer exists. - Make --legacy_dynamic_scheduler a no-op flag. - Multiplex persistent workers can now use the JSON protocol. - native.existing_rule now returns a mutable list, not a tuple, for a list-valued attributes. This is an incompatible API change. - Roll back change to have native.existing_rules use list instead of tuple. - BEP includes test suite expansions. - config_setting now honors `visibility` attribute (and defaults to `//visibility:public`) - Change the MultiArchSplitTransitionProvider to be based on platform type + CPU instead of fixed "ios_" + cpu. - enforce config_setting visibility. See #12932 for details. - add a flag to build v4 signature file - Added _direct_source_jars output group to Java related targets. END_PUBLIC - pkg_deb is no longer part of @bazel_tools//build_defs/pkg:pkg.bzl. Use https://github.com/bazelbuild/rules_pkg/tree/main/pkg instead - Allowing the lipo operations to be conditional in the linkMultiArchBinary API for Apple binaries. Single architecture slices are now returned through AppleBinaryOutput and the Starlark API. - Release restriction for "-" in the package name for Python sources. Now `py_binary` and `py_test` targets can have main source file with "-" in the path. - Users consuming BEP may assume that a `named_set_of_files` event will appear before any event referencing that `named_set` by ID. This allows consumers to process the files for such events (eg. `TargetCompleted`) immediately. - BEP includes all files from successful actions in requested output groups. Previously, an output group's files were excluded if any file in the output group was not produced due to a failing action. Users can expect BEP output to be larger for failed builds. - In BEP, TargetComplete.output_group has a new field `incomplete` indicating that the file_sets field is missing one or more declared artifacts whose generating actions failed. - The flag `--toolchain_resolution_debug` now takes a regex argument, which is used to check which toolchain types should have debug info printed. You may use `.*` as an argument to keep the current behavior of debugging every toolchain type. - Add runfiles.merge_all() for merging a sequence of runfiles objects. - runfiles.merge() and merge_all() now respect --nested_set_depth_limit. If you hit the depth limit because you were calling merge() in a loop, use merge_all() on a sequence of runfiles objects instead. - Bazel will no longer create a bazel-out symlink if --symlink_prefix is specified: the directory pointed to via the bazel-out symlink is accessible via ${symlink_prefix}-out. If this causes problems for you, set --experimental_no_product_name_out_symlink=false in your builds and file an issue. - Updates worker protocol with cancellation fields, and adds experimental_worker_cancellation flag to control cancellation. - Simplify build failure output by always using `NNN arguments`. - trim_test_configuration now defaults to on - Mark genrule.srcs as a source attribute for coverage. - When using --allow_analysis_failures (for example, via bazel-skylib's analysistest with `expect_failure = True`), analysis-time failures in aspect implementation functions will now be propagated and saved in AnalysisFailureInfo, just like analysis-time failures in rules. - cquery --noimplicit_deps now correctly filters out resolved cc_toolchains - Sign apks deterministically. - Make gcov optional in cc_toolchain tools. - If --experimental_prefer_mutual_xcode is passed, Bazel will choose the local default (instead of the newest mutually available version) if it's available both locally and remotely. - Remove java_lite_proto_library.strict_deps attribute. - Generate proguard configurations deterministically. - Adds a new flag, `--incompatible_enable_cc_test_feature` which switches from the use of build variables to the feature of the same name. - Dropped fragile xz support from built in pkg_tar. Users requiring xz compression should switch to bazlebuild/rules_pkg. This release contains contributions from many people at Google, as well as Adam Liddell, Alex Eagle, Anthony Pratti, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, bromano, Christopher Sauer, Cristian Hancila, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave Nicponski, David Cummings, David, David Ostrovsky, Denys Kurylenko, Dmitry Ivankov, dorranh, Ed Schouten, Elliotte Rusty Harold, erenon, Eric Cousineau, Ethan Steinberg, Felix Ehrenpfort, Finn Ball, Fredrik Medley, Garrett Holmstrom, Gautam Korlam, George Gensure, goodspark, Greg Estren, Grzegorz Lukasik, John Laxson, Jonathan Schear, Justus Tumacder, Keith Smiley, Lauri Peltonen, Liu Liu, Lszl Csomor, m, Marc Zych, Mark Karpov, Matt Mackay, Max Liu, Menny Even Danan, menny, Michael Chinen, Nathaniel Brough, Nick Korostelev, Nikolay Shelukhin, odisseus, Oleh Stolyar, Olek Wojnar, Olle Lundberg, Philipp Schrader, Qais Patankar, Ryan Beasley, samhowes, Samuel Giddins, Sebastian Olsson, Steve Siano, steve-the-bayesian, Stiopa Koltsov, susinmotion, tatiana, Thi Doan, ThomasCJY, Timothy Klim, Tobi, Torgil Svensson, Trustin Lee, Ulf Adams, Vaidas Pilkauskas, Vertexwahn, wisechengyi, Xavier Bonaventura, Yannic Bonenberger, Yannic, Yury Evtikhov, Yuval Kaplan, Yuval, [zqzzq].
1 parent f1b37b5 commit e7d3480

File tree

1 file changed

+175
-0
lines changed

1 file changed

+175
-0
lines changed

CHANGELOG.md

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,178 @@
1+
## Release 5.0.0-pre.20210510.2 (2021-05-31)
2+
3+
```
4+
Baseline: 8a42645ec500874b0440475763ab680d5efc1e6a
5+
6+
Cherry picks:
7+
8+
+ e3c78c4eeaf4e8db3c22aa71c6c1578cb48c8dcc:
9+
Ensure that test status artifacts are reported as top-level
10+
artifacts.
11+
+ 1f52e9a58dd814f203797c5fbab44d9f4d53a43c:
12+
Support rolling releases in Bazel release scripts.
13+
```
14+
15+
Incompatible changes:
16+
17+
- Removing java_common.javac_jar Starlark call.
18+
- native.existing_rule now returns select values in a form that is
19+
accepted by rule instantiation. This is a breaking API change
20+
because there is some code that relies on the precise type
21+
returned, including brittle workarounds for this bug specifically
22+
and insufficiently flexible workarounds for other issues with the
23+
intersection of select and native.existing_rule.
24+
- flipped incompatible_use_toolchain_resolution_for_java_rules, see
25+
#7849
26+
- Query output=xml/proto/location for source files will now show
27+
the location of line 1 of the source file (as the new default)
28+
instead of its location in the BUILD file.
29+
- Specifying a target pattern underneath a directory specified by
30+
.bazelignore will now emit a warning, not an error.
31+
- Query `--order_output=auto` will now sort lexicographically.
32+
However, when `somepath` is used as a top level function (e.g.
33+
`query 'somepath(a, b)'`), it will continue to output in
34+
dependency order. If you do not want the lexicographical output
35+
ordering, specify another `--order_output` value (`no`, `deps` or
36+
`full`) based on what ordering you require.
37+
- In the build event stream,
38+
BuildMetrics.TargetMetrics.targets_loaded is no longer populated.
39+
Its value was always mostly meaningless.
40+
BuildMetrics.TargetMetrics.targets_configured and
41+
BuildMetrics.ActionSummary.actions_created now include configured
42+
aspect data.
43+
- //visibility:legacy_public has been removed.
44+
- Flip and remove incompatible_dont_collect_so_artifacts
45+
(https://github.com/bazelbuild/bazel/issues/13043).
46+
- Remove flag --experimental_no_product_name_out_symlink: it is
47+
always true.
48+
- The Starlark method generate_dsym in objc fragment has
49+
been deleted. Please use the equivalent apple_generate_dsym in
50+
cpp
51+
fragment instead.
52+
53+
Important changes:
54+
55+
- Flag --incompatible_objc_compile_info_migration is removed. See
56+
#10854.
57+
- Flag --incompatible_objc_compile_info_migration is removed. See
58+
#10854.
59+
- Flag --incompatible_objc_compile_info_migration is removed. See
60+
#10854.
61+
- none
62+
PAIR=cmita
63+
- The --incompatible_load_python_rules_from_bzl flag is now a no-op.
64+
- Filter all (instead of just C++) source files for coverage output
65+
according to --instrumentation_filter and
66+
--instrument_test_targets.
67+
- The `--incompatible_disable_native_apple_binary_rule` flag has
68+
been added which disables the native `apple_binary` rule. Users
69+
who need to use `apple_binary` directly (if they cannot use one
70+
of the more specific Apple rules) should load it from
71+
https://github.com/bazelbuild/rules_apple.
72+
- The Android rules' --use_singlejar_apkbuilder is now a no-op.
73+
SingleJar will always be used to build APKs.
74+
- dict.setdefault(key, ...) now fails if dict is frozen, even if it
75+
already contains key. This is an incompatible API change.
76+
- Flag --incompatible_objc_provider_remove_compile_info is removed.
77+
See #11359.
78+
- Starlark now permits def statements to be nested (closures).
79+
- native.existing_rule now returns select values in a form that is
80+
accepted by rule instantiation. This is a breaking API change,
81+
though the fallout is expected to be small.
82+
- Starlark now supports lambda (anonymous function) expressions.
83+
- The "test" and "coverage" commands no longer return 3 when a
84+
test action fails because of a system error. Instead, the exit
85+
code
86+
reflects the type of system error.
87+
- The undocumented ctx.expand feature no longer exists.
88+
- Make --legacy_dynamic_scheduler a no-op flag.
89+
- Multiplex persistent workers can now use the JSON protocol.
90+
- native.existing_rule now returns a mutable list, not a tuple, for
91+
a list-valued attributes. This is an incompatible API change.
92+
- Roll back change to have native.existing_rules use list instead
93+
of tuple.
94+
- BEP includes test suite expansions.
95+
- config_setting now honors `visibility` attribute (and defaults to
96+
`//visibility:public`)
97+
- Change the MultiArchSplitTransitionProvider to be based on
98+
platform type + CPU instead of fixed "ios_" + cpu.
99+
- enforce config_setting visibility. See
100+
https://github.com/bazelbuild/bazel/issues/12932 for details.
101+
- add a flag to build v4 signature file
102+
- Added _direct_source_jars output group to Java related targets.
103+
END_PUBLIC
104+
- pkg_deb is no longer part of @bazel_tools//build_defs/pkg:pkg.bzl.
105+
Use https://github.com/bazelbuild/rules_pkg/tree/main/pkg instead
106+
- Allowing the lipo operations to be conditional in the
107+
linkMultiArchBinary API for Apple binaries. Single architecture
108+
slices are now returned through AppleBinaryOutput and the
109+
Starlark API.
110+
- Release restriction for "-" in the package name for Python
111+
sources. Now `py_binary` and `py_test` targets can have main
112+
source file with "-" in the path.
113+
- Users consuming BEP may assume that a `named_set_of_files` event
114+
will
115+
appear before any event referencing that `named_set` by ID. This
116+
allows consumers
117+
to process the files for such events (eg. `TargetCompleted`)
118+
immediately.
119+
- BEP includes all files from successful actions in requested
120+
output groups.
121+
Previously, an output group's files were excluded if any file in
122+
the output group
123+
was not produced due to a failing action. Users can expect BEP
124+
output to be larger
125+
for failed builds.
126+
- In BEP, TargetComplete.output_group has a new field `incomplete`
127+
indicating that the file_sets field is missing one or more
128+
declared artifacts
129+
whose generating actions failed.
130+
- The flag `--toolchain_resolution_debug` now takes a regex
131+
argument, which is used to check which toolchain types should
132+
have debug info printed. You may use `.*` as an argument to keep
133+
the current behavior of debugging every toolchain type.
134+
- Add runfiles.merge_all() for merging a sequence of runfiles
135+
objects.
136+
- runfiles.merge() and merge_all() now respect
137+
--nested_set_depth_limit.
138+
If you hit the depth limit because you were calling merge() in a
139+
loop, use
140+
merge_all() on a sequence of runfiles objects instead.
141+
- Bazel will no longer create a bazel-out symlink if
142+
--symlink_prefix is specified: the directory pointed to via the
143+
bazel-out symlink is accessible via ${symlink_prefix}-out. If
144+
this causes problems for you, set
145+
--experimental_no_product_name_out_symlink=false in your builds
146+
and file an issue.
147+
- Updates worker protocol with cancellation fields, and adds
148+
experimental_worker_cancellation flag to control cancellation.
149+
- Simplify build failure output by always using `NNN arguments`.
150+
- trim_test_configuration now defaults to on
151+
- Mark genrule.srcs as a source attribute for coverage.
152+
- When using --allow_analysis_failures (for example, via
153+
bazel-skylib's
154+
analysistest with `expect_failure = True`), analysis-time
155+
failures in aspect
156+
implementation functions will now be propagated and saved in
157+
AnalysisFailureInfo, just like analysis-time failures in rules.
158+
- cquery --noimplicit_deps now correctly filters out resolved
159+
cc_toolchains
160+
- Sign apks deterministically.
161+
- Make gcov optional in cc_toolchain tools.
162+
- If --experimental_prefer_mutual_xcode is passed, Bazel will
163+
choose the local default (instead of the newest mutually
164+
available version) if it's available both locally and remotely.
165+
- Remove java_lite_proto_library.strict_deps attribute.
166+
- Generate proguard configurations deterministically.
167+
- Adds a new flag, `--incompatible_enable_cc_test_feature` which
168+
switches from the use of build variables to the feature of the
169+
same name.
170+
- Dropped fragile xz support from built in pkg_tar. Users requiring
171+
xz
172+
compression should switch to bazlebuild/rules_pkg.
173+
174+
This release contains contributions from many people at Google, as well as Adam Liddell, Alex Eagle, Anthony Pratti, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, bromano, Christopher Sauer, Cristian Hancila, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave Nicponski, David Cummings, David, David Ostrovsky, Denys Kurylenko, Dmitry Ivankov, dorranh, Ed Schouten, Elliotte Rusty Harold, erenon, Eric Cousineau, Ethan Steinberg, Felix Ehrenpfort, Finn Ball, Fredrik Medley, Garrett Holmstrom, Gautam Korlam, George Gensure, goodspark, Greg Estren, Grzegorz Lukasik, John Laxson, Jonathan Schear, Justus Tumacder, Keith Smiley, Lauri Peltonen, Liu Liu, Lszl Csomor, m, Marc Zych, Mark Karpov, Matt Mackay, Max Liu, Menny Even Danan, menny, Michael Chinen, Nathaniel Brough, Nick Korostelev, Nikolay Shelukhin, odisseus, Oleh Stolyar, Olek Wojnar, Olle Lundberg, Philipp Schrader, Qais Patankar, Ryan Beasley, samhowes, Samuel Giddins, Sebastian Olsson, Steve Siano, steve-the-bayesian, Stiopa Koltsov, susinmotion, tatiana, Thi Doan, ThomasCJY, Timothy Klim, Tobi, Torgil Svensson, Trustin Lee, Ulf Adams, Vaidas Pilkauskas, Vertexwahn, wisechengyi, Xavier Bonaventura, Yannic Bonenberger, Yannic, Yury Evtikhov, Yuval Kaplan, Yuval, [zqzzq].
175+
1176
## Release 4.1.0 (2021-05-21)
2177

3178
```

0 commit comments

Comments
 (0)