Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incompatible_strict_conflict_checks #16729

Closed
tjgq opened this issue Nov 10, 2022 · 10 comments
Closed

incompatible_strict_conflict_checks #16729

tjgq opened this issue Nov 10, 2022 · 10 comments
Labels
breaking-change-7.0 Incompatible flags to be flipped in Bazel 7.0 incompatible-change Incompatible/breaking change migration-ready Incompatible flag is ready for migration with Bazel rolling releases or Bazel@last_green type: bug

Comments

@tjgq
Copy link
Contributor

tjgq commented Nov 10, 2022

Turning on this flag forbids the creation of nested artifacts (where one is a prefix of the other). For example, a regular artifact referring to a file inside a tree artifact, or a tree artifact referring to a subdirectory of another tree artifact. They are currently allowed as long as they're both produced by the same action.

When the flag is flipped, nested artifacts will produce an error:

One of the output paths 'blaze-out/k8-fastbuild/bin/foo' (belonging to //:foo) and 'blaze-out/k8-fastbuild/bin/foo/bar' (belonging to //:foo) is a prefix of the other. These actions cannot be simultaneously present; please rename one of the output files or build just one of them

Nested artifacts create unnecessary complications for sandboxing and input prefetching, and we would prefer not to support them. To migrate, rules that consume the inner artifact should be modified to consume the outer artifact instead.

@tjgq tjgq added incompatible-change Incompatible/breaking change migration-ready Incompatible flag is ready for migration with Bazel rolling releases or Bazel@last_green labels Nov 10, 2022
tjgq added a commit to tjgq/bazel that referenced this issue Nov 28, 2022
The downstream pipeline indicates that this is safe to flip: https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1346

Fixes bazelbuild#16729.

RELNOTES[INC]: `--incompatible_strict_conflict_checks` is flipped to true. See bazelbuild#16729 for details.

PiperOrigin-RevId: 491324038
Change-Id: Iea8951867fa20f2aa1a67bf3ba3c86c26e4292de
ShreeM01 pushed a commit that referenced this issue Nov 28, 2022
The downstream pipeline indicates that this is safe to flip: https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1346

Fixes #16729.

RELNOTES[INC]: `--incompatible_strict_conflict_checks` is flipped to true. See #16729 for details.

PiperOrigin-RevId: 491324038
Change-Id: Iea8951867fa20f2aa1a67bf3ba3c86c26e4292de
@keith
Copy link
Member

keith commented Nov 29, 2022

@tjgq I don't believe the linked downstream pipeline mentioned here ran with your commit, If you look at this job:

https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1346#0184bbc5-53e8-476c-9b39-f84daa8de193

You see:

2022/11/28 02:12:05 Using unreleased version at commit 1af61b21df99edc2fc66939cdf14449c2661f873

And it appears to me that this sha was a few commits before your change on master flipping this to true: 1af61b2...d5880dd

It appears this change broke rules_apple (example failure), but if I'm right about it not running on the correct sha I suppose it could have broken other projects as well.

@tjgq
Copy link
Contributor Author

tjgq commented Nov 29, 2022

The bazelisk-plus-incompatible-flags pipeline explicitly sets the incompatible flags on the command line; it's meant to be run before submitting the flag flip CL (see https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1346#0184bbc5-53e8-476c-9b39-f84daa8de193 and look for Running Bazel with --incompatible_strict_conflict_checks).

What happened here is that --incompatible_strict_conflict_checks was badly implemented, and setting it doesn't invalidate the build (!), so we got the cached results for the build without the flag set.

So you are right, rules_apple is broken, and so could be any other downstream projects. I'll roll back the flag flip for now; thanks for noticing this.

copybara-service bot pushed a commit that referenced this issue Nov 29, 2022
*** Reason for rollback ***

Breaks rules_apple. The incompatible flags pipeline incorrectly reported the change as safe because setting the flag doesn't invalidate the build (so we got cached results from building without the flag).

*** Original change description ***

Default --incompatible_strict_conflict_checks to true.

The downstream pipeline indicates that this is safe to flip: https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1346

Fixes #16729.

RELNOTES[INC]: `--incompatible_strict_conflict_checks` is flipped to true. See #16729 for details.

PiperOrigin-RevId: 491573531
Change-Id: I1b34790d12cee4377e76118897c819873ddcb291
@keith
Copy link
Member

keith commented Nov 29, 2022

thanks for looking! want to reopen this one?

@tjgq tjgq reopened this Nov 29, 2022
@meteorcloudy
Copy link
Member

image

It looks like in the latest run, the rules_apple breakage was detected: https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1349

But no other projects failing.

@meteorcloudy
Copy link
Member

Did the caching issue got fixed by #16822?

@tjgq
Copy link
Contributor Author

tjgq commented Nov 30, 2022

No, #16822 is unrelated to this. I have an internal CL to fix the caching issues when the value of --incompatible_strict_conflict_checks. I suppose the pipeline might sometimes work, depending on the order in which things run. Either way, it's definitely not safe to flip the flag at this time.

@meteorcloudy
Copy link
Member

meteorcloudy commented Nov 30, 2022

I see, thanks! The gTech team can help filing issues and maintaining the migration of downstream projects, please let @keertk know when it's ready for migration ;) (Example, #12933 (comment))

copybara-service bot pushed a commit that referenced this issue Dec 9, 2022
Baseline: de7b26a

Cherry picks:

   + 4084671:
     Add support for crosstool feature to prefer PIC compiles even
     for optimized binaries. This can have performance penalty, but
     in configurations where dynamic linking is used for tests can
     lead to a substantially better sharing of artifacts between
     tests and binaries. In contrast to the existing --force_pic,
     this can be enabled per crosstool and respects whether PIC is
     available for the used crosstool.

Incompatible changes:

  - --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
    #16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See #16654 for details.

Important changes:

  - Fixes a bug where some compilation flags would not be applied to
    a cc_test

This release contains contributions from many people at Google, as well as Alex Eagle, aryeh, Christopher Sauer, Fabian Meumertzheim, hvadehra, Keith Smiley, Roger Hu, Ulrik Falklof, Xavier Bonaventura.
copybara-service bot pushed a commit that referenced this issue Dec 19, 2022
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 (#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 (#16655)
   + 72e6e94:
     [cc] Add cc toolchain to starlark cc_proto_library (#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 (#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`
     (#16732)
   + 5929cb7:
     Stage repository mapping manifest as a root symlink (#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 (#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 (#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 (#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` (#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.
     (#16864)
   + 99ca86f:
     Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
     true. (#16864)" (#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… (#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 (#16904)
   + 86dee6d:
     Correctly match regex with tree artifact
   + 14925b5:
     Always use target's attributes to set Python version (#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
     (#17004)
   + 25ba76c:
     Include full tree artifact in inputs when prefetcher doesn't
     support partial tree artifacts.

Incompatible changes:

  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since the path would refer to a
    netrc file inside the external repository by absolute path.
    Migration should be straightforward.
  - genrule switched to use exec transition instead of host. This can
    break targets with hardcoded output paths. To avoid using
    hardcoded paths use make variables, see
    https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
    defined_label_variables
  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since...
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - The --incompatible_existing_rules_immutable_view flag has been
    flipped to true. See
    #13907 for
    migration notes.
  - Split up the C++ archive from the C++ link action and set
    `CppArchive` as mnemonic.
  - workspace(managed_directories=) is not available anymore.
  - --legacy_important_outputs now has a default of false.
  - --legacy_important_outputs default reverted to true.
  - objc_library now requires CcInfo in its deps.  If this breaks
    you, add empty CcInfo() to your rule.
  - Flag --experimental_local_memory_estimate removed.
  - Added a new flag
    --incompatible_unambiguous_label_stringification, which causes
    labels in the main repo to stringify into unambiguous forms
    starting with an @. See
    #15916 for more
    information.
  - analysis_test moved into testing.analysis_test
  - Flip incompatible_enable_cc_toolchain_resolution
    (#7260)
  - (Rollback) Flip incompatible_enable_cc_toolchain_resolution
    (#7260)
  - name parameter is removed from rule call
    (#16301)
  - name parameter is removed from rule call
    (#16301)
  - name parameter is removed from rule call
    (#16301)
  - --incompatible_remote_downloader_send_all_headers is flipped to
    true. See #16356 for details.
  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.
  - In package_group's `packages` attribute, the syntax "//..." now
    refers to all packages in the same repository as the package
    group, rather than all packages everywhere. The new item "public"
    can be used instead to obtain the old behavior. In `bazel query
    --output=proto` (and `--output=xml`), the `packages` attribute
    now serializes with the leading double slash included (for
    instance, `//foo/bar/...` instead of `foo/bar/...`). See also
    #16355, #16323, and #16391.
  - 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 #16654 for
    details.
  - `cquery --output=files` also outputs source files.

    Closes #16602.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.

New features:

  - Support local_repository in Bazel Registry's source.json file

Important changes:

  - Deprecate --incompatible_applicable_licenses flag, in preparation
    for removal in Bazel 6.x.
  - Treat py_*.srcs_version="PY2" the same as "PY2ONLY".
  - The Build Event Protocol now contains file digests and sizes
    along with the file name and URI.
  - Refactor system suspend event handling.
  - alias() can now select() directly on constraint_value()
  - Allow \a \b \f \v escape sequences in Starlark.
  - Match remote and local xcode version by most granular version.
  - Adds `--experimental_worker_multiplex_sandboxing` flag that
    controls whether to sandbox multiplex workers that support it.
  - provider() has a new parameter: init, a callback for performing
    pre-processing and validation of field values. Iff this parameter
    is set,
    provider() returns a tuple of 2 elements: the usual provider
    symbol (which,
    when called, invokes init) and a raw constructor (which bypasses
    init).
  - Tests that fail to create or complete their
    `TestAttemptContinuation` by
    throwing an `ExecException` will report an `INCOMPLETE` status.
    Previously, Bazel
    would fail to report any status for the test attempt.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Include more information about configurations in cquery proto
    formatted output. This deprecates the configuration field of
    AnalysisProtosV2.ConfiguredTarget, and adds a new field,
    configuration_id, to
    be used instead.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - In aquery and cquery proto output, indicate if a configuration is
    a
    tool or non-tool configuration.
  - Include complete configurations in cquery proto output.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - Make protocOpts() publicly accessible.
  - Add some documentation about how configuration information is
    conveyed in cquery proto output.
  - Introduces experimental static library linking API under
    apple_common.link_multi_arch_static_library
  - Further deprecation and removal of pkg_tar. Stop supporting
    legacy use of 'files' attribute, where it could be a list of
    labels instead of a map of paths to labels.
  - Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
    its purpose because --all_incompatible_changes would never set
    it. The last rule it gated (pkg_tar) is scheduled to be removed
    in Bazel 6.x.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - The default dexer is now d8. dx can be optionally enabled using:
      --define=android_dexmerger_tool=dx_dexmerger \
      --define=android_incremental_dexing_tool=dx_dexbuilder \
      --define=android_standalone_dexing_tool=dx_compat_dx \
      --use_workers_with_dexbuilder
  - Packaging support for deploy JAR embedded JDK files (hermetic
    Java).
  - Don't stamp cc_common.link actions for tool dependencies.
  - Starlark test rules can use the new inherited_environment
    parameter of testing.TestEnvironment to specify environment
    variables
    whose values should be inherited from the shell environment.
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - Allow specialization to work with constraint_values.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - Make ijar / java_import preserve classes with `@kotlin.Metadata`
    annotations
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Add devtools/build/lib/worker:work_request_handlers to the remote
    android tools release package. This will be transitively packaged
    into all_android_tools.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - Advance android_tools_pkg version to 0.24.0.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - "blaze config" now only reports info from the last build. To
    compare configurations across multiple builds, redirect "blaze
    config" output to a file and run your favorite diff tool.
  - The --incompatible_override_toolchain_transition flag is now
    always set, and will be removed in the future. Thus,
    --noincompatible_override_toolchain_transition has no effect, and
    the value of the incompatible_use_toolchain_transition parameter
    in aspect() and rule() builtins is ignored.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Toolchain types may now be optional, in addition to mandatory.
    See https://bazel.build/docs/toolchains#optional-toolchains for
    further details.
  - Add six to deps of has_services=1 py_proto_librarys.
  - pkg_tar(symlinks) has been removed. Users needing that feature
    should
    migrate to @rules_pkg.
  - Aspects can now define and use exec groups using the same API as
    rules.
  - Removed the obsolete --incompatible_applicable_licenses flag. The
    feature is permanently enabled.
  - embedded_tools packages R8 desugarer again
  - Bazel now selects sh path based on execution platform instead of
    host platform, making it possible to execute sh actions in
    multiplatform builds. --shell_executable now only applies to
    actions configured for host.
  - labels in genquery.scope are no longer configured.
  - When Bzlmod is enabled, all Bzlmod-generated repos will have an
    extra '@' prepended to their names. This effectively enables the
    canonical label literal syntax for Bzlmod-generated repos
    (`@@canonicalRepoName//pkg:target`; see
    https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
    t7bdUsjz6JFC4/edit?usp=sharing).
  - Exposed `CcSharedLibraryInfo` to Starlark builtins.
  - Enable --use_top_level_targets_for_symlinks by default.
  - Singlejar accepts runtime Created-By field
  - --noincompatible_disable_managed_directories, and with that,
    workspace(managed_directories=) is not supported anymore.
  - Bazel supports D8 desugaring, albeit without persistent workers
  - Remove mtime options from pkg_tar. Users should migrate to
    @rules_pkg.
  - Test for experimental multiplexed persistent resource processor.
  - Added new register_{execution_platforms,toolchains} directives to
    the MODULE.bazel file, to replace the
    {execution_platforms,toolchains}_to_register attributes on the
    module() directive.
  - The legacy pkg_tar no longer supports the ability to untar and
    repackage an input tar file (`deps` attribute). Users needed that
    capability must switch to github.com/bazelbuild/rules_pkg.
  - `cquery`'s new output mode
    [`--output=files`](https://bazel.build/docs/cquery#files-output)
    lists the output files of the targets matching the query. It
    takes the current value of `--output_groups` into account.
  - Change singlejar metadata to report Created-By Bazel
  - Add support for fetching RPC credentials from credential helper.
  - Revert interface_deps back to implementation_deps after problem
    reported in. Use `buildozer 'rename deps implementation_deps'
    //...:%cc_library; buildozer 'rename interface_deps deps'
    //...:%cc_library`
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - D8 is the default desugarer
  - Migrate main_dex_list_creator to D8 (DX deprecation)
  - --experimental_enable_bzlmod has been renamed --enable_bzlmod,
    and still defaults to false.
  - selects() no longer produce irrelevant duplicate label checks
  - Adds a dexer output cache to CompatDexBuilder to improve build
    speed.
  - Improved error messages when analyzing inline bzl code
  - Improved error messages when analyzing inline bzl code
  - The `@bazel_tools//tools/cpp:compiler` flag now has the value
    `gcc` if the configured compiler is detected to be gcc rather
    than the generic value `compiler`. A branch for `gcc` may have to
    be added to `select` statements that do not have a default case
    that handles gcc appropriately.
  - The `get_child` method of `path` now accepts an arbitrary
    number of relative path strings as positional arguments.
  - SourceManifestAction supports `Action.content`
  - Add --incompatible_build_transitive_python_runfiles alias. See
    #16303
  - The @bazel_tools//tools/cpp:compiler flag now has the value
    `clang` for the auto-configured Xcode toolchain rather than the
    generic value compiler. A branch for `clang` may have to be added
    to select statements that do not have a default case that handles
    this toolchain appropriately.
  - added additional debug message to warn of skipped toolchains
    during resolution
  - The deprecated --remote_allow_symlink_upload flag has been
    removed. Symlinks in local action outputs are always permitted,
    even with remote caching. Whether they're uploaded as symlinks or
    as the files/directories they point to is still determined by the
    --incompatible_remote_symlinks flag.
  - Added `struct`, `json`, `proto`, and `depset` to the starlark
    environment of Bazel's cquery (--output=starlark) command
  - Added three `package_group`-related flags:
    `--incompatible_package_group_includes_double_slash` (#16391),
    `--incompatible_package_group_has_public_syntax` (#16355), and
    `--incompatible_fix_package_group_reporoot_syntax` (#16323). With
    these flags, `package_group` can now easily specify "all
    packages", "no packages", and "all packages in the current repo".
  - Record hermetic packaged JDK modules file size in deploy JAR
    manifest 'JDK-Lib-Modules-Size' attribute.
  - .bzl files may now set a visibility to guard what other .bzl and
    BUILD files may load them. See [...] for more information.
  - Deletes the --extra_proguard_specs Blaze flag
  - 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 #16124
    Fixes #10923

    Closes #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

This release contains contributions from many people at Google, as well as Adam Azarchs, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro Patti, Alex Eagle, Alex Scott, Alex Torok, Andreas Fuchs, Andreas Herrmann, Andrew Katson, Andrew Klotz, Ara Nguyen, arunkumar9t2, arun.sampathkumar, Ast-x64, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns, Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, Chad Miller, Charles-Francois Natali, Chris Clearwater, Chris Fredrickson, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, ckiffel, Cristian Hancila, crydell-ericsson, Dan Fleming, Daniel Wagner-Hall, Danny Wolf, David Ostrovsky, David Sanderson, Denys Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Ed Schouten, Emil Kattainen, Eric Song, Eric Wendelin, Fabian Brandstetter, Fabian Meumertzheim, floriographygoth, Fredrik Medley, George Prekas, gkgoat1, gkorlam, Greg Estren, Greg, Gregory Fong, Greg Roodt, Grzegorz Lukasik, Halil Sener, Hannes Kufler, homuler, hvadehra, hvd, Igor Nazarenko, James Broadhead, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, jheaff1, Jiawen Chen, Joel Williamson, John Laxson, John Millikin, Jonathan Gerrish, Jon Shea, Jordan, juanchoviedo, Kaiqin Chen, Keith Smiley, Ken Micklas, Kevin Lin, Kirill Zabelin, Kiron, Krishna Ersson, Krzysztof Naglik, kshyanashree, lihu, Luc Bertrand, Luis Fernando Pino Duque, lunch-glide-pepper, Marek uppa, Matt Clarkson, Matt Mackay, Michael P. Nitowski, Mikhail Balabin, Mostyn Bramley-Moore, Nick Korostelev, Nitesh Anandan, Niyas Sait, Noa Resare, Olek Wojnar, Oscar Bonilla, Patrick Balestra, Paul Tarjan, Peter Mounce, Philipp Schrader, Pras Velagapudi, Rahul Butani, Rajeshwar Reddy T, Rifqi Mulya Fahmi, Roman Salvador, rustberry, Ryan Beasley, Ryan Schmidt, Sahin Yort, Saleem Abdulrasool, Sara Adams, Shuai Zhang, Simon Bjorklen, Son Luong Ngoc, Stephan Wolski, Steve Vermeulen, Stiopa Koltsov, Sven Tiffe, Takeo Sawada, Tao Wang, Ted Kaplan, Tetsuo Kiso, Thi Doan, Thomas Chen, ThomasCJY, Thomas, Thomas Zayouna, Timothe Peignier, Tomas Volf, Tom de Goede, UebelAndre, Ulf Adams, Ulrik Falklof, vardaro, Vasilios Pantazopoulos, Vladimir Tagakov, Waleed Khan, William Muir, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Xùdōng Yáng, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yesudeep Mangalapilly, Yuval K, Zhongpeng Lin.
renovate bot referenced this issue in cgrindel/rules_swift_package_manager Dec 20, 2022
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | major | `5.4.0` ->
`6.0.0` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.0.0`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-600-2022-12-19)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/5.4.0...6.0.0)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.

Incompatible changes:

-   this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since the path would refer to a
    netrc file inside the external repository by absolute path.
    Migration should be straightforward.
-   genrule switched to use exec transition instead of host. This can
    break targets with hardcoded output paths. To avoid using
    hardcoded paths use make variables, see
    https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
    defined_label_variables
-   this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since...
-   Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
-   Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
-   The --incompatible_existing_rules_immutable_view flag has been
flipped to true.
[https://github.com/bazelbuild/bazel/issues/13907](https://github.com/bazelbuild/bazel/issues/13907)es/13907
for
    migration notes.
-   Split up the C++ archive from the C++ link action and set
    `CppArchive` as mnemonic.
-   workspace(managed_directories=) is not available anymore.
-   \--legacy_important_outputs now has a default of false.
-   \--legacy_important_outputs default reverted to true.
-   objc_library now requires CcInfo in its deps.  If this breaks
    you, add empty CcInfo() to your rule.
-   Flag --experimental_local_memory_estimate removed.
-   Added a new flag
    \--incompatible_unambiguous_label_stringification, which causes
    labels in the main repo to stringify into unambiguous forms
starting
wit[https://github.com/bazelbuild/bazel/issues/15916](https://github.com/bazelbuild/bazel/issues/15916)uild/bazel/issues/15916
for more
    information.
-   analysis_test moved into testing.analysis_test
-   Flip incompatible_enable_cc_toolchain_resolution

[https://github.com/bazelbuild/bazel/issues/7260](https://github.com/bazelbuild/bazel/issues/7260)7260)
-   (Rollback) Flip incompatible_enable_cc_toolchain_resolution

[https://github.com/bazelbuild/bazel/issues/7260](https://github.com/bazelbuild/bazel/issues/7260)7260)
-   name parameter is removed from rule call

[https://github.com/bazelbuild/bazel/issues/16301](https://github.com/bazelbuild/bazel/issues/16301)6301)
-   name parameter is removed from rule call

[https://github.com/bazelbuild/bazel/issues/16301](https://github.com/bazelbuild/bazel/issues/16301)6301)
-   name parameter is removed from rule call

[https://github.com/bazelbuild/bazel/issues/16301](https://github.com/bazelbuild/bazel/issues/16301)6301)
-   \--incompatible_remote_downloader_send_all_headers is flipped to
true. See
[#&#8203;16356](https://github.com/bazelbuild/bazel/issues/16356) for
details.
-   GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.
-   In package_group's `packages` attribute, the syntax "//..." now
    refers to all packages in the same repository as the package
    group, rather than all packages everywhere. The new item "public"
can be used instead to obtain the old behavior. In `bazel query
--output=proto` (and `--output=xml`), the `packages` attribute
    now serializes with the leading double slash included (for
    instance, `//foo/bar/...` instead of `foo/bar/...`). See also
[#&#8203;16355](https://github.com/bazelbuild/bazel/issues/16355),
[#&#8203;16323](https://github.com/bazelbuild/bazel/issues/16323), and
[#&#8203;16391](https://github.com/bazelbuild/bazel/issues/16391).
-   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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
for details.
-   This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.

New features:

-   Support local_repository in Bazel Registry's source.json file

Important changes:

-   Deprecate --incompatible_applicable_licenses flag, in preparation
    for removal in Bazel 6.x.
-   Treat py_\*.srcs_version="PY2" the same as "PY2ONLY".
-   The Build Event Protocol now contains file digests and sizes
    along with the file name and URI.
-   Refactor system suspend event handling.
-   alias() can now select() directly on constraint_value()
-   Allow \a \b \f \v escape sequences in Starlark.
-   Match remote and local xcode version by most granular version.
-   Adds `--experimental_worker_multiplex_sandboxing` flag that
    controls whether to sandbox multiplex workers that support it.
-   provider() has a new parameter: init, a callback for performing
    pre-processing and validation of field values. Iff this parameter
    is set,
    provider() returns a tuple of 2 elements: the usual provider
    symbol (which,
    when called, invokes init) and a raw constructor (which bypasses
    init).
-   Tests that fail to create or complete their
    `TestAttemptContinuation` by
    throwing an `ExecException` will report an `INCOMPLETE` status.
    Previously, Bazel
    would fail to report any status for the test attempt.
-   Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
-   Include more information about configurations in cquery proto
    formatted output. This deprecates the configuration field of
    AnalysisProtosV2.ConfiguredTarget, and adds a new field,
    configuration_id, to
    be used instead.
-   experimental cc_library.implementation_deps inverted to
    interface_deps
-   In aquery and cquery proto output, indicate if a configuration is
    a
    tool or non-tool configuration.
-   Include complete configurations in cquery proto output.
-   experimental cc_library.implementation_deps inverted to
    interface_deps
-   Make protocOpts() publicly accessible.
-   Add some documentation about how configuration information is
    conveyed in cquery proto output.
-   Introduces experimental static library linking API under
    apple_common.link_multi_arch_static_library
-   Further deprecation and removal of pkg_tar. Stop supporting
    legacy use of 'files' attribute, where it could be a list of
    labels instead of a map of paths to labels.
-   Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
    its purpose because --all_incompatible_changes would never set
    it. The last rule it gated (pkg_tar) is scheduled to be removed
    in Bazel 6.x.
-   Add coverage configuration fragment, used to expose
    output_generator label.
-   Bazel now no longer includes system headers on macOS in coverage
reports
([#&#8203;14969](https://github.com/bazelbuild/bazel/issues/14969)).
-   android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
-   The default dexer is now d8. dx can be optionally enabled using:
    \--define=android_dexmerger_tool=dx_dexmerger \
    \--define=android_incremental_dexing_tool=dx_dexbuilder \
    \--define=android_standalone_dexing_tool=dx_compat_dx \
    \--use_workers_with_dexbuilder
-   Packaging support for deploy JAR embedded JDK files (hermetic
    Java).
-   Don't stamp cc_common.link actions for tool dependencies.
-   Starlark test rules can use the new inherited_environment
    parameter of testing.TestEnvironment to specify environment
    variables
    whose values should be inherited from the shell environment.
-   Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
-   Allow specialization to work with constraint_values.
-   Bazel uses the D8 jar from Maven instead of the SDK.
-   Make ijar / java_import preserve classes with `@kotlin.Metadata`
    annotations
-   Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when *targeting* Windows regardless of host
    platform (rather than always linking statically when Windows is
    the *host*).
-   Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when *targeting* Windows regardless of host
    platform (rather than always linking statically when Windows is
    the *host*).
-   Add devtools/build/lib/worker:work_request_handlers to the remote
    android tools release package. This will be transitively packaged
    into all_android_tools.
-   Bazel uses the D8 jar from Maven instead of the SDK.
-   android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
-   Advance android_tools_pkg version to 0.24.0.
-   Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when *targeting* Windows regardless of host
    platform (rather
    than always linking statically when Windows is the *host*).
-   Bazel uses the D8 jar from Maven instead of the SDK.
-   "blaze config" now only reports info from the last build. To
    compare configurations across multiple builds, redirect "blaze
    config" output to a file and run your favorite diff tool.
-   The --incompatible_override_toolchain_transition flag is now
    always set, and will be removed in the future. Thus,
    \--noincompatible_override_toolchain_transition has no effect, and
    the value of the incompatible_use_toolchain_transition parameter
    in aspect() and rule() builtins is ignored.
-   Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when *targeting* Windows regardless of host
    platform (rather
    than always linking statically when Windows is the *host*).
-   Toolchain types may now be optional, in addition to mandatory.
    See https://bazel.build/docs/toolchains#optional-toolchains for
    further details.
-   Add six to deps of has_services=1 py_proto_librarys.
-   pkg_tar(symlinks) has been removed. Users needing that feature
    should
    migrate to @&#8203;rules_pkg.
-   Aspects can now define and use exec groups using the same API as
    rules.
-   Removed the obsolete --incompatible_applicable_licenses flag. The
    feature is permanently enabled.
-   embedded_tools packages R8 desugarer again
-   Bazel now selects sh path based on execution platform instead of
    host platform, making it possible to execute sh actions in
    multiplatform builds. --shell_executable now only applies to
    actions configured for host.
-   labels in genquery.scope are no longer configured.
-   When Bzlmod is enabled, all Bzlmod-generated repos will have an
extra '@&#8203;' prepended to their names. This effectively enables the
    canonical label literal syntax for Bzlmod-generated repos
    (`@@&#8203;canonicalRepoName//pkg:target`; see
    https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
    t7bdUsjz6JFC4/edit?usp=sharing).
-   Exposed `CcSharedLibraryInfo` to Starlark builtins.
-   Enable --use_top_level_targets_for_symlinks by default.
-   Singlejar accepts runtime Created-By field
-   \--noincompatible_disable_managed_directories, and with that,
    workspace(managed_directories=) is not supported anymore.
-   Bazel supports D8 desugaring, albeit without persistent workers
-   Remove mtime options from pkg_tar. Users should migrate to
    @&#8203;rules_pkg.
-   Test for experimental multiplexed persistent resource processor.
-   Added new register\_{execution_platforms,toolchains} directives to
    the MODULE.bazel file, to replace the
    {execution_platforms,toolchains}\_to_register attributes on the
    module() directive.
-   The legacy pkg_tar no longer supports the ability to untar and
    repackage an input tar file (`deps` attribute). Users needed that
    capability must switch to github.com/bazelbuild/rules_pkg.
-   `cquery`'s new output mode
    [`--output=files`](https://bazel.build/docs/cquery#files-output)
    lists the output files of the targets matching the query. It
    takes the current value of `--output_groups` into account.
-   Change singlejar metadata to report Created-By Bazel
-   Add support for fetching RPC credentials from credential helper.
-   Revert interface_deps back to implementation_deps after problem
    reported in. Use `buildozer 'rename deps implementation_deps'
    //...:%cc_library; buildozer 'rename interface_deps deps'
    //...:%cc_library`
-   Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
-   D8 is the default desugarer
-   Migrate main_dex_list_creator to D8 (DX deprecation)
-   \--experimental_enable_bzlmod has been renamed --enable_bzlmod,
    and still defaults to false.
-   selects() no longer produce irrelevant duplicate label checks
-   Adds a dexer output cache to CompatDexBuilder to improve build
    speed.
-   Improved error messages when analyzing inline bzl code
-   Improved error messages when analyzing inline bzl code
-   The `@bazel_tools//tools/cpp:compiler` flag now has the value
    `gcc` if the configured compiler is detected to be gcc rather
    than the generic value `compiler`. A branch for `gcc` may have to
    be added to `select` statements that do not have a default case
    that handles gcc appropriately.
-   The `get_child` method of `path` now accepts an arbitrary
    number of relative path strings as positional arguments.
-   SourceManifestAction supports `Action.content`
-   Add --incompatible_build_transitive_python_runfiles alias. See
    [#&#8203;16303](https://github.com/bazelbuild/bazel/issues/16303)
-   The @&#8203;bazel_tools//tools/cpp:compiler flag now has the value
    `clang` for the auto-configured Xcode toolchain rather than the
    generic value compiler. A branch for `clang` may have to be added
    to select statements that do not have a default case that handles
    this toolchain appropriately.
-   added additional debug message to warn of skipped toolchains
    during resolution
-   The deprecated --remote_allow_symlink_upload flag has been
    removed. Symlinks in local action outputs are always permitted,
    even with remote caching. Whether they're uploaded as symlinks or
    as the files/directories they point to is still determined by the
    \--incompatible_remote_symlinks flag.
-   Added `struct`, `json`, `proto`, and `depset` to the starlark
    environment of Bazel's cquery (--output=starlark) command
-   Added three `package_group`-related flags:
`--incompatible_package_group_includes_double_slash`
([#&#8203;16391](https://github.com/bazelbuild/bazel/issues/16391)),
`--incompatible_package_group_has_public_syntax`
([#&#8203;16355](https://github.com/bazelbuild/bazel/issues/16355)),
and
`--incompatible_fix_package_group_reporoot_syntax`
([#&#8203;16323](https://github.com/bazelbuild/bazel/issues/16323)).
With
    these flags, `package_group` can now easily specify "all
    packages", "no packages", and "all packages in the current repo".
-   Record hermetic packaged JDK modules file size in deploy JAR
    manifest 'JDK-Lib-Modules-Size' attribute.
-   .bzl files may now set a visibility to guard what other .bzl and
    BUILD files may load them. See \[...] for more information.
-   Deletes the --extra_proguard_specs Blaze flag
-   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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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

This release contains contributions from many people at Google, as well
as Adam Azarchs, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro
Patti, Alex Eagle, Alex Scott, Alex Torok, Andreas Fuchs, Andreas
Herrmann, Andrew Katson, Andrew Klotz, Ara Nguyen, arunkumar9t2,
arun.sampathkumar, Ast-x64, Benedek Thaler, Benjamin Lee, Benjamin
Peterson, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns,
Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, Chad
Miller, Charles-Francois Natali, Chris Clearwater, Chris Fredrickson,
Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer,
ckiffel, Cristian Hancila, crydell-ericsson, Dan Fleming, Daniel
Wagner-Hall, Danny Wolf, David Ostrovsky, David Sanderson, Denys
Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Ed Schouten, Emil
Kattainen, Eric Song, Eric Wendelin, Fabian Brandstetter, Fabian
Meumertzheim, floriographygoth, Fredrik Medley, George Prekas, gkgoat1,
gkorlam, Greg Estren, Greg, Gregory Fong, Greg Roodt, Grzegorz Lukasik,
Halil Sener, Hannes Kufler, homuler, hvadehra, hvd, Igor Nazarenko,
James Broadhead, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, jheaff1,
Jiawen Chen, Joel Williamson, John Laxson, John Millikin, Jonathan
Gerrish, Jon Shea, Jordan, juanchoviedo, Kaiqin Chen, Keith Smiley, Ken
Micklas, Kevin Lin, Kirill Zabelin, Kiron, Krishna Ersson, Krzysztof
Naglik, kshyanashree, lihu, Luc Bertrand, Luis Fernando Pino Duque,
lunch-glide-pepper, Marek uppa, Matt Clarkson, Matt Mackay, Michael P.
Nitowski, Mikhail Balabin, Mostyn Bramley-Moore, Nick Korostelev, Nitesh
Anandan, Niyas Sait, Noa Resare, Olek Wojnar, Oscar Bonilla, Patrick
Balestra, Paul Tarjan, Peter Mounce, Philipp Schrader, Pras Velagapudi,
Rahul Butani, Rajeshwar Reddy T, Rifqi Mulya Fahmi, Roman Salvador,
rustberry, Ryan Beasley, Ryan Schmidt, Sahin Yort, Saleem Abdulrasool,
Sara Adams, Shuai Zhang, Simon Bjorklen, Son Luong Ngoc, Stephan Wolski,
Steve Vermeulen, Stiopa Koltsov, Sven Tiffe, Takeo Sawada, Tao Wang, Ted
Kaplan, Tetsuo Kiso, Thi Doan, Thomas Chen, ThomasCJY, Thomas, Thomas
Zayouna, Timothe Peignier, Tomas Volf, Tom de Goede, UebelAndre, Ulf
Adams, Ulrik Falklof, vardaro, Vasilios Pantazopoulos, Vladimir Tagakov,
Waleed Khan, William Muir, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao,
Xùdōng Yáng, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic,
Yesudeep Mangalapilly, Yuval K, Zhongpeng Lin.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/swift_bazel).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC42My4yIiwidXBkYXRlZEluVmVyIjoiMzQuNjMuMiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bozaro pushed a commit to joomcode/bazel that referenced this issue Dec 20, 2022
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.

Incompatible changes:

  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since the path would refer to a
    netrc file inside the external repository by absolute path.
    Migration should be straightforward.
  - genrule switched to use exec transition instead of host. This can
    break targets with hardcoded output paths. To avoid using
    hardcoded paths use make variables, see
    https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
    defined_label_variables
  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since...
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - The --incompatible_existing_rules_immutable_view flag has been
    flipped to true. See
    bazelbuild#13907 for
    migration notes.
  - Split up the C++ archive from the C++ link action and set
    `CppArchive` as mnemonic.
  - workspace(managed_directories=) is not available anymore.
  - --legacy_important_outputs now has a default of false.
  - --legacy_important_outputs default reverted to true.
  - objc_library now requires CcInfo in its deps.  If this breaks
    you, add empty CcInfo() to your rule.
  - Flag --experimental_local_memory_estimate removed.
  - Added a new flag
    --incompatible_unambiguous_label_stringification, which causes
    labels in the main repo to stringify into unambiguous forms
    starting with an @. See
    bazelbuild#15916 for more
    information.
  - analysis_test moved into testing.analysis_test
  - Flip incompatible_enable_cc_toolchain_resolution
    (bazelbuild#7260)
  - (Rollback) Flip incompatible_enable_cc_toolchain_resolution
    (bazelbuild#7260)
  - name parameter is removed from rule call
    (bazelbuild#16301)
  - name parameter is removed from rule call
    (bazelbuild#16301)
  - name parameter is removed from rule call
    (bazelbuild#16301)
  - --incompatible_remote_downloader_send_all_headers is flipped to
    true. See bazelbuild#16356 for details.
  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.
  - In package_group's `packages` attribute, the syntax "//..." now
    refers to all packages in the same repository as the package
    group, rather than all packages everywhere. The new item "public"
    can be used instead to obtain the old behavior. In `bazel query
    --output=proto` (and `--output=xml`), the `packages` attribute
    now serializes with the leading double slash included (for
    instance, `//foo/bar/...` instead of `foo/bar/...`). See also
    bazelbuild#16355, bazelbuild#16323, and bazelbuild#16391.
  - 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.

New features:

  - Support local_repository in Bazel Registry's source.json file

Important changes:

  - Deprecate --incompatible_applicable_licenses flag, in preparation
    for removal in Bazel 6.x.
  - Treat py_*.srcs_version="PY2" the same as "PY2ONLY".
  - The Build Event Protocol now contains file digests and sizes
    along with the file name and URI.
  - Refactor system suspend event handling.
  - alias() can now select() directly on constraint_value()
  - Allow \a \b \f \v escape sequences in Starlark.
  - Match remote and local xcode version by most granular version.
  - Adds `--experimental_worker_multiplex_sandboxing` flag that
    controls whether to sandbox multiplex workers that support it.
  - provider() has a new parameter: init, a callback for performing
    pre-processing and validation of field values. Iff this parameter
    is set,
    provider() returns a tuple of 2 elements: the usual provider
    symbol (which,
    when called, invokes init) and a raw constructor (which bypasses
    init).
  - Tests that fail to create or complete their
    `TestAttemptContinuation` by
    throwing an `ExecException` will report an `INCOMPLETE` status.
    Previously, Bazel
    would fail to report any status for the test attempt.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Include more information about configurations in cquery proto
    formatted output. This deprecates the configuration field of
    AnalysisProtosV2.ConfiguredTarget, and adds a new field,
    configuration_id, to
    be used instead.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - In aquery and cquery proto output, indicate if a configuration is
    a
    tool or non-tool configuration.
  - Include complete configurations in cquery proto output.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - Make protocOpts() publicly accessible.
  - Add some documentation about how configuration information is
    conveyed in cquery proto output.
  - Introduces experimental static library linking API under
    apple_common.link_multi_arch_static_library
  - Further deprecation and removal of pkg_tar. Stop supporting
    legacy use of 'files' attribute, where it could be a list of
    labels instead of a map of paths to labels.
  - Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
    its purpose because --all_incompatible_changes would never set
    it. The last rule it gated (pkg_tar) is scheduled to be removed
    in Bazel 6.x.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - The default dexer is now d8. dx can be optionally enabled using:
      --define=android_dexmerger_tool=dx_dexmerger \
      --define=android_incremental_dexing_tool=dx_dexbuilder \
      --define=android_standalone_dexing_tool=dx_compat_dx \
      --use_workers_with_dexbuilder
  - Packaging support for deploy JAR embedded JDK files (hermetic
    Java).
  - Don't stamp cc_common.link actions for tool dependencies.
  - Starlark test rules can use the new inherited_environment
    parameter of testing.TestEnvironment to specify environment
    variables
    whose values should be inherited from the shell environment.
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - Allow specialization to work with constraint_values.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - Make ijar / java_import preserve classes with `@kotlin.Metadata`
    annotations
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Add devtools/build/lib/worker:work_request_handlers to the remote
    android tools release package. This will be transitively packaged
    into all_android_tools.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - Advance android_tools_pkg version to 0.24.0.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - "blaze config" now only reports info from the last build. To
    compare configurations across multiple builds, redirect "blaze
    config" output to a file and run your favorite diff tool.
  - The --incompatible_override_toolchain_transition flag is now
    always set, and will be removed in the future. Thus,
    --noincompatible_override_toolchain_transition has no effect, and
    the value of the incompatible_use_toolchain_transition parameter
    in aspect() and rule() builtins is ignored.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Toolchain types may now be optional, in addition to mandatory.
    See https://bazel.build/docs/toolchains#optional-toolchains for
    further details.
  - Add six to deps of has_services=1 py_proto_librarys.
  - pkg_tar(symlinks) has been removed. Users needing that feature
    should
    migrate to @rules_pkg.
  - Aspects can now define and use exec groups using the same API as
    rules.
  - Removed the obsolete --incompatible_applicable_licenses flag. The
    feature is permanently enabled.
  - embedded_tools packages R8 desugarer again
  - Bazel now selects sh path based on execution platform instead of
    host platform, making it possible to execute sh actions in
    multiplatform builds. --shell_executable now only applies to
    actions configured for host.
  - labels in genquery.scope are no longer configured.
  - When Bzlmod is enabled, all Bzlmod-generated repos will have an
    extra '@' prepended to their names. This effectively enables the
    canonical label literal syntax for Bzlmod-generated repos
    (`@@canonicalRepoName//pkg:target`; see
    https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
    t7bdUsjz6JFC4/edit?usp=sharing).
  - Exposed `CcSharedLibraryInfo` to Starlark builtins.
  - Enable --use_top_level_targets_for_symlinks by default.
  - Singlejar accepts runtime Created-By field
  - --noincompatible_disable_managed_directories, and with that,
    workspace(managed_directories=) is not supported anymore.
  - Bazel supports D8 desugaring, albeit without persistent workers
  - Remove mtime options from pkg_tar. Users should migrate to
    @rules_pkg.
  - Test for experimental multiplexed persistent resource processor.
  - Added new register_{execution_platforms,toolchains} directives to
    the MODULE.bazel file, to replace the
    {execution_platforms,toolchains}_to_register attributes on the
    module() directive.
  - The legacy pkg_tar no longer supports the ability to untar and
    repackage an input tar file (`deps` attribute). Users needed that
    capability must switch to github.com/bazelbuild/rules_pkg.
  - `cquery`'s new output mode
    [`--output=files`](https://bazel.build/docs/cquery#files-output)
    lists the output files of the targets matching the query. It
    takes the current value of `--output_groups` into account.
  - Change singlejar metadata to report Created-By Bazel
  - Add support for fetching RPC credentials from credential helper.
  - Revert interface_deps back to implementation_deps after problem
    reported in. Use `buildozer 'rename deps implementation_deps'
    //...:%cc_library; buildozer 'rename interface_deps deps'
    //...:%cc_library`
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - D8 is the default desugarer
  - Migrate main_dex_list_creator to D8 (DX deprecation)
  - --experimental_enable_bzlmod has been renamed --enable_bzlmod,
    and still defaults to false.
  - selects() no longer produce irrelevant duplicate label checks
  - Adds a dexer output cache to CompatDexBuilder to improve build
    speed.
  - Improved error messages when analyzing inline bzl code
  - Improved error messages when analyzing inline bzl code
  - The `@bazel_tools//tools/cpp:compiler` flag now has the value
    `gcc` if the configured compiler is detected to be gcc rather
    than the generic value `compiler`. A branch for `gcc` may have to
    be added to `select` statements that do not have a default case
    that handles gcc appropriately.
  - The `get_child` method of `path` now accepts an arbitrary
    number of relative path strings as positional arguments.
  - SourceManifestAction supports `Action.content`
  - Add --incompatible_build_transitive_python_runfiles alias. See
    bazelbuild#16303
  - The @bazel_tools//tools/cpp:compiler flag now has the value
    `clang` for the auto-configured Xcode toolchain rather than the
    generic value compiler. A branch for `clang` may have to be added
    to select statements that do not have a default case that handles
    this toolchain appropriately.
  - added additional debug message to warn of skipped toolchains
    during resolution
  - The deprecated --remote_allow_symlink_upload flag has been
    removed. Symlinks in local action outputs are always permitted,
    even with remote caching. Whether they're uploaded as symlinks or
    as the files/directories they point to is still determined by the
    --incompatible_remote_symlinks flag.
  - Added `struct`, `json`, `proto`, and `depset` to the starlark
    environment of Bazel's cquery (--output=starlark) command
  - Added three `package_group`-related flags:
    `--incompatible_package_group_includes_double_slash` (bazelbuild#16391),
    `--incompatible_package_group_has_public_syntax` (bazelbuild#16355), and
    `--incompatible_fix_package_group_reporoot_syntax` (bazelbuild#16323). With
    these flags, `package_group` can now easily specify "all
    packages", "no packages", and "all packages in the current repo".
  - Record hermetic packaged JDK modules file size in deploy JAR
    manifest 'JDK-Lib-Modules-Size' attribute.
  - .bzl files may now set a visibility to guard what other .bzl and
    BUILD files may load them. See [...] for more information.
  - Deletes the --extra_proguard_specs Blaze flag
  - 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

This release contains contributions from many people at Google, as well as Adam Azarchs, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro Patti, Alex Eagle, Alex Scott, Alex Torok, Andreas Fuchs, Andreas Herrmann, Andrew Katson, Andrew Klotz, Ara Nguyen, arunkumar9t2, arun.sampathkumar, Ast-x64, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns, Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, Chad Miller, Charles-Francois Natali, Chris Clearwater, Chris Fredrickson, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, ckiffel, Cristian Hancila, crydell-ericsson, Dan Fleming, Daniel Wagner-Hall, Danny Wolf, David Ostrovsky, David Sanderson, Denys Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Ed Schouten, Emil Kattainen, Eric Song, Eric Wendelin, Fabian Brandstetter, Fabian Meumertzheim, floriographygoth, Fredrik Medley, George Prekas, gkgoat1, gkorlam, Greg Estren, Greg, Gregory Fong, Greg Roodt, Grzegorz Lukasik, Halil Sener, Hannes Kufler, homuler, hvadehra, hvd, Igor Nazarenko, James Broadhead, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, jheaff1, Jiawen Chen, Joel Williamson, John Laxson, John Millikin, Jonathan Gerrish, Jon Shea, Jordan, juanchoviedo, Kaiqin Chen, Keith Smiley, Ken Micklas, Kevin Lin, Kirill Zabelin, Kiron, Krishna Ersson, Krzysztof Naglik, kshyanashree, lihu, Luc Bertrand, Luis Fernando Pino Duque, lunch-glide-pepper, Marek uppa, Matt Clarkson, Matt Mackay, Michael P. Nitowski, Mikhail Balabin, Mostyn Bramley-Moore, Nick Korostelev, Nitesh Anandan, Niyas Sait, Noa Resare, Olek Wojnar, Oscar Bonilla, Patrick Balestra, Paul Tarjan, Peter Mounce, Philipp Schrader, Pras Velagapudi, Rahul Butani, Rajeshwar Reddy T, Rifqi Mulya Fahmi, Roman Salvador, rustberry, Ryan Beasley, Ryan Schmidt, Sahin Yort, Saleem Abdulrasool, Sara Adams, Shuai Zhang, Simon Bjorklen, Son Luong Ngoc, Stephan Wolski, Steve Vermeulen, Stiopa Koltsov, Sven Tiffe, Takeo Sawada, Tao Wang, Ted Kaplan, Tetsuo Kiso, Thi Doan, Thomas Chen, ThomasCJY, Thomas, Thomas Zayouna, Timothe Peignier, Tomas Volf, Tom de Goede, UebelAndre, Ulf Adams, Ulrik Falklof, vardaro, Vasilios Pantazopoulos, Vladimir Tagakov, Waleed Khan, William Muir, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Xùdōng Yáng, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yesudeep Mangalapilly, Yuval K, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this issue Dec 23, 2022
Baseline: 09da33b

Cherry picks:

   + 152cdc9:
     Fix stamping of jars in java_import

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
    #16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See #16654 for details.
  - This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.

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).
  - 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

This release contains contributions from many people at Google, as well as Alex Eagle, Ankush Goyal, Artem Zinnatullin, aryeh, Benjamin Peterson, Christopher Peterson Sauer, Christopher Sauer, Daniel KT, Ed Schouten, Fabian Meumertzheim, Gaspare Vitta, Greg Magolan, hvadehra, John Hinnegan, keertk, Keith Smiley, Krzysztof Naglik, Matt Mackay, nathyong, Patrick Balestra, Robin Tweedie, Roger Hu, Tom Cnops, Ulrik Falklof, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng.
@keertk
Copy link
Member

keertk commented Feb 8, 2023

Hi @tjgq Following up to see if this is ready for migration? And are we still planning to flip this flag in 7.0?

@tjgq
Copy link
Contributor Author

tjgq commented Feb 9, 2023

Yes, I'm still planning to flip this for Bazel 7.0, but we're not ready to start migrating yet (I need to fix the issue described in #16729 (comment) first).

@keertk keertk added the breaking-change-7.0 Incompatible flags to be flipped in Bazel 7.0 label Feb 9, 2023
hvadehra pushed a commit that referenced this issue Feb 14, 2023
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 (#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 (#16655)
   + 72e6e94:
     [cc] Add cc toolchain to starlark cc_proto_library (#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 (#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`
     (#16732)
   + 5929cb7:
     Stage repository mapping manifest as a root symlink (#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 (#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 (#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 (#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` (#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.
     (#16864)
   + 99ca86f:
     Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
     true. (#16864)" (#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… (#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 (#16904)
   + 86dee6d:
     Correctly match regex with tree artifact
   + 14925b5:
     Always use target's attributes to set Python version (#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
     (#17004)
   + 25ba76c:
     Include full tree artifact in inputs when prefetcher doesn't
     support partial tree artifacts.

Incompatible changes:

  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since the path would refer to a
    netrc file inside the external repository by absolute path.
    Migration should be straightforward.
  - genrule switched to use exec transition instead of host. This can
    break targets with hardcoded output paths. To avoid using
    hardcoded paths use make variables, see
    https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
    defined_label_variables
  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since...
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - The --incompatible_existing_rules_immutable_view flag has been
    flipped to true. See
    #13907 for
    migration notes.
  - Split up the C++ archive from the C++ link action and set
    `CppArchive` as mnemonic.
  - workspace(managed_directories=) is not available anymore.
  - --legacy_important_outputs now has a default of false.
  - --legacy_important_outputs default reverted to true.
  - objc_library now requires CcInfo in its deps.  If this breaks
    you, add empty CcInfo() to your rule.
  - Flag --experimental_local_memory_estimate removed.
  - Added a new flag
    --incompatible_unambiguous_label_stringification, which causes
    labels in the main repo to stringify into unambiguous forms
    starting with an @. See
    #15916 for more
    information.
  - analysis_test moved into testing.analysis_test
  - Flip incompatible_enable_cc_toolchain_resolution
    (#7260)
  - (Rollback) Flip incompatible_enable_cc_toolchain_resolution
    (#7260)
  - name parameter is removed from rule call
    (#16301)
  - name parameter is removed from rule call
    (#16301)
  - name parameter is removed from rule call
    (#16301)
  - --incompatible_remote_downloader_send_all_headers is flipped to
    true. See #16356 for details.
  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.
  - In package_group's `packages` attribute, the syntax "//..." now
    refers to all packages in the same repository as the package
    group, rather than all packages everywhere. The new item "public"
    can be used instead to obtain the old behavior. In `bazel query
    --output=proto` (and `--output=xml`), the `packages` attribute
    now serializes with the leading double slash included (for
    instance, `//foo/bar/...` instead of `foo/bar/...`). See also
    #16355, #16323, and #16391.
  - 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 #16654 for
    details.
  - `cquery --output=files` also outputs source files.

    Closes #16602.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.

New features:

  - Support local_repository in Bazel Registry's source.json file

Important changes:

  - Deprecate --incompatible_applicable_licenses flag, in preparation
    for removal in Bazel 6.x.
  - Treat py_*.srcs_version="PY2" the same as "PY2ONLY".
  - The Build Event Protocol now contains file digests and sizes
    along with the file name and URI.
  - Refactor system suspend event handling.
  - alias() can now select() directly on constraint_value()
  - Allow \a \b \f \v escape sequences in Starlark.
  - Match remote and local xcode version by most granular version.
  - Adds `--experimental_worker_multiplex_sandboxing` flag that
    controls whether to sandbox multiplex workers that support it.
  - provider() has a new parameter: init, a callback for performing
    pre-processing and validation of field values. Iff this parameter
    is set,
    provider() returns a tuple of 2 elements: the usual provider
    symbol (which,
    when called, invokes init) and a raw constructor (which bypasses
    init).
  - Tests that fail to create or complete their
    `TestAttemptContinuation` by
    throwing an `ExecException` will report an `INCOMPLETE` status.
    Previously, Bazel
    would fail to report any status for the test attempt.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Include more information about configurations in cquery proto
    formatted output. This deprecates the configuration field of
    AnalysisProtosV2.ConfiguredTarget, and adds a new field,
    configuration_id, to
    be used instead.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - In aquery and cquery proto output, indicate if a configuration is
    a
    tool or non-tool configuration.
  - Include complete configurations in cquery proto output.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - Make protocOpts() publicly accessible.
  - Add some documentation about how configuration information is
    conveyed in cquery proto output.
  - Introduces experimental static library linking API under
    apple_common.link_multi_arch_static_library
  - Further deprecation and removal of pkg_tar. Stop supporting
    legacy use of 'files' attribute, where it could be a list of
    labels instead of a map of paths to labels.
  - Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
    its purpose because --all_incompatible_changes would never set
    it. The last rule it gated (pkg_tar) is scheduled to be removed
    in Bazel 6.x.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - The default dexer is now d8. dx can be optionally enabled using:
      --define=android_dexmerger_tool=dx_dexmerger \
      --define=android_incremental_dexing_tool=dx_dexbuilder \
      --define=android_standalone_dexing_tool=dx_compat_dx \
      --use_workers_with_dexbuilder
  - Packaging support for deploy JAR embedded JDK files (hermetic
    Java).
  - Don't stamp cc_common.link actions for tool dependencies.
  - Starlark test rules can use the new inherited_environment
    parameter of testing.TestEnvironment to specify environment
    variables
    whose values should be inherited from the shell environment.
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - Allow specialization to work with constraint_values.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - Make ijar / java_import preserve classes with `@kotlin.Metadata`
    annotations
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Add devtools/build/lib/worker:work_request_handlers to the remote
    android tools release package. This will be transitively packaged
    into all_android_tools.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - Advance android_tools_pkg version to 0.24.0.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - "blaze config" now only reports info from the last build. To
    compare configurations across multiple builds, redirect "blaze
    config" output to a file and run your favorite diff tool.
  - The --incompatible_override_toolchain_transition flag is now
    always set, and will be removed in the future. Thus,
    --noincompatible_override_toolchain_transition has no effect, and
    the value of the incompatible_use_toolchain_transition parameter
    in aspect() and rule() builtins is ignored.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Toolchain types may now be optional, in addition to mandatory.
    See https://bazel.build/docs/toolchains#optional-toolchains for
    further details.
  - Add six to deps of has_services=1 py_proto_librarys.
  - pkg_tar(symlinks) has been removed. Users needing that feature
    should
    migrate to @rules_pkg.
  - Aspects can now define and use exec groups using the same API as
    rules.
  - Removed the obsolete --incompatible_applicable_licenses flag. The
    feature is permanently enabled.
  - embedded_tools packages R8 desugarer again
  - Bazel now selects sh path based on execution platform instead of
    host platform, making it possible to execute sh actions in
    multiplatform builds. --shell_executable now only applies to
    actions configured for host.
  - labels in genquery.scope are no longer configured.
  - When Bzlmod is enabled, all Bzlmod-generated repos will have an
    extra '@' prepended to their names. This effectively enables the
    canonical label literal syntax for Bzlmod-generated repos
    (`@@canonicalRepoName//pkg:target`; see
    https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
    t7bdUsjz6JFC4/edit?usp=sharing).
  - Exposed `CcSharedLibraryInfo` to Starlark builtins.
  - Enable --use_top_level_targets_for_symlinks by default.
  - Singlejar accepts runtime Created-By field
  - --noincompatible_disable_managed_directories, and with that,
    workspace(managed_directories=) is not supported anymore.
  - Bazel supports D8 desugaring, albeit without persistent workers
  - Remove mtime options from pkg_tar. Users should migrate to
    @rules_pkg.
  - Test for experimental multiplexed persistent resource processor.
  - Added new register_{execution_platforms,toolchains} directives to
    the MODULE.bazel file, to replace the
    {execution_platforms,toolchains}_to_register attributes on the
    module() directive.
  - The legacy pkg_tar no longer supports the ability to untar and
    repackage an input tar file (`deps` attribute). Users needed that
    capability must switch to github.com/bazelbuild/rules_pkg.
  - `cquery`'s new output mode
    [`--output=files`](https://bazel.build/docs/cquery#files-output)
    lists the output files of the targets matching the query. It
    takes the current value of `--output_groups` into account.
  - Change singlejar metadata to report Created-By Bazel
  - Add support for fetching RPC credentials from credential helper.
  - Revert interface_deps back to implementation_deps after problem
    reported in. Use `buildozer 'rename deps implementation_deps'
    //...:%cc_library; buildozer 'rename interface_deps deps'
    //...:%cc_library`
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - D8 is the default desugarer
  - Migrate main_dex_list_creator to D8 (DX deprecation)
  - --experimental_enable_bzlmod has been renamed --enable_bzlmod,
    and still defaults to false.
  - selects() no longer produce irrelevant duplicate label checks
  - Adds a dexer output cache to CompatDexBuilder to improve build
    speed.
  - Improved error messages when analyzing inline bzl code
  - Improved error messages when analyzing inline bzl code
  - The `@bazel_tools//tools/cpp:compiler` flag now has the value
    `gcc` if the configured compiler is detected to be gcc rather
    than the generic value `compiler`. A branch for `gcc` may have to
    be added to `select` statements that do not have a default case
    that handles gcc appropriately.
  - The `get_child` method of `path` now accepts an arbitrary
    number of relative path strings as positional arguments.
  - SourceManifestAction supports `Action.content`
  - Add --incompatible_build_transitive_python_runfiles alias. See
    #16303
  - The @bazel_tools//tools/cpp:compiler flag now has the value
    `clang` for the auto-configured Xcode toolchain rather than the
    generic value compiler. A branch for `clang` may have to be added
    to select statements that do not have a default case that handles
    this toolchain appropriately.
  - added additional debug message to warn of skipped toolchains
    during resolution
  - The deprecated --remote_allow_symlink_upload flag has been
    removed. Symlinks in local action outputs are always permitted,
    even with remote caching. Whether they're uploaded as symlinks or
    as the files/directories they point to is still determined by the
    --incompatible_remote_symlinks flag.
  - Added `struct`, `json`, `proto`, and `depset` to the starlark
    environment of Bazel's cquery (--output=starlark) command
  - Added three `package_group`-related flags:
    `--incompatible_package_group_includes_double_slash` (#16391),
    `--incompatible_package_group_has_public_syntax` (#16355), and
    `--incompatible_fix_package_group_reporoot_syntax` (#16323). With
    these flags, `package_group` can now easily specify "all
    packages", "no packages", and "all packages in the current repo".
  - Record hermetic packaged JDK modules file size in deploy JAR
    manifest 'JDK-Lib-Modules-Size' attribute.
  - .bzl files may now set a visibility to guard what other .bzl and
    BUILD files may load them. See [...] for more information.
  - Deletes the --extra_proguard_specs Blaze flag
  - 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 #16124
    Fixes #10923

    Closes #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

This release contains contributions from many people at Google, as well as Adam Azarchs, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro Patti, Alex Eagle, Alex Scott, Alex Torok, Andreas Fuchs, Andreas Herrmann, Andrew Katson, Andrew Klotz, Ara Nguyen, arunkumar9t2, arun.sampathkumar, Ast-x64, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns, Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, Chad Miller, Charles-Francois Natali, Chris Clearwater, Chris Fredrickson, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, ckiffel, Cristian Hancila, crydell-ericsson, Dan Fleming, Daniel Wagner-Hall, Danny Wolf, David Ostrovsky, David Sanderson, Denys Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Ed Schouten, Emil Kattainen, Eric Song, Eric Wendelin, Fabian Brandstetter, Fabian Meumertzheim, floriographygoth, Fredrik Medley, George Prekas, gkgoat1, gkorlam, Greg Estren, Greg, Gregory Fong, Greg Roodt, Grzegorz Lukasik, Halil Sener, Hannes Kufler, homuler, hvadehra, hvd, Igor Nazarenko, James Broadhead, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, jheaff1, Jiawen Chen, Joel Williamson, John Laxson, John Millikin, Jonathan Gerrish, Jon Shea, Jordan, juanchoviedo, Kaiqin Chen, Keith Smiley, Ken Micklas, Kevin Lin, Kirill Zabelin, Kiron, Krishna Ersson, Krzysztof Naglik, kshyanashree, lihu, Luc Bertrand, Luis Fernando Pino Duque, lunch-glide-pepper, Marek uppa, Matt Clarkson, Matt Mackay, Michael P. Nitowski, Mikhail Balabin, Mostyn Bramley-Moore, Nick Korostelev, Nitesh Anandan, Niyas Sait, Noa Resare, Olek Wojnar, Oscar Bonilla, Patrick Balestra, Paul Tarjan, Peter Mounce, Philipp Schrader, Pras Velagapudi, Rahul Butani, Rajeshwar Reddy T, Rifqi Mulya Fahmi, Roman Salvador, rustberry, Ryan Beasley, Ryan Schmidt, Sahin Yort, Saleem Abdulrasool, Sara Adams, Shuai Zhang, Simon Bjorklen, Son Luong Ngoc, Stephan Wolski, Steve Vermeulen, Stiopa Koltsov, Sven Tiffe, Takeo Sawada, Tao Wang, Ted Kaplan, Tetsuo Kiso, Thi Doan, Thomas Chen, ThomasCJY, Thomas, Thomas Zayouna, Timothe Peignier, Tomas Volf, Tom de Goede, UebelAndre, Ulf Adams, Ulrik Falklof, vardaro, Vasilios Pantazopoulos, Vladimir Tagakov, Waleed Khan, William Muir, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Xùdōng Yáng, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yesudeep Mangalapilly, Yuval K, Zhongpeng Lin.
hvadehra pushed a commit that referenced this issue Feb 14, 2023
Baseline: 09da33b

Cherry picks:

   + 152cdc9:
     Fix stamping of jars in java_import

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
    #16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See #16654 for details.
  - This changes the behavior of Python version in exec/host
    configuration. Mitigation is to set Python version on the targets.

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).
  - 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

This release contains contributions from many people at Google, as well as Alex Eagle, Ankush Goyal, Artem Zinnatullin, aryeh, Benjamin Peterson, Christopher Peterson Sauer, Christopher Sauer, Daniel KT, Ed Schouten, Fabian Meumertzheim, Gaspare Vitta, Greg Magolan, hvadehra, John Hinnegan, keertk, Keith Smiley, Krzysztof Naglik, Matt Mackay, nathyong, Patrick Balestra, Robin Tweedie, Roger Hu, Tom Cnops, Ulrik Falklof, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng.
copybara-service bot pushed a commit that referenced this issue Feb 22, 2023
…_checks changes.

Related to #16729.

PiperOrigin-RevId: 511432374
Change-Id: I00b0bff5731a3468bf0a56c4a44e95590da7b463
tjgq added a commit to tjgq/rules_apple that referenced this issue Feb 24, 2023
copybara-service bot pushed a commit that referenced this issue Mar 15, 2023
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 (#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 (#16655)
   + 72e6e94:
     [cc] Add cc toolchain to starlark cc_proto_library (#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 (#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`
     (#16732)
   + 5929cb7:
     Stage repository mapping manifest as a root symlink (#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 (#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 (#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 (#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` (#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.
     (#16864)
   + 99ca86f:
     Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
     true. (#16864)" (#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… (#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 (#16904)
   + 86dee6d:
     Correctly match regex with tree artifact
   + 14925b5:
     Always use target's attributes to set Python version (#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
     (#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 (#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 #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 (#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 (#17422)
   + b859571:
     Add `native.package_relative_label` function
   + 82168d4:
     Make Bazel more responsive and use less memory when --jobs is
     high (#17398)
   + 84c1ed4:
     Multiplex worker fixes and tests for Android busybox tools
     (#17371)
   + 0759081:
     Improve error message for concurrent modifications (#17396)
   + 27bc896:
     [6.1.0] Make bazel coverage work with minimal mode (#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 (#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 (#17278)
   + 1be0ac3:
     Expand tree outputs before eagerly prefetching them for local
     actions. (#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 (#17528)
   + a0fa77c:
     Exit with code 39 if remote cache evicted blobs that Bazel need
     during an invocation (#17496)
   + 1a438b4:
     Only fetch @remote_coverage_tools when collecting coverage
     (#17512)
   + ee1daaf:
     [6.1.0]Only fetch @remote_coverage_tools when collecting
     coverage (#17287)
   + 350e329:
     [6.1.0]Fix symlink file creation overhead (#17488)
   + 5406c95:
     [6.1.0] Cleanup stale state when remote cache evicted (#17538)
   + 2d1b570:
     Bump version number in runfiles.bash init code
   + 3ab8a0a:
     [6.1.0]Let `aquery` print effective environment for all
     `CommandAction`s (#17274)
   + 51e6c38:
     Properly report repo fetch progress during main repo mapping
     computation
   + 744108e:
     [docs] Update migrating to Xcode tutorial (#17563)
   + 9dc7a7e:
     Update //third_party:jsr305 (#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. (#17601)
   + 4a6d056:
     Add host transition to lcov_merger in Java version of py_test
   + 546e9e2:
     Fix Bazel 6.0 crash regression (#17613)
   + 7e328bb:
     Include Bazel version information in profile metadata. (#17616)
   + aafe123:
     [6.1.0] Handle remote cache eviction when uploading inputs for
     remote actions. (#17605)
   + 938e348:
     [6.1.0] Rerun the artifact conflict check when
     --incompatible_strict_conflict_checks changes. (#17592)
   + 034a281:
     Report background download for BwoB (#17619)
   + 5afbce5:
     [6.1.0] Flag for writable outputs (experimental) (#17617)
   + d4105e6:
     [6.1.0] Allow .wasm cc executable and dynamic library extension
     (#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 (#17641)
   + 755cd4b:
     Release 6.1.0 (2023-03-06)
   + 885ae7e:
     Revert "Add -dead_strip in default opt link flags for darwin
     (#17312)" (#17696)
   + e7fd4cf:
     Fix wasm dynamic library extension crash (#17757)

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 #16654 for
    details.
  - `cquery --output=files` also outputs source files.

    Closes #16602.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #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 #13839

    Closes #16626.

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 #16124
    Fixes #10923

    Closes #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.

This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
renovate bot referenced this issue in cgrindel/github_snippets Mar 15, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | patch | `6.1.0` ->
`6.1.1` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.1.1`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-611-2023-03-15)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.0...6.1.1)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + e7fd4cf42e3e320dfac0400464a604c0d8b71a1d:
         Fix wasm dynamic library extension crash (#&#8203;17757)

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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/16626).

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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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.

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/github_snippets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS44LjAiLCJ1cGRhdGVkSW5WZXIiOiIzNS44LjAifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in cgrindel/bazel-starlib Mar 16, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | patch | `6.1.0` ->
`6.1.1` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.1.1`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-611-2023-03-15)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.0...6.1.1)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + e7fd4cf42e3e320dfac0400464a604c0d8b71a1d:
         Fix wasm dynamic library extension crash (#&#8203;17757)

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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/16626).

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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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.

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/bazel-starlib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS44LjAiLCJ1cGRhdGVkSW5WZXIiOiIzNS44LjAifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in cgrindel/rules_swift_package_manager Mar 16, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | patch | `6.1.0` ->
`6.1.1` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.1.1`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-611-2023-03-15)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.0...6.1.1)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + e7fd4cf42e3e320dfac0400464a604c0d8b71a1d:
         Fix wasm dynamic library extension crash (#&#8203;17757)

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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/16626).

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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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.

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/swift_bazel).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS44LjAiLCJ1cGRhdGVkSW5WZXIiOiIzNS44LjAifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
copybara-service bot pushed a commit that referenced this issue Mar 17, 2023
Baseline: 0ce1748

Cherry picks:

   + 28dc0f9:
     Switch `RemoteFileArtifactValue` subclassing to optimize for
     memory cost.
   + e79de51:
     Remove NO_EXPORTING tag from cc_shared_library
   + e0cdace:
     Fix data race in prefetcher.

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
    #16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See #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 #16303 for details
  - --incompatible_python_disable_py2 is flipped to true. See #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
    #16729 for details.

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).
  - 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.

This release contains contributions from many people at Google, as well as Alex Eagle, Amanda L Martin, Andreas Herrmann, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Ben Lee, Brentley Jones, Chirag Ramani, Christopher Peterson Sauer, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, James Ma, John Hinnegan, Jon Parise, jonrose-dev, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, Kun-Lu, Lee Mracek, lripoche, Matt Mackay, Maxwell Elliott, mohamadk, nathyong, Nick Korostelev, Oliver Lee, Patrick Balestra, Patrick Balestra, Red Daly, robincaloudis, Robin Tweedie, Roger Hu, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, Son Luong Ngoc, Stiopa Koltsov, tbaing, Ted Kaplan, Ted Kaplan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng, yuzhy8701.
bozaro pushed a commit to joomcode/bazel that referenced this issue Mar 27, 2023
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)
   + e7fd4cf:
     Fix wasm dynamic library extension crash (bazelbuild#17757)

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.

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.

This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
copybara-service bot pushed a commit that referenced this issue Apr 18, 2023
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 (#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 (#16655)
   + 72e6e94:
     [cc] Add cc toolchain to starlark cc_proto_library (#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 (#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`
     (#16732)
   + 5929cb7:
     Stage repository mapping manifest as a root symlink (#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 (#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 (#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 (#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` (#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.
     (#16864)
   + 99ca86f:
     Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
     true. (#16864)" (#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… (#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 (#16904)
   + 86dee6d:
     Correctly match regex with tree artifact
   + 14925b5:
     Always use target's attributes to set Python version (#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
     (#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 (#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 #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 (#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 (#17422)
   + b859571:
     Add `native.package_relative_label` function
   + 82168d4:
     Make Bazel more responsive and use less memory when --jobs is
     high (#17398)
   + 84c1ed4:
     Multiplex worker fixes and tests for Android busybox tools
     (#17371)
   + 0759081:
     Improve error message for concurrent modifications (#17396)
   + 27bc896:
     [6.1.0] Make bazel coverage work with minimal mode (#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 (#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 (#17278)
   + 1be0ac3:
     Expand tree outputs before eagerly prefetching them for local
     actions. (#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 (#17528)
   + a0fa77c:
     Exit with code 39 if remote cache evicted blobs that Bazel need
     during an invocation (#17496)
   + 1a438b4:
     Only fetch @remote_coverage_tools when collecting coverage
     (#17512)
   + ee1daaf:
     [6.1.0]Only fetch @remote_coverage_tools when collecting
     coverage (#17287)
   + 350e329:
     [6.1.0]Fix symlink file creation overhead (#17488)
   + 5406c95:
     [6.1.0] Cleanup stale state when remote cache evicted (#17538)
   + 2d1b570:
     Bump version number in runfiles.bash init code
   + 3ab8a0a:
     [6.1.0]Let `aquery` print effective environment for all
     `CommandAction`s (#17274)
   + 51e6c38:
     Properly report repo fetch progress during main repo mapping
     computation
   + 744108e:
     [docs] Update migrating to Xcode tutorial (#17563)
   + 9dc7a7e:
     Update //third_party:jsr305 (#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. (#17601)
   + 4a6d056:
     Add host transition to lcov_merger in Java version of py_test
   + 546e9e2:
     Fix Bazel 6.0 crash regression (#17613)
   + 7e328bb:
     Include Bazel version information in profile metadata. (#17616)
   + aafe123:
     [6.1.0] Handle remote cache eviction when uploading inputs for
     remote actions. (#17605)
   + 938e348:
     [6.1.0] Rerun the artifact conflict check when
     --incompatible_strict_conflict_checks changes. (#17592)
   + 034a281:
     Report background download for BwoB (#17619)
   + 5afbce5:
     [6.1.0] Flag for writable outputs (experimental) (#17617)
   + d4105e6:
     [6.1.0] Allow .wasm cc executable and dynamic library extension
     (#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 (#17641)
   + 755cd4b:
     Release 6.1.0 (2023-03-06)
   + 885ae7e:
     Revert "Add -dead_strip in default opt link flags for darwin
     (#17312)" (#17696)
   + e7fd4cf:
     Fix wasm dynamic library extension crash (#17757)
   + 1a90fe5:
     Release 6.1.1 (2023-03-15)
   + c0ae7be:
     Bazel CI: Temporarily disable GitRepositoryBlackBoxTest (#18045)
   + 1f2b3ed:
     Patch zlib to fix compatibility with latest Xcode
   + 906812c:
     Turn applicable_licenses on platforms into a no-op. (#18082)
   + 05984b9:
     Use ctime in file digest cache key (#18101)

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 #16654 for
    details.
  - `cquery --output=files` also outputs source files.

    Closes #16602.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #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 #13839

    Closes #16626.

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 #16124
    Fixes #10923

    Closes #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.

This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
copybara-service bot pushed a commit that referenced this issue Apr 18, 2023
Baseline: 5ab5d80

Cherry picks:

   + 0d98bf5:
     Automated rollback of commit
     4a2e51b.

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
    #16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See #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 #16303 for details
  - --incompatible_python_disable_py2 is flipped to true. See #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
    #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
    (#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.

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).
  - 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
    #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`.

This release contains contributions from many people at Google, as well as Adam Lavin, Alessandro Patti, Alex Eagle, Amanda L Martin, Andreas Herrmann, Andy Hamon, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Brentley Jones, Chirag Ramani, Christopher Peterson Sauer, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, Jack Dai, James Ma, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Julio Merino, 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, 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, tbaing, Ted Kaplan, Ted Kaplan, 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.
renovate bot referenced this issue in cgrindel/bazel-starlib Apr 18, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | patch | `6.1.1` ->
`6.1.2` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.1.2`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-612-2023-04-18)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.1...6.1.2)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + e7fd4cf42e3e320dfac0400464a604c0d8b71a1d:
         Fix wasm dynamic library extension crash (#&#8203;17757)
       + 1a90fe5fe3283e8e593b62173911e4c264a28b09:
         Release 6.1.1 (2023-03-15)
       + c0ae7becf8de993b9e862f3831889d96994dadbf:
Bazel CI: Temporarily disable GitRepositoryBlackBoxTest (#&#8203;18045)
       + 1f2b3ed4ac717b814d02a0d125f160ddabe78003:
         Patch zlib to fix compatibility with latest Xcode
       + 906812c9f93d072ddda732919d20306a50ca0261:
Turn applicable_licenses on platforms into a no-op. (#&#8203;18082)
       + 05984b980087371e6ff9b808e27b20294d017ad5:
         Use ctime in file digest cache key (#&#8203;18101)

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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/16626).

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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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.

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/bazel-starlib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS40OS4wIiwidXBkYXRlZEluVmVyIjoiMzUuNDkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in cgrindel/github_snippets Apr 18, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | patch | `6.1.1` ->
`6.1.2` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.1.2`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-612-2023-04-18)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.1...6.1.2)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + e7fd4cf42e3e320dfac0400464a604c0d8b71a1d:
         Fix wasm dynamic library extension crash (#&#8203;17757)
       + 1a90fe5fe3283e8e593b62173911e4c264a28b09:
         Release 6.1.1 (2023-03-15)
       + c0ae7becf8de993b9e862f3831889d96994dadbf:
Bazel CI: Temporarily disable GitRepositoryBlackBoxTest (#&#8203;18045)
       + 1f2b3ed4ac717b814d02a0d125f160ddabe78003:
         Patch zlib to fix compatibility with latest Xcode
       + 906812c9f93d072ddda732919d20306a50ca0261:
Turn applicable_licenses on platforms into a no-op. (#&#8203;18082)
       + 05984b980087371e6ff9b808e27b20294d017ad5:
         Use ctime in file digest cache key (#&#8203;18101)

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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/16626).

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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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.

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/github_snippets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS40OS4wIiwidXBkYXRlZEluVmVyIjoiMzUuNDkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in cgrindel/rules_swift_package_manager Apr 18, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | patch | `6.1.1` ->
`6.1.2` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.1.2`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-612-2023-04-18)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.1...6.1.2)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + e7fd4cf42e3e320dfac0400464a604c0d8b71a1d:
         Fix wasm dynamic library extension crash (#&#8203;17757)
       + 1a90fe5fe3283e8e593b62173911e4c264a28b09:
         Release 6.1.1 (2023-03-15)
       + c0ae7becf8de993b9e862f3831889d96994dadbf:
Bazel CI: Temporarily disable GitRepositoryBlackBoxTest (#&#8203;18045)
       + 1f2b3ed4ac717b814d02a0d125f160ddabe78003:
         Patch zlib to fix compatibility with latest Xcode
       + 906812c9f93d072ddda732919d20306a50ca0261:
Turn applicable_licenses on platforms into a no-op. (#&#8203;18082)
       + 05984b980087371e6ff9b808e27b20294d017ad5:
         Use ctime in file digest cache key (#&#8203;18101)

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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/16626).

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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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.

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/rules_swift_package_manager).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS40OS4wIiwidXBkYXRlZEluVmVyIjoiMzUuNDkuMCJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
copybara-service bot pushed a commit that referenced this issue Apr 25, 2023
Baseline: 0a47a1f

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.
  - Native libraries in data attribute are not collected. See
    #13550 for details
  - Enforce the `--profile` path to be absolute.
  - Enforce the --memory_profile path to be absolute.
  - JavaToolchainInfo.jvm_opt returns Depset instead of a list.
  - --apple_sdk has been deleted.  It is a no-op.
  - --bep_publish_used_heap_size_post_build is now a no-op and will
    be deleted in a future release. Use --memory_profile=/dev/null
    instead.
  - Flipped --incompatible_disallow_resource_jars (see
    #13221).
  - Remove --bep_publish_used_heap_size_post_build
  - JSON trace profile: rename counter names.
  - Removed --action_graph from the dump command.
  - Remove `--{experimental_,}json_trace_compression` option.
  - Remove `--experimental_profile_cpu_usage`.
  - flipped --incompatible_java_common_parameters (see #12373)
  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since the path would refer to a
    netrc file inside the external repository by absolute path.
    Migration should be straightforward.
  - genrule switched to use exec transition instead of host. This can
    break targets with hardcoded output paths. To avoid using
    hardcoded paths use make variables, see
    https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
    defined_label_variables
  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since...
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - The --incompatible_existing_rules_immutable_view flag has been
    flipped to true. See
    #13907 for
    migration notes.
  - Split up the C++ archive from the C++ link action and set
    `CppArchive` as mnemonic.
  - workspace(managed_directories=) is not available anymore.
  - --legacy_important_outputs now has a default of false.
  - --legacy_important_outputs default reverted to true.
  - objc_library now requires CcInfo in its deps.  If this breaks
    you, add empty CcInfo() to your rule.
  - Flag --experimental_local_memory_estimate removed.
  - Added a new flag
    --incompatible_unambiguous_label_stringification, which causes
    labels in the main repo to stringify into unambiguous forms
    starting with an @. See
    #15916 for more
    information.
  - analysis_test moved into testing.analysis_test
  - Flip incompatible_enable_cc_toolchain_resolution
    (#7260)
  - (Rollback) Flip incompatible_enable_cc_toolchain_resolution
    (#7260)
  - name parameter is removed from rule call
    (#16301)
  - name parameter is removed from rule call
    (#16301)
  - name parameter is removed from rule call
    (#16301)
  - --incompatible_remote_downloader_send_all_headers is flipped to
    true. See #16356 for details.
  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.
  - In package_group's `packages` attribute, the syntax "//..." now
    refers to all packages in the same repository as the package
    group, rather than all packages everywhere. The new item "public"
    can be used instead to obtain the old behavior. In `bazel query
    --output=proto` (and `--output=xml`), the `packages` attribute
    now serializes with the leading double slash included (for
    instance, `//foo/bar/...` instead of `foo/bar/...`). See also
    #16355, #16323, and #16391.
  - 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
    #16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See #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 #16303 for details
  - --incompatible_python_disable_py2 is flipped to true. See #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
    #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
    (#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.

New features:

  - Args.add_all and Args.add_joined can now accept closures in
    map_each if explicitly enabled via allow_closure.
  - Add `--bes_header` flag to pass extra headers to the BES server.
  - Support local_repository in Bazel Registry's source.json file
  - The `aquery` and `cquery` commands now respect the
    `--query_file` flag just like the `query` command.

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.
  - If all strategies of one branch (the local or remote execution
    branch) of the `dynamic` strategy fail to even accept (via the
    response they give from `canExec`) the action, `dynamic` will now
    try to see if the other branch can accept it. (Trying to run it
    and it failing will still cause a failure if it was the first
    result, this is about strategies claiming they can't even try the
    action)
  - Add `disable_annotation_processing` option to
    `java_common.compile`, which disables any annotation processors
    passed to `plugins` or in `exported_plugins` of `deps`
  - Remove obsolete --incompatible_prohibit_aapt1
  - The minimum Android build tools version for the Android rules is
    now 30.0.0
  - Adds --experimental_reuse_sandbox_directories flag to reuse
    already-created non-worker sandboxes with cleanup.
  - --experimental_force_gc_after_build is deprecated and will be
    removed soon. Use --bep_publish_used_heap_size_post_build instead
  - Forward coverage-instrumented files from non-tool dependencies by
    default.
  - The used_heap_size_post_build field in BEP is populated when the
    --memory_profile flag is set
  - --run_validations defaults to true.
  - Consider label_keyed_string_dict attributes when gathering
    instrumented files for coverage.
  - Remove flag
    --experimental_forward_instrumented_files_info_by_default, now
    that this behavior is the default.
  - When using MemoryProfiler with multiple GCs via the
    --memory_profile_stable_heap_parameters flag, we do a more
    precise calculation of heap used at the end of the build. This
    will generally result in lower values.
  - --bep_publish_used_heap_size_post_build is deprecated. Use
    --memory_profile=/dev/null instead.
  - Disable --all_incompatible_changes flag.
  - The --all_incompatible_changes flag is now a no-op
  - The `--toolchain_resolution_debug` flag now accepts regexes
    matching targets, as well as toolchain types, when choosing what
    debug messages to print.
  - Adds --experimental_existing_rules_immutable_view flag to make the
    native.existing_rule and native.existing_rules functions more
    efficient by
    returning immutable, lightweight dict-like view objects instead
    of mutable
    dicts.
  - Add support to length-delimited protos as undeclared output
    annotations []
  - The deprecated "relative_to_caller_repository" parameter has been
    removed from the Label constructor.
  - The toolchain transition is now enabled for all toolchains.
  - incompatible_disable_depset_items is flipped
  - The --experimental_existing_rules_immutable_view flag has been
    renamed to  --incompatible_existing_rules_immutable_view
  - Bazel no longer supports Java 8. From this version on, the
    minimum required JDK is OpenJDK 11.
  - Deprecate --incompatible_applicable_licenses flag, in preparation
    for removal in Bazel 6.x.
  - Treat py_*.srcs_version="PY2" the same as "PY2ONLY".
  - The Build Event Protocol now contains file digests and sizes
    along with the file name and URI.
  - Refactor system suspend event handling.
  - alias() can now select() directly on constraint_value()
  - Allow \a \b \f \v escape sequences in Starlark.
  - Match remote and local xcode version by most granular version.
  - Adds `--experimental_worker_multiplex_sandboxing` flag that
    controls whether to sandbox multiplex workers that support it.
  - provider() has a new parameter: init, a callback for performing
    pre-processing and validation of field values. Iff this parameter
    is set,
    provider() returns a tuple of 2 elements: the usual provider
    symbol (which,
    when called, invokes init) and a raw constructor (which bypasses
    init).
  - Tests that fail to create or complete their
    `TestAttemptContinuation` by
    throwing an `ExecException` will report an `INCOMPLETE` status.
    Previously, Bazel
    would fail to report any status for the test attempt.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Include more information about configurations in cquery proto
    formatted output. This deprecates the configuration field of
    AnalysisProtosV2.ConfiguredTarget, and adds a new field,
    configuration_id, to
    be used instead.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - In aquery and cquery proto output, indicate if a configuration is
    a
    tool or non-tool configuration.
  - Include complete configurations in cquery proto output.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - Make protocOpts() publicly accessible.
  - Add some documentation about how configuration information is
    conveyed in cquery proto output.
  - Introduces experimental static library linking API under
    apple_common.link_multi_arch_static_library
  - Further deprecation and removal of pkg_tar. Stop supporting
    legacy use of 'files' attribute, where it could be a list of
    labels instead of a map of paths to labels.
  - Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
    its purpose because --all_incompatible_changes would never set
    it. The last rule it gated (pkg_tar) is scheduled to be removed
    in Bazel 6.x.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - The default dexer is now d8. dx can be optionally enabled using:
      --define=android_dexmerger_tool=dx_dexmerger \
      --define=android_incremental_dexing_tool=dx_dexbuilder \
      --define=android_standalone_dexing_tool=dx_compat_dx \
      --use_workers_with_dexbuilder
  - Packaging support for deploy JAR embedded JDK files (hermetic
    Java).
  - Don't stamp cc_common.link actions for tool dependencies.
  - Starlark test rules can use the new inherited_environment
    parameter of testing.TestEnvironment to specify environment
    variables
    whose values should be inherited from the shell environment.
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - Allow specialization to work with constraint_values.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - Make ijar / java_import preserve classes with `@kotlin.Metadata`
    annotations
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Add devtools/build/lib/worker:work_request_handlers to the remote
    android tools release package. This will be transitively packaged
    into all_android_tools.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - Advance android_tools_pkg version to 0.24.0.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - "blaze config" now only reports info from the last build. To
    compare configurations across multiple builds, redirect "blaze
    config" output to a file and run your favorite diff tool.
  - The --incompatible_override_toolchain_transition flag is now
    always set, and will be removed in the future. Thus,
    --noincompatible_override_toolchain_transition has no effect, and
    the value of the incompatible_use_toolchain_transition parameter
    in aspect() and rule() builtins is ignored.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Toolchain types may now be optional, in addition to mandatory.
    See https://bazel.build/docs/toolchains#optional-toolchains for
    further details.
  - Add six to deps of has_services=1 py_proto_librarys.
  - pkg_tar(symlinks) has been removed. Users needing that feature
    should
    migrate to @rules_pkg.
  - Aspects can now define and use exec groups using the same API as
    rules.
  - Removed the obsolete --incompatible_applicable_licenses flag. The
    feature is permanently enabled.
  - embedded_tools packages R8 desugarer again
  - Bazel now selects sh path based on execution platform instead of
    host platform, making it possible to execute sh actions in
    multiplatform builds. --shell_executable now only applies to
    actions configured for host.
  - labels in genquery.scope are no longer configured.
  - When Bzlmod is enabled, all Bzlmod-generated repos will have an
    extra '@' prepended to their names. This effectively enables the
    canonical label literal syntax for Bzlmod-generated repos
    (`@@canonicalRepoName//pkg:target`; see
    https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
    t7bdUsjz6JFC4/edit?usp=sharing).
  - Exposed `CcSharedLibraryInfo` to Starlark builtins.
  - Enable --use_top_level_targets_for_symlinks by default.
  - Singlejar accepts runtime Created-By field
  - --noincompatible_disable_managed_directories, and with that,
    workspace(managed_directories=) is not supported anymore.
  - Bazel supports D8 desugaring, albeit without persistent workers
  - Remove mtime options from pkg_tar. Users should migrate to
    @rules_pkg.
  - Test for experimental multiplexed persistent resource processor.
  - Added new register_{execution_platforms,toolchains} directives to
    the MODULE.bazel file, to replace the
    {execution_platforms,toolchains}_to_register attributes on the
    module() directive.
  - The legacy pkg_tar no longer supports the ability to untar and
    repackage an input tar file (`deps` attribute). Users needed that
    capability must switch to github.com/bazelbuild/rules_pkg.
  - `cquery`'s new output mode
    [`--output=files`](https://bazel.build/docs/cquery#files-output)
    lists the output files of the targets matching the query. It
    takes the current value of `--output_groups` into account.
  - Change singlejar metadata to report Created-By Bazel
  - Add support for fetching RPC credentials from credential helper.
  - Revert interface_deps back to implementation_deps after problem
    reported in. Use `buildozer 'rename deps implementation_deps'
    //...:%cc_library; buildozer 'rename interface_deps deps'
    //...:%cc_library`
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - D8 is the default desugarer
  - Migrate main_dex_list_creator to D8 (DX deprecation)
  - --experimental_enable_bzlmod has been renamed --enable_bzlmod,
    and still defaults to false.
  - selects() no longer produce irrelevant duplicate label checks
  - Adds a dexer output cache to CompatDexBuilder to improve build
    speed.
  - Improved error messages when analyzing inline bzl code
  - Improved error messages when analyzing inline bzl code
  - The `@bazel_tools//tools/cpp:compiler` flag now has the value
    `gcc` if the configured compiler is detected to be gcc rather
    than the generic value `compiler`. A branch for `gcc` may have to
    be added to `select` statements that do not have a default case
    that handles gcc appropriately.
  - The `get_child` method of `path` now accepts an arbitrary
    number of relative path strings as positional arguments.
  - SourceManifestAction supports `Action.content`
  - Add --incompatible_build_transitive_python_runfiles alias. See
    #16303
  - The @bazel_tools//tools/cpp:compiler flag now has the value
    `clang` for the auto-configured Xcode toolchain rather than the
    generic value compiler. A branch for `clang` may have to be added
    to select statements that do not have a default case that handles
    this toolchain appropriately.
  - added additional debug message to warn of skipped toolchains
    during resolution
  - The deprecated --remote_allow_symlink_upload flag has been
    removed. Symlinks in local action outputs are always permitted,
    even with remote caching. Whether they're uploaded as symlinks or
    as the files/directories they point to is still determined by the
    --incompatible_remote_symlinks flag.
  - Added `struct`, `json`, `proto`, and `depset` to the starlark
    environment of Bazel's cquery (--output=starlark) command
  - Added three `package_group`-related flags:
    `--incompatible_package_group_includes_double_slash` (#16391),
    `--incompatible_package_group_has_public_syntax` (#16355), and
    `--incompatible_fix_package_group_reporoot_syntax` (#16323). With
    these flags, `package_group` can now easily specify "all
    packages", "no packages", and "all packages in the current repo".
  - Record hermetic packaged JDK modules file size in deploy JAR
    manifest 'JDK-Lib-Modules-Size' attribute.
  - .bzl files may now set a visibility to guard what other .bzl and
    BUILD files may load them. See [...] for more information.
  - Deletes the --extra_proguard_specs Blaze flag
  - 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
    #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.

This release contains contributions from many people at Google, as well as Adam Azarchs, Adam Lavin, Adam Liddell, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro Patti, Alex Eagle, Alex Eagle, Alex Eagle, Alex Scott, AlexTereshenkov, Alex Torok, Amanda L Martin, Andreas Fuchs, Andreas Herrmann, Andreas Herrmann, Andrew Katson, Andrew Klotz, Andy Hamon, Ankush Goyal, Anthony Pratti, Anthony Ter-Saakov, Ara Nguyen, Artem V. Navrotskiy, Artem Zinnatullin, arunkumar9t2, arun.sampathkumar, aryeh, Ast-x64, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns, Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, bromano, Cameron Mulhern, Chad Miller, Charles-Francois Natali, Chirag Ramani, Chris Clearwater, Chris Fredrickson, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, ckiffel, Cristian Hancila, crydell-ericsson, Dan Bamikiya, Dan Fleming, Daniel Grunwald, Daniel KT, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave MacLachlan, Dave Nicponski, David Cummings, David, David Ostrovsky, David Sanderson, Delwin9999, Denys Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Dmitry Ivankov, dorranh, ecngtng, Ed Schouten, Eitan Adler, Elliotte Rusty Harold, Emil Kattainen, erenon, Eric Cousineau, Eric Song, Eric Wendelin, Ethan Steinberg, Ezekiel Warren, Fabian Brandstetter, Fabian Meumertzheim, Fabian Meumertzheim, FaBrand, Fahrzin Hemmati, Fahrzin Hemmati, Felix Ehrenpfort, Finn Ball, floriographygoth, frazze-jobb, Fredrik Medley, Garrett Holmstrom, Gaspare Vitta, Gautam Korlam, George Gensure, George Prekas, gkgoat1, gkorlam, goodspark, Greg Estren, Greg, Greg Magolan, Gregory Fong, Greg Roodt, Grzegorz Lukasik, Grzegorz Lukasik, Halil Sener, Halil Sener, Hannes Kufler, Hao Yuan, homuler, hvadehra, hvd, Igor Nazarenko, Ikko Ashimine, Jack Dai, James Broadhead, James Ma, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, Jesse Chan, jheaff1, Jiawen Chen, Joe Lencioni, Joel Jeske, Joel Williamson, Johannes Abt, John Hinnegan, John Laxson, John Laxson, John Millikin, Jonathan Gerrish, Jonathan Schear, Jon Landis, Jon Parise, jonrose-dev, Jon Shea, Jordan, juanchoviedo, Julio Merino, Justus Tumacder, Kaiqin Chen, keertk, Keith Smiley, kekxv, Ken Micklas, Kevin Hogeland, Kevin Lin, Kirill Zabelin, Kiron, Konstantin Erman, Krishna Ersson, Krzysztof Naglik, kshyanashree, Kun-Lu, Lauri Peltonen, Lee Mracek, lihu, Liu Liu, lripoche, Lszl Csomor, Luc Bertrand, Luis Fernando Pino Duque, m, Malte Poll, Marc Zych, Marc Zych, Marek uppa, Mark Karpov, Masoud Koleini, Mathieu Olivari, Matt Clarkson, Matt Mackay, Mauricio Galindo, Max Liu, Maxwell Elliott, Menny Even Danan, menny, Michael Chinen, Michael P. Nitowski, Mikhail Balabin, mohamadk, Mostyn Bramley-Moore, Nathaniel Brough, nathyong, Nick Korostelev, Niek Peeters, Nikolay Shelukhin, Nitesh Anandan, Niyas Sait, Noa Resare, odisseus, Oleh Stolyar, Olek Wojnar, Oliver Lee, Olle Lundberg, Omar Zuniga, Oscar Bonilla, Patrick Balestra, Patrick Balestra, Paul Gschwendtner, Paul Tarjan, Peter Kasting, Peter Mounce, Philipp Schrader, Pras Velagapudi, Qais Patankar, Rabi Shanker Guha, Rahul Butani, Rai, Rajeshwar Reddy T, Red Daly, redwrasse, Rifqi Mulya Fahmi, robincaloudis, Robin Tweedie, Roger Hu, Roman Salvador, ron-stripe, rustberry, Ryan Beasley, Ryan Schmidt, Sagar Pathare, Sahin Yort, Saleem Abdulrasool, samhowes, Samuel Giddins, Sara Adams, Sascha Moecker, Sebastian Olsson, Sergey Tyurin, Severin Strobl, Shuai Zhang, Siddhesh Bhupendra Kuakde, Simon Bjorklen, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stephan Wolski, Steve Siano, steve-the-bayesian, Steve Vermeulen, Stiopa Koltsov, susinmotion, Sven Tiffe, Takeo Sawada, Tao Wang, tatiana, tbaing, Ted Kaplan, Ted Kaplan, Tetsuo Kiso, Thaler Benedek, Thi Doan, Thi Doan, Thi Don, Thomas Carmet, Thomas Chen, ThomasCJY, Thomas, Thomas Zayouna, Thulio Ferraz Assis, Timothe Peignier, Timothy Klim, Tobi, Tomas Volf, Tom Cnops, Tom de Goede, Torgil Svensson, Trustin Lee, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Vaidas Pilkauskas, vardaro, Vasilios Pantazopoulos, Vertexwahn, Vladimir Tagakov, Waleed Khan, William Muir, wisechengyi, Wren Turkal, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yesudeep Mangalapilly, Yi Cheng, Yury Evtikhov, Yuval Kaplan, Yuval K, Yuval, yuzhy8701, Zhongpeng Lin, [zqzzq].
copybara-service bot pushed a commit that referenced this issue May 9, 2023
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 (#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 (#16655)
   + 72e6e94:
     [cc] Add cc toolchain to starlark cc_proto_library (#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 (#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`
     (#16732)
   + 5929cb7:
     Stage repository mapping manifest as a root symlink (#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 (#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 (#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 (#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` (#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.
     (#16864)
   + 99ca86f:
     Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
     true. (#16864)" (#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… (#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 (#16904)
   + 86dee6d:
     Correctly match regex with tree artifact
   + 14925b5:
     Always use target's attributes to set Python version (#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
     (#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 (#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 #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 (#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 (#17422)
   + b859571:
     Add `native.package_relative_label` function
   + 82168d4:
     Make Bazel more responsive and use less memory when --jobs is
     high (#17398)
   + 84c1ed4:
     Multiplex worker fixes and tests for Android busybox tools
     (#17371)
   + 0759081:
     Improve error message for concurrent modifications (#17396)
   + 27bc896:
     [6.1.0] Make bazel coverage work with minimal mode (#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 (#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 (#17278)
   + 1be0ac3:
     Expand tree outputs before eagerly prefetching them for local
     actions. (#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 (#17528)
   + a0fa77c:
     Exit with code 39 if remote cache evicted blobs that Bazel need
     during an invocation (#17496)
   + 1a438b4:
     Only fetch @remote_coverage_tools when collecting coverage
     (#17512)
   + ee1daaf:
     [6.1.0]Only fetch @remote_coverage_tools when collecting
     coverage (#17287)
   + 350e329:
     [6.1.0]Fix symlink file creation overhead (#17488)
   + 5406c95:
     [6.1.0] Cleanup stale state when remote cache evicted (#17538)
   + 2d1b570:
     Bump version number in runfiles.bash init code
   + 3ab8a0a:
     [6.1.0]Let `aquery` print effective environment for all
     `CommandAction`s (#17274)
   + 51e6c38:
     Properly report repo fetch progress during main repo mapping
     computation
   + 744108e:
     [docs] Update migrating to Xcode tutorial (#17563)
   + 9dc7a7e:
     Update //third_party:jsr305 (#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. (#17601)
   + 4a6d056:
     Add host transition to lcov_merger in Java version of py_test
   + 546e9e2:
     Fix Bazel 6.0 crash regression (#17613)
   + 7e328bb:
     Include Bazel version information in profile metadata. (#17616)
   + aafe123:
     [6.1.0] Handle remote cache eviction when uploading inputs for
     remote actions. (#17605)
   + 938e348:
     [6.1.0] Rerun the artifact conflict check when
     --incompatible_strict_conflict_checks changes. (#17592)
   + 034a281:
     Report background download for BwoB (#17619)
   + 5afbce5:
     [6.1.0] Flag for writable outputs (experimental) (#17617)
   + d4105e6:
     [6.1.0] Allow .wasm cc executable and dynamic library extension
     (#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 (#17641)
   + 755cd4b:
     Release 6.1.0 (2023-03-06)
   + 885ae7e:
     Revert "Add -dead_strip in default opt link flags for darwin
     (#17312)" (#17696)
   + 94c519b:
     Skip empty directories instead of throwing in prefetcher.
     (#17718)
   + 60749d5:
     [6.2.0] Remove actionId from RemoteFileArtifactValue. (#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 (#17761)
   + 6c89303:
     python: Remove temporary module space created for zip-based
     binaries (#17764)
   + b874e5f:
     [6.2.0]Add test coverage support to android_local_test (#17467)
   + 6fc9bed:
     Fix wasm dynamic library extension crash (#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 (#17818)
   + a87b8e0:
     [6.2.0]Add support for alias targets to cquery's `providers`
     (#17786)
   + ee32eff:
     [6.2.0] Allows --query_file to be used for cquery and aquery
     too. (#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. (#17852)
   + 3c1c0c0:
     Add suggestions to invalid tag class errors
   + 99b3f38:
     [6.2.0] Add native.module_{name,version} (#17893)
   + f7627e0:
     Support (workspace) relative paths in --override_module closes
     #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` (#17934)
   + 2d04c91:
     [6.2.0] Add version to JavaRuntimeInfo (#17913)
   + 2c1a63b:
     Fix CI breakages for release-6.2.0 (#17969)
   + 788801a:
     Enable C++ deps pruning on Windows when PARSE_SHOWINCLUDES is
     available.
   + fb4a0c2:
     [6.2.0] TargetPattern parsing fixes (#17945)
   + 70ce837:
     Add attribute 'provides = [CcInfo]' to '_cc_proto_aspect'
   + 6e18829:
     [6.2.0]Expose cc_proto_aspect as a toplevel symbol. (#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 (#18066)
   + 5ddef47:
     Turn applicable_licenses on platform() into a no-op. (#18089)
   + e00509b:
     Use ctime in file digest cache key (#18105)
   + ca30372:
     Gracefully handle output symlinks with BwoB
   + a0cb57f:
     [6.2.0] profile: add profile_finish_ts (#18129)
   + 1a60fad:
     fix(python): Set envvar for runfiles manifest, not runfiles dir,
     when using a manifest (#18133)
   + 5e9fa39:
     Add attribute validation to IncompatibleTargetChecker. (#18135)
   + 97312f3:
     [6.2.0] Update CODEOWNERS (#18149)
   + 76ad4a9:
     [6.2.0]Fix worker and multiplex workers for DexBuilder and
     Desugar actions (#17965)
   + 5afb8b6:
     Lockfile cherry picks (#18143)
   + 1940dfb:
     Automatically retry the build if encountered remote cache
     eviction error (#18171)
   + 755cf95:
     [6.2.0]Allow remote retry max delay to be user configurable
     (#18061)
   + 6c61110:
     Add `module_ctx.extension_metadata` (#18174)
   + c1fea13:
     Introduce max_compatibility_level for bazel_dep (#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 (#18197)
   + d94dee2:
     Construct TreeArtifactValues on multiple threads. (#18194)
   + 519eef4:
     Fix crash on multiple output symlinks with BwoB
   + 2442a2e:
     [6.2.0] default_java_toolchain.bzl cherry-picks to fix
     regression (#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 #16654 for
    details.
  - `cquery --output=files` also outputs source files.

    Closes #16602.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #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 #13839

    Closes #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 #16124
    Fixes #10923

    Closes #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 #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.
renovate bot referenced this issue in cgrindel/github_snippets May 10, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | minor | `6.1.2` ->
`6.2.0` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.2.0`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-620-2023-05-09)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.2...6.2.0)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + 94c519bcc555195d061e1a63f0e4235795bec5be:
         Skip empty directories instead of throwing in prefetcher.
         (#&#8203;17718)
       + 60749d53dfb56068050edabbf7be11675841c112:
[6.2.0] Remove actionId from RemoteFileArtifactValue. (#&#8203;17724)
       + 52deefe54124c3cff0dd708704381aa4ac69c01d:
         Correctly handle templated tree artifacts in the prefetcher.
       + 10587b1b819c8b1ae15d064a7bb3d2a7ac2149da:
         Silence setlocale warnings in Java stub
       + 3ad392776bebbfd2a9584dd221f34494f424a53a:
         Force the Bazel server Java runtime to use the root locale
       + 7c235ff15190b1eefdbd34696a55272bbb221435:
         [credentialhelper] Ignore failing to provide request
       + daa3dbe22adb03338c75b53ea97954c9434099b4:
         [remote] upload: treat `ALREADY_EXISTS` as success
       + e0cdaced03750823021b8b1f5b82a71170d67642:
         Fix data race in prefetcher.
       + c9e3eeb2f34d66e2c8bcccd32786ea75c357497e:
         [6.2.0] Update java_tools v11.12 (#&#8203;17761)
       + 6c8930347025ef22e21d7793dd9202033dd79151:
         python: Remove temporary module space created for zip-based
         binaries (#&#8203;17764)
       + b874e5fd7ed6f1cb2ac4b858bd28b46ae97350e0:
[6.2.0]Add test coverage support to android_local_test (#&#8203;17467)
       + 6fc9bedb3e26479df62b82d281854aed4a916fa9:
         Fix wasm dynamic library extension crash (#&#8203;17765)
       + 38ece3c04105698fc84daa89ba30c5fa692e0403:
         Handle `SIGWINCH` under `bazel run //some:test` (i.e. test
         rules) correctly.
       + 49a9502312b6af391a10e1a5c3e05d245ad54899:
Clear all remote metadata if any of them are evicted from remote
         cache
       + 8fab22e64035561fdb1c96d4e507b78a02cb5e39:
         Include build-tools/X.Y.Z/{lib,lib64}/** in the minimal set of
         SDK files used by the Android integration tests.
       + 3a7236beb8c0692c327aaeb5341801280d0cd870:
         Allow WORKSPACE and WORKSPACE-loaded .bzl files to see Bzlmod
         root module's mappings (#&#8203;17818)
       + a87b8e0b6b17feed7e649a85f17162510fa8d652:
         [6.2.0]Add support for alias targets to cquery's `providers`
         (#&#8203;17786)
       + ee32efffe4c407d7fe54b287a80a3b0a115040c6:
         [6.2.0] Allows --query_file to be used for cquery and aquery
         too. (#&#8203;17823)
       + cfef67da634996f09e5f2509e198cc73c88ce8b2:
         Fix seeking of empty chunkers.
       + 50ec6bbff08cc00de4dfdea68e7483f383674222:
         Rework ByteStreamUploader early return logic.
       + 745ca288770253225d5d96069038a5d735eda69b:
         Suggest alternatives for typoed rule attribute names
       + 8548e202a6871a17f0d097e2cedc9ff8064ef962:
         Relax JSON parser, ensure duplicate keys are overridden
       + c04f0d41317bfe1f6ff42da94dddb4023587fc26:
Use less subshells and `tee`s in running tests with `bazel run`.
       + 8c6d02e00777c0cc12e97fccc5f4fb6e8109a5bd:
         Upgrade Azul JDK 17 archives. (#&#8203;17852)
       + 3c1c0c09e68420c813d6258b90ff96641dbd1151:
         Add suggestions to invalid tag class errors
       + 99b3f38649dc82efde6c570e80ce4f3abbc4ac43:
         [6.2.0] Add native.module_{name,version} (#&#8203;17893)
       + f7627e00bf96c9159ab79a32afc4f6a622f0deeb:
         Support (workspace) relative paths in --override_module closes
         bazelbuild/bazel#17551
       + 109b29019882811d1beb97a60f8cda668442e8e8:
         Fail early if `use_extension` has a bad label
       + f63ce7973b8f3f2560f41daf7321a40d20b22fab:
         Avoid unnecessary copying when building Merkle trees.
       + 3ea18cc033ed078f83fc6644c9d20fb69d6d2657:
         [6.2.0]Add `module_ctx.is_dev_dependency` (#&#8203;17934)
       + 2d04c91327cadb3f0d53bceea117d3939a25e143:
         [6.2.0] Add version to JavaRuntimeInfo (#&#8203;17913)
       + 2c1a63bc1df727ee26526eec27c5a92fc0c20649:
         Fix CI breakages for release-6.2.0 (#&#8203;17969)
       + 788801a8fd30985a1831de805172d257c6f63691:
         Enable C++ deps pruning on Windows when PARSE_SHOWINCLUDES is
         available.
       + fb4a0c288ba5ee14e47c7879a6be3eefb44bfe9f:
         [6.2.0] TargetPattern parsing fixes (#&#8203;17945)
       + 70ce8378638290295e17fb62e735a239f22672e6:
         Add attribute 'provides = [CcInfo]' to '_cc_proto_aspect'
       + 6e18829339a5ba839ab129c64bd9333d3d8c1e5a:
[6.2.0]Expose cc_proto_aspect as a toplevel symbol. (#&#8203;17980)
       + 0f55d124c05ee2654c3ff56e0332e71ff1eb437c:
         Cache Merkle trees for tree artifacts.
       + 6d6fa81e47591f41b9dce5e2a9a8512ec13d3f4a:
         Deduplicate concurrent computations of the same Merkle tree.
       + 1f2b3ed4ac717b814d02a0d125f160ddabe78003:
         Patch zlib to fix compatibility with latest Xcode
       + 27e4c6243524156d880bd04e834db5ebdb0a69af:
         Add exception message to 'failed to create output directory'
       + 405012066d2394ad9986830ca028badd3c65ad38:
         Prevent failures creating output directories
       + 1474b5b5b41dfb680674e37975b6e1754c3a7445:
         Allow multiple matching select branches if they resolve to the
         same value (#&#8203;18066)
       + 5ddef4716e33b12f5dc1386abdb48ba8ab9ff7ab:
Turn applicable_licenses on platform() into a no-op. (#&#8203;18089)
       + e00509bd5f1dee6fcaf495893c5bb5ae385ea8ea:
         Use ctime in file digest cache key (#&#8203;18105)
       + ca30372e210a638cfce8334b6dc3396c83424baa:
         Gracefully handle output symlinks with BwoB
       + a0cb57fd7e7dfafd54070b5fdfbd4b4254ce6e95:
         [6.2.0] profile: add profile_finish_ts (#&#8203;18129)
       + 1a60fad7d0a8d04399cca0e5bc5d9ee5b01858eb:
fix(python): Set envvar for runfiles manifest, not runfiles dir,
         when using a manifest (#&#8203;18133)
       + 5e9fa3967cf0288083638aec3b34328ab8a90a51:
Add attribute validation to IncompatibleTargetChecker. (#&#8203;18135)
       + 97312f328f735ab8bcc28674e84450313f7667bf:
         [6.2.0] Update CODEOWNERS (#&#8203;18149)
       + 76ad4a9b8e1b5a5cc5ed5edaad9b438cd9d8ef66:
         [6.2.0]Fix worker and multiplex workers for DexBuilder and
         Desugar actions (#&#8203;17965)
       + 5afb8b61fab4671cb9a756fdb8fc275ee2fa4d19:
         Lockfile cherry picks (#&#8203;18143)
       + 1940dfb07424ff7ac6d1d8cf7b776b4dc04b21e8:
         Automatically retry the build if encountered remote cache
         eviction error (#&#8203;18171)
       + 755cf95b0df132c1d3fb80ccff6d5b52de708514:
         [6.2.0]Allow remote retry max delay to be user configurable
         (#&#8203;18061)
       + 6c6111085e57f4b8869a5d2bdead0f8a536950ea:
         Add `module_ctx.extension_metadata` (#&#8203;18174)
       + c1fea137312248d606bbb73bac1ab4a4e87557a2:
         Introduce max_compatibility_level for bazel_dep (#&#8203;18178)
       + f95b80d166eb46ba4e4c0fb4b998f6e12206ee17:
         Include cause when reporting `ActionExecutionException`
       + 8a41be90cf24258db14a8ca1be7c4334d0076dd5:
         Check for the nullness of AspectValue.
       + 271512031d1a43f85eede12cd05b0ebeec66bc9a:
         Rename `--experimental_remote_grpc_log` to `--remote_grpc_log`
       + e4682f6c6fa5d8d67d667aa6593a34370e689cf5:
         [6.2.0] Update java_tools v12.1 (#&#8203;18197)
       + d94dee2b6b382ec2835f9871b34b3e703bcc49a7:
Construct TreeArtifactValues on multiple threads. (#&#8203;18194)
       + 519eef48ee166cfcc4fb8e92d4728483ecc4fd40:
         Fix crash on multiple output symlinks with BwoB
       + 2442a2e9c064781120b78efe554ca3617bee8769:
         [6.2.0] default_java_toolchain.bzl cherry-picks to fix
         regression (#&#8203;18225)
       + e4f3d4ddfb54419bd5bb793a29b83ff26c82d9ce:
         Fix message generation of `ActionExecutionException`
       + f39454f0eb85e08f849c8c76123191205224d269:
         Add `dev_dependency` to
         `register_{execution_platforms,toolchains}`
       + bf188c12cb8ad9164ab78564d142699fdc37efaa:
         Fine tune the number of test jobs running in parallel to avoid
         timeout on Intel macOS platform
       + e0242479af14aeb3d8444947cdaf540d8ec7ff3a:
         Update java_tools v12.2
       + 2dca98231b02ad8531608183c1e14c5492c62da0:
         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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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 @&#8203;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
[#&#8203;18180](https://github.com/bazelbuild/bazel/issues/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.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/github_snippets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43NS4wIiwidXBkYXRlZEluVmVyIjoiMzUuNzUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in cgrindel/rules_swift_package_manager May 10, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | minor | `6.1.2` ->
`6.2.0` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.2.0`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-620-2023-05-09)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.2...6.2.0)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + 94c519bcc555195d061e1a63f0e4235795bec5be:
         Skip empty directories instead of throwing in prefetcher.
         (#&#8203;17718)
       + 60749d53dfb56068050edabbf7be11675841c112:
[6.2.0] Remove actionId from RemoteFileArtifactValue. (#&#8203;17724)
       + 52deefe54124c3cff0dd708704381aa4ac69c01d:
         Correctly handle templated tree artifacts in the prefetcher.
       + 10587b1b819c8b1ae15d064a7bb3d2a7ac2149da:
         Silence setlocale warnings in Java stub
       + 3ad392776bebbfd2a9584dd221f34494f424a53a:
         Force the Bazel server Java runtime to use the root locale
       + 7c235ff15190b1eefdbd34696a55272bbb221435:
         [credentialhelper] Ignore failing to provide request
       + daa3dbe22adb03338c75b53ea97954c9434099b4:
         [remote] upload: treat `ALREADY_EXISTS` as success
       + e0cdaced03750823021b8b1f5b82a71170d67642:
         Fix data race in prefetcher.
       + c9e3eeb2f34d66e2c8bcccd32786ea75c357497e:
         [6.2.0] Update java_tools v11.12 (#&#8203;17761)
       + 6c8930347025ef22e21d7793dd9202033dd79151:
         python: Remove temporary module space created for zip-based
         binaries (#&#8203;17764)
       + b874e5fd7ed6f1cb2ac4b858bd28b46ae97350e0:
[6.2.0]Add test coverage support to android_local_test (#&#8203;17467)
       + 6fc9bedb3e26479df62b82d281854aed4a916fa9:
         Fix wasm dynamic library extension crash (#&#8203;17765)
       + 38ece3c04105698fc84daa89ba30c5fa692e0403:
         Handle `SIGWINCH` under `bazel run //some:test` (i.e. test
         rules) correctly.
       + 49a9502312b6af391a10e1a5c3e05d245ad54899:
Clear all remote metadata if any of them are evicted from remote
         cache
       + 8fab22e64035561fdb1c96d4e507b78a02cb5e39:
         Include build-tools/X.Y.Z/{lib,lib64}/** in the minimal set of
         SDK files used by the Android integration tests.
       + 3a7236beb8c0692c327aaeb5341801280d0cd870:
         Allow WORKSPACE and WORKSPACE-loaded .bzl files to see Bzlmod
         root module's mappings (#&#8203;17818)
       + a87b8e0b6b17feed7e649a85f17162510fa8d652:
         [6.2.0]Add support for alias targets to cquery's `providers`
         (#&#8203;17786)
       + ee32efffe4c407d7fe54b287a80a3b0a115040c6:
         [6.2.0] Allows --query_file to be used for cquery and aquery
         too. (#&#8203;17823)
       + cfef67da634996f09e5f2509e198cc73c88ce8b2:
         Fix seeking of empty chunkers.
       + 50ec6bbff08cc00de4dfdea68e7483f383674222:
         Rework ByteStreamUploader early return logic.
       + 745ca288770253225d5d96069038a5d735eda69b:
         Suggest alternatives for typoed rule attribute names
       + 8548e202a6871a17f0d097e2cedc9ff8064ef962:
         Relax JSON parser, ensure duplicate keys are overridden
       + c04f0d41317bfe1f6ff42da94dddb4023587fc26:
Use less subshells and `tee`s in running tests with `bazel run`.
       + 8c6d02e00777c0cc12e97fccc5f4fb6e8109a5bd:
         Upgrade Azul JDK 17 archives. (#&#8203;17852)
       + 3c1c0c09e68420c813d6258b90ff96641dbd1151:
         Add suggestions to invalid tag class errors
       + 99b3f38649dc82efde6c570e80ce4f3abbc4ac43:
         [6.2.0] Add native.module_{name,version} (#&#8203;17893)
       + f7627e00bf96c9159ab79a32afc4f6a622f0deeb:
         Support (workspace) relative paths in --override_module closes
         bazelbuild/bazel#17551
       + 109b29019882811d1beb97a60f8cda668442e8e8:
         Fail early if `use_extension` has a bad label
       + f63ce7973b8f3f2560f41daf7321a40d20b22fab:
         Avoid unnecessary copying when building Merkle trees.
       + 3ea18cc033ed078f83fc6644c9d20fb69d6d2657:
         [6.2.0]Add `module_ctx.is_dev_dependency` (#&#8203;17934)
       + 2d04c91327cadb3f0d53bceea117d3939a25e143:
         [6.2.0] Add version to JavaRuntimeInfo (#&#8203;17913)
       + 2c1a63bc1df727ee26526eec27c5a92fc0c20649:
         Fix CI breakages for release-6.2.0 (#&#8203;17969)
       + 788801a8fd30985a1831de805172d257c6f63691:
         Enable C++ deps pruning on Windows when PARSE_SHOWINCLUDES is
         available.
       + fb4a0c288ba5ee14e47c7879a6be3eefb44bfe9f:
         [6.2.0] TargetPattern parsing fixes (#&#8203;17945)
       + 70ce8378638290295e17fb62e735a239f22672e6:
         Add attribute 'provides = [CcInfo]' to '_cc_proto_aspect'
       + 6e18829339a5ba839ab129c64bd9333d3d8c1e5a:
[6.2.0]Expose cc_proto_aspect as a toplevel symbol. (#&#8203;17980)
       + 0f55d124c05ee2654c3ff56e0332e71ff1eb437c:
         Cache Merkle trees for tree artifacts.
       + 6d6fa81e47591f41b9dce5e2a9a8512ec13d3f4a:
         Deduplicate concurrent computations of the same Merkle tree.
       + 1f2b3ed4ac717b814d02a0d125f160ddabe78003:
         Patch zlib to fix compatibility with latest Xcode
       + 27e4c6243524156d880bd04e834db5ebdb0a69af:
         Add exception message to 'failed to create output directory'
       + 405012066d2394ad9986830ca028badd3c65ad38:
         Prevent failures creating output directories
       + 1474b5b5b41dfb680674e37975b6e1754c3a7445:
         Allow multiple matching select branches if they resolve to the
         same value (#&#8203;18066)
       + 5ddef4716e33b12f5dc1386abdb48ba8ab9ff7ab:
Turn applicable_licenses on platform() into a no-op. (#&#8203;18089)
       + e00509bd5f1dee6fcaf495893c5bb5ae385ea8ea:
         Use ctime in file digest cache key (#&#8203;18105)
       + ca30372e210a638cfce8334b6dc3396c83424baa:
         Gracefully handle output symlinks with BwoB
       + a0cb57fd7e7dfafd54070b5fdfbd4b4254ce6e95:
         [6.2.0] profile: add profile_finish_ts (#&#8203;18129)
       + 1a60fad7d0a8d04399cca0e5bc5d9ee5b01858eb:
fix(python): Set envvar for runfiles manifest, not runfiles dir,
         when using a manifest (#&#8203;18133)
       + 5e9fa3967cf0288083638aec3b34328ab8a90a51:
Add attribute validation to IncompatibleTargetChecker. (#&#8203;18135)
       + 97312f328f735ab8bcc28674e84450313f7667bf:
         [6.2.0] Update CODEOWNERS (#&#8203;18149)
       + 76ad4a9b8e1b5a5cc5ed5edaad9b438cd9d8ef66:
         [6.2.0]Fix worker and multiplex workers for DexBuilder and
         Desugar actions (#&#8203;17965)
       + 5afb8b61fab4671cb9a756fdb8fc275ee2fa4d19:
         Lockfile cherry picks (#&#8203;18143)
       + 1940dfb07424ff7ac6d1d8cf7b776b4dc04b21e8:
         Automatically retry the build if encountered remote cache
         eviction error (#&#8203;18171)
       + 755cf95b0df132c1d3fb80ccff6d5b52de708514:
         [6.2.0]Allow remote retry max delay to be user configurable
         (#&#8203;18061)
       + 6c6111085e57f4b8869a5d2bdead0f8a536950ea:
         Add `module_ctx.extension_metadata` (#&#8203;18174)
       + c1fea137312248d606bbb73bac1ab4a4e87557a2:
         Introduce max_compatibility_level for bazel_dep (#&#8203;18178)
       + f95b80d166eb46ba4e4c0fb4b998f6e12206ee17:
         Include cause when reporting `ActionExecutionException`
       + 8a41be90cf24258db14a8ca1be7c4334d0076dd5:
         Check for the nullness of AspectValue.
       + 271512031d1a43f85eede12cd05b0ebeec66bc9a:
         Rename `--experimental_remote_grpc_log` to `--remote_grpc_log`
       + e4682f6c6fa5d8d67d667aa6593a34370e689cf5:
         [6.2.0] Update java_tools v12.1 (#&#8203;18197)
       + d94dee2b6b382ec2835f9871b34b3e703bcc49a7:
Construct TreeArtifactValues on multiple threads. (#&#8203;18194)
       + 519eef48ee166cfcc4fb8e92d4728483ecc4fd40:
         Fix crash on multiple output symlinks with BwoB
       + 2442a2e9c064781120b78efe554ca3617bee8769:
         [6.2.0] default_java_toolchain.bzl cherry-picks to fix
         regression (#&#8203;18225)
       + e4f3d4ddfb54419bd5bb793a29b83ff26c82d9ce:
         Fix message generation of `ActionExecutionException`
       + f39454f0eb85e08f849c8c76123191205224d269:
         Add `dev_dependency` to
         `register_{execution_platforms,toolchains}`
       + bf188c12cb8ad9164ab78564d142699fdc37efaa:
         Fine tune the number of test jobs running in parallel to avoid
         timeout on Intel macOS platform
       + e0242479af14aeb3d8444947cdaf540d8ec7ff3a:
         Update java_tools v12.2
       + 2dca98231b02ad8531608183c1e14c5492c62da0:
         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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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 @&#8203;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
[#&#8203;18180](https://github.com/bazelbuild/bazel/issues/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.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/rules_swift_package_manager).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43NS4wIiwidXBkYXRlZEluVmVyIjoiMzUuNzUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this issue in cgrindel/bazel-starlib May 10, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [bazel](https://github.com/bazelbuild/bazel) | minor | `6.1.2` ->
`6.2.0` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel</summary>

###
[`v6.2.0`](https://github.com/bazelbuild/bazel/blob/HEAD/CHANGELOG.md#Release-620-2023-05-09)

[Compare
Source](https://github.com/bazelbuild/bazel/compare/6.1.2...6.2.0)

    Baseline: d60ce2c7c86393638c77698c00c2168a7a936a53

    Cherry picks:

       + 490f8badf4f6f4ae8b96697f08267fdb083ccf5f:
         kshyanashree is the release manager of 6.0.0
       + 4e66d9340037f0be83d7bc0fdd809a09344ab83f:
         Automated rollback of commit
         2a2890913eb8f39299aa4b614ba96266ea8749f6.
       + 48a8d01b05149757f69a6a65a22a280bf003cd24:
         Allow C/C++ coverage collection for external targets
       + ec7be346adc00c4bde22d116fca80ef59da66121:
         Temporarily set parent directory of the input to writable if it
         is not.
       + b0984342eef068640a57aab584dd4c118f0dd394:
         Infer CPUs for tvOS and watchOS when on Apple Silicon
       + 5cea7dda5b632703cf4e0424ba09cd7c5bd6fc06:
         Improve the documentation for ctx.actions.symlink.
       + a82d26f17a99b5417b2212a0ce3a1bbc0285e5c4:
         Add quotes to "Tip"
       + 75b0f3aa95bc34f6620ea74e47d4822bd985efdd:
Write a repo mapping manifest in the runfiles directory (#&#8203;16555)
       + 07c5c1aa6d0b63605ae793dce78d26122af64a84:
         Ensure repository names don't start with `~`
       + 30f6c8238f39c4a396b3cb56a98c1a2e79d10bb9:
         Escape tilde more gracefully
       + cf3f48ca49f089615417636763d753811acf717f:
         Relax `Label` repo visibility validation
       + 4477823e2c2bc3d0335c41f971364dda72a3f69a:
         Use "apparent name" instead of "local name" in Bzlmod docs
       + 55f4f4834ef30321a00dab5b58202dd1e9716fd9:
         Bazel DevSite: Add required css file.
       + a706994ac69e3f3fed361c61378de847b50d3b12:
         Remove logic that increases delay between progress updates over
         time
       + 1d514ab05896f34ec91c2145f4dffafd3364030f:
         Remove references to io_bazel repository
       + b0357bd3831b26b5116dc120807e8264acf139db:
         Relnotes python script
       + 8f956511bb115c39ac683a1e78971fcf9dce5deb:
         Allow Java coverage collection for external targets
       + bddb191d3f99402330c67b89375409c31ee22daa:
         Fix race condition in package-bazel.sh
       + a75785279f543f4e33c697dd9e8873a6504b7818:
         Decanonicalize labels emitted by {a,c,}query if possible
       + 9d250edb63f27f9f4591bb5a71059710cc6dca9e:
         Add uniquify parameter to TemplateDict.add_joined
       + f02bcf8d8b0d00ecdd06ea0a45ba4f52e436597c:
         Fix identical gcov json file name problem
       + a1593309f66f892871e334013815b05350b4188f:
         Add `$(rlocationpath(s) ...)` expansion
       + 56f54daf9ff3b1177eee31e342e8d6b959d5ac34:
         Rollup of SBOM correctness fixes (#&#8203;16655)
       + 72e6e948d30dec9dec60d78efef4eeda5b764a8f:
[cc] Add cc toolchain to starlark cc_proto_library (#&#8203;16661)
       + 8f28513893969b6346d965cab12aac69cb246ced:
         Make C++ runfiles library repo mapping aware
       + 95f9adc5ac544b1161d69a7ca74432479fdc29b3:
         Always collect FileProvider's filesToBuild as data runfiles
       + 4959d34e844714b793b2c6fa05016a9a6eaa7044:
fix: export constraints.bzl file from @&#8203;local_config_platform so
         it can be used in downstream bzl_library targets
       + 4919d4a61d8506d175b25a035500842b8bfe3d0d:
         Add --host_per_file_copt (#&#8203;16695)
       + 0a23d46976c3fc999d44fbd1e37732ec2442d485:
Moving some tests for `RemoteActionFileSystem` of BwoB to a base
         class.
       + 9296068be5e3808eb03a3b61f3af3a2c88f7ab7d:
         [remote/downloader] Don't include headers in `FetchBlobRequest`
       + 128d833fee99f8a43bc4de82cbec752e4ce6fb47:
[remote] Respect whether the server supports action cache updates
       + 38c501912fc4efc14abc0741d19f5f8e8763afcb:
         [remote/downloader] Migrate `Downloader` to take `Credentials`
         (#&#8203;16732)
       + 5929cb72aa01768e6352898b1a056ef678c81d90:
Stage repository mapping manifest as a root symlink (#&#8203;16733)
       + 455454a56e961affb041a1d4a9214f7f313a05aa:
Expose current repository name to Java with @&#8203;AutoBazelRepository
       + 97dea593e568f776361397f7280d6a16eee2efeb:
         Implement getDirectoryEntries and readdir for
         RemoteActionFileSystem.
       + aa45f5f3301c5005294df084cdf99c45d6f95d53:
         Move integration tests for BwoB to a base class and add more
         tests there.
       + 1b073ac0a719a09c9b2d1a52680517ab22dc971e:
         Make Java runfiles library repo mapping aware
       + 148bbb1c025a628643698f65627333d86975c1d7:
         Use `_repo_mapping` in C++ runfiles library (#&#8203;16752)
       + 25558ada3fb377cfc2c965d3a93250ca28ce0fc1:
         Add --experimental_action_cache_store_output_metadata to the
         expansio…
       + 6e945e8ab422ca0a195d09899cce61ba6c0cfa59:
         Treat `DEBUG` events as progress-like.
       + 1940c5d68136ce2079efa8ff74d4e5fdf63ee3e6:
         redact 'token' strings from logging
       + 0b645254b41edc738c6641fd192fca86203ff2e2:
         Make Bash runfiles library repo mapping aware (#&#8203;16753)
       + 4caae75b49e815ad2cf1d805f316bc374f03f2ae:
         Automated rollback of commit
         8f956511bb115c39ac683a1e78971fcf9dce5deb.
       + 13ff6d9e37999e00fda9a6cef278c7c924924f34:
         Fix Bash rlocation failure with stricter Bash options
       + bd88c7e47b911e5fa1f8a3c26d0f8317943c43ce:
Make bazel Android remote deps compatible with bzlmod (#&#8203;16772)
       + 6f6d4cca36a3b64009ed9c8b3fb13cb3c7ed915a:
         Flip `--incompatible_always_include_files_in_data`
       + 94355b1b1c4f7ef923457b8b2a070e5c6528240a:
         Add required `--add-opens` server JVM args also with
         non-embedded JDK
       + 8349c95fc98beb4008085942a67a57f0c4da074b:
         Also collect clang resource directory with
         `-no-canonical-prefixes`
       + dce6ed777d958d65c7f3d4a2f54f8117778a449e:
         Make `bazel run` works with minimal mode
       + ca8674cc4879ed1846bf015c33fe7d920a3f66ab:
Include source files with `cquery --output=files` (#&#8203;16826)
       + 9cb5e0a31665d3b3f25bf58ec2dee696e828d8b9:
         Fsync before rename after copy in DiskCacheClient
       + 23ffce53b92ef96432d8c6c58cc95ac362bab1bc:
         Update GetActionResult for disk cache to check referenced files
         when …
       + 0bc0ff5244142eb3348d42025ce21eeb337ad189:
         Make Java runfiles library compilable with JDK 8
       + fe169654a29d8ad33105d5d0034a7857834fed5d:
         [6.0.0] Default --incompatible_strict_conflict_checks to true.
         (#&#8203;16864)
       + 99ca86f7c2968741ac3a9b20c3375fc992d49e66:
Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
         true. (#&#8203;16864)" (#&#8203;16872)
       + 312238f2b1414c98ed7d7d51dc4e18278edb2540:
         Make C++ runfiles library build with `-Werror=shadow`
       + 2baa5a4284467d70f1b31ea779b79d38ef07d164:
         Keep credentials cached across build commands.
       + 8818a57fce32a7872f045f03a334e1c9403724d3:
         [6.0.0] Only inject metadata for outputs that cannot be
         reconstructed by skyf… (#&#8203;16879)
       + 31e4bf409eed71e8fb626092189eacb95f80fed9:
         Update java_tools v11.9
       + cd40666001e8d599bb61735898c195c6d2fae55b:
         replace _get_canonical_form(label) with str(label)
       + e2bc2374188b41924223385ad943db610e92e6c4:
         Avoid exceptions from hermetic sandbox for unsupported artifact
         subclasses
       + b564d145218e58b0440ffad82b3d1d54eef15d22:
         Remove warnings about ignored starlark options
       + 7ccc66108f08f7b6c6f6e5229f70f29962ea19ce:
         [6.0.0] Emit Tree objects in topological order (#&#8203;16904)
       + 86dee6d2ecb269e0c41a97718812054394ee51a4:
         Correctly match regex with tree artifact
       + 14925b574aa63aad098f2c3d95e14b46ffd295ec:
Always use target's attributes to set Python version (#&#8203;16959)
       + a247502d28d8d70d648390de52952189b99a0bb7:
         Add 'toolchain' parameter to actions.{run,run_shell}
       + 497b7e403d6e5523bd1310bd1fe83c4ce1a6b1ec:
         Fix Bash `runfiles_current_repository` with RBE
       + 0a2c4edbc86398266525f31948d67a5736890bfe:
         Fix corner cases in Bash runfiles library
       + 33b514b25963452be71a015e08d4e890405b00a3:
         Fix runfiles creation with MANIFEST when building without the
         bytes
       + 3a13af41034e1f80cc0fbc1634cf8f724a85b78f:
         Remove LCOV merger dependency of `cc_test` without coverage
         (#&#8203;17004)
       + 25ba76c1b8d420ebae43c1f59890ae46153c2240:
         Include full tree artifact in inputs when prefetcher doesn't
         support partial tree artifacts.
       + 06deebfb5b73f848de5a0ea0e00fcfaa26788d1f:
         Release 6.0.0 (2022-12-19)
       + c2bfb2e98d133c62be328e6e93c4b4bdf766d82c:
         Enable git_submodules tests and merge git_repository and
         starlark_git_repository (#&#8203;17247)
       + e8182ce32931560406fee1c30745e56a2ee9a6b3:
         have 'bazel test' non-test targets depend on
         --remote_download_output
       + c3245cd028977877aa9e485451b29c7736ebcae0:
         Add `SpellChecker` suggestions for common Bzlmod errors
       + 8ec874348226995c4101b2173a465ddc65cab591:
         Use xcrun to invoke install_name_tool
       + 2b2bea4ee9d51ad875a8d273aa344ac9c5b6742c:
         Extra resources
       + 5b4de12b37cb4ba921b6bdfe810bbb47921ab3a6:
         Do not clear `--platforms` on no-op change to `--cpu`
       + db3c0130b3363485a366897e1c1f2adc5d41fde6:
         Report `AspectCreationException` to the user
       + 53e9fea30e58ab479e5cd7a6c804634f56fc2ddb:
         Use long executable path instead of `argv[0]` in all launchers
       + abae5ca3e8142f93cf0c2597e3410ed955c4dd59:
         Add sanitizer features to unix_cc_toolchain_config
       + db684196afd3b1a0a0e7d883674324bd161ae8bf:
         Allow `map_each` to return `None` in `TemplateDict#add_joined`
       + 66b58ee904efa22696edc1b78a59bac91da9ed8d:
         Always emit trailing zero in human-readable download progress
       + 17b8e448a5e5589f96c2794cb38c86b0c64e86c0:
         Upload all logs in BEP even with minimal upload
       + 28d2daae70be6ee97b876b0568796ceb87af9523:
Set `--experimental_action_listeners` to default in `exec` config
       + 16427c9050db140d6cb90d7d6324d4a2ff1e249a:
         Do not count tests as failed that have not started
       + 094a0aabed1e018e6503bc3ac844c8022b71a527:
         Accept tildes in --override_module
       + 5f2866f8434ce9a17cf82c001efb7b236f189115:
         Do the AC integrity check for disk part of the combined cache.
       + cd10d508e20a4964586b46f7edea8a6dc900157c:
         Fix `--nozip_undeclared_test_outputs` on Windows
       + 073f54b9a7c46afd2c28b4a99a235bdd6b63bb5f:
         Allow pyd in extensions of dynamic libraries
       + ac504cbb463e76b1374d0060534acabbccb408d2:
         Register JavaCompileActionContext in Bazel.
       + f090433fcf0f42639608b9c5f0243018c1bb9ac7:
Rollback #&#8203;14510 because it causes remote test execution to fail
       + 942dddaaad9bf4fbb20b66535aad4fc464ad69ba:
         Prepare backwards compatible usage of optional C++ toolchain
       + 88b51f57d09e43dec31a84d4b636595924d5bfef:
         Emit LLVM coverage for source file paths with a `tmp` segment
       + bb0b886271d45209e3bef476da37811b9dd2afe5:
         Enable archive_param_file feature by default for Windows
       + baf97c00c891acf844a29b4cc31abb45b5c434e5:
         Allow `TemplateDict#map_each` callback to return a list of
         strings (#&#8203;17306)
       + fcb007749f7f24b36c2b7c4284378bba20fc8b69:
         Only try to create groups of test actions in the ui.
       + 3c47b4716e6eca2b8ab06253915ef8d1bdd28038:
         Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
       + 1da8a825c0fba882f33ea6998a76ff8265fcd32c:
         Add -dead_strip in default opt link flags for darwin
       + b0c5eb30b2738bf6454c3026a3e0f37579d5854c:
         Dont query remote cache but always use bytestream protocol
       + 00e9af1985cc0227599516fe7568785ca4334050:
         Allow Java coverage collection for external targets.
       + dd24a0022a0ff959598da2c9bc097d27083be1a0:
         Test and fix root symlink edge case in runfiles library
       + af97d9830d3207893cc6f5c851431a28f1721acb:
         [6.1.0] Fix broken CI (#&#8203;17422)
       + b859571804f2095caaf018b172b59c90f185fd51:
         Add `native.package_relative_label` function
       + 82168d44ee1d49cf2f406903b6d8b9fde0e66cf2:
         Make Bazel more responsive and use less memory when --jobs is
         high (#&#8203;17398)
       + 84c1ed430405b154b6e9eb2c28281f450e250eff:
         Multiplex worker fixes and tests for Android busybox tools
         (#&#8203;17371)
       + 07590818d6ce0d0e66c2377db7e73fb6ee6702e5:
Improve error message for concurrent modifications (#&#8203;17396)
       + 27bc896f36f0e0ea5dbeaaa16f3a124e38a7284a:
[6.1.0] Make bazel coverage work with minimal mode (#&#8203;17397)
       + 544b8164ca352cf06dda0849a589b825631428af:
         [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 (#&#8203;17445)
       + 9a7aa21c8cd6f38d10e23e265dd650bf031f9b7c:
         Fix Bash `runfiles_current_repository` for tools
       + 911eedc0badcefdbc60a936ae73972772042fc8a:
         Fix label unambiguous canonical form to correctly report
         non-visible repo names
       + e132653ead5e50f4226dbff7776466fef1918f49:
         Remove O1 from sanitizer feature flag defaults
       + ba9e2f8fe666b4fc6110d86ea93cc11779e77068:
         Remove usage of gRPC Context cancellation in the remote
         execution client.
       + de03a2363d016782c5dfe7c55b5cf06cb610f6a2:
         Allow -v to libtool
       + 4e35c02c7c400bfbbfa69164a1ec3bd51966ca79:
Prettify labels in action progress messages with Bzlmod (#&#8203;17278)
       + 1be0ac3e73698e31a349ece629c887b06e102a0b:
         Expand tree outputs before eagerly prefetching them for local
         actions. (#&#8203;17494)
       + c26665102d0d524bb42be8cd205c7b31a22a75c9:
         Fix Java coverage collection with Java 8 runtime
       + 1a6ffe6d453708e3cefc98a07965c680e48d6bac:
         Add a flag to disable execution log sorting.
       + fbec8e2ad1dcbebbbc96491f8b6b208f5b3ac91f:
         Reduce flakiness on Windows for BwoB tests
       + 420659a9ad2a98f57e057d8c22eb621e3b12803e:
         Make AutoBazelRepositoryProcessor compatible with Java 8
       + dde6d20b3fd1d7a14825649c9c89d1c4d2d5242b:
         Do not recommend `shallow_since` for `git_repository`
       + f76fc61640825dd7cf83ce02ba48a4e4f95b66ff:
Allow the timeout value for execute calls on a mac to be set via
         an environment variable
       + 773d232f528276338098578a28c19c742e3b4e7e:
         Fix RPATHs for cc toolchain solib when sibling layout is used
       + 5932b3b8886ddb5aba271fd907f1371e67960a44:
         [6.1.0] Add --host_features (#&#8203;17528)
       + a0fa77cc36d02f5f230335556a1829b298b2f219:
         Exit with code 39 if remote cache evicted blobs that Bazel need
         during an invocation (#&#8203;17496)
       + 1a438b41b74d94fd8b6ff4dcf20b4526530e3c6e:
Only fetch @&#8203;remote_coverage_tools when collecting coverage
         (#&#8203;17512)
       + ee1daaf9852d568dcf38357eadd77b9de953db36:
         [6.1.0]Only fetch @&#8203;remote_coverage_tools when collecting
         coverage (#&#8203;17287)
       + 350e32952bdd639969e2aff7887c5dc34c21bce6:
         [6.1.0]Fix symlink file creation overhead (#&#8203;17488)
       + 5406c953574d48434d33b1cf49b70b718795d783:
[6.1.0] Cleanup stale state when remote cache evicted (#&#8203;17538)
       + 2d1b570e976773134a6244dd012e93a5478f6d4a:
         Bump version number in runfiles.bash init code
       + 3ab8a0a5d628a0d958fb2eb1c0d5bb76b442e2f2:
         [6.1.0]Let `aquery` print effective environment for all
         `CommandAction`s (#&#8203;17274)
       + 51e6c38ae808df4f2bf8fb29b4c5173e06ac014a:
         Properly report repo fetch progress during main repo mapping
         computation
       + 744108e88681e770982f148161d328c9b77319a1:
         [docs] Update migrating to Xcode tutorial (#&#8203;17563)
       + 9dc7a7e6881f58965103b42390560589e0f38b48:
         Update //third_party:jsr305 (#&#8203;17557)
       + 43dadb275b3f9690242bf2d94a0757c721d231a9:
         Bump minimum supported macOS versions to 10.13
       + 7d9d23c1ac1b7fcaa461f902e286f50fbb7cb116:
         Correctly set default subprocess factory when loading class
         `SubprocessBuilder`.
       + 77f82f4fab189fd042754be0a7747042d9b01b8f:
         Add an --incompatible_strict_conflict_checks alias for
         --experimental_strict_conflict_checks.
       + e05345dec405a0333c48ff188d2d9a1be90dad53:
         Add support for wrapping system streams in WorkRequestHandler
       + 68e1924cdab69ab92b8acf2f6e9324d11e00b267:
Also handle remote cache eviction for tree artifacts. (#&#8203;17601)
       + 4a6d056a8d058ab98a01348fb0c046660ee99a71:
         Add host transition to lcov_merger in Java version of py_test
       + 546e9e2942cb2e98b4c93065cc2d2910878dc900:
         Fix Bazel 6.0 crash regression (#&#8203;17613)
       + 7e328bb71004e1976525d8b813ca0d616e2af74b:
Include Bazel version information in profile metadata. (#&#8203;17616)
       + aafe1235c55f6cdcfc577a40736aaeb9ebaca23b:
         [6.1.0] Handle remote cache eviction when uploading inputs for
         remote actions. (#&#8203;17605)
       + 938e34823206a2644d538ba655d20ac553352975:
         [6.1.0] Rerun the artifact conflict check when
         --incompatible_strict_conflict_checks changes. (#&#8203;17592)
       + 034a2815a1e18be5c8b36c6a78f44bb849dff437:
         Report background download for BwoB (#&#8203;17619)
       + 5afbce52c70cf974eaa4a3bbbc376f398271427d:
[6.1.0] Flag for writable outputs (experimental) (#&#8203;17617)
       + d4105e658001677929338835eb970e6595e66b3c:
         [6.1.0] Allow .wasm cc executable and dynamic library extension
         (#&#8203;17440)
       + a306f4f7fd440d006aa6ae9234b4430f13bc8cf9:
         make desugar dependencies deterministic
       + 37953c56ea77c7aa7bea677f3481557fdb2c2a15:
         Apply exec transition to lcov_merger in sh_test and cc_test
       + 1d73d72a45598e38c51b2618bb6fe4f27b390cb8:
[6.1.0]Fix --host_features with multiple transitions (#&#8203;17641)
       + 755cd4bcd48adf752bd8c161454e53a0f5b6a2fa:
         Release 6.1.0 (2023-03-06)
       + 885ae7ef3afd88e21c33579bcd64ee3136bd8715:
         Revert "Add -dead_strip in default opt link flags for darwin
         (#&#8203;17312)" (#&#8203;17696)
       + 94c519bcc555195d061e1a63f0e4235795bec5be:
         Skip empty directories instead of throwing in prefetcher.
         (#&#8203;17718)
       + 60749d53dfb56068050edabbf7be11675841c112:
[6.2.0] Remove actionId from RemoteFileArtifactValue. (#&#8203;17724)
       + 52deefe54124c3cff0dd708704381aa4ac69c01d:
         Correctly handle templated tree artifacts in the prefetcher.
       + 10587b1b819c8b1ae15d064a7bb3d2a7ac2149da:
         Silence setlocale warnings in Java stub
       + 3ad392776bebbfd2a9584dd221f34494f424a53a:
         Force the Bazel server Java runtime to use the root locale
       + 7c235ff15190b1eefdbd34696a55272bbb221435:
         [credentialhelper] Ignore failing to provide request
       + daa3dbe22adb03338c75b53ea97954c9434099b4:
         [remote] upload: treat `ALREADY_EXISTS` as success
       + e0cdaced03750823021b8b1f5b82a71170d67642:
         Fix data race in prefetcher.
       + c9e3eeb2f34d66e2c8bcccd32786ea75c357497e:
         [6.2.0] Update java_tools v11.12 (#&#8203;17761)
       + 6c8930347025ef22e21d7793dd9202033dd79151:
         python: Remove temporary module space created for zip-based
         binaries (#&#8203;17764)
       + b874e5fd7ed6f1cb2ac4b858bd28b46ae97350e0:
[6.2.0]Add test coverage support to android_local_test (#&#8203;17467)
       + 6fc9bedb3e26479df62b82d281854aed4a916fa9:
         Fix wasm dynamic library extension crash (#&#8203;17765)
       + 38ece3c04105698fc84daa89ba30c5fa692e0403:
         Handle `SIGWINCH` under `bazel run //some:test` (i.e. test
         rules) correctly.
       + 49a9502312b6af391a10e1a5c3e05d245ad54899:
Clear all remote metadata if any of them are evicted from remote
         cache
       + 8fab22e64035561fdb1c96d4e507b78a02cb5e39:
         Include build-tools/X.Y.Z/{lib,lib64}/** in the minimal set of
         SDK files used by the Android integration tests.
       + 3a7236beb8c0692c327aaeb5341801280d0cd870:
         Allow WORKSPACE and WORKSPACE-loaded .bzl files to see Bzlmod
         root module's mappings (#&#8203;17818)
       + a87b8e0b6b17feed7e649a85f17162510fa8d652:
         [6.2.0]Add support for alias targets to cquery's `providers`
         (#&#8203;17786)
       + ee32efffe4c407d7fe54b287a80a3b0a115040c6:
         [6.2.0] Allows --query_file to be used for cquery and aquery
         too. (#&#8203;17823)
       + cfef67da634996f09e5f2509e198cc73c88ce8b2:
         Fix seeking of empty chunkers.
       + 50ec6bbff08cc00de4dfdea68e7483f383674222:
         Rework ByteStreamUploader early return logic.
       + 745ca288770253225d5d96069038a5d735eda69b:
         Suggest alternatives for typoed rule attribute names
       + 8548e202a6871a17f0d097e2cedc9ff8064ef962:
         Relax JSON parser, ensure duplicate keys are overridden
       + c04f0d41317bfe1f6ff42da94dddb4023587fc26:
Use less subshells and `tee`s in running tests with `bazel run`.
       + 8c6d02e00777c0cc12e97fccc5f4fb6e8109a5bd:
         Upgrade Azul JDK 17 archives. (#&#8203;17852)
       + 3c1c0c09e68420c813d6258b90ff96641dbd1151:
         Add suggestions to invalid tag class errors
       + 99b3f38649dc82efde6c570e80ce4f3abbc4ac43:
         [6.2.0] Add native.module_{name,version} (#&#8203;17893)
       + f7627e00bf96c9159ab79a32afc4f6a622f0deeb:
         Support (workspace) relative paths in --override_module closes
         bazelbuild/bazel#17551
       + 109b29019882811d1beb97a60f8cda668442e8e8:
         Fail early if `use_extension` has a bad label
       + f63ce7973b8f3f2560f41daf7321a40d20b22fab:
         Avoid unnecessary copying when building Merkle trees.
       + 3ea18cc033ed078f83fc6644c9d20fb69d6d2657:
         [6.2.0]Add `module_ctx.is_dev_dependency` (#&#8203;17934)
       + 2d04c91327cadb3f0d53bceea117d3939a25e143:
         [6.2.0] Add version to JavaRuntimeInfo (#&#8203;17913)
       + 2c1a63bc1df727ee26526eec27c5a92fc0c20649:
         Fix CI breakages for release-6.2.0 (#&#8203;17969)
       + 788801a8fd30985a1831de805172d257c6f63691:
         Enable C++ deps pruning on Windows when PARSE_SHOWINCLUDES is
         available.
       + fb4a0c288ba5ee14e47c7879a6be3eefb44bfe9f:
         [6.2.0] TargetPattern parsing fixes (#&#8203;17945)
       + 70ce8378638290295e17fb62e735a239f22672e6:
         Add attribute 'provides = [CcInfo]' to '_cc_proto_aspect'
       + 6e18829339a5ba839ab129c64bd9333d3d8c1e5a:
[6.2.0]Expose cc_proto_aspect as a toplevel symbol. (#&#8203;17980)
       + 0f55d124c05ee2654c3ff56e0332e71ff1eb437c:
         Cache Merkle trees for tree artifacts.
       + 6d6fa81e47591f41b9dce5e2a9a8512ec13d3f4a:
         Deduplicate concurrent computations of the same Merkle tree.
       + 1f2b3ed4ac717b814d02a0d125f160ddabe78003:
         Patch zlib to fix compatibility with latest Xcode
       + 27e4c6243524156d880bd04e834db5ebdb0a69af:
         Add exception message to 'failed to create output directory'
       + 405012066d2394ad9986830ca028badd3c65ad38:
         Prevent failures creating output directories
       + 1474b5b5b41dfb680674e37975b6e1754c3a7445:
         Allow multiple matching select branches if they resolve to the
         same value (#&#8203;18066)
       + 5ddef4716e33b12f5dc1386abdb48ba8ab9ff7ab:
Turn applicable_licenses on platform() into a no-op. (#&#8203;18089)
       + e00509bd5f1dee6fcaf495893c5bb5ae385ea8ea:
         Use ctime in file digest cache key (#&#8203;18105)
       + ca30372e210a638cfce8334b6dc3396c83424baa:
         Gracefully handle output symlinks with BwoB
       + a0cb57fd7e7dfafd54070b5fdfbd4b4254ce6e95:
         [6.2.0] profile: add profile_finish_ts (#&#8203;18129)
       + 1a60fad7d0a8d04399cca0e5bc5d9ee5b01858eb:
fix(python): Set envvar for runfiles manifest, not runfiles dir,
         when using a manifest (#&#8203;18133)
       + 5e9fa3967cf0288083638aec3b34328ab8a90a51:
Add attribute validation to IncompatibleTargetChecker. (#&#8203;18135)
       + 97312f328f735ab8bcc28674e84450313f7667bf:
         [6.2.0] Update CODEOWNERS (#&#8203;18149)
       + 76ad4a9b8e1b5a5cc5ed5edaad9b438cd9d8ef66:
         [6.2.0]Fix worker and multiplex workers for DexBuilder and
         Desugar actions (#&#8203;17965)
       + 5afb8b61fab4671cb9a756fdb8fc275ee2fa4d19:
         Lockfile cherry picks (#&#8203;18143)
       + 1940dfb07424ff7ac6d1d8cf7b776b4dc04b21e8:
         Automatically retry the build if encountered remote cache
         eviction error (#&#8203;18171)
       + 755cf95b0df132c1d3fb80ccff6d5b52de708514:
         [6.2.0]Allow remote retry max delay to be user configurable
         (#&#8203;18061)
       + 6c6111085e57f4b8869a5d2bdead0f8a536950ea:
         Add `module_ctx.extension_metadata` (#&#8203;18174)
       + c1fea137312248d606bbb73bac1ab4a4e87557a2:
         Introduce max_compatibility_level for bazel_dep (#&#8203;18178)
       + f95b80d166eb46ba4e4c0fb4b998f6e12206ee17:
         Include cause when reporting `ActionExecutionException`
       + 8a41be90cf24258db14a8ca1be7c4334d0076dd5:
         Check for the nullness of AspectValue.
       + 271512031d1a43f85eede12cd05b0ebeec66bc9a:
         Rename `--experimental_remote_grpc_log` to `--remote_grpc_log`
       + e4682f6c6fa5d8d67d667aa6593a34370e689cf5:
         [6.2.0] Update java_tools v12.1 (#&#8203;18197)
       + d94dee2b6b382ec2835f9871b34b3e703bcc49a7:
Construct TreeArtifactValues on multiple threads. (#&#8203;18194)
       + 519eef48ee166cfcc4fb8e92d4728483ecc4fd40:
         Fix crash on multiple output symlinks with BwoB
       + 2442a2e9c064781120b78efe554ca3617bee8769:
         [6.2.0] default_java_toolchain.bzl cherry-picks to fix
         regression (#&#8203;18225)
       + e4f3d4ddfb54419bd5bb793a29b83ff26c82d9ce:
         Fix message generation of `ActionExecutionException`
       + f39454f0eb85e08f849c8c76123191205224d269:
         Add `dev_dependency` to
         `register_{execution_platforms,toolchains}`
       + bf188c12cb8ad9164ab78564d142699fdc37efaa:
         Fine tune the number of test jobs running in parallel to avoid
         timeout on Intel macOS platform
       + e0242479af14aeb3d8444947cdaf540d8ec7ff3a:
         Update java_tools v12.2
       + 2dca98231b02ad8531608183c1e14c5492c62da0:
         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.
[https://github.com/bazelbuild/bazel/issues/16654](https://github.com/bazelbuild/bazel/issues/16654)6654
for
    details.
-   `cquery --output=files` also outputs source files.

Closes
[#&#8203;16602](https://github.com/bazelbuild/bazel/issues/16602).
-   `--incompatible_strict_conflict_checks` is flipped to true. See

[https://github.com/bazelbuild/bazel/issues/16729](https://github.com/bazelbuild/bazel/issues/16729)6729
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
[https://github.com/bazelbuild/bazel/issues/13839](https://github.com/bazelbuild/bazel/issues/13839)

Closes
[#&#8203;16626](https://github.com/bazelbuild/bazel/issues/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
[#&#8203;16124](https://github.com/bazelbuild/bazel/issues/16124)
Fixes
[#&#8203;10923](https://github.com/bazelbuild/bazel/issues/10923)

Closes
[#&#8203;16428](https://github.com/bazelbuild/bazel/issues/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 @&#8203;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
[#&#8203;18180](https://github.com/bazelbuild/bazel/issues/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.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cgrindel/bazel-starlib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43NS4wIiwidXBkYXRlZEluVmVyIjoiMzUuNzUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
sluongng pushed a commit to sluongng/bazel that referenced this issue May 10, 2023
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.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
…flict_checks to true.

NEW: The flag has been moved from AnalysisOptions to CoreOptions.

The invalidation behavior for the flag was fixed in bazelbuild@cb8db3b. The incompatible flags pipeline reports no broken downstream projects. I've manually validated downstream projects that are already failing without the incompatible flags.

*** Original change description ***

Automated rollback of commit 7bd0ab6.

*** Reason for rollback ***

Breaks rules_apple. The incompatible flags pipeline incorrectly reported the change as safe because setting the flag doesn't invalidate the build (so we got cached results from building without the flag).

*** Original change description ***

Default --incompatible_strict_conflict_checks to true.

The downstream pipeline indicates that this is safe to flip: https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/1346

Fixes bazelbuild#16729.

RELNOTES[INC]: `--incompatible_strict_conflict_checks` is flipped to true. See bazelbuild#16729 for details.

PiperOrigin-RevId: 513484241
Change-Id: If407ff1164571492021a1c23168f6dfc66bc01d1
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
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)

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.

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.

This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
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)

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.

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.

This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
Baseline: c138210

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`)

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).
  - 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.

This release contains contributions from many people at Google, as well as Alex Eagle, Amanda L Martin, Andreas Herrmann, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Ben Lee, Brentley Jones, Chirag Ramani, Christopher Peterson Sauer, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, James Ma, John Hinnegan, Jon Parise, jonrose-dev, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, Kun-Lu, Lee Mracek, lripoche, Matt Mackay, Maxwell Elliott, mohamadk, nathyong, Nick Korostelev, Oliver Lee, Patrick Balestra, Patrick Balestra, Red Daly, robincaloudis, Robin Tweedie, Roger Hu, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, Son Luong Ngoc, Stiopa Koltsov, tbaing, Ted Kaplan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng, yuzhy8701.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
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)
   + e7fd4cf:
     Fix wasm dynamic library extension crash (bazelbuild#17757)

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.

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.

This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
Baseline: 0ce1748

Cherry picks:

   + 28dc0f9:
     Switch `RemoteFileArtifactValue` subclassing to optimize for
     memory cost.
   + e79de51:
     Remove NO_EXPORTING tag from cc_shared_library
   + e0cdace:
     Fix data race in prefetcher.

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.

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).
  - 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.

This release contains contributions from many people at Google, as well as Alex Eagle, Amanda L Martin, Andreas Herrmann, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Ben Lee, Brentley Jones, Chirag Ramani, Christopher Peterson Sauer, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, James Ma, John Hinnegan, Jon Parise, jonrose-dev, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, Kun-Lu, Lee Mracek, lripoche, Matt Mackay, Maxwell Elliott, mohamadk, nathyong, Nick Korostelev, Oliver Lee, Patrick Balestra, Patrick Balestra, Red Daly, robincaloudis, Robin Tweedie, Roger Hu, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, Son Luong Ngoc, Stiopa Koltsov, tbaing, Ted Kaplan, Ted Kaplan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng, yuzhy8701.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
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)
   + e7fd4cf:
     Fix wasm dynamic library extension crash (bazelbuild#17757)
   + 1a90fe5:
     Release 6.1.1 (2023-03-15)
   + c0ae7be:
     Bazel CI: Temporarily disable GitRepositoryBlackBoxTest (bazelbuild#18045)
   + 1f2b3ed:
     Patch zlib to fix compatibility with latest Xcode
   + 906812c:
     Turn applicable_licenses on platforms into a no-op. (bazelbuild#18082)
   + 05984b9:
     Use ctime in file digest cache key (bazelbuild#18101)

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.

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.

This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
Baseline: 5ab5d80

Cherry picks:

   + 0d98bf5:
     Automated rollback of commit
     4a2e51b.

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.

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).
  - 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`.

This release contains contributions from many people at Google, as well as Adam Lavin, Alessandro Patti, Alex Eagle, Amanda L Martin, Andreas Herrmann, Andy Hamon, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Brentley Jones, Chirag Ramani, Christopher Peterson Sauer, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, Jack Dai, James Ma, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Julio Merino, 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, 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, tbaing, Ted Kaplan, Ted Kaplan, 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.
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
Baseline: 0a47a1f

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
    bazelbuild#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
    (bazelbuild#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.
  - Native libraries in data attribute are not collected. See
    bazelbuild#13550 for details
  - Enforce the `--profile` path to be absolute.
  - Enforce the --memory_profile path to be absolute.
  - JavaToolchainInfo.jvm_opt returns Depset instead of a list.
  - --apple_sdk has been deleted.  It is a no-op.
  - --bep_publish_used_heap_size_post_build is now a no-op and will
    be deleted in a future release. Use --memory_profile=/dev/null
    instead.
  - Flipped --incompatible_disallow_resource_jars (see
    bazelbuild#13221).
  - Remove --bep_publish_used_heap_size_post_build
  - JSON trace profile: rename counter names.
  - Removed --action_graph from the dump command.
  - Remove `--{experimental_,}json_trace_compression` option.
  - Remove `--experimental_profile_cpu_usage`.
  - flipped --incompatible_java_common_parameters (see bazelbuild#12373)
  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since the path would refer to a
    netrc file inside the external repository by absolute path.
    Migration should be straightforward.
  - genrule switched to use exec transition instead of host. This can
    break targets with hardcoded output paths. To avoid using
    hardcoded paths use make variables, see
    https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
    defined_label_variables
  - this incompatible change breaks old instances of http_archive
    that specified netrc as an absolute path. It is unlikely there
    are many instances in the wild since...
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - Error Prone now checks for unused return values of additional
    methods on `java.lang.Object`, which can be disabled using
    `--javacopts=-Xep:ReturnValueIgnored:OFF`
  - The --incompatible_existing_rules_immutable_view flag has been
    flipped to true. See
    bazelbuild#13907 for
    migration notes.
  - Split up the C++ archive from the C++ link action and set
    `CppArchive` as mnemonic.
  - workspace(managed_directories=) is not available anymore.
  - --legacy_important_outputs now has a default of false.
  - --legacy_important_outputs default reverted to true.
  - objc_library now requires CcInfo in its deps.  If this breaks
    you, add empty CcInfo() to your rule.
  - Flag --experimental_local_memory_estimate removed.
  - Added a new flag
    --incompatible_unambiguous_label_stringification, which causes
    labels in the main repo to stringify into unambiguous forms
    starting with an @. See
    bazelbuild#15916 for more
    information.
  - analysis_test moved into testing.analysis_test
  - Flip incompatible_enable_cc_toolchain_resolution
    (bazelbuild#7260)
  - (Rollback) Flip incompatible_enable_cc_toolchain_resolution
    (bazelbuild#7260)
  - name parameter is removed from rule call
    (bazelbuild#16301)
  - name parameter is removed from rule call
    (bazelbuild#16301)
  - name parameter is removed from rule call
    (bazelbuild#16301)
  - --incompatible_remote_downloader_send_all_headers is flipped to
    true. See bazelbuild#16356 for details.
  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.
  - In package_group's `packages` attribute, the syntax "//..." now
    refers to all packages in the same repository as the package
    group, rather than all packages everywhere. The new item "public"
    can be used instead to obtain the old behavior. In `bazel query
    --output=proto` (and `--output=xml`), the `packages` attribute
    now serializes with the leading double slash included (for
    instance, `//foo/bar/...` instead of `foo/bar/...`). See also
    bazelbuild#16355, bazelbuild#16323, and bazelbuild#16391.
  - 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.

New features:

  - Args.add_all and Args.add_joined can now accept closures in
    map_each if explicitly enabled via allow_closure.
  - Add `--bes_header` flag to pass extra headers to the BES server.
  - Support local_repository in Bazel Registry's source.json file
  - The `aquery` and `cquery` commands now respect the
    `--query_file` flag just like the `query` command.

Important changes:

  - Flag --incompatible_objc_compile_info_migration is removed.  See
    bazelbuild#10854.
  - Flag --incompatible_objc_compile_info_migration is removed.  See
    bazelbuild#10854.
  - Flag --incompatible_objc_compile_info_migration is removed.  See
    bazelbuild#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 bazelbuild#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
    bazelbuild#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.
  - If all strategies of one branch (the local or remote execution
    branch) of the `dynamic` strategy fail to even accept (via the
    response they give from `canExec`) the action, `dynamic` will now
    try to see if the other branch can accept it. (Trying to run it
    and it failing will still cause a failure if it was the first
    result, this is about strategies claiming they can't even try the
    action)
  - Add `disable_annotation_processing` option to
    `java_common.compile`, which disables any annotation processors
    passed to `plugins` or in `exported_plugins` of `deps`
  - Remove obsolete --incompatible_prohibit_aapt1
  - The minimum Android build tools version for the Android rules is
    now 30.0.0
  - Adds --experimental_reuse_sandbox_directories flag to reuse
    already-created non-worker sandboxes with cleanup.
  - --experimental_force_gc_after_build is deprecated and will be
    removed soon. Use --bep_publish_used_heap_size_post_build instead
  - Forward coverage-instrumented files from non-tool dependencies by
    default.
  - The used_heap_size_post_build field in BEP is populated when the
    --memory_profile flag is set
  - --run_validations defaults to true.
  - Consider label_keyed_string_dict attributes when gathering
    instrumented files for coverage.
  - Remove flag
    --experimental_forward_instrumented_files_info_by_default, now
    that this behavior is the default.
  - When using MemoryProfiler with multiple GCs via the
    --memory_profile_stable_heap_parameters flag, we do a more
    precise calculation of heap used at the end of the build. This
    will generally result in lower values.
  - --bep_publish_used_heap_size_post_build is deprecated. Use
    --memory_profile=/dev/null instead.
  - Disable --all_incompatible_changes flag.
  - The --all_incompatible_changes flag is now a no-op
  - The `--toolchain_resolution_debug` flag now accepts regexes
    matching targets, as well as toolchain types, when choosing what
    debug messages to print.
  - Adds --experimental_existing_rules_immutable_view flag to make the
    native.existing_rule and native.existing_rules functions more
    efficient by
    returning immutable, lightweight dict-like view objects instead
    of mutable
    dicts.
  - Add support to length-delimited protos as undeclared output
    annotations []
  - The deprecated "relative_to_caller_repository" parameter has been
    removed from the Label constructor.
  - The toolchain transition is now enabled for all toolchains.
  - incompatible_disable_depset_items is flipped
  - The --experimental_existing_rules_immutable_view flag has been
    renamed to  --incompatible_existing_rules_immutable_view
  - Bazel no longer supports Java 8. From this version on, the
    minimum required JDK is OpenJDK 11.
  - Deprecate --incompatible_applicable_licenses flag, in preparation
    for removal in Bazel 6.x.
  - Treat py_*.srcs_version="PY2" the same as "PY2ONLY".
  - The Build Event Protocol now contains file digests and sizes
    along with the file name and URI.
  - Refactor system suspend event handling.
  - alias() can now select() directly on constraint_value()
  - Allow \a \b \f \v escape sequences in Starlark.
  - Match remote and local xcode version by most granular version.
  - Adds `--experimental_worker_multiplex_sandboxing` flag that
    controls whether to sandbox multiplex workers that support it.
  - provider() has a new parameter: init, a callback for performing
    pre-processing and validation of field values. Iff this parameter
    is set,
    provider() returns a tuple of 2 elements: the usual provider
    symbol (which,
    when called, invokes init) and a raw constructor (which bypasses
    init).
  - Tests that fail to create or complete their
    `TestAttemptContinuation` by
    throwing an `ExecException` will report an `INCOMPLETE` status.
    Previously, Bazel
    would fail to report any status for the test attempt.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Include more information about configurations in cquery proto
    formatted output. This deprecates the configuration field of
    AnalysisProtosV2.ConfiguredTarget, and adds a new field,
    configuration_id, to
    be used instead.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - In aquery and cquery proto output, indicate if a configuration is
    a
    tool or non-tool configuration.
  - Include complete configurations in cquery proto output.
  - experimental cc_library.implementation_deps inverted to
    interface_deps
  - Make protocOpts() publicly accessible.
  - Add some documentation about how configuration information is
    conveyed in cquery proto output.
  - Introduces experimental static library linking API under
    apple_common.link_multi_arch_static_library
  - Further deprecation and removal of pkg_tar. Stop supporting
    legacy use of 'files' attribute, where it could be a list of
    labels instead of a map of paths to labels.
  - Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
    its purpose because --all_incompatible_changes would never set
    it. The last rule it gated (pkg_tar) is scheduled to be removed
    in Bazel 6.x.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - The default dexer is now d8. dx can be optionally enabled using:
      --define=android_dexmerger_tool=dx_dexmerger \
      --define=android_incremental_dexing_tool=dx_dexbuilder \
      --define=android_standalone_dexing_tool=dx_compat_dx \
      --use_workers_with_dexbuilder
  - Packaging support for deploy JAR embedded JDK files (hermetic
    Java).
  - Don't stamp cc_common.link actions for tool dependencies.
  - Starlark test rules can use the new inherited_environment
    parameter of testing.TestEnvironment to specify environment
    variables
    whose values should be inherited from the shell environment.
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - Allow specialization to work with constraint_values.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - Make ijar / java_import preserve classes with `@kotlin.Metadata`
    annotations
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather than always linking statically when Windows is
    the _host_).
  - Add devtools/build/lib/worker:work_request_handlers to the remote
    android tools release package. This will be transitively packaged
    into all_android_tools.
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
    $ANDROID_HOME.
  - Advance android_tools_pkg version to 0.24.0.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Bazel uses the D8 jar from Maven instead of the SDK.
  - "blaze config" now only reports info from the last build. To
    compare configurations across multiple builds, redirect "blaze
    config" output to a file and run your favorite diff tool.
  - The --incompatible_override_toolchain_transition flag is now
    always set, and will be removed in the future. Thus,
    --noincompatible_override_toolchain_transition has no effect, and
    the value of the incompatible_use_toolchain_transition parameter
    in aspect() and rule() builtins is ignored.
  - Switch cc_test implementation to Starlark. Note: cc_test will now
    link statically when _targeting_ Windows regardless of host
    platform (rather
    than always linking statically when Windows is the _host_).
  - Toolchain types may now be optional, in addition to mandatory.
    See https://bazel.build/docs/toolchains#optional-toolchains for
    further details.
  - Add six to deps of has_services=1 py_proto_librarys.
  - pkg_tar(symlinks) has been removed. Users needing that feature
    should
    migrate to @rules_pkg.
  - Aspects can now define and use exec groups using the same API as
    rules.
  - Removed the obsolete --incompatible_applicable_licenses flag. The
    feature is permanently enabled.
  - embedded_tools packages R8 desugarer again
  - Bazel now selects sh path based on execution platform instead of
    host platform, making it possible to execute sh actions in
    multiplatform builds. --shell_executable now only applies to
    actions configured for host.
  - labels in genquery.scope are no longer configured.
  - When Bzlmod is enabled, all Bzlmod-generated repos will have an
    extra '@' prepended to their names. This effectively enables the
    canonical label literal syntax for Bzlmod-generated repos
    (`@@canonicalRepoName//pkg:target`; see
    https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
    t7bdUsjz6JFC4/edit?usp=sharing).
  - Exposed `CcSharedLibraryInfo` to Starlark builtins.
  - Enable --use_top_level_targets_for_symlinks by default.
  - Singlejar accepts runtime Created-By field
  - --noincompatible_disable_managed_directories, and with that,
    workspace(managed_directories=) is not supported anymore.
  - Bazel supports D8 desugaring, albeit without persistent workers
  - Remove mtime options from pkg_tar. Users should migrate to
    @rules_pkg.
  - Test for experimental multiplexed persistent resource processor.
  - Added new register_{execution_platforms,toolchains} directives to
    the MODULE.bazel file, to replace the
    {execution_platforms,toolchains}_to_register attributes on the
    module() directive.
  - The legacy pkg_tar no longer supports the ability to untar and
    repackage an input tar file (`deps` attribute). Users needed that
    capability must switch to github.com/bazelbuild/rules_pkg.
  - `cquery`'s new output mode
    [`--output=files`](https://bazel.build/docs/cquery#files-output)
    lists the output files of the targets matching the query. It
    takes the current value of `--output_groups` into account.
  - Change singlejar metadata to report Created-By Bazel
  - Add support for fetching RPC credentials from credential helper.
  - Revert interface_deps back to implementation_deps after problem
    reported in. Use `buildozer 'rename deps implementation_deps'
    //...:%cc_library; buildozer 'rename interface_deps deps'
    //...:%cc_library`
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - D8 is the default desugarer
  - Migrate main_dex_list_creator to D8 (DX deprecation)
  - --experimental_enable_bzlmod has been renamed --enable_bzlmod,
    and still defaults to false.
  - selects() no longer produce irrelevant duplicate label checks
  - Adds a dexer output cache to CompatDexBuilder to improve build
    speed.
  - Improved error messages when analyzing inline bzl code
  - Improved error messages when analyzing inline bzl code
  - The `@bazel_tools//tools/cpp:compiler` flag now has the value
    `gcc` if the configured compiler is detected to be gcc rather
    than the generic value `compiler`. A branch for `gcc` may have to
    be added to `select` statements that do not have a default case
    that handles gcc appropriately.
  - The `get_child` method of `path` now accepts an arbitrary
    number of relative path strings as positional arguments.
  - SourceManifestAction supports `Action.content`
  - Add --incompatible_build_transitive_python_runfiles alias. See
    bazelbuild#16303
  - The @bazel_tools//tools/cpp:compiler flag now has the value
    `clang` for the auto-configured Xcode toolchain rather than the
    generic value compiler. A branch for `clang` may have to be added
    to select statements that do not have a default case that handles
    this toolchain appropriately.
  - added additional debug message to warn of skipped toolchains
    during resolution
  - The deprecated --remote_allow_symlink_upload flag has been
    removed. Symlinks in local action outputs are always permitted,
    even with remote caching. Whether they're uploaded as symlinks or
    as the files/directories they point to is still determined by the
    --incompatible_remote_symlinks flag.
  - Added `struct`, `json`, `proto`, and `depset` to the starlark
    environment of Bazel's cquery (--output=starlark) command
  - Added three `package_group`-related flags:
    `--incompatible_package_group_includes_double_slash` (bazelbuild#16391),
    `--incompatible_package_group_has_public_syntax` (bazelbuild#16355), and
    `--incompatible_fix_package_group_reporoot_syntax` (bazelbuild#16323). With
    these flags, `package_group` can now easily specify "all
    packages", "no packages", and "all packages in the current repo".
  - Record hermetic packaged JDK modules file size in deploy JAR
    manifest 'JDK-Lib-Modules-Size' attribute.
  - .bzl files may now set a visibility to guard what other .bzl and
    BUILD files may load them. See [...] for more information.
  - Deletes the --extra_proguard_specs Blaze flag
  - 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.

This release contains contributions from many people at Google, as well as Adam Azarchs, Adam Lavin, Adam Liddell, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro Patti, Alex Eagle, Alex Eagle, Alex Eagle, Alex Scott, AlexTereshenkov, Alex Torok, Amanda L Martin, Andreas Fuchs, Andreas Herrmann, Andreas Herrmann, Andrew Katson, Andrew Klotz, Andy Hamon, Ankush Goyal, Anthony Pratti, Anthony Ter-Saakov, Ara Nguyen, Artem V. Navrotskiy, Artem Zinnatullin, arunkumar9t2, arun.sampathkumar, aryeh, Ast-x64, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns, Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, bromano, Cameron Mulhern, Chad Miller, Charles-Francois Natali, Chirag Ramani, Chris Clearwater, Chris Fredrickson, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, ckiffel, Cristian Hancila, crydell-ericsson, Dan Bamikiya, Dan Fleming, Daniel Grunwald, Daniel KT, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave MacLachlan, Dave Nicponski, David Cummings, David, David Ostrovsky, David Sanderson, Delwin9999, Denys Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Dmitry Ivankov, dorranh, ecngtng, Ed Schouten, Eitan Adler, Elliotte Rusty Harold, Emil Kattainen, erenon, Eric Cousineau, Eric Song, Eric Wendelin, Ethan Steinberg, Ezekiel Warren, Fabian Brandstetter, Fabian Meumertzheim, Fabian Meumertzheim, FaBrand, Fahrzin Hemmati, Fahrzin Hemmati, Felix Ehrenpfort, Finn Ball, floriographygoth, frazze-jobb, Fredrik Medley, Garrett Holmstrom, Gaspare Vitta, Gautam Korlam, George Gensure, George Prekas, gkgoat1, gkorlam, goodspark, Greg Estren, Greg, Greg Magolan, Gregory Fong, Greg Roodt, Grzegorz Lukasik, Grzegorz Lukasik, Halil Sener, Halil Sener, Hannes Kufler, Hao Yuan, homuler, hvadehra, hvd, Igor Nazarenko, Ikko Ashimine, Jack Dai, James Broadhead, James Ma, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, Jesse Chan, jheaff1, Jiawen Chen, Joe Lencioni, Joel Jeske, Joel Williamson, Johannes Abt, John Hinnegan, John Laxson, John Laxson, John Millikin, Jonathan Gerrish, Jonathan Schear, Jon Landis, Jon Parise, jonrose-dev, Jon Shea, Jordan, juanchoviedo, Julio Merino, Justus Tumacder, Kaiqin Chen, keertk, Keith Smiley, kekxv, Ken Micklas, Kevin Hogeland, Kevin Lin, Kirill Zabelin, Kiron, Konstantin Erman, Krishna Ersson, Krzysztof Naglik, kshyanashree, Kun-Lu, Lauri Peltonen, Lee Mracek, lihu, Liu Liu, lripoche, Lszl Csomor, Luc Bertrand, Luis Fernando Pino Duque, m, Malte Poll, Marc Zych, Marc Zych, Marek uppa, Mark Karpov, Masoud Koleini, Mathieu Olivari, Matt Clarkson, Matt Mackay, Mauricio Galindo, Max Liu, Maxwell Elliott, Menny Even Danan, menny, Michael Chinen, Michael P. Nitowski, Mikhail Balabin, mohamadk, Mostyn Bramley-Moore, Nathaniel Brough, nathyong, Nick Korostelev, Niek Peeters, Nikolay Shelukhin, Nitesh Anandan, Niyas Sait, Noa Resare, odisseus, Oleh Stolyar, Olek Wojnar, Oliver Lee, Olle Lundberg, Omar Zuniga, Oscar Bonilla, Patrick Balestra, Patrick Balestra, Paul Gschwendtner, Paul Tarjan, Peter Kasting, Peter Mounce, Philipp Schrader, Pras Velagapudi, Qais Patankar, Rabi Shanker Guha, Rahul Butani, Rai, Rajeshwar Reddy T, Red Daly, redwrasse, Rifqi Mulya Fahmi, robincaloudis, Robin Tweedie, Roger Hu, Roman Salvador, ron-stripe, rustberry, Ryan Beasley, Ryan Schmidt, Sagar Pathare, Sahin Yort, Saleem Abdulrasool, samhowes, Samuel Giddins, Sara Adams, Sascha Moecker, Sebastian Olsson, Sergey Tyurin, Severin Strobl, Shuai Zhang, Siddhesh Bhupendra Kuakde, Simon Bjorklen, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stephan Wolski, Steve Siano, steve-the-bayesian, Steve Vermeulen, Stiopa Koltsov, susinmotion, Sven Tiffe, Takeo Sawada, Tao Wang, tatiana, tbaing, Ted Kaplan, Ted Kaplan, Tetsuo Kiso, Thaler Benedek, Thi Doan, Thi Doan, Thi Don, Thomas Carmet, Thomas Chen, ThomasCJY, Thomas, Thomas Zayouna, Thulio Ferraz Assis, Timothe Peignier, Timothy Klim, Tobi, Tomas Volf, Tom Cnops, Tom de Goede, Torgil Svensson, Trustin Lee, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Vaidas Pilkauskas, vardaro, Vasilios Pantazopoulos, Vertexwahn, Vladimir Tagakov, Waleed Khan, William Muir, wisechengyi, Wren Turkal, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yesudeep Mangalapilly, Yi Cheng, Yury Evtikhov, Yuval Kaplan, Yuval K, Yuval, yuzhy8701, Zhongpeng Lin, [zqzzq].
fweikert pushed a commit to fweikert/bazel that referenced this issue May 25, 2023
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.
copybara-service bot pushed a commit that referenced this issue May 26, 2023
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
    #16729 for details.
  - `--incompatible_strict_conflict_checks` is flipped to true. See
    #16729 for details.
  - `--incompatible_always_include_files_in_data` is flipped to true.
    See #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 #16303 for details
  - --incompatible_python_disable_py2 is flipped to true. See #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
    #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
    (#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
    #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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change-7.0 Incompatible flags to be flipped in Bazel 7.0 incompatible-change Incompatible/breaking change migration-ready Incompatible flag is ready for migration with Bazel rolling releases or Bazel@last_green type: bug
Projects
None yet
Development

No branches or pull requests

5 participants