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

[5.x] Stop remote blob upload if upload is complete. #14467

Merged
merged 1 commit into from
Dec 22, 2021

Conversation

benjaminp
Copy link
Collaborator

If a ByteStream/Write RPC fails, but ByteStream/QueryWriteStatus reveals the upload is in fact complete, avoid a NullPointerException. This CL is the dual fix of 78b89a0 for uploads.

On bazel-6.0.0-pre.20211117.1, I observed:

java.lang.NullPointerException
        at com.google.devtools.build.lib.remote.Chunker.seek(Chunker.java:156)
        at com.google.devtools.build.lib.remote.ByteStreamUploader$AsyncUpload.lambda$start$0(ByteStreamUploader.java:416)
        at com.google.devtools.build.lib.remote.Retrier.executeAsync(Retrier.java:277)
        at com.google.devtools.build.lib.remote.Retrier.lambda$onExecuteAsyncFailure$1(Retrier.java:293)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:160)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:143)
        at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
        at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

Cherry-pick of 72d5255.

@benjaminp benjaminp requested a review from a team as a code owner December 22, 2021 15:05
If a ByteStream/Write RPC fails, but ByteStream/QueryWriteStatus reveals the upload is in fact complete, avoid a NullPointerException. This CL is the dual fix of 78b89a0 for uploads.

On bazel-6.0.0-pre.20211117.1, I observed:
```
java.lang.NullPointerException
        at com.google.devtools.build.lib.remote.Chunker.seek(Chunker.java:156)
        at com.google.devtools.build.lib.remote.ByteStreamUploader$AsyncUpload.lambda$start$0(ByteStreamUploader.java:416)
        at com.google.devtools.build.lib.remote.Retrier.executeAsync(Retrier.java:277)
        at com.google.devtools.build.lib.remote.Retrier.lambda$onExecuteAsyncFailure$1(Retrier.java:293)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:160)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:143)
        at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
        at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
```

Closes bazelbuild#14464.

PiperOrigin-RevId: 417795715
@Wyverald
Copy link
Member

Merging as remeote_execution_test seems to be stuck as usual.

@Wyverald Wyverald merged commit 90965b0 into bazelbuild:release-5.0.0rc3 Dec 22, 2021
@benjaminp benjaminp deleted the cp branch December 22, 2021 17:41
@benjaminp
Copy link
Collaborator Author

Thanks!

(Maybe 8e3c0df and 10a7a6e should be cherry-picked too for the hangs?)

bazel-io pushed a commit that referenced this pull request Jan 19, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)

This release contains contributions from many people at Google, as well as amberdixon, Benjamin Peterson, Brentley Jones, Dan Fleming, Danny Wolf, Fabian Meumertzheim, Keith Smiley, Noa Resare, Oliver Eikemeier, Philipp Schrader, Xùdōng Yáng, Yannic.
brentleyjones pushed a commit to brentleyjones/bazel that referenced this pull request Jan 19, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)

This release contains contributions from many people at Google, as well as amberdixon, Benjamin Peterson, Brentley Jones, Dan Fleming, Danny Wolf, Fabian Meumertzheim, Keith Smiley, Noa Resare, Oliver Eikemeier, Philipp Schrader, Xùdōng Yáng, Yannic.
bazel-io pushed a commit that referenced this pull request Mar 24, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 8d5973d:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 7632928:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 299e50a:
     Format work requests according to ndjson spec (#14314)
   + e53ae63:
     Enable user_link_flags_feature for macosx cc_toolchain_config
     (#14313)
   + b587be3:
     Remote: Use Action's salt field to differentiate cache across
     workspaces. (#14320)
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + dc76f74:
     Delete marker file before fetching an external repository
     (#14323)
   + fabdff4:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
     (#14331)
   + 541ed05:
     Fix remote spawn tests for remote_merkle_tree_cache=true (#14334)
   + aa884df:
     Show skipped tests as a warning (#14345)
   + 6916fc1:
     Build xcode-locator as a universal binary (#14351)
   + ffa12ad:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
     (#14359)
   + b46de75:
     Automated rollback of commit
     d84f799. (#14358)
   + 24a340a:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 2fb7dfe:
     Disable IncludeValidation for ObjC in bazel (#14440)
   + 7deb940:
     Update java_tools v11.6 (#14423)
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + d7f1341:
     Avoid too verbose warnings in terminal when cache issues (#14504)
   + 2b48c6b:
     Rename --project_id to --bes_instance_name (#14507)
   + 7c7f102:
     Automated rollback of commit
     bfdfa6e. (#14515)
   + 9c1c622:
     [apple] support watchos_arm64 in toolchain (#14527)
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 48a0fc5:
     Automated rollback of commit
     7d09b4a.
   + a233aaa:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + d53f53c:
     Find runfiles in directories that are themselves runfiles
     (#14737)
   + 167e79f:
     Don't resolve symlinks for --sandbox_base (#14748)
   + 22bede9:
     Remove uses of -lstdc++ on darwin (#14750)
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + a5f2813:
     Remote: Only waits for background tasks from remote execution.
     (#14752)
   + d17a769:
     Add the default solib dir to the rpath for cc_imports with
     transitions (#14757)
   + 53ee76e:
     Flip --experimental_worker_allow_json_protocol (#14749)
   + 21ff46a:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different (#14751)
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 0df1851:
     Support select() on constraint_value for aliases. (#14754)
   + 58ecec3:
     Improve documentation for select() (#14769)
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + af34c45:
     Add a helper method for rules to depend on the cpp toolchain
     type. (#14795)
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 6590404:
     Add "arch" struct field to repository_os (#14835)
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + 59384dd:
     Ignore missing include directory in JDK distribution. (#14832)
   + 344e8f8:
     Fix bazel coverage false negative (#14836)
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + 031a772:
     Fix uses of std++ on bsd (#14860)
   + 8ebd70b:
     Remote: handle early return of compressed blobs uploads (#14885)
   + 50bb742:
     Add removeprefix/removesuffix to Starlark strings (#14899)
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + ed7a10d:
     Add param file for def parser action (#14925)
   + e624aff:
     Normalize rpath entries to guard against missing default solib
     dir (#14929)
   + c1ecca2:
     Fix aggressive params file assumption (#14930)
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + 85d7ed6:
     Fix typo in `apple_common.platform` docs (#14958)
   + a6a4305:
     Yield a Proxy for addresses without protocol (#14956)
   + 698da7e:
     Avoid merging URLs in HttpUtils (#14954)
   + b480480:
     Make protocOpts() public. (#14952)
   + 61cfa1d:
     Do not hide BulkTransferException messages when there were more
     than one exception (#14986)
   + 0764821:
     merkle_tree_cache: change default size to 1000 (#14984)
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + 87ef5ce:
     Expose the logic to read user netrc file (#14990)
   + 785c7ec:
     Correct cpu and os values of `local_config_cc_toolchains`
     targets (#14995)
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + 6cd6a27:
     Remote: Fix crashes with InterruptedException when using http
     cache. (#14999)
   + 91a580a:
     Fix interface_library-only libraries_to_link for
     cc_shared_library (#15046)
   + 1345938:
     Fix coverage runfiles directory issue (#15047)
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + f19d610:
     Filter out system headers on macOS. (#15020)
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 6d26dc7:
     Support decompressing zstd tar archives for repository rules.
     (#15087)
   + 376cd47:
     Remote: Don't check TreeArtifact output (#15085)
   + 48b60d2:
     osx_cc_wrapper: Only expand existing response files (#15090)
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3b2d686:
     Use python3 on macOS (#15102)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

    Closes #14971.

This release contains contributions from many people at Google, as well as amberdixon, Benjamin Peterson, Brentley Jones, Dan Fleming, Danny Wolf, Fabian Meumertzheim, Keith Smiley, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Philipp Schrader, Xùdōng Yáng, Yannic.
lummax pushed a commit to axivion/bazel that referenced this pull request Mar 25, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 8d5973d:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 7632928:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 299e50a:
     Format work requests according to ndjson spec (bazelbuild#14314)
   + e53ae63:
     Enable user_link_flags_feature for macosx cc_toolchain_config
     (bazelbuild#14313)
   + b587be3:
     Remote: Use Action's salt field to differentiate cache across
     workspaces. (bazelbuild#14320)
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + dc76f74:
     Delete marker file before fetching an external repository
     (bazelbuild#14323)
   + fabdff4:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
     (bazelbuild#14331)
   + 541ed05:
     Fix remote spawn tests for remote_merkle_tree_cache=true (bazelbuild#14334)
   + aa884df:
     Show skipped tests as a warning (bazelbuild#14345)
   + 6916fc1:
     Build xcode-locator as a universal binary (bazelbuild#14351)
   + ffa12ad:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
     (bazelbuild#14359)
   + b46de75:
     Automated rollback of commit
     d84f799. (bazelbuild#14358)
   + 24a340a:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 2fb7dfe:
     Disable IncludeValidation for ObjC in bazel (bazelbuild#14440)
   + 7deb940:
     Update java_tools v11.6 (bazelbuild#14423)
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + d7f1341:
     Avoid too verbose warnings in terminal when cache issues (bazelbuild#14504)
   + 2b48c6b:
     Rename --project_id to --bes_instance_name (bazelbuild#14507)
   + 7c7f102:
     Automated rollback of commit
     bfdfa6e. (bazelbuild#14515)
   + 9c1c622:
     [apple] support watchos_arm64 in toolchain (bazelbuild#14527)
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 48a0fc5:
     Automated rollback of commit
     7d09b4a.
   + a233aaa:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + d53f53c:
     Find runfiles in directories that are themselves runfiles
     (bazelbuild#14737)
   + 167e79f:
     Don't resolve symlinks for --sandbox_base (bazelbuild#14748)
   + 22bede9:
     Remove uses of -lstdc++ on darwin (bazelbuild#14750)
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + a5f2813:
     Remote: Only waits for background tasks from remote execution.
     (bazelbuild#14752)
   + d17a769:
     Add the default solib dir to the rpath for cc_imports with
     transitions (bazelbuild#14757)
   + 53ee76e:
     Flip --experimental_worker_allow_json_protocol (bazelbuild#14749)
   + 21ff46a:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different (bazelbuild#14751)
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 0df1851:
     Support select() on constraint_value for aliases. (bazelbuild#14754)
   + 58ecec3:
     Improve documentation for select() (bazelbuild#14769)
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + af34c45:
     Add a helper method for rules to depend on the cpp toolchain
     type. (bazelbuild#14795)
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 6590404:
     Add "arch" struct field to repository_os (bazelbuild#14835)
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + 59384dd:
     Ignore missing include directory in JDK distribution. (bazelbuild#14832)
   + 344e8f8:
     Fix bazel coverage false negative (bazelbuild#14836)
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + 031a772:
     Fix uses of std++ on bsd (bazelbuild#14860)
   + 8ebd70b:
     Remote: handle early return of compressed blobs uploads (bazelbuild#14885)
   + 50bb742:
     Add removeprefix/removesuffix to Starlark strings (bazelbuild#14899)
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + ed7a10d:
     Add param file for def parser action (bazelbuild#14925)
   + e624aff:
     Normalize rpath entries to guard against missing default solib
     dir (bazelbuild#14929)
   + c1ecca2:
     Fix aggressive params file assumption (bazelbuild#14930)
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + 85d7ed6:
     Fix typo in `apple_common.platform` docs (bazelbuild#14958)
   + a6a4305:
     Yield a Proxy for addresses without protocol (bazelbuild#14956)
   + 698da7e:
     Avoid merging URLs in HttpUtils (bazelbuild#14954)
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 61cfa1d:
     Do not hide BulkTransferException messages when there were more
     than one exception (bazelbuild#14986)
   + 0764821:
     merkle_tree_cache: change default size to 1000 (bazelbuild#14984)
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + 87ef5ce:
     Expose the logic to read user netrc file (bazelbuild#14990)
   + 785c7ec:
     Correct cpu and os values of `local_config_cc_toolchains`
     targets (bazelbuild#14995)
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + 6cd6a27:
     Remote: Fix crashes with InterruptedException when using http
     cache. (bazelbuild#14999)
   + 91a580a:
     Fix interface_library-only libraries_to_link for
     cc_shared_library (bazelbuild#15046)
   + 1345938:
     Fix coverage runfiles directory issue (bazelbuild#15047)
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + f19d610:
     Filter out system headers on macOS. (bazelbuild#15020)
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 6d26dc7:
     Support decompressing zstd tar archives for repository rules.
     (bazelbuild#15087)
   + 376cd47:
     Remote: Don't check TreeArtifact output (bazelbuild#15085)
   + 48b60d2:
     osx_cc_wrapper: Only expand existing response files (bazelbuild#15090)
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3b2d686:
     Use python3 on macOS (bazelbuild#15102)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

    Closes bazelbuild#14971.

This release contains contributions from many people at Google, as well as amberdixon, Benjamin Peterson, Brentley Jones, Dan Fleming, Danny Wolf, Fabian Meumertzheim, Keith Smiley, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Philipp Schrader, Xùdōng Yáng, Yannic.
bazel-io pushed a commit that referenced this pull request Apr 8, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + d418245:
     Remote: Don't check declared outputs for failed action (#15181)
   + ffa2a0b:
     Upgrade abseil version to the latest (#15183)
   + 8ae1520:
     Fix windows_export_all_symbols in cc_shared_library (#15190)
   + 94cc098:
     Support ZIP files with total number of disks = 0 (#15200)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

    Closes #14971.

This release contains contributions from many people at Google, as well as amberdixon, Benjamin Peterson, Brentley Jones, Dan Fleming, Danny Wolf, Fabian Meumertzheim, Keith Smiley, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Philipp Schrader, Xùdōng Yáng, Yannic.
benjaminp pushed a commit to EngFlow/bazel that referenced this pull request Apr 8, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + d418245:
     Remote: Don't check declared outputs for failed action (bazelbuild#15181)
   + ffa2a0b:
     Upgrade abseil version to the latest (bazelbuild#15183)
   + 8ae1520:
     Fix windows_export_all_symbols in cc_shared_library (bazelbuild#15190)
   + 94cc098:
     Support ZIP files with total number of disks = 0 (bazelbuild#15200)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

    Closes bazelbuild#14971.

This release contains contributions from many people at Google, as well as amberdixon, Benjamin Peterson, Brentley Jones, Dan Fleming, Danny Wolf, Fabian Meumertzheim, Keith Smiley, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Philipp Schrader, Xùdōng Yáng, Yannic.
copybara-service bot pushed a commit that referenced this pull request Jun 7, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Fabian Meumertzheim, hvadehra, Keith Smiley, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
ckolli5 pushed a commit that referenced this pull request Jun 17, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Fabian Meumertzheim, hvadehra, Keith Smiley, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this pull request Aug 22, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
ShreeM01 pushed a commit that referenced this pull request Aug 22, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this pull request Aug 22, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this pull request Aug 23, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
apattidb pushed a commit to databricks/bazel that referenced this pull request Aug 25, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this pull request Sep 19, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this pull request Sep 19, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
benjaminp pushed a commit to EngFlow/bazel that referenced this pull request Sep 19, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (bazelbuild#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (bazelbuild#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
aiuto pushed a commit to aiuto/bazel that referenced this pull request Oct 12, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
aiuto pushed a commit to aiuto/bazel that referenced this pull request Oct 12, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (bazelbuild#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (bazelbuild#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
aiuto pushed a commit to aiuto/bazel that referenced this pull request Oct 12, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (bazelbuild#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (bazelbuild#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this pull request Oct 19, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (#16478)

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)
  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes #16439.

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.

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.
  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as Adam Liddell, Alex Eagle, Alex Eagle, amberdixon, Andreas Fuchs, Andrew Katson, Anthony Pratti, Artem V. Navrotskiy, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Ben Lee, Brandon Jacklyn, Brentley Jones, bromano, Cameron Mulhern, Chenchu Kolli, Christopher Peterson Sauer, Christopher Sauer, Cristian Hancila, Dan Bamikiya, Dan Fleming, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave MacLachlan, Dave Nicponski, David Cummings, David, David Ostrovsky, Delwin9999, Denys Kurylenko, Dmitry Ivankov, dorranh, ecngtng, Ed Schouten, Eitan Adler, Elliotte Rusty Harold, Emil Kattainen, erenon, Eric Cousineau, Ethan Steinberg, Fabian Meumertzheim, Fabian Meumertzheim, FaBrand, Felix Ehrenpfort, Finn Ball, frazze-jobb, Fredrik Medley, Garrett Holmstrom, Gautam Korlam, George Gensure, goodspark, Gowroji Sunil, Greg Estren, Grzegorz Lukasik, Grzegorz Lukasik, hvadehra, Ikko Ashimine, Jesse Chan, Joe Lencioni, Johannes Abt, John Laxson, Jonathan Schear, Juh-Roch, Justus Tumacder, Keith Smiley, kekxv, Kevin Hogeland, kshyanashree, Lauri Peltonen, Liu Liu, Lszl Csomor, m, Marc Zych, Mark Karpov, Masoud Koleini, Mathieu Olivari, Matt Mackay, Mauricio Galindo, Max Liu, Menny Even Danan, menny, Michael Chinen, Nathaniel Brough, Nick Korostelev, Niek Peeters, Nikolay Shelukhin, Niyas Sait, Noa Resare, odisseus, Oleh Stolyar, Olek Wojnar, Oliver Eikemeier, Olle Lundberg, Omar Zuniga, oquenchil, Paul Gschwendtner, Peter Kasting, Peter Mounce, Philipp Schrader, Pras Velagapudi, Qais Patankar, Rabi Shanker Guha, Rai, ron-stripe, Ryan Beasley, Ryan Beasley, samhowes, Samuel Giddins, Sebastian Olsson, Sergey Tyurin, Steve Siano, steve-the-bayesian, Stiopa Koltsov, susinmotion, tatiana, Tetsuo Kiso, Thaler Benedek, Thi Doan, Thi Doãn, Thi Don, Thomas Carmet, ThomasCJY, Timothe Peignier, Timothy Klim, Tobi, Torgil Svensson, Trustin Lee, Ulf Adams, Ulrik Falklof, Uri Baghin, Vaidas Pilkauskas, Vertexwahn, wisechengyi, Wren Turkal, Xavier Bonaventura, Xùdōng Yáng, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yury Evtikhov, Yuval Kaplan, Yuval K, Yuval, Zhongpeng Lin, [zqzzq].
ShreeM01 pushed a commit that referenced this pull request Nov 4, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (#16478)

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)
  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes #16439.

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.

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.
  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.

This release contains contributions from many people at Google, as well as Adam Liddell, Alex Eagle, Alex Eagle, amberdixon, Andreas Fuchs, Andrew Katson, Anthony Pratti, Artem V. Navrotskiy, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Ben Lee, Brandon Jacklyn, Brentley Jones, bromano, Cameron Mulhern, Chenchu Kolli, Christopher Peterson Sauer, Christopher Sauer, Cristian Hancila, Dan Bamikiya, Dan Fleming, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave MacLachlan, Dave Nicponski, David Cummings, David, David Ostrovsky, Delwin9999, Denys Kurylenko, Dmitry Ivankov, dorranh, ecngtng, Ed Schouten, Eitan Adler, Elliotte Rusty Harold, Emil Kattainen, erenon, Eric Cousineau, Ethan Steinberg, Fabian Meumertzheim, Fabian Meumertzheim, FaBrand, Felix Ehrenpfort, Finn Ball, frazze-jobb, Fredrik Medley, Garrett Holmstrom, Gautam Korlam, George Gensure, goodspark, Gowroji Sunil, Greg Estren, Grzegorz Lukasik, Grzegorz Lukasik, hvadehra, Ikko Ashimine, Jesse Chan, Joe Lencioni, Johannes Abt, John Laxson, Jonathan Schear, Juh-Roch, Justus Tumacder, Keith Smiley, kekxv, Kevin Hogeland, kshyanashree, Lauri Peltonen, Liu Liu, Lszl Csomor, m, Marc Zych, Mark Karpov, Masoud Koleini, Mathieu Olivari, Matt Mackay, Mauricio Galindo, Max Liu, Menny Even Danan, menny, Michael Chinen, Nathaniel Brough, Nick Korostelev, Niek Peeters, Nikolay Shelukhin, Niyas Sait, Noa Resare, odisseus, Oleh Stolyar, Olek Wojnar, Oliver Eikemeier, Olle Lundberg, Omar Zuniga, oquenchil, Paul Gschwendtner, Peter Kasting, Peter Mounce, Philipp Schrader, Pras Velagapudi, Qais Patankar, Rabi Shanker Guha, Rai, ron-stripe, Ryan Beasley, Ryan Beasley, samhowes, Samuel Giddins, Sebastian Olsson, Sergey Tyurin, Steve Siano, steve-the-bayesian, Stiopa Koltsov, susinmotion, tatiana, Tetsuo Kiso, Thaler Benedek, Thi Doan, Thi Doãn, Thi Don, Thomas Carmet, ThomasCJY, Timothe Peignier, Timothy Klim, Tobi, Torgil Svensson, Trustin Lee, Ulf Adams, Ulrik Falklof, Uri Baghin, Vaidas Pilkauskas, Vertexwahn, wisechengyi, Wren Turkal, Xavier Bonaventura, Xùdōng Yáng, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yury Evtikhov, Yuval Kaplan, Yuval K, Yuval, Zhongpeng Lin, [zqzzq].
copybara-service bot pushed a commit that referenced this pull request Dec 15, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (#16478)
   + bc087f4:
     Release 5.3.2 (2022-10-19)
   + 0b914c6:
     Send remote actions to specific worker pools instead of machine
     types.
   + ece17d5:
     Add `$(rlocationpath(s) ...)` expansion (#16668)
   + f02bcf8:
     Fix identical gcov json file name problem
   + 0696b8a:
     Upgrade google-http-client and google-http-client-gson.
   + 42a3dbb:
     Move analysis_test into testing.analysis_test (#16702)
   + b55f322:
     Fix hanging issue when Bazel failed to upload action inputs
     (#16819)
   + 2f0f3e1:
     [5.4.0] Add integration tests for
     --experimental_credential_helper. (#16880)
   + 6d2d68d:
     [5.4.0] Keep credentials cached across build commands. (#16884)
   + 676a0c8:
     Update Bazel to depend on bazelbuild/platforms 0.0.5.
   + 0ea070b:
     Backport recent package metadata and license check capabilities
     from Bazel 6.x. (#16892)
   + b51396a:
     Add 'toolchain' parameter to actions.{run,run_shell} (#16964)

Incompatible changes:

  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes #16439.
  - analysis_test moved into testing.analysis_test

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - 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 #16667.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, Krzysztof Naglik, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
chiragramani pushed a commit to uber-common/bazel that referenced this pull request Dec 20, 2022
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (bazelbuild#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (bazelbuild#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (bazelbuild#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (bazelbuild#16478)
   + bc087f4:
     Release 5.3.2 (2022-10-19)
   + 0b914c6:
     Send remote actions to specific worker pools instead of machine
     types.
   + ece17d5:
     Add `$(rlocationpath(s) ...)` expansion (bazelbuild#16668)
   + f02bcf8:
     Fix identical gcov json file name problem
   + 0696b8a:
     Upgrade google-http-client and google-http-client-gson.
   + 42a3dbb:
     Move analysis_test into testing.analysis_test (bazelbuild#16702)
   + b55f322:
     Fix hanging issue when Bazel failed to upload action inputs
     (bazelbuild#16819)
   + 2f0f3e1:
     [5.4.0] Add integration tests for
     --experimental_credential_helper. (bazelbuild#16880)
   + 6d2d68d:
     [5.4.0] Keep credentials cached across build commands. (bazelbuild#16884)
   + 676a0c8:
     Update Bazel to depend on bazelbuild/platforms 0.0.5.
   + 0ea070b:
     Backport recent package metadata and license check capabilities
     from Bazel 6.x. (bazelbuild#16892)
   + b51396a:
     Add 'toolchain' parameter to actions.{run,run_shell} (bazelbuild#16964)

Incompatible changes:

  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes bazelbuild#16439.
  - analysis_test moved into testing.analysis_test

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - 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#16667.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, Krzysztof Naglik, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
hvadehra pushed a commit that referenced this pull request Feb 14, 2023
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (#16478)
   + bc087f4:
     Release 5.3.2 (2022-10-19)
   + 0b914c6:
     Send remote actions to specific worker pools instead of machine
     types.
   + ece17d5:
     Add `$(rlocationpath(s) ...)` expansion (#16668)
   + f02bcf8:
     Fix identical gcov json file name problem
   + 0696b8a:
     Upgrade google-http-client and google-http-client-gson.
   + 42a3dbb:
     Move analysis_test into testing.analysis_test (#16702)
   + b55f322:
     Fix hanging issue when Bazel failed to upload action inputs
     (#16819)
   + 2f0f3e1:
     [5.4.0] Add integration tests for
     --experimental_credential_helper. (#16880)
   + 6d2d68d:
     [5.4.0] Keep credentials cached across build commands. (#16884)
   + 676a0c8:
     Update Bazel to depend on bazelbuild/platforms 0.0.5.
   + 0ea070b:
     Backport recent package metadata and license check capabilities
     from Bazel 6.x. (#16892)
   + b51396a:
     Add 'toolchain' parameter to actions.{run,run_shell} (#16964)

Incompatible changes:

  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes #16439.
  - analysis_test moved into testing.analysis_test

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - 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 #16667.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, Krzysztof Naglik, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
copybara-service bot pushed a commit that referenced this pull request Apr 19, 2023
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (#14779)
   + a58ddea:
     Cherry pick win arm64 (#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (#15793)
   + d4663a1:
     Add repo env test (#15768)
   + 594962c:
     Add is_root struct field to bazel_module (#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (#15824)
   + 64571a4:
     Ck/cherrypick 15669 (#15788)
   + 1404651:
     Create output directories for remote execution (#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (#15931)
   + 32cc8e6:
     Update CODEOWNERS (#15910)
   + 63bc14b:
     Implement native analysis_test call. (#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (#15998)
   + 0109031:
     Updated Codeowners file (#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (#16045)
   + e745468:
     Fix rpath for binaries in external repositories (#16079)
   + 83041b1:
     Refactor combined cache. (#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (#16478)
   + bc087f4:
     Release 5.3.2 (2022-10-19)
   + 0b914c6:
     Send remote actions to specific worker pools instead of machine
     types.
   + ece17d5:
     Add `$(rlocationpath(s) ...)` expansion (#16668)
   + f02bcf8:
     Fix identical gcov json file name problem
   + 0696b8a:
     Upgrade google-http-client and google-http-client-gson.
   + 42a3dbb:
     Move analysis_test into testing.analysis_test (#16702)
   + b55f322:
     Fix hanging issue when Bazel failed to upload action inputs
     (#16819)
   + 2f0f3e1:
     [5.4.0] Add integration tests for
     --experimental_credential_helper. (#16880)
   + 6d2d68d:
     [5.4.0] Keep credentials cached across build commands. (#16884)
   + 676a0c8:
     Update Bazel to depend on bazelbuild/platforms 0.0.5.
   + 0ea070b:
     Backport recent package metadata and license check capabilities
     from Bazel 6.x. (#16892)
   + b51396a:
     Add 'toolchain' parameter to actions.{run,run_shell} (#16964)
   + 312fcab:
     Release 5.4.0 (2022-12-15)
   + 0c4e292:
     Pin Bazel version to 5.4.0 (#17986)
   + 43dadb2:
     Bump minimum supported macOS versions to 10.13
   + 1f2b3ed:
     Patch zlib to fix compatibility with latest Xcode
   + a35f592:
     Use ctime in file digest cache key (#18115)
   + e6af231:
     [5.4.1] Disable failing tests (#18123)

Incompatible changes:

  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes #16439.
  - analysis_test moved into testing.analysis_test

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes #13047.

    Closes #14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (#14969).

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

    Closes #14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on #15856

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

    Closes #15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - 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 #16667.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, Krzysztof Naglik, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
apattidb pushed a commit to databricks/bazel that referenced this pull request Apr 24, 2023
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (bazelbuild#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (bazelbuild#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (bazelbuild#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (bazelbuild#16478)
   + bc087f4:
     Release 5.3.2 (2022-10-19)
   + 0b914c6:
     Send remote actions to specific worker pools instead of machine
     types.
   + ece17d5:
     Add `$(rlocationpath(s) ...)` expansion (bazelbuild#16668)
   + f02bcf8:
     Fix identical gcov json file name problem
   + 0696b8a:
     Upgrade google-http-client and google-http-client-gson.
   + 42a3dbb:
     Move analysis_test into testing.analysis_test (bazelbuild#16702)
   + b55f322:
     Fix hanging issue when Bazel failed to upload action inputs
     (bazelbuild#16819)
   + 2f0f3e1:
     [5.4.0] Add integration tests for
     --experimental_credential_helper. (bazelbuild#16880)
   + 6d2d68d:
     [5.4.0] Keep credentials cached across build commands. (bazelbuild#16884)
   + 676a0c8:
     Update Bazel to depend on bazelbuild/platforms 0.0.5.
   + 0ea070b:
     Backport recent package metadata and license check capabilities
     from Bazel 6.x. (bazelbuild#16892)
   + b51396a:
     Add 'toolchain' parameter to actions.{run,run_shell} (bazelbuild#16964)
   + 312fcab:
     Release 5.4.0 (2022-12-15)
   + 0c4e292:
     Pin Bazel version to 5.4.0 (bazelbuild#17986)
   + 43dadb2:
     Bump minimum supported macOS versions to 10.13
   + 1f2b3ed:
     Patch zlib to fix compatibility with latest Xcode
   + a35f592:
     Use ctime in file digest cache key (bazelbuild#18115)
   + e6af231:
     [5.4.1] Disable failing tests (bazelbuild#18123)

Incompatible changes:

  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes bazelbuild#16439.
  - analysis_test moved into testing.analysis_test

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - 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#16667.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, Krzysztof Naglik, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
fweikert pushed a commit to fweikert/bazel that referenced this pull request May 25, 2023
Baseline: 8d66a41

Cherry picks:

   + becd149:
     Remote: Cache merkle trees
   + d7628e1:
     Update DEFAULT_IOS_CPU for M1 arm64 simulator support
   + 80c56ff:
     Compile Apple tools as fat binaries if possible
   + 3c09f34:
     Add protobuf as a well known module
   + 3a5b360:
     Remote: Merge target-level exec_properties with
     --remote_default_exec_properties
   + 917e15e:
     Add -no_uuid for hermetic macOS toolchain setup
   + f5cf8b0:
     Remote: Fixes an issue when --experimental_remote_cache_async
     encounter flaky tests.
   + 77a002c:
     Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
     has …
   + 557a7e7:
     Fixes for the Starlark transition hash computation (bazelbuild#14251)
   + 34c7146:
     Do location expansion in copts of objc_library
   + 50274a9:
     [5.x] Remote: Add support for compression on gRPC cache (bazelbuild#14277)
   + 61bf2e5:
     Automated rollback of commit
     34c7146.
   + 79888fe:
     Silence a zstd-jni GCC warning.
   + 063b5c9:
     Remote: Limit max number of gRPC connections by
     --remote_max_connections.
   + fd727ec:
     Do location expansion in copts of objc_library
   + 23d0969:
     Fix _is_shared_library_extension_valid
   + 5cf1d6e:
     Remove merging of java_outputs in JavaPluginInfo.
   + cea5f4f:
     Cherrypick Bzlmod documentation (bazelbuild#14301)
   + 227e49e:
     Format work requests according to ndjson spec
   + ae0a6c9:
     Enable user_link_flags_feature for macosx cc_toolchain_config
   + 8c2c78c:
     Remote: Use Action's salt field to differentiate cache across
     workspaces.
   + f948989:
     [5.x] Remote: Fix "file not found" error when remote cache is
     changed from enabled to disabled.  (bazelbuild#14321)
   + 3069ac4:
     Delete marker file before fetching an external repository
   + c05c626:
     Remote: Fix file counting in merkletree.DirectoryTreeBuilder
   + d84f799:
     Fix remote spawn tests for remote_merkle_tree_cache=true
   + 59e16e9:
     Show skipped tests as a warning
   + 76b3c24:
     Build xcode-locator as a universal binary
   + aa52f2d:
     Exit collect_coverage.sh early if LCOV_MERGER is not set.
   + 4256d46:
     Automated rollback of commit
     d84f799.
   + dce2435:
     [apple] fix issues compiling C in objc_library for watchos/armv7k
   + bfc2413:
     5.x: Remote: Ignore blobs referenced in BEP if the generating
     action cannot be cached remotely. (bazelbuild#14389)
   + 5aef53a:
     Remote: Don't blocking-get when acquiring gRPC connections.
     (bazelbuild#14420)
   + 005361c:
     Disable IncludeValidation for ObjC in bazel
   + d703b7b:
     Update java_tools v11.6
   + 90965b0:
     Stop remote blob upload if upload is complete. (bazelbuild#14467)
   + dc59d9e:
     [5.x] Make remote BES uploader better (bazelbuild#14472)
   + 2edab73:
     Avoid too verbose warnings in terminal when cache issues
   + 1160485:
     Rename --project_id to --bes_instance_name
   + c63d9ec:
     Automated rollback of commit
     bfdfa6e.
   + b341802:
     [apple] support watchos_arm64 in toolchain
   + 43bcf80:
     Disable implicitly collecting baseline coverage for toolchain
     targets.
   + 302971e:
     Automated rollback of commit
     7d09b4a.
   + 6200202:
     Bzlmod: Starlarkify default attr values for TypeCheckedTags
   + 38117d4:
     Fix build after rc4 cherrypicks (bazelbuild#14581)
   + 41feb61:
     Release 5.0.0 (2022-01-19)
   + 486d153:
     Find runfiles in directories that are themselves runfiles
   + 0de7bb9:
     Don't resolve symlinks for --sandbox_base
   + 8b60c90:
     Remove uses of -lstdc++ on darwin
   + 60f757c:
     Allow Label instances as keys in select (bazelbuild#14755)
   + 3836ad0:
     Remote: Only waits for background tasks from remote execution.
   + 8734ccf:
     Add the default solib dir to the rpath for cc_imports with
     transitions
   + 9e16a64:
     Flip --experimental_worker_allow_json_protocol
   + fce7ea8:
     Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
     cpu for tools when host cpu and exec cpu are different
   + 0c1d09e:
     Propagate --experimental_cc_implementation_deps to host config
   + 1c3a245:
     Support select() on constraint_value for aliases.
   + 67a133b:
     Improve documentation for select()
   + 5356fed:
     Cherrypicks for experimental cc_shared_library (bazelbuild#14773)
   + ffdd633:
     [apple] support tvos_sim_arm64 in toolchain (bazelbuild#14779)
   + a58ddea:
     Cherry pick win arm64 (bazelbuild#14794)
   + dc41a20:
     [5.1.0] cherrypick subpackages support (bazelbuild#14780)
   + 86e2db7:
     Add a helper method for rules to depend on the cpp toolchain
     type.
   + 6990c02:
     UrlRewriter should be able to load credentials from .netrc
     (bazelbuild#14834)
   + 32d1606:
     Add "arch" struct field to repository_os
   + 2cfdcea:
     [5.x] bzlmod: Add support for WORKSPACE.bzlmod (bazelbuild#14813)
   + c2ddbd1:
     Ignore missing include directory in JDK distribution.
   + 16de035:
     Fix bazel coverage false negative
   + 0c74741:
     Remote: Postpone the block waiting in `afterCommand` to
     `BlockWaitingModule` (bazelbuild#14833)
   + 3297d92:
     Switch to `ProcessHandle` for getting the PID (bazelbuild#14842)
   + a987b98:
     Fix uses of std++ on bsd
   + d184e48:
     Remote: handle early return of compressed blobs uploads
   + 0b09e9e:
     Add removeprefix/removesuffix to Starlark strings
   + d42ab0c:
     Fix default CPU for macOS and iOS (bazelbuild#14923)
   + cd24f39:
     Add paramfile support for def_parser, since in rare cases on
     Windows command line character limit was reached.
   + 0b1beef:
     Normalize rpath entries to guard against missing default solib
     dir
   + 24e8242:
     Fix aggressive params file assumption
   + c45838b:
     Fix precompiled libs not in runfiles of cc_shared_library
     (bazelbuild#14943)
   + 764614e:
     Bzlmod: Allow multiple `use_extension`s on the same extension
     (bazelbuild#14945)
   + fa761f8:
     Fix typo in `apple_common.platform` docs
   + f7d8288:
     Yield a Proxy for addresses without protocol
   + 8cefb8b:
     Avoid merging URLs in HttpUtils
   + b480480:
     Make protocOpts() public. (bazelbuild#14952)
   + 113eaca:
     Do not hide BulkTransferException messages when there were more
     than one exception
   + b1bf9d6:
     merkle_tree_cache: change default size to 1000
   + f15e0c7:
     Add --experimental_repository_cache_urls_as_default_canonical_id
     to help detect broken repository URLs (bazelbuild#14989)
   + f421474:
     Expose the logic to read user netrc file
   + b858ec3:
     Correct cpu and os values of `local_config_cc_toolchains` targets
   + 5e79972:
     Expose CoverageOutputGenerator on a Fragment (bazelbuild#14997)
   + 78f0311:
     Correct error runfiles cc_shared_library (bazelbuild#14998)
   + 7937dd1:
     [5.1] Adding Starlark dependencies to the package //external
     (bazelbuild#14991)
   + a73aa12:
     Remote: Fix crashes with InterruptedException when using http
     cache.
   + f8707c0:
     Account for interface libraries in cc_shared_library
   + a570f5f:
     Fix coverage runfiles directory issue
   + 95de355:
     Do not validate input-only settings in transitions (bazelbuild#15048)
   + 71747cc:
     Filter out system headers on macOS.
   + cb6500a:
     Update Bazel bootstrap documentation and remove obsolete flags.
     (bazelbuild#15065)
   + 4c031d1:
     [5.1] Undocument --bes_best_effort (bazelbuild#15066)
   + 267142f:
     Fix conflicting actions error when specifying
     --host_macos_minimum_os (bazelbuild#15068)
   + f192362:
     [5.1] Remote: Action should not be successful and cached if
     outputs were not created (bazelbuild#15071)
   + 00d74ff:
     Support decompressing zstd tar archives for repository rules.
   + f585783:
     Remote: Don't check TreeArtifact output
   + efb2b80:
     osx_cc_wrapper: Only expand existing response files
   + c771c43:
     Remote: Fix crashes by InterruptedException when dynamic
     execution is enabled. (bazelbuild#15091)
   + 3785677:
     Use python3 on macOS
   + 815d9e4:
     Release 5.1.0 (2022-03-24)
   + 1fbb69e:
     Prepare 5.1.1 release
   + df153df:
     Fix CODEOWNERS syntax
   + 2b92a31:
     Remote: Don't check declared outputs for failed action
   + b47aa71:
     Upgrade abseil version to the latest
   + c49c45d:
     Revert default export all symbols on Windows
   + 7d3fb99:
     Support ZIP files with total number of disks = 0
   + 0f5dc11:
     Release 5.1.1 (2022-04-08)
   + 2422cfb:
     Update CODEOWNERS
   + bbcff18:
     [5.2.0] Update java_tools 11.7.1 (bazelbuild#15231)
   + 9c98120:
     Add support for .ar archives (and .deb files)
   + d3435b0:
     Seperate GetSelfPath implementation for Blaze and Bazel
   + c94572b:
     Include jdk.crypto.mscapi in minimized Windows embedded JDK
   + 299022c:
     remote: Proactively close the ZstdInputStream in
     ZstdDecompressingOutputStream.
   + 2770799:
     Collect coverage from cc_binary data deps of java_test
   + 3442179:
     Configure Apple crosstool to return a complete target triple
     that includes minimum OS version and target environment
   + bb6f1a7:
     Collect C++ lcov coverage if runtime object not in runfiles
   + dbb6e99:
     Fixing dependencies of //external package
   + f0213bb:
     [5.2] Upgrade Google Auth Version (bazelbuild#15383)
   + a1a74c9:
     Fix chocolatey package - docsUrl must not 404 (bazelbuild#15395)
   + fe644be:
     Fix cache leak when applying transitions when only a rule's
     attributes change.
   + ad74d52:
     Fix checking remote cache for omitted files in buildevent file
     (bazelbuild#15405)
   + ac21910:
     fix(bzlmod): throw on json parse exception
   + 3d85b88:
     Add a flag to expose undeclared test outputs in unzipped form.
     (bazelbuild#15431)
   + abd7a9f:
     Remove -U_FORTIFY_SOURCE when thin_lto is enabled (bazelbuild#15433)
   + 53b9cb8:
     Catch NumberFormatException while trying to parse thread id.
   + 19740b5:
     Improve the --sandbox_debug error message
   + 0a2a43f:
     Set keywords on appropriate lifecycle events.
   + 394ddb8:
     Record additional profiling information for remotely executed
     actions.
   + 652b48e:
     Fix downloading remote execution output files inside output
     dirs. (bazelbuild#15444)
   + 73f1ecb:
     Fix android emulator darwin_arm64 select
   + 2649c7c:
     Fix --use_top_level_targets_for_symlinks with aliases (bazelbuild#15446)
   + fa1081c:
     Filter libtool warning about table of contents
   + 26f8783:
     Unify sandbox/remote handling of empty TreeArtifact inputs
     (bazelbuild#15449)
   + 6b21b77:
     Revert "Fixes incorrect install names on darwin platforms"
   + e133e66:
     config doesn't error on duplicate `--define` values (bazelbuild#15473)
   + 84d5917:
     Collect coverage from cc_binary data deps of py_test (bazelbuild#15298)
   + 519d2da:
     SolibSymlinkAction does not need exec platform or properties
   + 6e54699:
     Let Starlark tests inherit env variables (bazelbuild#15217)
   + 9610ae8:
     Update PythonZipper action to use CommandLineItem.CapturingMapFn
   + 2f1ff6f:
     Make `coverage --combined_report=lcov` skip incompatible tests
   + 9fad5a3:
     Disable ReturnValueIgnored checks to unblock java_tools release
   + 0120118:
     Bump the limit of Bazel install base size (bazelbuild#15585)
   + 668805a:
     Upgrade zlib to 1.2.12
   + 4d900ce:
     [5.2] Remote: Fix a bug that outputs of actions tagged with
     no-remote are u... (bazelbuild#15453)
   + b703cb9:
     Add feature to produce serialized diagnostics files (bazelbuild#15600)
   + 2e8458b:
     Release 5.2.0 (2022-06-07)
   + 536f8d9:
     Fix fail message construction in cc_shared_library
   + 2d42925:
     Define cc-compiler-darwin in Xcode toolchain
   + a1d7d1f:
     Fix alwayslink in objc_import
   + d273cb6:
     Unify URL/URLs parameter code across http_archive, http_file,
     http_jar
   + fea32be:
     Preserve --experimental_allow_unresolved_symlinks in exec cfg
   + e4bc370:
     Ck/cherry pick cc shared library (bazelbuild#15754)
   + dbdfa07:
     Let Starlark executable rules specify their environment (bazelbuild#15766)
   + e2a6a2b:
     Fix string formatting when java_home path is missing.
   + d54a288:
     Optionally enable LLVM profile continuous mode
   + ad17b44:
     Print remote execution message when the action times out (bazelbuild#15772)
   + 240e3d1:
     Add missing line to cherrypick
     e4bc370 (bazelbuild#15784)
   + 804b474:
     Replace strdupa with strdup
   + 62be9ea:
     Bzlmod: Better canonical repo names for modules with overrides
     (bazelbuild#15793)
   + d4663a1:
     Add repo env test (bazelbuild#15768)
   + 594962c:
     Add is_root struct field to bazel_module (bazelbuild#15815)
   + 3dd2b93:
     Fix null pointer crash with `bazel coverage` on only
     incompatible tests
   + 4175018:
     Add util for finding credential helper to use
   + 3ea9eb2:
     Merge ManifestMergerAction-related commits into release-5.3.0
     (bazelbuild#15824)
   + 64571a4:
     Ck/cherrypick 15669 (bazelbuild#15788)
   + 1404651:
     Create output directories for remote execution (bazelbuild#15818)
   + ae523f8:
     Use tree artifacts in bootclasspath rule
   + 37f181c:
     [credentialhelper] Add types to communicate with the subprocess
   + 06ca634:
     Add a flag to force Bazel to download certain artifacts when
     using --remote_download_minimal (bazelbuild#15870)
   + d35f923:
     RemoteExecutionService: fix outputs not being uploaded
   + 78af34f:
     Cherry-pick proto_lang_toolchain Starlarkfication and
     proto_common module (bazelbuild#15854)
   + afb434d:
     Fix behavior of `print()` in module extensions
   + 6714c30:
     [credentialhelper] Implement invoking credential helper as
     subprocess
   + 0f05904:
     Add register_{execution_platforms,toolchains} directives to
     MODULE.bazel files (bazelbuild#15852)
   + 33516e2:
     [remote] Improve .netrc test in RemoteModuleTest
   + aa2a1f3:
     Fix ZipDecompressor windows 0x80 (file attribute normal)
   + 30f16e5:
     Replace uses of `cfg = "host"` with `cfg = "exec"` (bazelbuild#15922)
   + 2a8d0ad:
     target pattern file: allow comments
   + 6f73205:
     Add factory for creating paths relative to well-known roots
     (bazelbuild#15931)
   + 32cc8e6:
     Update CODEOWNERS (bazelbuild#15910)
   + 63bc14b:
     Implement native analysis_test call. (bazelbuild#15940)
   + 4df77f7:
     Increase osx_cc_configure timeouts
   + cdf01a3:
     Allow string_list flags to be set via repeated flag uses
   + 05e758d:
     [credentialhelper] Add parser for flag syntax (bazelbuild#15929)
   + e4ee344:
     Docs should mention the new no-remote-cache-upload tag (bazelbuild#15965)
   + 96d23d3:
     Add netrc support to --bes_backend (bazelbuild#15970)
   + c5bc34e:
     Add CommandLinePathFactory to CommandEnvironment (bazelbuild#15971)
   + 508f185:
     Move newCredentialHelperProvider into GoogleAuthUtils (bazelbuild#15973)
   + 14c944a:
     Wire up credential helper to command-line flag(s) (bazelbuild#15976)
   + 04c373b:
     Add `--output=files` mode to cquery (bazelbuild#15979)
   + edfe2a1:
     Make cpp assembly file extensions case sensitive again
   + 4ae8538:
     Prevent aspects from executing on incompatible targets (bazelbuild#15984)
   + f440f8e:
     Remote: Fix performance regression in "upload missing inputs".
     (bazelbuild#15998)
   + 0109031:
     Updated Codeowners file (bazelbuild#16032)
   + 6102d33:
     Propagate the error message when a credential helper fails.
     (bazelbuild#16030)
   + a8dacc7:
     Migrate legacy desugar wrapper to new rlocation() (bazelbuild#16025)
   + 11368be:
     Correctly report errors thrown by CommandLinePathFactory#create.
   + 82452c7:
     Fix an issue that
     `incompatible_remote_build_event_upload_respect_no_… (bazelbuild#16045)
   + e745468:
     Fix rpath for binaries in external repositories (bazelbuild#16079)
   + 83041b1:
     Refactor combined cache. (bazelbuild#16110)
   + c62496f:
     C++: Add compound error linked statically but not exported
     (bazelbuild#16113)
   + 0f18786:
     Do not crash on URIs without a host component.
   + 9c0940d:
     Add profiler task for calling a credential helper.
   + 2ca1ab2:
     Make bazel_cc_code_coverage_test more robust against GCC version
     differences (bazelbuild#16254)
   + 1e25152:
     Fix local execution of external dynamically linked cc_* targets
     (bazelbuild#16253)
   + f6cccae:
     * add change to allow blaze info to skip Starlark build settings
     that start with --no prefix * add unit tests for both info and
     clean commands
   + 59b8b8f:
     Release 5.3.1 (2022-09-19)
   + 77f0233:
     Update GrpcRemoteDownloader to only include relevant headers.
     (bazelbuild#16450)
   + 42ff95a:
     Avoid unnecessary iteration on action inputs.
   + d29034e:
     Update flag `--experimental_remote_download_regex` to accept
     multiple regular expressions. (bazelbuild#16478)
   + bc087f4:
     Release 5.3.2 (2022-10-19)
   + 0b914c6:
     Send remote actions to specific worker pools instead of machine
     types.
   + ece17d5:
     Add `$(rlocationpath(s) ...)` expansion (bazelbuild#16668)
   + f02bcf8:
     Fix identical gcov json file name problem
   + 0696b8a:
     Upgrade google-http-client and google-http-client-gson.
   + 42a3dbb:
     Move analysis_test into testing.analysis_test (bazelbuild#16702)
   + b55f322:
     Fix hanging issue when Bazel failed to upload action inputs
     (bazelbuild#16819)
   + 2f0f3e1:
     [5.4.0] Add integration tests for
     --experimental_credential_helper. (bazelbuild#16880)
   + 6d2d68d:
     [5.4.0] Keep credentials cached across build commands. (bazelbuild#16884)
   + 676a0c8:
     Update Bazel to depend on bazelbuild/platforms 0.0.5.
   + 0ea070b:
     Backport recent package metadata and license check capabilities
     from Bazel 6.x. (bazelbuild#16892)
   + b51396a:
     Add 'toolchain' parameter to actions.{run,run_shell} (bazelbuild#16964)
   + 312fcab:
     Release 5.4.0 (2022-12-15)
   + 0c4e292:
     Pin Bazel version to 5.4.0 (bazelbuild#17986)
   + 43dadb2:
     Bump minimum supported macOS versions to 10.13
   + 1f2b3ed:
     Patch zlib to fix compatibility with latest Xcode
   + a35f592:
     Use ctime in file digest cache key (bazelbuild#18115)
   + e6af231:
     [5.4.1] Disable failing tests (bazelbuild#18123)

Incompatible changes:

  - GrpcRemoteDownloader only includes relevant headers instead of
    sending all credentials.

    Closes bazelbuild#16439.
  - analysis_test moved into testing.analysis_test

Important changes:

  - alias() can now select() directly on constraint_value()

    Fixes bazelbuild#13047.

    Closes bazelbuild#14310.
  - Fixed an issue where Bazel could erroneously report a test passes
    in coverage mode without actually running the test.
  - Make protocOpts() publicly accessible.
  - Add coverage configuration fragment, used to expose
    output_generator label.
  - Bazel now no longer includes system headers on macOS in coverage
    reports (bazelbuild#14969).

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

    Closes bazelbuild#14849.
  - none
    RELNOTES:none
  - Enable merging permissions during Android manifest merging with
    the --merge_android_manifest_permissions flag.
  - 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.
  - Add support for fetching RPC credentials from credential helper.

    Progress on bazelbuild#15856

    Closes bazelbuild#15947.
  - `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.

    Closes bazelbuild#15552.
  - Fix for desugaring failure on Bazel+Android+Windows build
    scenario.
  - 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#16667.

This release contains contributions from many people at Google, as well as amberdixon, Andreas Fuchs, Benjamin Peterson, Brentley Jones, Chenchu Kolli, Dan Fleming, Danny Wolf, Emil Kattainen, Fabian Meumertzheim, Gowroji Sunil, hvadehra, Juh-Roch, Keith Smiley, Krzysztof Naglik, kshyanashree, Niyas Sait, Noa Resare, Oliver Eikemeier, oquenchil, Peter Mounce, Philipp Schrader, Ryan Beasley, Thi Doãn, Xùdōng Yáng, Yannic, Zhongpeng Lin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants