Skip to content

Tags: werkt/bazel

Tags

6.2.0-lat3

Toggle 6.2.0-lat3's commit message
Handle completed errors with reexecution

A completed operation must be reexecuted, rather than waited for in the
case of a retriable error, since the server has indicated that its
result will not change at any point forward.
ExperimentalGrpcRemoteExecutor will interpret completions as a signal to
reset execution.

7.0.0-pre.20230530.3

Toggle 7.0.0-pre.20230530.3's commit message
Release 7.0.0-pre.20230530.3 (2023-06-09)

Baseline: 67446d6

Cherry picks:

   + 4344a03:
     Automated rollback of commit
     00a4fef.

Incompatible changes:

  - `--incompatible_check_sharding_support` is enabled by default.
    Sharded tests with test runners that do not properly advertise
    support for test sharding will fail. Refer to
    bazelbuild#18339 for migration
    advice.

Important changes:

  - Options specified on the pseudo-command `common` in `.rc` files
    are now ignored by commands that do not support them as long as
    they are valid options for *any* Bazel command. Previously,
    commands that did not support all options given for `common`
    would fail to run. These previous semantics of `common` are now
    available via the new `always` pseudo-command.
  - the 'default' param of json.decode can now be used as a keyword
    parameter.
  - As a transitional step in a larger refactoring, rule transitions
    are applied twice. Once during dependency resolution and once
    right before
    analysis of those rules. After the refactoring is complete, rule
    transitions
    will be applied only once.

This release contains contributions from many people at Google, as well as Fabian Meumertzheim, Jimm chja20, Keith Smiley.

7.0.0-pre.20230524.3

Toggle 7.0.0-pre.20230524.3's commit message
Release 7.0.0-pre.20230524.3 (2023-06-05)

Baseline: ea2d504

Cherry picks:

   + 2e34965:
     Have `Package#defaultPackageMetadata` be in the same order that
     the `package.default_applicable_licenses` list was in.

Initial release.

6.2.1

Toggle 6.2.1's commit message
Release 6.2.1 (2023-06-02)

Baseline:  758b44d

Release Notes:

+ Automatic code cleanup. (bazelbuild#18504)
+ Update relnotes scripts (bazelbuild#18503)
+ Fix bazelbuild#18493. (bazelbuild#18512)
+ Fix formatting of release notes (bazelbuild#18533)
+ Use extension rather than local names in ModuleExtensionMetadata (bazelbuild#18535)

Acknowledgements:

This release contains contributions from many people at Google, as well as Fabian Meumertzheim, Pavan Singh.

7.0.0-pre.20230517.4

Toggle 7.0.0-pre.20230517.4's commit message
Release 7.0.0-pre.20230517.4 (2023-05-26)

Baseline: 267ac1f

Cherry picks:

   + 98d5d5f:
     Download outputs that were not downloaded during spawn execution
     in `finalizeAction`.
   + 02853f8:
     Fix non-determinism in the `FailureDetail` produced for a
     package with multiple label crosses subpackage boundary errors.

Incompatible changes:

  - This has the side effect of changing the message on unsuccessful
    builds from
    ```
    FAILED: Build did NOT complete successfully (0 packages loaded)
    ```
    to
    ```
    ERROR: Build did NOT complete successfully
    ```
  - Bazel no longer increases the delay between progress updates when
    there is no cursor control.
  - This has the side effect of changing the message on unsuccessful
    builds from
    ```
    FAILED: Build did NOT complete successfully (0 packages loaded)
    ```
    to
    ```
    ERROR: Build did NOT complete successfully
    ```
  - the --experimental_async_execution flag is now a no-op.
  - --experimental_replay_action_out_err is not a no-op.
  - `cquery --output=files` also outputs source files.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    bazelbuild#16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    bazelbuild#16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See bazelbuild#16654 for details.
  - This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.
  - When multiple --deleted_packages options are passed on the
    command line, they will be concatenated instead of the latest one
    taking effect.
  - This has the side effect of changing the message on unsuccessful
    builds from
  - JSON profile: Use doubles instead of strings for counter series.
  - query --output=proto --order_output=deps now returns targets in
    topological order (previously there was no ordering).
  - --experimental_build_transitive_python_runfiles is flipped to
    false. See bazelbuild#16303 for details
  - --incompatible_python_disable_py2 is flipped to true. See bazelbuild#17293
    for details.
  - When remote cache evicts blobs, Bazel will exit with code 39.
  - `--features` only applies to targets built in the target
    configuration, and `--host_features` is used for the host / exec
    configuration (gated behind `--incompatible_use_host_features`)
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    bazelbuild#16729 for details.
  - Bazel's local CPU resource on Linux is now container aware. Use
    `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to
    override.
  - `copy_from_rule` is exec_groups is deprecated
    (bazelbuild#17668).
  - --legacy_bazel_java_test is now a no-op
  - --legacy_bazel_java_test is now a no-op
  - --legacy_bazel_java_test is now a no-op
  - `--experimental_execution_graph_log` no longer exists. Current
    users that want local logs need to pass
    `--experimental_enable_execution_graph_log
    --experimental_execution_graph_log_path=/some/local/path`.
    Current users that want logs uploaded to BEP need to pass
    `--experimental_enable_execution_graph_log
    --experimental_stream_log_file_uploads`.
  - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
  - Remove high priority workers functionality from blaze.
  - Renamed PackageMetrics proto message to PackageLoadMetrics. The
    formats should be wire compatible.

New features:

  - The `aquery` and `cquery` commands now respect the
    `--query_file` flag just like the `query` command.
  - --experimental_repository_disable_download is now promoted to
    stable and is also available under the name
    --repository_disable_download .

Important changes:

  - The new path variable `$(rlocationpath ...)` and its plural form
    `$(rlocationpaths ...)` can be used to expand labels to the paths
    accepted by the `Rlocation` function of runfiles libraries. This
    is the preferred way to access data dependencies at runtime and
    works on all platforms, even when runfiles are not enabled (e.g.,
    on Windows by default).
  - Starlark `print()` statements are now emitted iff the line of
    code is executed. They are no longer replayed on subsequent
    invocations unless the Starlark code is re-executed.
    Additionally, multiple identical `print()` statements (same
    string from the same line of code, e.g. from a loop) are all
    emitted and no longer deduplicated.
  - Fixes a bug where some compilation flags would not be applied to
    a cc_test
  - removed outdated ctx.host_fragments
  - removed outdated ctx.host_configuration
  - Now that the host configuration is finished, `genrule` should
    prefer the use of `tools` and stop using `exec_tools`.
  - Added a `native.package_relative_label()` function, which
    converts a label string to a Label object in the context of the
    calling package, in contrast to `Label()`, which does so in the
    context of the current .bzl file. Both functions now also accept
    relative labels such as `:foo`, and are idempotent.
  - Update Android manifest merger to v30.1.3, and also drop support
    for legacy (pre-D8) desugaring.
  - Adds coverage metric support to android_local_test
  - Correctly encode double value positive infinity as "inf" instead
    of "+inf" for textprotos.
  - Add --use_target_platform_for_tests which uses the target
    platform for executing tests instead of the execution platform.
  - Custom C++ rules on Windows calling
    cc_common.create_linking_context_from_compilation_outputs should
    review whether each target of the rule type should produce a
    dynamic library since a condition which blocked their creation
    has been moved to the rules from behind the API.
  - Add flag `--experimental_remote_cache_ttl` and set the default
    value to 3 hours.
  - making --incompatible_use_platforms_repo_for_constraints do
    nothing. Using constraints from @bazel_tools//platforms with or
    without the flag will throw error with message "Constraints from
    @bazel_tools//platforms have been removed. Please use constraints
    from @platforms repository embedded in Bazel, or preferably
    declare dependency on https://github.com/bazelbuild/platforms"
  - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
    couldn't see the Bzlmod root module's mappings when Bzlmod is
    enabled.
  - Subsequent settings of --extra_execution_platforms now override
    previous settings, instead of adding them to a list. If you
    currently set --extra_execution_platforms more than once, please
    migrate by passing a list of values to
    --extra_execution_platforms instead so that earlier values aren't
    overwritten.
  - @bazel_tools//config:common_settings.bzl has been removed.
    Use @bazel_skylib//rules:common_settings.bzl instead.
  - cc_shared_library is no longer experimental, see
    bazelbuild#16709 for details
  - The flag `--distinct_host_configuration` is removed. It has been
    a no-op since Bazel 6.0.0.
  - Added `native.module_name()` and `native.module_version()` to
    allow BUILD macro authors to acquire information about which
    Bazel module the current repo is associated with.
  - Add `--skip_incompatible_explicit_targets` option
  - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
  - cc_test can now be configured by using a native.toolchain().
  - `@foo` labels can now be used on the command line as the
    top-level target (that is, `bazel build @foo` now works).
    Double-dot syntax is now forbidden (`bazel build ../foo` will no
    longer work).
  - The location of rules that explicitly specify `generator_name`
    and/or `generator_function` attributes (typically because they
    are incidentally copied from `native.existing_rule()`) is now the
    top-level call in the `BUILD` file, which is consistent with
    rules that do not explicitly specify these attributes.
  - Warnings (most notably those associated with the `deprecation`
    rule attribute) are no longer replayed on subsequent invocations
    unless the target in question is re-analyzed. Warnings are purely
    informational, so this change has no bearing on the correctness
    of the build. Downstream tests that break due to this change
    should update their expectations.
  - `--experimental_remote_build_event_upload` has been renamed to
    `--remote_build_event_upload`
  - [Breaking change] platform, constraint_setting, and
    constraint_value can no longer take an applicable_licenses value.
    Remediation is to remove the attribute and rely on the package
    level default.
  - `--experimental_action_cache_store_output_metadata` has been
    renamed to `--action_cache_store_output_metadata`
  - Changed the default value for `--remote_build_event_upload` to
    `minimal`.
  - `--experimental_remote_cache_compression` has been renamed to
    `--remote_cache_compression`
  - The REPO.bazel and MODULE.bazel files are now also considered
    workspace boundary markers.
  - Added a new `max_compatibility_level` attribute to the
    `bazel_dep` directive, which allows version selection to upgrade
    a dependency up to the specified compatibility level.
  - `--experimental_remote_grpc_log` has been renamed to
    `--remote_grpc_log`
  - `--incompatible_remote_build_event_upload_respect_no_cache` is
    now a no-op.
  - json.decode now takes an optional `default` positional parameter;
    if this parameter is specified and decoding fails, json.decode
    will return
    the `default` value instead of failing Starlark evaluation.
  - Overrides specified by non-root modules no longer cause an error,
    and are silently ignored instead. They were originally treated as
    an error to allow for the future possibility of overrides in the
    transitive dependency graph working together; but we've deemed
    that infeasible (and even if it was, it'd be so complicated and
    confusing to users that it would not be a good addition).
  - `applicable_licenses` is no longer allowed on the `platform` rule.
    Additionally, `default_package_metadata` from any `package` rule
    will not be applied.

This release contains contributions from many people at Google, as well as Adam Lavin, Alessandro Patti, Alex Eagle, AlexTereshenkov, Amanda L Martin, Andreas Herrmann, Andy Hamon, Ankit Agarwal, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Brentley Jones, Cameron Martin, Chirag Ramani, Chirag Ramani, Chris Sauer, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, David Ostrovsky, Dimi Shahbaz, eareilg, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, George Gensure, Greg, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, Ivan Golub, Jack Dai, James Ma, Jasper, Jeff Hodges, Jeremy Volkman, Joel Jeske, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Joseph Tilahun, Julio Merino, Kai Zhang, keertk, Keith Smiley, Konstantin Erman, Krzysztof Naglik, kshyanashree, Kun-Lu, Lee Mracek, lripoche, Malte Poll, Marc Redemske, Marc Zych, Matt Mackay, Mauricio Galindo, Maxwell Elliott, mohamadk, nathyong, Nick Korostelev, Oliver Lee, Oscar Garzon, Patrick Balestra, Patrick Balestra, Philipp Schrader, Red Daly, redwrasse, robincaloudis, Robin Tweedie, Roger Hu, Sagar Pathare, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stiopa Koltsov, stoozy, Sushain Cherivirala, tbaing, Ted Kaplan, Ted Kaplan, Ted Logan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng, yuzhy8701.

7.0.0-pre.20230504.4

Toggle 7.0.0-pre.20230504.4's commit message
Release 7.0.0-pre.20230504.4 (2023-05-19)

Baseline: b384a98

Cherry picks:

   + c7792e8:
     Fix a bug that outputs from aspects are not downloaded.
   + 7705793:
     Fix merge (bazelbuild#18452)

Incompatible changes:

  - This has the side effect of changing the message on unsuccessful
    builds from
    ```
    FAILED: Build did NOT complete successfully (0 packages loaded)
    ```
    to
    ```
    ERROR: Build did NOT complete successfully
    ```
  - Bazel no longer increases the delay between progress updates when
    there is no cursor control.
  - This has the side effect of changing the message on unsuccessful
    builds from
    ```
    FAILED: Build did NOT complete successfully (0 packages loaded)
    ```
    to
    ```
    ERROR: Build did NOT complete successfully
    ```
  - the --experimental_async_execution flag is now a no-op.
  - --experimental_replay_action_out_err is not a no-op.
  - `cquery --output=files` also outputs source files.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    bazelbuild#16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    bazelbuild#16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See bazelbuild#16654 for details.
  - This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.
  - When multiple --deleted_packages options are passed on the
    command line, they will be concatenated instead of the latest one
    taking effect.
  - This has the side effect of changing the message on unsuccessful
    builds from
  - JSON profile: Use doubles instead of strings for counter series.
  - query --output=proto --order_output=deps now returns targets in
    topological order (previously there was no ordering).
  - --experimental_build_transitive_python_runfiles is flipped to
    false. See bazelbuild#16303 for details
  - --incompatible_python_disable_py2 is flipped to true. See bazelbuild#17293
    for details.
  - When remote cache evicts blobs, Bazel will exit with code 39.
  - `--features` only applies to targets built in the target
    configuration, and `--host_features` is used for the host / exec
    configuration (gated behind `--incompatible_use_host_features`)
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    bazelbuild#16729 for details.
  - Bazel's local CPU resource on Linux is now container aware. Use
    `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to
    override.
  - `copy_from_rule` is exec_groups is deprecated
    (bazelbuild#17668).
  - --legacy_bazel_java_test is now a no-op
  - --legacy_bazel_java_test is now a no-op
  - --legacy_bazel_java_test is now a no-op
  - `--experimental_execution_graph_log` no longer exists. Current
    users that want local logs need to pass
    `--experimental_enable_execution_graph_log
    --experimental_execution_graph_log_path=/some/local/path`.
    Current users that want logs uploaded to BEP need to pass
    `--experimental_enable_execution_graph_log
    --experimental_stream_log_file_uploads`.
  - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
  - Remove high priority workers functionality from blaze.
  - Renamed PackageMetrics proto message to PackageLoadMetrics. The
    formats should be wire compatible.

New features:

  - The `aquery` and `cquery` commands now respect the
    `--query_file` flag just like the `query` command.
  - --experimental_repository_disable_download is now promoted to
    stable and is also available under the name
    --repository_disable_download .

Important changes:

  - The new path variable `$(rlocationpath ...)` and its plural form
    `$(rlocationpaths ...)` can be used to expand labels to the paths
    accepted by the `Rlocation` function of runfiles libraries. This
    is the preferred way to access data dependencies at runtime and
    works on all platforms, even when runfiles are not enabled (e.g.,
    on Windows by default).
  - Starlark `print()` statements are now emitted iff the line of
    code is executed. They are no longer replayed on subsequent
    invocations unless the Starlark code is re-executed.
    Additionally, multiple identical `print()` statements (same
    string from the same line of code, e.g. from a loop) are all
    emitted and no longer deduplicated.
  - Fixes a bug where some compilation flags would not be applied to
    a cc_test
  - removed outdated ctx.host_fragments
  - removed outdated ctx.host_configuration
  - Now that the host configuration is finished, `genrule` should
    prefer the use of `tools` and stop using `exec_tools`.
  - Added a `native.package_relative_label()` function, which
    converts a label string to a Label object in the context of the
    calling package, in contrast to `Label()`, which does so in the
    context of the current .bzl file. Both functions now also accept
    relative labels such as `:foo`, and are idempotent.
  - Update Android manifest merger to v30.1.3, and also drop support
    for legacy (pre-D8) desugaring.
  - Adds coverage metric support to android_local_test
  - Correctly encode double value positive infinity as "inf" instead
    of "+inf" for textprotos.
  - Add --use_target_platform_for_tests which uses the target
    platform for executing tests instead of the execution platform.
  - Custom C++ rules on Windows calling
    cc_common.create_linking_context_from_compilation_outputs should
    review whether each target of the rule type should produce a
    dynamic library since a condition which blocked their creation
    has been moved to the rules from behind the API.
  - Add flag `--experimental_remote_cache_ttl` and set the default
    value to 3 hours.
  - making --incompatible_use_platforms_repo_for_constraints do
    nothing. Using constraints from @bazel_tools//platforms with or
    without the flag will throw error with message "Constraints from
    @bazel_tools//platforms have been removed. Please use constraints
    from @platforms repository embedded in Bazel, or preferably
    declare dependency on https://github.com/bazelbuild/platforms"
  - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
    couldn't see the Bzlmod root module's mappings when Bzlmod is
    enabled.
  - Subsequent settings of --extra_execution_platforms now override
    previous settings, instead of adding them to a list. If you
    currently set --extra_execution_platforms more than once, please
    migrate by passing a list of values to
    --extra_execution_platforms instead so that earlier values aren't
    overwritten.
  - @bazel_tools//config:common_settings.bzl has been removed.
    Use @bazel_skylib//rules:common_settings.bzl instead.
  - cc_shared_library is no longer experimental, see
    bazelbuild#16709 for details
  - The flag `--distinct_host_configuration` is removed. It has been
    a no-op since Bazel 6.0.0.
  - Added `native.module_name()` and `native.module_version()` to
    allow BUILD macro authors to acquire information about which
    Bazel module the current repo is associated with.
  - Add `--skip_incompatible_explicit_targets` option
  - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
  - cc_test can now be configured by using a native.toolchain().
  - `@foo` labels can now be used on the command line as the
    top-level target (that is, `bazel build @foo` now works).
    Double-dot syntax is now forbidden (`bazel build ../foo` will no
    longer work).
  - The location of rules that explicitly specify `generator_name`
    and/or `generator_function` attributes (typically because they
    are incidentally copied from `native.existing_rule()`) is now the
    top-level call in the `BUILD` file, which is consistent with
    rules that do not explicitly specify these attributes.
  - Warnings (most notably those associated with the `deprecation`
    rule attribute) are no longer replayed on subsequent invocations
    unless the target in question is re-analyzed. Warnings are purely
    informational, so this change has no bearing on the correctness
    of the build. Downstream tests that break due to this change
    should update their expectations.
  - `--experimental_remote_build_event_upload` has been renamed to
    `--remote_build_event_upload`
  - [Breaking change] platform, constraint_setting, and
    constraint_value can no longer take an applicable_licenses value.
    Remediation is to remove the attribute and rely on the package
    level default.
  - `--experimental_action_cache_store_output_metadata` has been
    renamed to `--action_cache_store_output_metadata`
  - Changed the default value for `--remote_build_event_upload` to
    `minimal`.
  - `--experimental_remote_cache_compression` has been renamed to
    `--remote_cache_compression`
  - The REPO.bazel and MODULE.bazel files are now also considered
    workspace boundary markers.
  - Added a new `max_compatibility_level` attribute to the
    `bazel_dep` directive, which allows version selection to upgrade
    a dependency up to the specified compatibility level.
  - `--experimental_remote_grpc_log` has been renamed to
    `--remote_grpc_log`
  - `--incompatible_remote_build_event_upload_respect_no_cache` is
    now a no-op.
  - json.decode now takes an optional `default` positional parameter;
    if this parameter is specified and decoding fails, json.decode
    will return
    the `default` value instead of failing Starlark evaluation.
  - Overrides specified by non-root modules no longer cause an error,
    and are silently ignored instead. They were originally treated as
    an error to allow for the future possibility of overrides in the
    transitive dependency graph working together; but we've deemed
    that infeasible (and even if it was, it'd be so complicated and
    confusing to users that it would not be a good addition).

This release contains contributions from many people at Google, as well as Adam Lavin, Alessandro Patti, Alex Eagle, AlexTereshenkov, Amanda L Martin, Andreas Herrmann, Andy Hamon, Ankit Agarwal, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Brentley Jones, Cameron Martin, Chirag Ramani, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, David Ostrovsky, eareilg, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, George Gensure, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, Ivan Golub, Jack Dai, James Ma, Jasper, Jeff Hodges, Joel Jeske, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Julio Merino, Kai Zhang, keertk, Keith Smiley, Konstantin Erman, Krzysztof Naglik, kshyanashree, Kun-Lu, Lee Mracek, lripoche, Malte Poll, Marc Zych, Matt Mackay, Maxwell Elliott, mohamadk, nathyong, Nick Korostelev, Oliver Lee, Oscar Garzon, Patrick Balestra, Patrick Balestra, Philipp Schrader, Red Daly, redwrasse, robincaloudis, Robin Tweedie, Roger Hu, Sagar Pathare, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stiopa Koltsov, stoozy, tbaing, Ted Kaplan, Ted Kaplan, Ted Logan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng, yuzhy8701.

6.2.0

Toggle 6.2.0's commit message
Release 6.2.0 (2023-05-09)

Baseline: d60ce2c

Cherry picks:

   + 490f8ba:
     kshyanashree is the release manager of 6.0.0
   + 4e66d93:
     Automated rollback of commit
     2a28909.
   + 48a8d01:
     Allow C/C++ coverage collection for external targets
   + ec7be34:
     Temporarily set parent directory of the input to writable if it
     is not.
   + b098434:
     Infer CPUs for tvOS and watchOS when on Apple Silicon
   + 5cea7dd:
     Improve the documentation for ctx.actions.symlink.
   + a82d26f:
     Add quotes to "Tip"
   + 75b0f3a:
     Write a repo mapping manifest in the runfiles directory (bazelbuild#16555)
   + 07c5c1a:
     Ensure repository names don't start with `~`
   + 30f6c82:
     Escape tilde more gracefully
   + cf3f48c:
     Relax `Label` repo visibility validation
   + 4477823:
     Use "apparent name" instead of "local name" in Bzlmod docs
   + 55f4f48:
     Bazel DevSite: Add required css file.
   + a706994:
     Remove logic that increases delay between progress updates over
     time
   + 1d514ab:
     Remove references to io_bazel repository
   + b0357bd:
     Relnotes python script
   + 8f95651:
     Allow Java coverage collection for external targets
   + bddb191:
     Fix race condition in package-bazel.sh
   + a757852:
     Decanonicalize labels emitted by {a,c,}query if possible
   + 9d250ed:
     Add uniquify parameter to TemplateDict.add_joined
   + f02bcf8:
     Fix identical gcov json file name problem
   + a159330:
     Add `$(rlocationpath(s) ...)` expansion
   + 56f54da:
     Rollup of SBOM correctness fixes (bazelbuild#16655)
   + 72e6e94:
     [cc] Add cc toolchain to starlark cc_proto_library (bazelbuild#16661)
   + 8f28513:
     Make C++ runfiles library repo mapping aware
   + 95f9adc:
     Always collect FileProvider's filesToBuild as data runfiles
   + 4959d34:
     fix: export constraints.bzl file from @local_config_platform so
     it can be used in downstream bzl_library targets
   + 4919d4a:
     Add --host_per_file_copt (bazelbuild#16695)
   + 0a23d46:
     Moving some tests for `RemoteActionFileSystem` of BwoB to a base
     class.
   + 9296068:
     [remote/downloader] Don't include headers in `FetchBlobRequest`
   + 128d833:
     [remote] Respect whether the server supports action cache updates
   + 38c5019:
     [remote/downloader] Migrate `Downloader` to take `Credentials`
     (bazelbuild#16732)
   + 5929cb7:
     Stage repository mapping manifest as a root symlink (bazelbuild#16733)
   + 455454a:
     Expose current repository name to Java with @AutoBazelRepository
   + 97dea59:
     Implement getDirectoryEntries and readdir for
     RemoteActionFileSystem.
   + aa45f5f:
     Move integration tests for BwoB to a base class and add more
     tests there.
   + 1b073ac:
     Make Java runfiles library repo mapping aware
   + 148bbb1:
     Use `_repo_mapping` in C++ runfiles library (bazelbuild#16752)
   + 25558ad:
     Add --experimental_action_cache_store_output_metadata to the
     expansio…
   + 6e945e8:
     Treat `DEBUG` events as progress-like.
   + 1940c5d:
     redact 'token' strings from logging
   + 0b64525:
     Make Bash runfiles library repo mapping aware (bazelbuild#16753)
   + 4caae75:
     Automated rollback of commit
     8f95651.
   + 13ff6d9:
     Fix Bash rlocation failure with stricter Bash options
   + bd88c7e:
     Make bazel Android remote deps compatible with bzlmod (bazelbuild#16772)
   + 6f6d4cc:
     Flip `--incompatible_always_include_files_in_data`
   + 94355b1:
     Add required `--add-opens` server JVM args also with
     non-embedded JDK
   + 8349c95:
     Also collect clang resource directory with
     `-no-canonical-prefixes`
   + dce6ed7:
     Make `bazel run` works with minimal mode
   + ca8674c:
     Include source files with `cquery --output=files` (bazelbuild#16826)
   + 9cb5e0a:
     Fsync before rename after copy in DiskCacheClient
   + 23ffce5:
     Update GetActionResult for disk cache to check referenced files
     when …
   + 0bc0ff5:
     Make Java runfiles library compilable with JDK 8
   + fe16965:
     [6.0.0] Default --incompatible_strict_conflict_checks to true.
     (bazelbuild#16864)
   + 99ca86f:
     Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
     true. (bazelbuild#16864)" (bazelbuild#16872)
   + 312238f:
     Make C++ runfiles library build with `-Werror=shadow`
   + 2baa5a4:
     Keep credentials cached across build commands.
   + 8818a57:
     [6.0.0] Only inject metadata for outputs that cannot be
     reconstructed by skyf… (bazelbuild#16879)
   + 31e4bf4:
     Update java_tools v11.9
   + cd40666:
     replace _get_canonical_form(label) with str(label)
   + e2bc237:
     Avoid exceptions from hermetic sandbox for unsupported artifact
     subclasses
   + b564d14:
     Remove warnings about ignored starlark options
   + 7ccc661:
     [6.0.0] Emit Tree objects in topological order (bazelbuild#16904)
   + 86dee6d:
     Correctly match regex with tree artifact
   + 14925b5:
     Always use target's attributes to set Python version (bazelbuild#16959)
   + a247502:
     Add 'toolchain' parameter to actions.{run,run_shell}
   + 497b7e4:
     Fix Bash `runfiles_current_repository` with RBE
   + 0a2c4ed:
     Fix corner cases in Bash runfiles library
   + 33b514b:
     Fix runfiles creation with MANIFEST when building without the
     bytes
   + 3a13af4:
     Remove LCOV merger dependency of `cc_test` without coverage
     (bazelbuild#17004)
   + 25ba76c:
     Include full tree artifact in inputs when prefetcher doesn't
     support partial tree artifacts.
   + 06deebf:
     Release 6.0.0 (2022-12-19)
   + c2bfb2e:
     Enable git_submodules tests and merge git_repository and
     starlark_git_repository (bazelbuild#17247)
   + e8182ce:
     have 'bazel test' non-test targets depend on
     --remote_download_output
   + c3245cd:
     Add `SpellChecker` suggestions for common Bzlmod errors
   + 8ec8743:
     Use xcrun to invoke install_name_tool
   + 2b2bea4:
     Extra resources
   + 5b4de12:
     Do not clear `--platforms` on no-op change to `--cpu`
   + db3c013:
     Report `AspectCreationException` to the user
   + 53e9fea:
     Use long executable path instead of `argv[0]` in all launchers
   + abae5ca:
     Add sanitizer features to unix_cc_toolchain_config
   + db68419:
     Allow `map_each` to return `None` in `TemplateDict#add_joined`
   + 66b58ee:
     Always emit trailing zero in human-readable download progress
   + 17b8e44:
     Upload all logs in BEP even with minimal upload
   + 28d2daa:
     Set `--experimental_action_listeners` to default in `exec` config
   + 16427c9:
     Do not count tests as failed that have not started
   + 094a0aa:
     Accept tildes in --override_module
   + 5f2866f:
     Do the AC integrity check for disk part of the combined cache.
   + cd10d50:
     Fix `--nozip_undeclared_test_outputs` on Windows
   + 073f54b:
     Allow pyd in extensions of dynamic libraries
   + ac504cb:
     Register JavaCompileActionContext in Bazel.
   + f090433:
     Rollback bazelbuild#14510 because it causes remote test execution to fail
   + 942ddda:
     Prepare backwards compatible usage of optional C++ toolchain
   + 88b51f5:
     Emit LLVM coverage for source file paths with a `tmp` segment
   + bb0b886:
     Enable archive_param_file feature by default for Windows
   + baf97c0:
     Allow `TemplateDict#map_each` callback to return a list of
     strings (bazelbuild#17306)
   + fcb0077:
     Only try to create groups of test actions in the ui.
   + 3c47b47:
     Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
   + 1da8a82:
     Add -dead_strip in default opt link flags for darwin
   + b0c5eb3:
     Dont query remote cache but always use bytestream protocol
   + 00e9af1:
     Allow Java coverage collection for external targets.
   + dd24a00:
     Test and fix root symlink edge case in runfiles library
   + af97d98:
     [6.1.0] Fix broken CI (bazelbuild#17422)
   + b859571:
     Add `native.package_relative_label` function
   + 82168d4:
     Make Bazel more responsive and use less memory when --jobs is
     high (bazelbuild#17398)
   + 84c1ed4:
     Multiplex worker fixes and tests for Android busybox tools
     (bazelbuild#17371)
   + 0759081:
     Improve error message for concurrent modifications (bazelbuild#17396)
   + 27bc896:
     [6.1.0] Make bazel coverage work with minimal mode (bazelbuild#17397)
   + 544b816:
     [6.1.0] Fix cc_binary bug related to cc_shared_library on
     Windows and prepare for future removal of
     --experimental_cc_shared_library flag (bazelbuild#17445)
   + 9a7aa21:
     Fix Bash `runfiles_current_repository` for tools
   + 911eedc:
     Fix label unambiguous canonical form to correctly report
     non-visible repo names
   + e132653:
     Remove O1 from sanitizer feature flag defaults
   + ba9e2f8:
     Remove usage of gRPC Context cancellation in the remote
     execution client.
   + de03a23:
     Allow -v to libtool
   + 4e35c02:
     Prettify labels in action progress messages with Bzlmod (bazelbuild#17278)
   + 1be0ac3:
     Expand tree outputs before eagerly prefetching them for local
     actions. (bazelbuild#17494)
   + c266651:
     Fix Java coverage collection with Java 8 runtime
   + 1a6ffe6:
     Add a flag to disable execution log sorting.
   + fbec8e2:
     Reduce flakiness on Windows for BwoB tests
   + 420659a:
     Make AutoBazelRepositoryProcessor compatible with Java 8
   + dde6d20:
     Do not recommend `shallow_since` for `git_repository`
   + f76fc61:
     Allow the timeout value for execute calls on a mac to be set via
     an environment variable
   + 773d232:
     Fix RPATHs for cc toolchain solib when sibling layout is used
   + 5932b3b:
     [6.1.0] Add --host_features (bazelbuild#17528)
   + a0fa77c:
     Exit with code 39 if remote cache evicted blobs that Bazel need
     during an invocation (bazelbuild#17496)
   + 1a438b4:
     Only fetch @remote_coverage_tools when collecting coverage
     (bazelbuild#17512)
   + ee1daaf:
     [6.1.0]Only fetch @remote_coverage_tools when collecting
     coverage (bazelbuild#17287)
   + 350e329:
     [6.1.0]Fix symlink file creation overhead (bazelbuild#17488)
   + 5406c95:
     [6.1.0] Cleanup stale state when remote cache evicted (bazelbuild#17538)
   + 2d1b570:
     Bump version number in runfiles.bash init code
   + 3ab8a0a:
     [6.1.0]Let `aquery` print effective environment for all
     `CommandAction`s (bazelbuild#17274)
   + 51e6c38:
     Properly report repo fetch progress during main repo mapping
     computation
   + 744108e:
     [docs] Update migrating to Xcode tutorial (bazelbuild#17563)
   + 9dc7a7e:
     Update //third_party:jsr305 (bazelbuild#17557)
   + 43dadb2:
     Bump minimum supported macOS versions to 10.13
   + 7d9d23c:
     Correctly set default subprocess factory when loading class
     `SubprocessBuilder`.
   + 77f82f4:
     Add an --incompatible_strict_conflict_checks alias for
     --experimental_strict_conflict_checks.
   + e05345d:
     Add support for wrapping system streams in WorkRequestHandler
   + 68e1924:
     Also handle remote cache eviction for tree artifacts. (bazelbuild#17601)
   + 4a6d056:
     Add host transition to lcov_merger in Java version of py_test
   + 546e9e2:
     Fix Bazel 6.0 crash regression (bazelbuild#17613)
   + 7e328bb:
     Include Bazel version information in profile metadata. (bazelbuild#17616)
   + aafe123:
     [6.1.0] Handle remote cache eviction when uploading inputs for
     remote actions. (bazelbuild#17605)
   + 938e348:
     [6.1.0] Rerun the artifact conflict check when
     --incompatible_strict_conflict_checks changes. (bazelbuild#17592)
   + 034a281:
     Report background download for BwoB (bazelbuild#17619)
   + 5afbce5:
     [6.1.0] Flag for writable outputs (experimental) (bazelbuild#17617)
   + d4105e6:
     [6.1.0] Allow .wasm cc executable and dynamic library extension
     (bazelbuild#17440)
   + a306f4f:
     make desugar dependencies deterministic
   + 37953c5:
     Apply exec transition to lcov_merger in sh_test and cc_test
   + 1d73d72:
     [6.1.0]Fix --host_features with multiple transitions (bazelbuild#17641)
   + 755cd4b:
     Release 6.1.0 (2023-03-06)
   + 885ae7e:
     Revert "Add -dead_strip in default opt link flags for darwin
     (bazelbuild#17312)" (bazelbuild#17696)
   + 94c519b:
     Skip empty directories instead of throwing in prefetcher.
     (bazelbuild#17718)
   + 60749d5:
     [6.2.0] Remove actionId from RemoteFileArtifactValue. (bazelbuild#17724)
   + 52deefe:
     Correctly handle templated tree artifacts in the prefetcher.
   + 10587b1:
     Silence setlocale warnings in Java stub
   + 3ad3927:
     Force the Bazel server Java runtime to use the root locale
   + 7c235ff:
     [credentialhelper] Ignore failing to provide request
   + daa3dbe:
     [remote] upload: treat `ALREADY_EXISTS` as success
   + e0cdace:
     Fix data race in prefetcher.
   + c9e3eeb:
     [6.2.0] Update java_tools v11.12 (bazelbuild#17761)
   + 6c89303:
     python: Remove temporary module space created for zip-based
     binaries (bazelbuild#17764)
   + b874e5f:
     [6.2.0]Add test coverage support to android_local_test (bazelbuild#17467)
   + 6fc9bed:
     Fix wasm dynamic library extension crash (bazelbuild#17765)
   + 38ece3c:
     Handle `SIGWINCH` under `bazel run //some:test` (i.e. test
     rules) correctly.
   + 49a9502:
     Clear all remote metadata if any of them are evicted from remote
     cache
   + 8fab22e:
     Include build-tools/X.Y.Z/{lib,lib64}/** in the minimal set of
     SDK files used by the Android integration tests.
   + 3a7236b:
     Allow WORKSPACE and WORKSPACE-loaded .bzl files to see Bzlmod
     root module's mappings (bazelbuild#17818)
   + a87b8e0:
     [6.2.0]Add support for alias targets to cquery's `providers`
     (bazelbuild#17786)
   + ee32eff:
     [6.2.0] Allows --query_file to be used for cquery and aquery
     too. (bazelbuild#17823)
   + cfef67d:
     Fix seeking of empty chunkers.
   + 50ec6bb:
     Rework ByteStreamUploader early return logic.
   + 745ca28:
     Suggest alternatives for typoed rule attribute names
   + 8548e20:
     Relax JSON parser, ensure duplicate keys are overridden
   + c04f0d4:
     Use less subshells and `tee`s in running tests with `bazel run`.
   + 8c6d02e:
     Upgrade Azul JDK 17 archives. (bazelbuild#17852)
   + 3c1c0c0:
     Add suggestions to invalid tag class errors
   + 99b3f38:
     [6.2.0] Add native.module_{name,version} (bazelbuild#17893)
   + f7627e0:
     Support (workspace) relative paths in --override_module closes
     bazelbuild#17551
   + 109b290:
     Fail early if `use_extension` has a bad label
   + f63ce79:
     Avoid unnecessary copying when building Merkle trees.
   + 3ea18cc:
     [6.2.0]Add `module_ctx.is_dev_dependency` (bazelbuild#17934)
   + 2d04c91:
     [6.2.0] Add version to JavaRuntimeInfo (bazelbuild#17913)
   + 2c1a63b:
     Fix CI breakages for release-6.2.0 (bazelbuild#17969)
   + 788801a:
     Enable C++ deps pruning on Windows when PARSE_SHOWINCLUDES is
     available.
   + fb4a0c2:
     [6.2.0] TargetPattern parsing fixes (bazelbuild#17945)
   + 70ce837:
     Add attribute 'provides = [CcInfo]' to '_cc_proto_aspect'
   + 6e18829:
     [6.2.0]Expose cc_proto_aspect as a toplevel symbol. (bazelbuild#17980)
   + 0f55d12:
     Cache Merkle trees for tree artifacts.
   + 6d6fa81:
     Deduplicate concurrent computations of the same Merkle tree.
   + 1f2b3ed:
     Patch zlib to fix compatibility with latest Xcode
   + 27e4c62:
     Add exception message to 'failed to create output directory'
   + 4050120:
     Prevent failures creating output directories
   + 1474b5b:
     Allow multiple matching select branches if they resolve to the
     same value (bazelbuild#18066)
   + 5ddef47:
     Turn applicable_licenses on platform() into a no-op. (bazelbuild#18089)
   + e00509b:
     Use ctime in file digest cache key (bazelbuild#18105)
   + ca30372:
     Gracefully handle output symlinks with BwoB
   + a0cb57f:
     [6.2.0] profile: add profile_finish_ts (bazelbuild#18129)
   + 1a60fad:
     fix(python): Set envvar for runfiles manifest, not runfiles dir,
     when using a manifest (bazelbuild#18133)
   + 5e9fa39:
     Add attribute validation to IncompatibleTargetChecker. (bazelbuild#18135)
   + 97312f3:
     [6.2.0] Update CODEOWNERS (bazelbuild#18149)
   + 76ad4a9:
     [6.2.0]Fix worker and multiplex workers for DexBuilder and
     Desugar actions (bazelbuild#17965)
   + 5afb8b6:
     Lockfile cherry picks (bazelbuild#18143)
   + 1940dfb:
     Automatically retry the build if encountered remote cache
     eviction error (bazelbuild#18171)
   + 755cf95:
     [6.2.0]Allow remote retry max delay to be user configurable
     (bazelbuild#18061)
   + 6c61110:
     Add `module_ctx.extension_metadata` (bazelbuild#18174)
   + c1fea13:
     Introduce max_compatibility_level for bazel_dep (bazelbuild#18178)
   + f95b80d:
     Include cause when reporting `ActionExecutionException`
   + 8a41be9:
     Check for the nullness of AspectValue.
   + 2715120:
     Rename `--experimental_remote_grpc_log` to `--remote_grpc_log`
   + e4682f6:
     [6.2.0] Update java_tools v12.1 (bazelbuild#18197)
   + d94dee2:
     Construct TreeArtifactValues on multiple threads. (bazelbuild#18194)
   + 519eef4:
     Fix crash on multiple output symlinks with BwoB
   + 2442a2e:
     [6.2.0] default_java_toolchain.bzl cherry-picks to fix
     regression (bazelbuild#18225)
   + e4f3d4d:
     Fix message generation of `ActionExecutionException`
   + f39454f:
     Add `dev_dependency` to
     `register_{execution_platforms,toolchains}`
   + bf188c1:
     Fine tune the number of test jobs running in parallel to avoid
     timeout on Intel macOS platform
   + e024247:
     Update java_tools v12.2
   + 2dca982:
     Update java_tools v12.3

Incompatible changes:

  - Bazel no longer increases the delay between progress updates when
    there is no cursor control.
  - `--incompatible_always_include_files_in_data` is flipped
    to true. See bazelbuild#16654 for
    details.
  - `cquery --output=files` also outputs source files.

    Closes bazelbuild#16602.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    bazelbuild#16729 for details.
  - This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.
  - `--features` only applies to targets built in the target
    configuration, and `--host_features` is used for the host / exec
    configuration (gated behind `--incompatible_use_host_features`)

    Fixes bazelbuild#13839

    Closes bazelbuild#16626.

New features:

  - The aquery and cquery commands now respect the --query_file flag
    just like the query command.

Important changes:

  - The new path variable `$(rlocationpath ...)` and its plural form
    `$(rlocationpaths ...)` can be used to expand labels to the paths
    accepted by the `Rlocation` function of runfiles libraries. This
    is the preferred way to access data dependencies at runtime and
    works on all platforms, even when runfiles are not enabled (e.g.,
    on Windows by default).

    Work towards bazelbuild#16124
    Fixes bazelbuild#10923

    Closes bazelbuild#16428.
  - Starlark `print()` statements are now emitted iff the line of
    code is executed. They are no longer replayed on subsequent
    invocations unless the Starlark code is re-executed.
    Additionally, multiple identical `print()` statements (same
    string from the same line of code, e.g. from a loop) are all
    emitted and no longer deduplicated.
  - Fixes a bug where some compilation flags would not be applied to
    a cc_test
  - Added a `native.package_relative_label()` function, which
    converts a label string to a Label object in the context of the
    calling package, in contrast to `Label()`, which does so in the
    context of the current .bzl file. Both functions now also accept
    relative labels such as `:foo`, and are idempotent.
  - Adds coverage metric support to android_local_test
  - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
    couldn't see the Bzlmod root module's mappings when Bzlmod is
    enabled.
  - Added `native.module_name()` and `native.module_version()` to
    allow BUILD macro authors to acquire information about which
    Bazel module the current repo is associated with.
  - `@foo` labels can now be used on the command line as the
    top-level target (that is, `bazel build @foo` now works).
    Double-dot syntax is now forbidden (`bazel build ../foo` will no
    longer work).
  - Added preliminary support for a lockfile for Bzlmod. It's
    disabled by default; use `--lockfile_mode=update` to enable it.
    This lockfile contains only Bazel module information; it does not
    involve module extensions.
  - Added a new `max_compatibility_level` attribute to the
    `bazel_dep` directive, which allows version selection to upgrade
    a dependency up to the specified compatibility level.

    Co-authored-by: Brentley Jones <[email protected]>
  - `--experimental_remote_grpc_log` has been renamed to
    `--remote_grpc_log`

    Closes bazelbuild#18180.

This release contains contributions from many people at Google, as well as Ben Lee, Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Patrick Balestra, Son Luong Ngoc, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.

7.0.0-pre.20230502.1

Toggle 7.0.0-pre.20230502.1's commit message
Release 7.0.0-pre.20230502.1 (2023-05-05)

Baseline: a0cd355

Important changes:

  - json.decode now takes an optional `default` positional parameter;
    if this parameter is specified and decoding fails, json.decode
    will return
    the `default` value instead of failing Starlark evaluation.

This release contains contributions from many people at Google, as well as Benjamin Peterson, David Ostrovsky, eareilg, Fabian Meumertzheim, Son Luong Ngoc.

7.0.0-pre.20230426.1

Toggle 7.0.0-pre.20230426.1's commit message
Release 7.0.0-pre.20230426.1 (2023-05-03)

Baseline: dc724e4

Important changes:

  - Added a new `max_compatibility_level` attribute to the
    `bazel_dep` directive, which allows version selection to upgrade
    a dependency up to the specified compatibility level.
  - `--experimental_remote_grpc_log` has been renamed to
    `--remote_grpc_log`
  - `--incompatible_remote_build_event_upload_respect_no_cache` is
    now a no-op.

This release contains contributions from many people at Google, as well as Benjamin Peterson, Brentley Jones, Fabian Meumertzheim, George Gensure, Kai Zhang, Oscar Garzon.

7.0.0-pre.20230420.2

Toggle 7.0.0-pre.20230420.2's commit message
Release 7.0.0-pre.20230420.2 (2023-04-27)

Baseline: 7fb50ba

Cherry picks:

   + 0ebf7bc:
     Automated rollback of commit
     1acc7a8.

Incompatible changes:

  - Renamed PackageMetrics proto message to PackageLoadMetrics. The
    formats should be wire compatible.

This release contains contributions from many people at Google, as well as Ankit Agarwal, Benjamin Peterson, Fabian Meumertzheim, Jasper, Son Luong Ngoc, Xdng Yng.