Skip to content

Commit

Permalink
Release 5.0.0-pre.20210510.2 (2021-05-31)
Browse files Browse the repository at this point in the history
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].
  • Loading branch information
Bazel Release System authored and fweikert committed May 31, 2021
1 parent f1b37b5 commit e7d3480
Showing 1 changed file with 175 additions and 0 deletions.
175 changes: 175 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,178 @@
## Release 5.0.0-pre.20210510.2 (2021-05-31)

```
Baseline: 8a42645ec500874b0440475763ab680d5efc1e6a
Cherry picks:
+ e3c78c4eeaf4e8db3c22aa71c6c1578cb48c8dcc:
Ensure that test status artifacts are reported as top-level
artifacts.
+ 1f52e9a58dd814f203797c5fbab44d9f4d53a43c:
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
(https://github.com/bazelbuild/bazel/issues/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
https://github.com/bazelbuild/bazel/issues/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].

## Release 4.1.0 (2021-05-21)

```
Expand Down

0 comments on commit e7d3480

Please sign in to comment.