Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/bazelbuild/bazel.git. Pull mirroring updated .
  1. Dec 12, 2023
    • Bazel Release System's avatar
      Release 7.0.0 (2023-12-11) · 51f71f1a
      Bazel Release System authored
      Baseline:  d60ce2c7
      
      Release Notes:
      
      + **[Incompatible]** This has the side effect of changing the message on unsuccessful builds from ``` FAILED: Build did NOT complete successfully (0 packages loaded) ``` to ``` ERROR: Build did NOT complete successfully ```
      + The 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).
      + The `aquery` and `cquery` commands now respect the `--query_file` flag just like the `query` command.
      + **[Incompatible]** the --experimental_async_execution flag is now a no-op.
      + **[Incompatible]** --experimental_replay_action_out_err is not a no-op.
      + **[Incompatible]** `cquery --output=files` also outputs source files.
      + removed outdated ctx.host_fragments
      + **[Incompatible]** When multiple --deleted_packages options are passed on the command line, they will be concatenated instead of the latest one taking effect.
      + removed outdated ctx.host_configuration
      + **[Incompatible]** JSON profile: Use doubles instead of strings for counter series.
      + Now that the host configuration is finished, `genrule` should prefer the use of `tools` and stop using `exec_tools`.
      + **[Incompatible]** --experimental_build_transitive_python_runfiles is flipped to false. See #16303 for details
      + **[Incompatible]** --incompatible_python_disable_py2 is flipped to true. See #17293 for details.
      + Update Android manifest merger to v30.1.3, and also drop support for legacy (pre-D8) desugaring.
      + Correctly encode double value positive infinity as "inf" instead of "+inf" for textprotos.
      + **[Incompatible]** When remote cache evicts blobs, Bazel will exit with code 39.
      + Add --use_target_platform_for_tests which uses the target platform for executing tests instead of the execution platform.
      + **[Incompatible]** `--features` only applies to targets built in the target configuration, and `--host_features` is used for the host / exec configuration (gated behind `--incompatible_use_host_features`)
      + Custom C++ rules on Windows calling cc_common.create_linking_context_from_compilation_outputs should review whether each target of the rule type should produce a dynamic library since a condition which blocked their creation has been moved to the rules from behind the API.
      + Add flag `--experimental_remote_cache_ttl` and set the default value to 3 hours.
      + making --incompatible_use_platforms_repo_for_constraints do nothing. Using constraints from @bazel_tools//platforms with or without the flag will throw error with message "Constraints from @bazel_tools//platforms have been removed. Please use constraints from @platforms repository embedded in Bazel, or preferably declare dependency on https://github.com/bazelbuild/platforms"
      + **[Incompatible]** Bazel's local CPU resource on Linux is now container aware. Use `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to override.
      + Subsequent settings of --extra_execution_platforms now override previous settings, instead of adding them to a list. If you currently set --extra_execution_platforms more than once, please migrate by passing a list of values to --extra_execution_platforms instead so that earlier values aren't overwritten.
      + @bazel_tools//config:common_settings.bzl has been removed. Use @bazel_skylib//rules:common_settings.bzl instead.
      + **[Incompatible]** `copy_from_rule` is exec_groups is deprecated (https://github.com/bazelbuild/bazel/issues/17668).
      + cc_shared_library is no longer experimental, see https://github.com/bazelbuild/bazel/issues/16709 for details
      + **[Incompatible]** --legacy_bazel_java_test is now a no-op
      + The flag `--distinct_host_configuration` is removed. It has been a no-op since Bazel 6.0.0.
      + Add `--skip_incompatible_explicit_targets` option
      + **[Incompatible]** `--experimental_execution_graph_log` no longer exists. Current users that want local logs need to pass `--experimental_enable_execution_graph_log --experimental_execution_graph_log_path=/some/local/path`. Current users that want logs uploaded to BEP need to pass `--experimental_enable_execution_graph_log --experimental_stream_log_file_uploads`.
      + Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
      + **[Incompatible]** Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
      + cc_test can now be configured by using a native.toolchain().
      + The location of rules that explicitly specify `generator_name` and/or `generator_function` attributes (typically because they are incidentally copied from `native.existing_rule()`) is now the top-level call in the `BUILD` file, which is consistent with rules that do not explicitly specify these attributes.
      + Warnings (most notably those associated with the `deprecation` rule attribute) are no longer replayed on subsequent invocations unless the target in question is re-analyzed. Warnings are purely informational, so this change has no bearing on the correctness of the build. Downstream tests that break due to this change should update their expectations.
      + `--experimental_remote_build_event_upload` has been renamed to `--remote_build_event_upload`
      + **[Incompatible]** Remove high priority workers functionality from blaze.
      + [Breaking change] platform, constraint_setting, and constraint_value can no longer take an applicable_licenses value. Remediation is to remove the attribute and rely on the package level default.
      + `--experimental_action_cache_store_output_metadata` has been renamed to `--action_cache_store_output_metadata`
      + Changed the default value for `--remote_build_event_upload` to `minimal`.
      + `--experimental_remote_cache_compression` has been renamed to `--remote_cache_compression`
      + Added a new `max_compatibility_level` attribute to the `bazel_dep` directive, which allows version selection to upgrade a dependency up to the specified compatibility level.
      + `--experimental_remote_grpc_log` has been renamed to `--remote_grpc_log`
      + `--incompatible_remote_build_event_upload_respect_no_cache` is now a no-op.
      + json.decode now takes an optional `default` positional parameter; if this parameter is specified and decoding fails, json.decode will return the `default` value instead of failing Starlark evaluation.
      + --experimental_repository_disable_download is now promoted to stable and is also available under the name --repository_disable_download .
      + `applicable_licenses` is no longer allowed on the `platform` rule. Additionally, `default_package_metadata` from any `package` rule will not be applied.
      + **[Incompatible]** Duplicates in <rule-inputs> when using `query --output=xml --aspect_deps=precise` are removed. Added flag `--proto:include_attribute_source_aspects` that will include a new field `source_aspect_name` to the `Attribute` message that indicates the source aspect that the attribute comes from.
      + Options specified on the pseudo-command `common` in `.rc` files are now ignored by commands that do not support them as long as they are valid options for *any* Bazel command. Previously, commands that did not support all options given for `common` would fail to run. These previous semantics of `common` are now available via the new `always` pseudo-command.
      + **[Incompatible]** `--incompatible_check_sharding_support` is enabled by default. Sharded tests with test runners that do not properly advertise support for test sharding will fail. Refer to https://github.com/bazelbuild/bazel/issues/18339 for migration advice.
      + the 'default' param of json.decode can now be used as a keyword parameter.
      + As a transitional step in a larger refactoring, rule transitions are applied twice. Once during dependency resolution and once right before analysis of those rules. After the refactoring is complete, rule transitions will be applied only once.
      + Add aquery --output=streamed_proto which writes a stream of length delimited ActionGraphContainer containing a single Artifact, Action, Target, DepSetOfFiles, Configuration, AspectDescriptor, RuleClass, PathFragment proto. This breaks up the ActionGraphContainer into multiple which will prevent large protos from crashing blaze.
      + (BEP) TargetConfigured events will be marked aborted instead of published when there is an analysis error. This is motivated by a low level Blaze change aimed at improving scalability.
      + **[Incompatible]** cc_binary targets with dynamic_deps attributes no longer link indirect dynamic_deps on Unix. This might be an incompatible change if you are using RUNPATHs (instead of RPATHs) in your cc_shared_libraries. Enable the feature "exclude_bazel_rpaths_in_transitive_libs" or "use_rpath_instead_of_runpath" for those cc_shared_libraries.
      + Enable starlark_doc_extract - a native rule for Starlark documentation extraction. This rule is intended mainly for internal use by Stardoc.
      + **[Incompatible]** Remove deprecated and unused `--experimental_show_artifacts` flag.
      + Added the target path of an UnresolvedSymlink action to the aquery results
      + Additional source inputs can now be specified for compilation in cc_library targets using the additional_compiler_inputs attribute, and these inputs can be used in the $(location) function.
      + More descriptive error messages for unexpected cc absolute includes; unexpected absolute includes for cc compiles shouldn't be reported as "undeclared inclusion(s)"
      + Enable C++ branch coverage if gcov version is 8 or newer.
      + Deduplicates the result of split transitions uniformly, regardless of whether they are Starlark or native transitions. This used to apply only if either the attribute or rule transition contained a Starlark transition.
      + Support for optimizers rewriting baseline profiles.
      + This is a breaking change. `cc_host_toolchain_alias` rule is obsolete and can be interchangeably used with `cc_toolchain_alias` rule.
      + Fixes non-ascii arguments written to parameter files as mojibake.
      + NA
      + The `genrule` attribute `exec_tools` will be removed in a future Bazel release. Please follow directions at #19132 to migrate away from it.
      + **[Incompatible]** Removed multi_arch_split, use transition_support.apple_platform_split_transition from rules_apple instead.
      + Supports for android_binary.startup_profiles attribute.
      + **[Incompatible]** Removed apple_crosstool_transition, use transition_support.apple_rule_transition from rules_apple instead.
      + **[Incompatible]** Drop deprecated 'transitive_deps', 'transitive_runtime_deps' from JavaInfo
      + **[Incompatible]** The --android_include_proguard_location_references flag is not supported anymore.
      + **[Incompatible]** The --apple_compiler command line option is not available anymore.
      + `rule()` and `attr.*` can no longer be (pointlessly) called during WORKSPACE evaluation and repository rule evaluation.
      + Expands baseline profile wildcards before optimizer tools see them.
      + **[Incompatible]** --no_proguard_location_reference is now added unconditionally to the command line of aapt2.
      + **[Incompatible]** The command line flag --apple_enable_auto_dsym_dbg is not supported anymore.
      + **[Incompatible]** The --apple_compiler command line option is not available anymore.
      + **[Incompatible]** py_transitions top-level was removed.
      + Android resources will no longer propagate through neverlinked libraries by default.
      + Set Android Databinding to v2 and Databinging AndroidX to true and remove support for Databinding V1.
      + Added whether or not a FileWrite action's output is executable to the aquery results
      + --use_single_jar_apk_builder is removed. It's been a no-op for years.
      + **[Incompatible]** --incompatible_merge_fixed_and_default_shell_env is flipped to true. See #19317 for details.
      + JVM options in environment variables JAVA_TOOL_OPTIONS and JDK_JAVA_OPTIONS now do not get to the server; use --host_jvm_args instead.
      + --remote_download_minimal no longer implies --nobuild_runfile_links.
      + attr objects in Starlark now use value equality rather than reference equality.
      + **[Incompatible]** `cmd_helper` module was removed
      + **[Incompatible]** `ctx.new_file` was removed, `ctx.actions.declare_file` is to be used instead.
      + **[Incompatible]** Fails on unknown attributes (even when set to None). See https://github.com/bazelbuild/bazel/issues/19403
      + Change output paths to consistently start with [cpu]-[compilation_mode] along with other cleanups to output path generation logic.
      + Compilation actions using the auto-configured MSVC toolchain are forced to emit error messages in English if the English language pack for Visual Studio is installed.
      + **[Incompatible]** Flip incompatible_enable_cc_toolchain_resolution (https://github.com/bazelbuild/bazel/issues/7260)
      + The new `--consistent_labels` option on `query`, `cquery`, and `aquery` can be used to force consistent label formatting across all output modes that is also compatible with `str(Label(...))` in Starlark.
      + **[Incompatible]** proto_compiler attribute removed from proto_lang_toolchain (it was recently introduced, and there is no evidence of use)
      + **[Incompatible]** --experimental_genquery_use_graphless_query is made to be a NO-OP.
      + **[Incompatible]** The --call_count_output_path command line option is not supported anymore.
      + **[Incompatible]** The no-op --dynamic_worker_strategy command line option is no available anymore.
      + **[Incompatible]** the --experimental_allow_top_level_aspects_parameters, --experimental_async_execution, --experimental_availability_info_exempt, --experimental_dynamic_execution_cpu_limited, --experimental_dynamic_skip_first_build, --experimental_keep_config_nodes_on_analysis_discard, --experimental_local_memory_estimate, --experimental_multi_cpu, --experimental_multi_threaded_digest, --experimental_replay_action_out_err and --experimental_shortened_obj_file_path command line options are not available anymore.
      + **[Incompatible]** The --experimental_cc_shared_library_debug command line flag is not available anymore.
      + **[Incompatible]** testing.analysis_test is not experimental anymore
      + **[Incompatible]** The (no-op) --android_include_proguard_location_references flag is not available anymore.
      + **[Incompatible]** The --experimental_android_local_test_binary_resources command line option is not available anymore.
      + **[Incompatible]** The --experimental_includes_attribute_subpackage_traversal command line option is not available anymore.
      + **[Incompatible]** The --debug_print_action_contexts command line option is not available anymore.
      + **[Incompatible]** The --experimental_skyframe_include_scanning command line option is not available anymore.
      + **[Incompatible]** The --experimental_supports_info_crosstool_configuration command line option is not available anymore.
      + **[Incompatible]** THe --incompatible_avoid_conflict_dlls command line option is not available anymore.
      + **[Incompatible]** The --experimental_prioritize_local_actions command line option is not available anymore.
      + **[Incompatible]** The following command line options are not supported anymore: --incompatible_disable_cc_configuration_make_variables, --incompatible_disable_cc_toolchain_label_from_crosstool_proto, --incompatible_disable_crosstool_file, --incompatible_disable_depset_in_cc_user_flags, --incompatible_disable_legacy_cpp_toolchain_skylark_api, --incompatible_disable_legacy_cpp_toolchain_skylark_api, incompatible_disable_legacy_flags_cc_toolchain_api, --incompatible_disable_managed_directories, --incompatible_disable_runtimes_filegroups, --incompatible_disable_sysroot_from_configuration, --incompatible_disable_tools_defaults_package, --incompatible_disallow_legacy_javainfo, --incompatible_dont_emit_static_libgcc, --incompatible_enable_legacy_cpp_toolchain_skylark_api, --incompatible_linkopts_in_user_link_flags, --incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite, --incompatible_require_feature_configuration_for_pic .
      + **[Incompatible]** The --experimental_execution_graph_log_cached and --experimental_execution_graph_log_missed command line options are not available anymore.
      + **[Incompatible]** The --experimental_use_sh_binary_stub_script command line option is not available anymore.
      + **[Incompatible]** The --incompatible_disable_expand_if_all_available_in_flag_set command line option is not available anymore.
      + default_applicable_licenses in package() now applies to the entire BUILD file, regardless of where in the BUILD that package() is called.
      + **[Incompatible]** The --incompatible_load_cc_rules_from_bzl command line option is not available anymore.
      + **[Incompatible]** The --incompatible_display_source_file_location command line option is not available anymore.
      + **[Incompatible]** The --experimental_repository_hash_file and --experimental_verify_repository_rules command line options are not available anymore.
      + **[Incompatible]** The following previously no-op command line options are not available anymore: --legacy_spawn_scheduler, --use_workers_with_dexbuilder, --print_workspace_in_output_paths_if_needed, --watchos_simulator_version, --watchos_simulator_device, --tvos_simulator_version, --tvos_simulator_device.
      + **[Incompatible]** The --show_warnings command line option of the command "canonicalize-flags" is not available anymore.
      + **[Incompatible]** The command line option --remove_all_convenience_symlinks is not available anymore.
      + **[Incompatible]** java_test doesn't produce deploy jars anymore
      + **[Incompatible]** The lazy template expansion is not experimental anymore (--experimental_lazy_template_expansion command line option is not available anymore).
      + **[Incompatible]** The --incompatible_disallow_legacy_javainfo command line option is not available anymore.
      + **[Incompatible]** The --incompatible_remove_cpu_and_compiler_attributes_from_cc_toolchain command line option is not available anymore. Using the "cpu" and "compiler" options of the cc_toolchain rule now results in a slightly different error that is signaled earlier.
      + **[Incompatible]** THe --incompatible_force_strict_header_check_from_starlark command line option is not available anymore.
      + **[Incompatible]** --incompatible_visibility_private_attributes_at_definition is flipped to true. See https://github.com/bazelbuild/bazel/issues/19330 for details.
      + **[Incompatible]** The --experimental_java_proto_library_default_has_services command line option and the Starlark symbol java_common.experimental_java_proto_library_default_has_services function are not available anymore.
      + **[Incompatible]** The no-op --experimental_cpp_compile_argv_ignore_param_file command line option is not available anymore.
      + Make variable expansion of `objc_library` produces better error messages.
      + **[Incompatible]** rule function takes only implementation function positionally, other parameters have to be named
      + **[Incompatible]** The --incompatible_genquery_use_graphless_query command line options is not available anymore.
      + Added support for a new directive `use_repo_rule` in MODULE.bazel files, which allows you to conveniently declare repos that are only visible within your module.
      + Bazel now throws an error if the root module specifies overrides on nonexistent modules.
      + Fix includes attribute of `objc_library` when sibling repository layout is used.
      + Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. Disable behavior with --noreuse_sandbox_directories.
      + **[Incompatible]** The sandboxfs sandboxing strategy is removed. It hadn't been maintained for a long time, it didn't work for most users and it was not consistently faster while being complex to set up. sandboxfs performance is heavily dependent on the specific setup (setup costs are lower, but you have to pay a penalty for the use of each input) and there are scenarios where it is faster and scenarios where it is slower. Overall it is not worth its weight.
      + Symlink trees created by sandboxing will be deleted asynchronously. Disable behavior with --experimental_sandbox_async_tree_delete_idle_threads=0.
      + **[Incompatible]** Bzlmod is enabled by default, please consider migrating your external dependencies from WORKSPACE to MODULE.bazel. Find more details at https://github.com/bazelbuild/bazel/issues/18958
      + Enable Platforms and Toolchains for Android. Android projects will need to stop passing the legacy flag `--fat_apk_cpu`, and instead use `--android_platforms` using platforms defined with the `@platforms//os:android` constraint. The https://github.com/bazelbuild/rules_android repository defines four standard Android platforms for projects that use those rules, `@rules_android//:armeabi-v7a`, `@rules_android//:arm64-v8a`, `@rules_android//:x86`, `@rules_android//:x86_64`.
      + **[Incompatible]** Java runtime toolchains created via `local_java_repository` from `@bazel_tools//tools/jdk:local_java_repository.bzl`, which includes `local_jdk`, now have `target_compatible_with` set to the auto-detected host constraints. This can result in errors about toolchain resolution failures for `@bazel_tools//tools/jdk:runtime_toolchain_type`, especially when cross-compiling. These failures can be fixed in the following ways (listed in decreasing order of preference): * Replace `java_binary` targets that aren't meant to be run with `bazel run` or as tools during the build with `java_single_jar` (available in `@rules_java//java:java_single_jar.bzl`). Such targets do not require a Java runtime for the target configuration. * Set `--java_runtime_version=remotejdk_N` for some Java version `N` to let Bazel choose and download an appropriate remote JDK for the current target platform. This setting defaults to `local_jdk`, which means that Bazel can only use the local JDK, which isn't compatible with any other platform. * Manually define and register a `local_java_runtime` with no value set for `exec_compatible_with` (defaults to `[]`) and select it by setting `--java_runtime_version` to its `name`. This fully restores the previous behavior, but can result in incorrect results when cross-compiling (see #18265). Closes #18262. Commit https://github.com/bazelbuild/bazel/commit/f79ca0275e14d7c8fb478bd910ad7fb127440fd8
      + none Commit https://github.com/bazelbuild/bazel/commit/7d87996d2c2018f0c6dd9b200482320d0e40f024
      + None Commit https://github.com/bazelbuild/bazel/commit/0a1dce27650a233d8acb1f09a1181279f510cae8
      + **[Incompatible]** The attribute `new_local_repository.build_file` no longer accepts a path; a label must be passed instead. Closes #19992. Commit https://github.com/bazelbuild/bazel/commit/76d71d93c5baa233bd1dca3f2862eebe827a1eb4
      + **[Incompatible]** Delete the --experimental_execution_log_file flag. Use --execution_log_binary_file in conjunction with --noexecution_log_sort instead.
      + **[Incompatible]** transition is removed from objc_library (https://github.com/bazelbuild/bazel/issues/19688) (cherry picked from commit b4292d2e
      
      ) Co-authored-by: default avatarGoogler <ilist@google.com>
      + **[Incompatible]** All labels in Bazel error messages, log output, Build Event Protocol, etc. are now prefixed with double-at (`@@`) instead of single-at (`@`) where applicable, to properly denote that they contain canonical repo names.
      + None. Commit https://github.com/bazelbuild/bazel/commit/491284b0c782e0df25dd0a8bc921a9c2de0e6881
      + **[Incompatible]** `--incompatible_sandbox_hermetic_tmp` is enabled by default. See #19915 for migration advice. Closes #19943. Commit https://github.com/bazelbuild/bazel/commit/e2c0276d1fd69c19d6946fb17f9e983e9ea68025
      + **[Incompatible]** The `--experimental_repository_cache_urls_as_default_canonical_id` flag is no longer available. Instead, the `http_archive`, `http_file`, `http_jar`, `jvm_maven_import_external`, and `jvm_import_external` repository rules now use the URLs as the canonical ID if none is provided explicitly. If this behavior is not desired, it can be disabled via `--repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0`. Fixes #19749 Closes #20047.
      + None Commit https://github.com/bazelbuild/bazel/commit/65f847a0103329f684e4313d49154583de15d164
      + None Commit https://github.com/bazelbuild/bazel/commit/9bbc2cbebf5c395c5504db7dfcfc5bda7e00bd3c
      + none Fixes #19920 Commit https://github.com/bazelbuild/bazel/commit/886b13fd00b5a17161d9558b6b11dd135355e5cb
      + **[Incompatible]** The `BAZEL_CURRENT_REPOSITORY` preprocessor variable, which holds the canonical name of the Bazel repository containing a `cc_*` target, is now only set during compilation if the target depends on the C/C++ runfiles library `@bazel_tools//tools/cpp/runfiles` via `deps` or `implementation_deps`. Fixes #20371 Closes #20388. Commit https://github.com/bazelbuild/bazel/commit/454b5506d82584616fcd707ed2e9bd1fe627c974
      + `--zip_undeclared_test_outputs` now preserves symlinks when zipping `$TEST_UNDECLARED_OUTPUTS_DIR`. Closes #19948. Change-Id: Ia4a8a9699e4e2f40498342af55babc5554a9ac93 Commit https://github.com/bazelbuild/bazel/commit/8e639dfa8c7aa0723123ee90dc933d528a4f2b68
      + **[Incompatible]** Toolchains and execution platforms are now registered in the following order with `--enable_bzlmod`: 1. root module's module file 2. `WORKSPACE` or `WORKSPACE.bzlmod` 3. non-root modules' module files 4. default toolchains registered by Bazel (does not apply with `WORKSPACE.bzlmod` or execution platforms) Fixes #20354 Closes #20407. Commit https://github.com/bazelbuild/bazel/commit/96b361205ee05dcacdcf5055ca9cc3e5ca5d126c#diff-a8d3aed419e661d4dbecb2dc6668444212d7b1707ff61330b7d8aae61e75d4df
      
      Acknowledgements:
      
      This release contains contributions from many people at Google, as well as Adam Lavin, Adrian Imboden, Alan Falloon, Alessandro Patti, Alex Eagle, Alexander Grund, AlexTereshenkov, Amanda L Martin, Amet Umerov, Andreas Herrmann, Andy Hamon, andyrinne12, Ankit Agarwal, Ankush Goyal, Anshuman Mishra, Anthony Ter-Saakov, Antoine Musso, Artem Zinnatullin, arun.sampathkumar, aryeh, Austin Schuh, bazel.build machine account, Ben Lee, Benjamin Lee, Benjamin Peterson, Benjamin Sigonneau, Boleyn Su, Brentley Jones, Cameron Martin, Chirag Ramani, Chris Sauer, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, Conall O'Brien, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, David Ostrovsky, dhmemi, Dimi Shahbaz, eareilg, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fahrzin Hemmati, Gaspare Vitta, George Gensure, Greg, Greg Magolan, Grzegorz Lukasik, Guillaume Maudoux, Gunnar Wagenknecht, Halil Sener, Hao Yuan, hvadehra, hvd, Ilan Keshet, Ivan Golub, Jack Dai, James Ma, Jason Mobarak, Jasper, Jay Conrod, Jeff Hodges, Jeremy Volkman, Jimm chja20, Joel Jeske, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Joseph Lisee, Joseph Tilahun, Julio Merino, Kai Zhang, keertk, Keith Smiley, Konstantin Erman, Krzysztof Naglik, kshyanashree, Kun-Lu, Laurenz Altenmller, Lee Mracek, Letu Ren, lripoche, Maksim, Malte Poll, Marc Redemske, Marc Zych, Matt Mackay, Matt Vollmer, Mauricio G, Mauricio Galindo, Maxim Matyunin, Maxwell Elliott, mohamadk, Nathan (Blaise) Bruer, nathyong, NelsonLi0701, nglevin, Nicholas Junge, Nick Biryulin, Nick Korostelev, Oliver Lee, Orion Hodson, Oscar Garzon, Patrice Duroux, Patrick Balestra, Peter Lobsinger, Philipp Schrader, Rasrack, Red Daly, redwrasse, Robin Tweedie, robincaloudis, Roger Hu, Romain Chossart, Roman Salvador, Sagar Pathare, Saleem Abdulrasool, Sam Shadwell, Sara Adams, Sascha Moecker, Scott Minor, Severin Strobl, Shaygan Hooshyari, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Steve Barrau, Stiopa Koltsov, stoozy, Sushain Cherivirala, Takeo Sawada, Taylor Barrella, tbaing, Ted Kaplan, Ted Logan, Thi Don, Thulio Ferraz Assis, Timothy Gu, Tom Cnops, Tyler Williams, Ulf Adams, Ulrik Falklof, Uri Baghin, Vertexwahn, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Xùdōng Yáng, Yannic, Yannic Bonenberger, Yi Cheng, Yuval Kaplan, yuzhy8701, Zheng Wei Tan.
      51f71f1a
  2. Nov 15, 2023
    • Bazel Release System's avatar
      Release 8.0.0-pre.20231030.2 (2023-11-14) · 51fd503c
      Bazel Release System authored
      Baseline: 8cab6aa2
      
      Cherry picks:
      
         + d78bdd2f:
           Temporarily disable `BaselineOptionsFunction` + Starlark exec
           transition.
      
      Incompatible changes:
      
        - Java runtime toolchains created via `local_java_repository` from
          `@bazel_tools//tools/jdk:local_java_repository.bzl`, which
          includes `local_jdk`, now have `target_compatible_with` set to
          the auto-detected host constraints. This can result in errors
          about toolchain resolution failures for
          `@bazel_tools//tools/jdk:runtime_toolchain_type`, especially when
          cross-compiling. These failures can be fixed in the following
          ways (listed in decreasing order of preference):
          * Replace `java_binary` targets that aren't meant to be run with
          `bazel run` or as tools during the build with `java_single_jar`
          (available in `@rules_java//java:java_single_jar.bzl`). Such
          targets do not require a Java runtime for the target
          configuration.
          * Set `--java_runtime_version=remotejdk_N` for some Java version
          `N` to let Bazel choose and download an appropriate remote JDK
          for the current target platform. This setting defaults to
          `local_jdk`, which means that Bazel can only use the local JDK,
          which isn't compatible with any other platform.
          * Manually define and register a `local_java_runtime` with no
          value set for `exec_compatible_with` (defaults to `[]`) and
          select it by setting `--java_runtime_version` to its `name`. This
          fully restores the previous behavior, but can result in incorrect
          results when cross-compiling (see #18265).
        - transition is removed from objc_library
          (https://github.com/bazelbuild/bazel/issues/19688)
      
      New features:
      
        - "bazel aquery" now returns the headers C++ compilation actions
          can include if the --include_scheduling_dependencies command line
          option is set.
      
      Important changes:
      
        - Enable Platforms and Toolchains for Android. Android projects
          will need to stop passing the legacy flag `--fat_apk_cpu`, and
          instead use `--android_platforms` using platforms defined with
          the `@platforms//os:android` constraint. The
          https://github.com/bazelbuild/rules_android repository defines
          four standard Android platforms for projects that use those
          rules, `@rules_android//:armeabi-v7a`,
          `@rules_android//:arm64-v8a`, `@rules_android//:x86`,
          `@rules_android//:x86_64`.
      
      This release contains contributions from many people at Google, as well as Benjamin Peterson, Fabian Meumertzheim, Fredrik Medley, Guillaume Maudoux, Ulf Adams, Wade Carpenter.
      51fd503c
  3. Nov 08, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20231018.3 (2023-11-07) · b6e2693f
      Bazel Release System authored
      Baseline: eeb9c911
      
      Cherry picks:
      
         + bb7fb2d3:
           Automatically add function transition allow list when needed
         + c59739e7:
           Automated rollback of commit
           f7946d01.
         + f6eabdc5:
           Automated rollback of commit
           774fdb4b.
      
      Incompatible changes:
      
        - The sandboxfs sandboxing strategy is removed. It hadn't been
          maintained for a long time, it didn't work for most users and it
          was not consistently faster while being complex to set up.
          sandboxfs performance is heavily dependent on the specific setup
          (setup costs are lower, but you have to pay a penalty for the use
          of each input) and there are scenarios where it is faster and
          scenarios where it is slower. Overall it is not worth its weight.
        - Bzlmod is enabled by default, please consider migrating your
          external dependencies from WORKSPACE to MODULE.bazel. Find more
          details at https://github.com/bazelbuild/bazel/issues/18958
      
      Important changes:
      
        - Directories used by sandboxed non-worker execution may be reused
          to
          avoid unnecessary setup costs. Disable behavior with
          --noreuse_sandbox_directories.
        - Symlink trees created by sandboxing will be deleted
          asynchronously.
          Disable behavior with
          --experimental_sandbox_async_tree_delete_idle_threads=0.
      
      This release contains contributions from many people at Google, as well as Antoine Musso, Benjamin Peterson, Fabian Meumertzheim, Nick Biryulin, Steve Barrau, Thi Don.
      b6e2693f
  4. Oct 23, 2023
  5. Oct 20, 2023
    • Bazel Release System's avatar
      Release 6.4.0 (2023-10-19) · 844c1d63
      Bazel Release System authored
      Baseline:  0f231ac8
      
      Release Notes:
      
      + Support multiple remote execution digest functions (#19042)
      + Release 6.4.0 remote (#18959)
      + Move BazelFileSystemModule into bazel package (#19043)
      + Fix a bug where frozen targets list was mutated while expanding env attribute (#19053)
      + Mark isolated extension usages as experimental (#19065)
      + Add the remote_require_cached flag (#19075)
      + Advertise CcInfo from cc_import (#19086) (#19088)
      + Update java_tools version to 12.6 (#19092)
      + Set the digest_function field as part of all relevant gRPC requests (#19049)
      + Merge `use_repo` buildifier fixups into a single command (#19134)
      + Ensure that extension unique names followed by `~` are prefix-free (#19164)
      + Lockfile updates & fixes (#19153)
      + Switch xcode_autoconf to use 'configure = True' (#19174)
      + Cherry pick Add a Starlark flag that allows disabling proguard. This will be useful for testing later. (#19179)
      + Update CODEOWNERS for 6.4.0 (#19194)
      + Friendlier error message for `bazel_dep`s without `version` (#19196)
      + Always check `$config_dependencies` visibility at use (#19197)
      + Add support for the BLAKE3 digest function (#19191)
      + Enable cc toolchain resolution when cross compiling to windows arm64. (#19198)
      + Ensure disk cache root exists (#19225)
      + Fix valid json when using jsonproto output in queries  with new `--ouput=streamed_jsonproto` implementation. (#19226)
      + Add toolchain type for Java bootstrap runtime (#19220)
      + Add Starlark implementation for several CcCommon methods. (#19076)
      + Rename `cc_test_wrapper` to `cc_test` (#19231)
      + Cherry-pick commits to fix a Windows issue (#19232)
      + Add support for more workspace boundary files to bash completion (#19281)
      + Use `debugPrint` instead of `str` for `fail` arguments (#19283)
      + Include name in `repr` of exported `rule`s (#19229)
      + Download `BazelRegistryJson` only once per registry (#19300)
      + Make module extension tag's `debugPrint` useful for error messages (#19285)
      + Intern repository mapping entries (#19293)
      + Add `additional_linker_inputs` option to `cc_library` rule (#19264)
      + Do not rerun module extensions when only imports or locations change (#19284)
      + Add profiling for Bzlmod operations (#19313)
      + Retry on javax.net.ssl.SSLException ... BAD_DECRYPT (#19346)
      + Fetch `RepoSpecs` in parallel (#19354)
      + Make `MODULE.bazel.lock` deterministic (#19370)
      + Ensure lockfile is updated after reset to pre-build state (#19371)
      + build-runfiles: remove temporary file prior to creating it (#19386)
      + Always fail on unknown attributes (#19404)
      + Ignore Starlark options on commands with `allowResidue = False` (#19417)
      + Separate PackageSpecificationProvider from its target (PackageGroupConfiguredTarget) (#19420)
      + Expose PackageSpecificationInfo provider as a top level symbol (#19422)
      + Revert "Report remote execution messages as events" (#19415)
      + [6.4] Add --incompatible_disable_objc_library_transition (#19393)
      + Create .bazelversion to address postsubmit timeout issues (#19435)
      + Add `contains` method inside `PackageSpecificationProvider`  (#19425)
      + Wrong include path to Clang 16 on Windows (#19430)
      + Simplify release notes by just printing the first line of the commit … (#19448)
      + Remove PackageGroupConfiguredTarget.isAvailableFor function (#19444)
      + Remove default -s flag from macOS libtool invocation (#19454)
      + Turn off lockfile feature by default (#19462)
      + Take the no-remote-exec tag into account when computing the action salt (#19457)
      + Add `--incompatible_merge_fixed_and_default_shell_env` (#19319)
      + Improve error when a label is provided in `config_setting`'s `values` (#19484)
      + Mark tool inputs in the execution log. (#19483)
      + Add visionOS support (#19436)
      + Intern empty `Depset`s (#19443)
      + Do not allow applicable_licenses on platform. (#19426)
      + Cherry pick Bzlmod fixes (#19494)
      + Optimize classpath pre-processing in java_stub_template.txt (#19491)
      + Add output name to CacheNotFoundException (#19452)
      + feat: add option to exit early if analysis cache is discarded (#19503)
      + Cherry pick platform dependent lockfile (#19498)
      + Print Passed and Failed methods in detailed test summary (#19505)
      + Add formatted timestamp entries to volatile workspace status file. (#19499)
      + Write an explicit line ending to the lockfile (#19519)
      + Only use `/showIncludes` if supported (#19521)
      + Also apply `NestedSet` optimizations to `Depset` (#19492)
      + Add diff_against_dynamic_baseline option to experimental_output_direc… (#19514)
      + Update java_tools to v12.7 (#19522)
      + Advertise CcInfo from cc_proto_library (#19534)
      + Update unknown Xcode version error message and provide an environment variable to force re-evaluation (#19540)
      + Print dep chain leading to a module that is in error (#19543)
      + Show fetch progress for the `mod` command (#19542)
      + Revert "Switch xcode_autoconf to use 'configure = True' (#19174)" (#19550)
      + Explain the use of `str(Label(...))` in the docs (#19554)
      + Add `--consistent_labels` flag to all query commands (#19567)
      + Inject builtin modules at the end of the MODULE.bazel file (#19573)
      + Disable bzlmod_query_test for RBE build (#19585)
      + Clear runfiles environment variables for `bazel run` (#19606)
      + cc_library: propagate data dependencies via implementation_deps. (#19590)
      + Error on potential unsupported `/showIncludes` lines (#19611)
      + Use case-insensitive comparison for Windows paths in `runfiles.bash`  (#19626)
      + Show test labels in summaries in display form (#19625)
      + Remove stale extension entries from lockfile (#19683)
      + Keep leading zero in formatted date (#19694)
      + Bzlmod lockfile: fix pretty printing for attributes  (#19691)
      + MODULE.bazel.lock file contains user specific paths (#19698)
      + Consider RCs equivalent to release for `bazel_compatibility` (#19689)
      + Use `Label` in `@bazel_tools//tools/jdk` macros (#19675)
      + Remove stale extension entries from lockfile if module order changes (#19730)
      + Update rules_java 5.5.1 (#19701)
      + Fix Java compilation for jdk21 (#19735)
      + Fix output materialized as symlink when building without the bytes. (#19739)
      + Make lockfile's `RepoSpec` attributes more readable (#19748)
      + Merge rule and aspect validation output groups (#19745)
      + Fix handling of non-ASCII characters in archive entry file names (#19765)
      + Raise an early error on invalid labels in transitions inputs/outputs (#19764)
      + Handle synthetic method parameters entries that don't have names (#19758)
      + Bazel release process: Fix push justification. (#19768)
      + Flip --experimental_cc_implementation_deps (#19751)
      + Add blake3 NEON instructions on linux arm64 (#19804)
      + Fix crash when `environ` contains duplicate entries (#19827)
      + Bump c++ standard to c++14 per default (#19794)
      + Collect debug info context from implementation deps (#19836)
      + Fix unconditional Skyframe invalidation with --lockfile_mode=… (#19848)
      
      Acknowledgements:
      
      This release contains contributions from many people at Google, as well as Andreas Herrmann, bazel.build machine account, Brentley Jones, buildbreaker2021, Chirag Ramani, David Ostrovsky, Ed Schouten, Fabian Meumertzheim, George Gensure, Greg, John Laxson, Julio Merino, Keith Smiley, Matt Mackay, Mauricio G, NelsonLi0701, nglevin, Nicholas Junge, oquenchil, Orion Hodson, Roman Salvador, Ted Kaplan, Thi Doan, Thi Don, Tyler Williams, Xùdōng Yáng.
      844c1d63
  6. Oct 07, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230926.1 (2023-10-06) · 1e02f45c
      Bazel Release System authored
      Baseline: ea4ab7d8
      
      Cherry picks:
      
         + 3453d035:
           Keep leading zero in formatted date
         + 8893f2ee:
           Bazel release process: Fix broken "git push" by setting direct
           push justification.
         + 3f8e0964:
           Bazel release process: Fix push justification. (#19754)
         + 95296e81:
           Release 7.0.0-pre.20230926.1 (2023-10-06)
         + fbcc4876:
           Release 7.0.0-pre.20230926.1 (2023-10-06)
         + 3f9dc1c7:
           Release 7.0.0-pre.20230926.1 (2023-10-06)
         + f46bf706:
           Release 7.0.0-pre.20230926.1 (2023-10-06)
      
      This release contains contributions from many people at Google, as well as .
      1e02f45c
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230926.1 (2023-10-06) · d071cf62
      Bazel Release System authored
      Baseline: ea4ab7d8
      
      Cherry picks:
      
         + 3453d035:
           Keep leading zero in formatted date
         + 5b7da83d:
           Bazel release process: Fix broken "git push" by setting direct
           push j… (#19747)
         + 2bf83ab8e58b96df994e59ffbe93d6d28a0f7897:
           Release 7.0.0-pre.20230926.1 (2023-10-06)
         + 0cc1b4e0aa2d3937bd47ca8d7506f4ca88453a26:
           Release 7.0.0-pre.20230926.1 (2023-10-06)
      
      This release contains contributions from many people at Google, as well as .
      d071cf62
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230926.1 (2023-10-05) · 1830d924
      Bazel Release System authored
      Baseline: ea4ab7d8
      
      Cherry picks:
      
         + 3453d035:
           Keep leading zero in formatted date
         + b63af1ec3c09d50e7b96dd496874c98ca2907209:
           Release 7.0.0-pre.20230926.1 (2023-10-05)
         + dc23c2fbc5ae5ef14d59afbedd3e0d29d2ee3d6b:
           Release 7.0.0-pre.20230926.1 (2023-10-05)
      
      Incompatible changes:
      
        - proto_compiler attribute removed from proto_lang_toolchain
          (it was recently introduced, and there is no evidence of use)
        - --experimental_genquery_use_graphless_query is made to be a NO-OP.
      
      Important changes:
      
        - The new `--consistent_labels` option on `query`, `cquery`, and
          `aquery` can be used to force consistent label formatting across
          all output modes that is also compatible with `str(Label(...))`
          in Starlark.
      
      This release contains contributions from many people at Google, as well as Alexander Grund, Fabian Meumertzheim, Joseph Lisee, Patrick Balestra, Son Luong Ngoc, Zheng Wei Tan.
      1830d924
    • Bazel Release System's avatar
      Release (2023-10-05) · 6ed80327
      Bazel Release System authored
      Error: Not a release branch.
      6ed80327
    • Bazel Release System's avatar
      Release (2023-10-05) · 994e61fa
      Bazel Release System authored
      Error: Not a release branch.
      994e61fa
  7. Sep 22, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230917.3 (2023-09-22) · 7a4b5d6a
      Bazel Release System authored
      Baseline: 1cf392ff
      
      Cherry picks:
      
         + 32563ca1:
           [Skymeld] Avoid printing extra WARNINGS for execution failures
           in -k.
         + 19f5e933:
           Automated rollback of commit
           f0641847.
      
      Incompatible changes:
      
        - `cmd_helper` module was removed
        - `ctx.new_file` was removed, `ctx.actions.declare_file` is to be
          used instead.
        - Fails on unknown attributes (even when set to None). See
          https://github.com/bazelbuild/bazel/issues/19403
        - Flip incompatible_enable_cc_toolchain_resolution
          (https://github.com/bazelbuild/bazel/issues/7260)
      
      Important changes:
      
        - Change output paths to consistently start with
          [cpu]-[compilation_mode] along with other cleanups to output path
          generation logic.
        - Compilation actions using the auto-configured MSVC toolchain are
          forced to emit error messages in English if the English language
          pack for Visual Studio is installed.
      
      This release contains contributions from many people at Google, as well as Benjamin Peterson, Boleyn Su, Brentley Jones, Daniel Wagner-Hall, Fabian Meumertzheim, Keith Smiley, Roman Salvador, Timothy Gu.
      7a4b5d6a
  8. Sep 14, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230906.2 (2023-09-14) · 4ddb7390
      Bazel Release System authored
      Baseline: 08070932
      
      Cherry picks:
      
         + 4fb701ad:
           fix forward for
           https://github.com/bazelbuild/bazel/commit/ceddfb1ece1f8ed7ff8155
           8fa1751e6526df031b. Make sure the use the appropriate check for
           alias + feature flag so trimming does not get applied
      
      Incompatible changes:
      
        - --incompatible_merge_fixed_and_default_shell_env is flipped to
          true. See #19317 for details.
        - Fails on unknown attributes (even when set to None)
      
      Important changes:
      
        - Set Android Databinding to v2 and Databinging AndroidX to true
          and remove support for Databinding V1.
        - Added whether or not a FileWrite action's output is executable to
          the aquery results
        - --use_single_jar_apk_builder is removed. It's been a no-op for
          years.
        - JVM options in environment variables JAVA_TOOL_OPTIONS and
          JDK_JAVA_OPTIONS now do not get to the server; use
          --host_jvm_args instead.
        - --remote_download_minimal no longer implies
          --nobuild_runfile_links.
        - attr objects in Starlark now use value equality rather than
          reference
          equality.
      
      This release contains contributions from many people at Google, as well as Benjamin Lee, Benjamin Peterson, Ed Schouten, Fabian Meumertzheim, Keith Smiley, Letu Ren, Mauricio Galindo, Mauricio G, Orion Hodson, Shaygan Hooshyari.
      4ddb7390
  9. Aug 31, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230823.4 (2023-08-30) · d6f6bd2d
      Bazel Release System authored
      Baseline: d55c11b6
      
      Cherry picks:
      
         + 34c5ef22:
           make sure IdempotencyChecker use the correct rule transition and
           remove redundant computeTransition calls.
         + 32d018ea:
           Make targets in analysis completed events visible.
      
      Incompatible changes:
      
        - The --apple_compiler command line option is not available anymore.
        - py_transitions top-level was removed.
      
      Important changes:
      
        - Android resources will no longer propagate through neverlinked
          libraries by default.
      
      This release contains contributions from many people at Google, as well as Alex Eagle, arun.sampathkumar, Benjamin Lee, Fabian Meumertzheim, Gunnar Wagenknecht, Julio Merino, Keith Smiley, Nicholas Junge.
      d6f6bd2d
  10. Aug 25, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230816.3 (2023-08-25) · fa2364a7
      Bazel Release System authored
      Baseline: 27aacccc
      
      Cherry picks:
      
         + baace69c:
           Automated rollback of commit
           37268de7.
      
      Incompatible changes:
      
        - The --android_include_proguard_location_references flag is not
          supported anymore.
        - The --apple_compiler command line option is not available anymore.
        - --no_proguard_location_reference is now added unconditionally to
          the command line of aapt2.
        - The command line flag --apple_enable_auto_dsym_dbg is not
          supported anymore.
      
      Important changes:
      
        - `rule()` and `attr.*` can no longer be (pointlessly) called
          during WORKSPACE evaluation and repository rule evaluation.
        - Expands baseline profile wildcards before optimizer tools see
          them.
      
      This release contains contributions from many people at Google, as well as Chirag Ramani, Fabian Meumertzheim, Keith Smiley, nglevin, Tyler Williams.
      fa2364a7
  11. Aug 23, 2023
  12. Aug 08, 2023
    • Bazel Release System's avatar
      Release 6.3.2 (2023-08-08) · 5c7341f1
      Bazel Release System authored
      Baseline:  283ed362
      
      Release Notes:
      
      + Ensure that extension unique names followed by `~` are prefix-free (#19167)
      + Lockfile updates & fixes (#19153) (#19175)
      + Empty commit to try to fix CI issue (#19177)
      
      Acknowledgements:
      
      This release contains contributions from many people at Google, as well as bazel.build machine account, Fabian Meumertzheim.
      5c7341f1
  13. Aug 07, 2023
  14. Aug 01, 2023
    • Bazel Release System's avatar
      Release 6.3.1 (2023-07-31) · aef8d9d2
      Bazel Release System authored
      Baseline:  0f231ac8
      
      Release Notes:
      
      + Mark isolated extension usages as experimental (#19050)
      + Fix a bug where frozen targets list was mutated while expanding env attribute (#19052)
      + Add documentation for --experimental_isolated_extension_usage (#19071)
      + Advertise CcInfo from cc_import (#19086)
      + Create .bazelversion to address postsubmit issues (#19089)
      + Update java_tools version to 12.6 (#19091)
      + Disable lockfiles by default (#19106)
      
      Acknowledgements:
      
      This release contains contributions from many people at Google, as well as Brentley Jones, Fabian Meumertzheim, oquenchil, Xùdōng Yáng.
      aef8d9d2
  15. Jul 28, 2023
  16. Jul 25, 2023
    • Bazel Release System's avatar
      Release 6.3.0 (2023-07-24) · f48c0f65
      Bazel Release System authored
      Baseline:  758b44da
      
      Release Notes:
      
      + Automatic code cleanup. (#18417)
      + Update CODEOWNERS for 6.3.0 (#18369)
      + Overrides specified by non-root modules no longer cause an error, and are silently ignored instead. They were originally treated as an error to allow for the future possibility of overrides in the transitive dependency graph working together; but we've deemed that infeasible (and even if it was, it'd be so complicated and confusing to users that it would not be a good addition). (#18388)
      + Add implementation deps support for Objective-C (#18372)
      + Update release notes scripts (#18400)
      + Prevent CredentialHelperEnvironment crash when invoking Bazel outside of a workspace. (#18430)
      + Use wall-time for credential helper invalidation (#18413)
      + blaze_util_posix: handle killpg failures (#18403)
      + Pass version to java_runtimes created by local_java_repository (#18415)
      + Add jsonproto option to query --output flag (#18438)
      + Don't eagerly flatten a `NestedSet` in `RepoMappingManifestAction` (#18419)
      + rules_go & rules_python are failing in Downstream CI with Bazel@HEAD (#18447)
      + Move credential helper setup into remote_helpers.sh so it can be reused by other shell tests. (#18453)
      + Wire credential helper to repository fetching. (#18429)
      + Updates/fixes to relnotes script (#18470)
      + Report percentual download progress in repository rules (#18471)
      + Support remote symlink outputs when building without the bytes. (#18476)
      + Enrich local BEP upload errors with file path and digest possible. (#18481)
      + Set `GTEST_SHARD_STATUS_FILE` in test setup (#18482)
      + Fix relnotes script (#18491)
      + Fix Xcode 14.3 compatibility (#18490)
      + Fix https://github.com/bazelbuild/bazel/issues/18493. (#18514)
      + Extend the credential helper default timeout to 10s. (#18527)
      + Fix formatting of release notes (#18534)
      + Use extension rather than local names in ModuleExtensionMetadata (#18536)
      + [credentialhelper] Ignore all errors when writing stdin (#18540)
      + Improve error on invalid `-//foo` and `-@repo//foo` options (#18516)
      + Implement failure circuit breaker (#18541)
      + Actually check `TEST_SHARD_STATUS_FILE` has been touched (#18418)
      + Ignore hash string casing (#18414)
      + Error if repository name isn't supplied (#18425)
      + Track repo rule label attributes after the first non-existent one (#18412)
      + Add ServerCapabilities into RemoteExecutionClient (#18442)
      + RemoteExecutionService: support output_symlinks in ActionResult (#18441)
      + RemoteExecutionService: Action.Command to set output_paths (#18440)
      + Use local_termination_grace_seconds when testing LinuxSandbox availability (#18568)
      + Fix dangling string literal in `extension_metadata` docs (#18598)
      + Include actual MODULE.bazel location in stack traces (#18612)
      + Make cpp file extensions case sensitive again (#18552)
      + Fix error when script is run after the final tag is created. (#18638)
      + Fix WORKSPACE toolchain resolution with `--enable_bzlmod` (#18649)
      + Add `ActionExecutionMetadata` as a parameter to `ActionInputPrefetcher#prefetchFiles`. (#18656)
      + Use failure_rate instead of failure count for circuit breaker  (#18559)
      + Update ignored_error logic for circuit_breaker (#18662)
      + Don't rewind the build if invocation id stays the same (#18670)
      + Fix potential memory leak in UI (#18659)
      + Test that a credential helper can supply credentials for bzlmod. (#18663)
      + Add flag --experimental_collect_code_coverage_for_generated_files. (#18664)
      + Options specified on the pseudo-command `common` in `.rc` files are now ignored by commands that do not support them as long as they are valid options for *any* Bazel command. Previously, commands that did not support all options given for `common` would fail to run. These previous semantics of `common` are now available via the new `always` pseudo-command. Closes #18130. (#18609)
      + Fix split post-processing of LLVM-based coverage (#18737)
      + Allow module extension usages to be isolated (#18727)
      + BEGIN_PUBLIC (#18729)
      + Declare credential helpers to be a stable feature. (#18752)
      + Add a new provider for injecting native libs in android_binary (#18753)
      + Properly handle invalid credential files (#18779)
      + The REPO.bazel and MODULE.bazel files are now also considered workspace boundary markers. (#18787)
      + Report remote execution messages as events (#18780)
      + Fail on isolated extension usages without imports (#18793)
      + Add changes to cc_shared_library from head to 6.3 (#18606)
      + Remove option to disable FJP. (#18791)
      + Update to latest turbine version (#18803)
      + None. None (#18808)
      + Wait for outputs downloads before emitting local BEP events that reference these outputs. (#18815)
      + Perform builtins injection for WORKSPACE-loaded bzl files. (#18819)
      + Fix non-declared symlink issue for local actions when BwoB. (#18817)
      + Make grep_includes optional inside cc_common.register_linkstamp_compile_action (#18823)
      + add feature on windows toolchain with right tag (#18654)
      + coverage_common.instrumented_files_info now has a metadata_files argument (#18838)
      + Download directory output for test actions (#18846)
      + Teach DexMapper to not separate synthetic classes from their context … (#18853)
      + **[Incompatible]** query --output=proto --order_output=deps now returns targets in topological order (previously there was no ordering). (#18870)
      + Revert "Don't eagerly flatten a `NestedSet` in `RepoMappingManifestAction` (#18419)" (#18886)
      + Additional source inputs can now be specified for compilation in cc_library targets using the additional_compiler_inputs attribute, and these inputs can be used in the $(location) function. Fixes #18766. (#18882)
      + Open-source Google test `ConvenienceSymlinkTest` (#18890)
      + Update Error Prone to 2.20.0 (#18885)
      + Check if json.gz files exist, not the gcov version. (#18889)
      + Lockfile updates (#18894)
      + handle exception instead of crashing (#18895)
      + Add a new provider for passing dex related artifacts in android_binary (#18899)
      + Prevent most side effects of yanked modules (#18908)
      + Restore the classic desugar tool in the Bazel 6.3.0 branch so that the Bazel Android tools can be built for 6.3.0 without breaking backwards compatibility (#18909)
      + Update java_tools to v12.5 (#18868)
      + Add ActionCacheStatistics to BEP (#18914)
      + Adjust --top_level_targets_for_symlinks (#18916)
      + Track dev/non-dev `use_extension` calls (#18918)
      + Overrides specified by non-root modules no longer cause an error, and are silently ignored instead. They were originally treated as an error to allow for the future possibility of overrides in the transitive dependency graph working together; but we've deemed that infeasible (and even if it was, it'd be so complicated and confusing to users that it would not be a good addition). (#18921)
      + Rollforward of https://github.com/bazelbuild/bazel/commit/482d2be27ab… (#18773)
      + Update Android tools to 0.27.2 for fixes to DexMapper for https://gith... (#18891)
      + Report dev/non-dev deps imported via non-dev/dev usages (#18922)
      + Add reverted 'isolate' changes (#18928)
      + Identify isolated extensions by exported name (#18923)
      + test-setup.sh: Attempt to raise the original signal once more (#18932)
      + Ignore broken classic desugar tests (#18933)
      + Disable UseCorrectAssertInTests by default (#18948)
      + Fix VS 2022 autodetection (#18960)
      + Fix absolute file paths showing up in lockfiles (#18993)
      + Add support for isolated extension usages to the lockfile (#19008)
      
      Acknowledgements:
      
      This release contains contributions from many people at Google, as well as amishra-u, Andreas Herrmann, Andy Hamon, andyrinne12, Benjamin Lee, Benjamin Peterson, Brentley Jones, Chirag Ramani, Christopher Rydell, Daniel Wagner-Hall, Ed Schouten, Fabian Brandstetter, Fabian Meumertzheim, Greg, Ivan Golub, Jon Landis, JY Lin, Kai Zhang, Keith Smiley, kotlaja, lripoche, oquenchil, Pavan Singh, Rasrack, Son Luong Ngoc, Takeo Sawada, Vertexwahn, Xùdōng Yáng, Yannic.
      f48c0f65
  17. Jul 12, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230628.2 (2023-07-12) · 22a5d6df
      Bazel Release System authored
      Baseline: 604a9ef6
      
      Cherry picks:
      
         + 15c412eb:
           Automated rollback of commit
           52dbdc7a.
         + 990d97e5:
           Automated rollback of commit
           0bda661e.
         + 6c393ec5:
           Add temporary rules_go bazel_dep to restore CI
      
      Incompatible changes:
      
        - Loading `.bzl` files under `@bazel_tools//tools/jdk` in WORKSPACE
          now requires `rules_java` to be defined in advance.
        - cc_binary targets with dynamic_deps attributes no longer link
          indirect dynamic_deps on Unix. This might be an incompatible
          change if you are using RUNPATHs (instead of RPATHs) in your
          cc_shared_libraries. Enable the feature
          "exclude_bazel_rpaths_in_transitive_libs" or
          "use_rpath_instead_of_runpath" for those cc_shared_libraries.
      
      Important changes:
      
        - Add aquery --output=streamed_proto which writes a stream of
          length delimited ActionGraphContainer containing a single
          Artifact, Action, Target, DepSetOfFiles, Configuration,
          AspectDescriptor, RuleClass, PathFragment proto. This breaks up
          the ActionGraphContainer into multiple which will prevent large
          protos from crashing blaze.
        - (BEP) TargetConfigured events will be marked aborted instead
          of published when there is an analysis error. This is motivated
          by a
          low level Blaze change aimed at improving scalability.
        - Add flag --experimental_collect_code_coverage_for_generated_files.
        - Added a new output format for cquery --output=streamed_proto that
          writes multiple length-delimited CqueryResult protos, each
          containing a single ConfiguredTarget or Configuration. This
          allows us to "bypass" the hard limit of 2GB on the size of
          protocol buffers by splitting it up into multiple.
        - Enable starlark_doc_extract - a native rule for Starlark
          documentation
          extraction. This rule is intended mainly for internal use by
          Stardoc.
      
      This release contains contributions from many people at Google, as well as Anshuman Mishra, Benjamin Peterson, Benjamin Peterson, Daniel Wagner-Hall, Fabian Meumertzheim, Jay Conrod, Maksim, Rasrack, Sam Shadwell, Son Luong Ngoc, Takeo Sawada, Tyler Williams, Xavier Bonaventura, Yannic, Yuval Kaplan.
      22a5d6df
  18. Jun 10, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230530.3 (2023-06-09) · 06992d2d
      Bazel Release System authored
      Baseline: 67446d62
      
      Cherry picks:
      
         + 4344a035:
           Automated rollback of commit
           00a4fefe.
      
      Incompatible changes:
      
        - `--incompatible_check_sharding_support` is enabled by default.
          Sharded tests with test runners that do not properly advertise
          support for test sharding will fail. Refer to
          https://github.com/bazelbuild/bazel/issues/18339 for migration
          advice.
      
      Important changes:
      
        - Options specified on the pseudo-command `common` in `.rc` files
          are now ignored by commands that do not support them as long as
          they are valid options for *any* Bazel command. Previously,
          commands that did not support all options given for `common`
          would fail to run. These previous semantics of `common` are now
          available via the new `always` pseudo-command.
        - the 'default' param of json.decode can now be used as a keyword
          parameter.
        - As a transitional step in a larger refactoring, rule transitions
          are applied twice. Once during dependency resolution and once
          right before
          analysis of those rules. After the refactoring is complete, rule
          transitions
          will be applied only once.
      
      This release contains contributions from many people at Google, as well as Fabian Meumertzheim, Jimm chja20, Keith Smiley.
      06992d2d
  19. Jun 06, 2023
  20. Jun 03, 2023
  21. May 26, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230517.4 (2023-05-26) · 20c2ed05
      Bazel Release System authored
      Baseline: 267ac1f1
      
      Cherry picks:
      
         + 98d5d5f6:
           Download outputs that were not downloaded during spawn execution
           in `finalizeAction`.
         + 02853f88:
           Fix non-determinism in the `FailureDetail` produced for a
           package with multiple label crosses subpackage boundary errors.
      
      Incompatible changes:
      
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - Bazel no longer increases the delay between progress updates when
          there is no cursor control.
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - the --experimental_async_execution flag is now a no-op.
        - --experimental_replay_action_out_err is not a no-op.
        - `cquery --output=files` also outputs source files.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_always_include_files_in_data` is flipped to true.
          See https://github.com/bazelbuild/bazel/issues/16654 for details.
        - This changes the behavior of Python version in exec/host
          configuration. Mitigation is to set Python version on the targets.
        - When multiple --deleted_packages options are passed on the
          command line, they will be concatenated instead of the latest one
          taking effect.
        - This has the side effect of changing the message on unsuccessful
          builds from
        - JSON profile: Use doubles instead of strings for counter series.
        - query --output=proto --order_output=deps now returns targets in
          topological order (previously there was no ordering).
        - --experimental_build_transitive_python_runfiles is flipped to
          false. See #16303 for details
        - --incompatible_python_disable_py2 is flipped to true. See #17293
          for details.
        - When remote cache evicts blobs, Bazel will exit with code 39.
        - `--features` only applies to targets built in the target
          configuration, and `--host_features` is used for the host / exec
          configuration (gated behind `--incompatible_use_host_features`)
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - Bazel's local CPU resource on Linux is now container aware. Use
          `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to
          override.
        - `copy_from_rule` is exec_groups is deprecated
          (https://github.com/bazelbuild/bazel/issues/17668).
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - `--experimental_execution_graph_log` no longer exists. Current
          users that want local logs need to pass
          `--experimental_enable_execution_graph_log
          --experimental_execution_graph_log_path=/some/local/path`.
          Current users that want logs uploaded to BEP need to pass
          `--experimental_enable_execution_graph_log
          --experimental_stream_log_file_uploads`.
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - Remove high priority workers functionality from blaze.
        - Renamed PackageMetrics proto message to PackageLoadMetrics. The
          formats should be wire compatible.
      
      New features:
      
        - The `aquery` and `cquery` commands now respect the
          `--query_file` flag just like the `query` command.
        - --experimental_repository_disable_download is now promoted to
          stable and is also available under the name
          --repository_disable_download .
      
      Important changes:
      
        - The new path variable `$(rlocationpath ...)` and its plural form
          `$(rlocationpaths ...)` can be used to expand labels to the paths
          accepted by the `Rlocation` function of runfiles libraries. This
          is the preferred way to access data dependencies at runtime and
          works on all platforms, even when runfiles are not enabled (e.g.,
          on Windows by default).
        - Starlark `print()` statements are now emitted iff the line of
          code is executed. They are no longer replayed on subsequent
          invocations unless the Starlark code is re-executed.
          Additionally, multiple identical `print()` statements (same
          string from the same line of code, e.g. from a loop) are all
          emitted and no longer deduplicated.
        - Fixes a bug where some compilation flags would not be applied to
          a cc_test
        - removed outdated ctx.host_fragments
        - removed outdated ctx.host_configuration
        - Now that the host configuration is finished, `genrule` should
          prefer the use of `tools` and stop using `exec_tools`.
        - Added a `native.package_relative_label()` function, which
          converts a label string to a Label object in the context of the
          calling package, in contrast to `Label()`, which does so in the
          context of the current .bzl file. Both functions now also accept
          relative labels such as `:foo`, and are idempotent.
        - Update Android manifest merger to v30.1.3, and also drop support
          for legacy (pre-D8) desugaring.
        - Adds coverage metric support to android_local_test
        - Correctly encode double value positive infinity as "inf" instead
          of "+inf" for textprotos.
        - Add --use_target_platform_for_tests which uses the target
          platform for executing tests instead of the execution platform.
        - Custom C++ rules on Windows calling
          cc_common.create_linking_context_from_compilation_outputs should
          review whether each target of the rule type should produce a
          dynamic library since a condition which blocked their creation
          has been moved to the rules from behind the API.
        - Add flag `--experimental_remote_cache_ttl` and set the default
          value to 3 hours.
        - making --incompatible_use_platforms_repo_for_constraints do
          nothing. Using constraints from @bazel_tools//platforms with or
          without the flag will throw error with message "Constraints from
          @bazel_tools//platforms have been removed. Please use constraints
          from @platforms repository embedded in Bazel, or preferably
          declare dependency on https://github.com/bazelbuild/platforms"
        - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
          couldn't see the Bzlmod root module's mappings when Bzlmod is
          enabled.
        - Subsequent settings of --extra_execution_platforms now override
          previous settings, instead of adding them to a list. If you
          currently set --extra_execution_platforms more than once, please
          migrate by passing a list of values to
          --extra_execution_platforms instead so that earlier values aren't
          overwritten.
        - @bazel_tools//config:common_settings.bzl has been removed.
          Use @bazel_skylib//rules:common_settings.bzl instead.
        - cc_shared_library is no longer experimental, see
          https://github.com/bazelbuild/bazel/issues/16709 for details
        - The flag `--distinct_host_configuration` is removed. It has been
          a no-op since Bazel 6.0.0.
        - Added `native.module_name()` and `native.module_version()` to
          allow BUILD macro authors to acquire information about which
          Bazel module the current repo is associated with.
        - Add `--skip_incompatible_explicit_targets` option
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - cc_test can now be configured by using a native.toolchain().
        - `@foo` labels can now be used on the command line as the
          top-level target (that is, `bazel build @foo` now works).
          Double-dot syntax is now forbidden (`bazel build ../foo` will no
          longer work).
        - The location of rules that explicitly specify `generator_name`
          and/or `generator_function` attributes (typically because they
          are incidentally copied from `native.existing_rule()`) is now the
          top-level call in the `BUILD` file, which is consistent with
          rules that do not explicitly specify these attributes.
        - Warnings (most notably those associated with the `deprecation`
          rule attribute) are no longer replayed on subsequent invocations
          unless the target in question is re-analyzed. Warnings are purely
          informational, so this change has no bearing on the correctness
          of the build. Downstream tests that break due to this change
          should update their expectations.
        - `--experimental_remote_build_event_upload` has been renamed to
          `--remote_build_event_upload`
        - [Breaking change] platform, constraint_setting, and
          constraint_value can no longer take an applicable_licenses value.
          Remediation is to remove the attribute and rely on the package
          level default.
        - `--experimental_action_cache_store_output_metadata` has been
          renamed to `--action_cache_store_output_metadata`
        - Changed the default value for `--remote_build_event_upload` to
          `minimal`.
        - `--experimental_remote_cache_compression` has been renamed to
          `--remote_cache_compression`
        - The REPO.bazel and MODULE.bazel files are now also considered
          workspace boundary markers.
        - Added a new `max_compatibility_level` attribute to the
          `bazel_dep` directive, which allows version selection to upgrade
          a dependency up to the specified compatibility level.
        - `--experimental_remote_grpc_log` has been renamed to
          `--remote_grpc_log`
        - `--incompatible_remote_build_event_upload_respect_no_cache` is
          now a no-op.
        - json.decode now takes an optional `default` positional parameter;
          if this parameter is specified and decoding fails, json.decode
          will return
          the `default` value instead of failing Starlark evaluation.
        - Overrides specified by non-root modules no longer cause an error,
          and are silently ignored instead. They were originally treated as
          an error to allow for the future possibility of overrides in the
          transitive dependency graph working together; but we've deemed
          that infeasible (and even if it was, it'd be so complicated and
          confusing to users that it would not be a good addition).
        - `applicable_licenses` is no longer allowed on the `platform` rule.
          Additionally, `default_package_metadata` from any `package` rule
          will not be applied.
      
      This release contains contributions from many people at Google, as well as Adam Lavin, Alessandro Patti, Alex Eagle, AlexTereshenkov, Amanda L Martin, Andreas Herrmann, Andy Hamon, Ankit Agarwal, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Brentley Jones, Cameron Martin, Chirag Ramani, Chirag Ramani, Chris Sauer, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, David Ostrovsky, Dimi Shahbaz, eareilg, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, George Gensure, Greg, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, Ivan Golub, Jack Dai, James Ma, Jasper, Jeff Hodges, Jeremy Volkman, Joel Jeske, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Joseph Tilahun, Julio Merino, Kai Zhang, keertk, Keith Smiley, Konstantin Erman, Krzysztof Naglik, kshyanashree, Kun-Lu, Lee Mracek, lripoche, Malte Poll, Marc Redemske, Marc Zych, Matt Mackay, Mauricio Galindo, Maxwell Elliott, mohamadk, nathyong, Nick Korostelev, Oliver Lee, Oscar Garzon, Patrick Balestra, Patrick Balestra, Philipp Schrader, Red Daly, redwrasse, robincaloudis, Robin Tweedie, Roger Hu, Sagar Pathare, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stiopa Koltsov, stoozy, Sushain Cherivirala, tbaing, Ted Kaplan, Ted Kaplan, Ted Logan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng, yuzhy8701.
      20c2ed05
  22. May 10, 2023
    • Bazel Release System's avatar
      Release 6.2.0 (2023-05-09) · 76ef9e90
      Bazel Release System authored
      Baseline: d60ce2c7
      
      Cherry picks:
      
         + 490f8bad:
           kshyanashree is the release manager of 6.0.0
         + 4e66d934:
           Automated rollback of commit
           2a289091.
         + 48a8d01b:
           Allow C/C++ coverage collection for external targets
         + ec7be346:
           Temporarily set parent directory of the input to writable if it
           is not.
         + b0984342:
           Infer CPUs for tvOS and watchOS when on Apple Silicon
         + 5cea7dda:
           Improve the documentation for ctx.actions.symlink.
         + a82d26f1:
           Add quotes to "Tip"
         + 75b0f3aa:
           Write a repo mapping manifest in the runfiles directory (#16555)
         + 07c5c1aa:
           Ensure repository names don't start with `~`
         + 30f6c823:
           Escape tilde more gracefully
         + cf3f48ca:
           Relax `Label` repo visibility validation
         + 4477823e:
           Use "apparent name" instead of "local name" in Bzlmod docs
         + 55f4f483:
           Bazel DevSite: Add required css file.
         + a706994a:
           Remove logic that increases delay between progress updates over
           time
         + 1d514ab0:
           Remove references to io_bazel repository
         + b0357bd3:
           Relnotes python script
         + 8f956511:
           Allow Java coverage collection for external targets
         + bddb191d:
           Fix race condition in package-bazel.sh
         + a7578527:
           Decanonicalize labels emitted by {a,c,}query if possible
         + 9d250edb:
           Add uniquify parameter to TemplateDict.add_joined
         + f02bcf8d:
           Fix identical gcov json file name problem
         + a1593309:
           Add `$(rlocationpath(s) ...)` expansion
         + 56f54daf:
           Rollup of SBOM correctness fixes (#16655)
         + 72e6e948:
           [cc] Add cc toolchain to starlark cc_proto_library (#16661)
         + 8f285138:
           Make C++ runfiles library repo mapping aware
         + 95f9adc5:
           Always collect FileProvider's filesToBuild as data runfiles
         + 4959d34e:
           fix: export constraints.bzl file from @local_config_platform so
           it can be used in downstream bzl_library targets
         + 4919d4a6:
           Add --host_per_file_copt (#16695)
         + 0a23d469:
           Moving some tests for `RemoteActionFileSystem` of BwoB to a base
           class.
         + 9296068b:
           [remote/downloader] Don't include headers in `FetchBlobRequest`
         + 128d833f:
           [remote] Respect whether the server supports action cache updates
         + 38c50191:
           [remote/downloader] Migrate `Downloader` to take `Credentials`
           (#16732)
         + 5929cb72:
           Stage repository mapping manifest as a root symlink (#16733)
         + 455454a5:
           Expose current repository name to Java with @AutoBazelRepository
         + 97dea593:
           Implement getDirectoryEntries and readdir for
           RemoteActionFileSystem.
         + aa45f5f3:
           Move integration tests for BwoB to a base class and add more
           tests there.
         + 1b073ac0:
           Make Java runfiles library repo mapping aware
         + 148bbb1c:
           Use `_repo_mapping` in C++ runfiles library (#16752)
         + 25558ada:
           Add --experimental_action_cache_store_output_metadata to the
           expansio…
         + 6e945e8a:
           Treat `DEBUG` events as progress-like.
         + 1940c5d6:
           redact 'token' strings from logging
         + 0b645254:
           Make Bash runfiles library repo mapping aware (#16753)
         + 4caae75b:
           Automated rollback of commit
           8f956511.
         + 13ff6d9e:
           Fix Bash rlocation failure with stricter Bash options
         + bd88c7e4:
           Make bazel Android remote deps compatible with bzlmod (#16772)
         + 6f6d4cca:
           Flip `--incompatible_always_include_files_in_data`
         + 94355b1b:
           Add required `--add-opens` server JVM args also with
           non-embedded JDK
         + 8349c95f:
           Also collect clang resource directory with
           `-no-canonical-prefixes`
         + dce6ed77:
           Make `bazel run` works with minimal mode
         + ca8674cc:
           Include source files with `cquery --output=files` (#16826)
         + 9cb5e0a3:
           Fsync before rename after copy in DiskCacheClient
         + 23ffce53:
           Update GetActionResult for disk cache to check referenced files
           when …
         + 0bc0ff52:
           Make Java runfiles library compilable with JDK 8
         + fe169654:
           [6.0.0] Default --incompatible_strict_conflict_checks to true.
           (#16864)
         + 99ca86f7:
           Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
           true. (#16864)" (#16872)
         + 312238f2:
           Make C++ runfiles library build with `-Werror=shadow`
         + 2baa5a42:
           Keep credentials cached across build commands.
         + 8818a57f:
           [6.0.0] Only inject metadata for outputs that cannot be
           reconstructed by skyf… (#16879)
         + 31e4bf40:
           Update java_tools v11.9
         + cd406660:
           replace _get_canonical_form(label) with str(label)
         + e2bc2374:
           Avoid exceptions from hermetic sandbox for unsupported artifact
           subclasses
         + b564d145:
           Remove warnings about ignored starlark options
         + 7ccc6610:
           [6.0.0] Emit Tree objects in topological order (#16904)
         + 86dee6d2:
           Correctly match regex with tree artifact
         + 14925b57:
           Always use target's attributes to set Python version (#16959)
         + a247502d:
           Add 'toolchain' parameter to actions.{run,run_shell}
         + 497b7e40:
           Fix Bash `runfiles_current_repository` with RBE
         + 0a2c4edb:
           Fix corner cases in Bash runfiles library
         + 33b514b2:
           Fix runfiles creation with MANIFEST when building without the
           bytes
         + 3a13af41:
           Remove LCOV merger dependency of `cc_test` without coverage
           (#17004)
         + 25ba76c1:
           Include full tree artifact in inputs when prefetcher doesn't
           support partial tree artifacts.
         + 06deebfb:
           Release 6.0.0 (2022-12-19)
         + c2bfb2e9:
           Enable git_submodules tests and merge git_repository and
           starlark_git_repository (#17247)
         + e8182ce3:
           have 'bazel test' non-test targets depend on
           --remote_download_output
         + c3245cd0:
           Add `SpellChecker` suggestions for common Bzlmod errors
         + 8ec87434:
           Use xcrun to invoke install_name_tool
         + 2b2bea4e:
           Extra resources
         + 5b4de12b:
           Do not clear `--platforms` on no-op change to `--cpu`
         + db3c0130:
           Report `AspectCreationException` to the user
         + 53e9fea3:
           Use long executable path instead of `argv[0]` in all launchers
         + abae5ca3:
           Add sanitizer features to unix_cc_toolchain_config
         + db684196:
           Allow `map_each` to return `None` in `TemplateDict#add_joined`
         + 66b58ee9:
           Always emit trailing zero in human-readable download progress
         + 17b8e448:
           Upload all logs in BEP even with minimal upload
         + 28d2daae:
           Set `--experimental_action_listeners` to default in `exec` config
         + 16427c90:
           Do not count tests as failed that have not started
         + 094a0aab:
           Accept tildes in --override_module
         + 5f2866f8:
           Do the AC integrity check for disk part of the combined cache.
         + cd10d508:
           Fix `--nozip_undeclared_test_outputs` on Windows
         + 073f54b9:
           Allow pyd in extensions of dynamic libraries
         + ac504cbb:
           Register JavaCompileActionContext in Bazel.
         + f090433f:
           Rollback #14510 because it causes remote test execution to fail
         + 942dddaa:
           Prepare backwards compatible usage of optional C++ toolchain
         + 88b51f57:
           Emit LLVM coverage for source file paths with a `tmp` segment
         + bb0b8862:
           Enable archive_param_file feature by default for Windows
         + baf97c00:
           Allow `TemplateDict#map_each` callback to return a list of
           strings (#17306)
         + fcb00774:
           Only try to create groups of test actions in the ui.
         + 3c47b471:
           Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
         + 1da8a825:
           Add -dead_strip in default opt link flags for darwin
         + b0c5eb30:
           Dont query remote cache but always use bytestream protocol
         + 00e9af19:
           Allow Java coverage collection for external targets.
         + dd24a002:
           Test and fix root symlink edge case in runfiles library
         + af97d983:
           [6.1.0] Fix broken CI (#17422)
         + b8595718:
           Add `native.package_relative_label` function
         + 82168d44:
           Make Bazel more responsive and use less memory when --jobs is
           high (#17398)
         + 84c1ed43:
           Multiplex worker fixes and tests for Android busybox tools
           (#17371)
         + 07590818:
           Improve error message for concurrent modifications (#17396)
         + 27bc896f:
           [6.1.0] Make bazel coverage work with minimal mode (#17397)
         + 544b8164:
           [6.1.0] Fix cc_binary bug related to cc_shared_library on
           Windows and prepare for future removal of
           --experimental_cc_shared_library flag (#17445)
         + 9a7aa21c:
           Fix Bash `runfiles_current_repository` for tools
         + 911eedc0:
           Fix label unambiguous canonical form to correctly report
           non-visible repo names
         + e132653e:
           Remove O1 from sanitizer feature flag defaults
         + ba9e2f8f:
           Remove usage of gRPC Context cancellation in the remote
           execution client.
         + de03a236:
           Allow -v to libtool
         + 4e35c02c:
           Prettify labels in action progress messages with Bzlmod (#17278)
         + 1be0ac3e:
           Expand tree outputs before eagerly prefetching them for local
           actions. (#17494)
         + c2666510:
           Fix Java coverage collection with Java 8 runtime
         + 1a6ffe6d:
           Add a flag to disable execution log sorting.
         + fbec8e2a:
           Reduce flakiness on Windows for BwoB tests
         + 420659a9:
           Make AutoBazelRepositoryProcessor compatible with Java 8
         + dde6d20b:
           Do not recommend `shallow_since` for `git_repository`
         + f76fc616:
           Allow the timeout value for execute calls on a mac to be set via
           an environment variable
         + 773d232f:
           Fix RPATHs for cc toolchain solib when sibling layout is used
         + 5932b3b8:
           [6.1.0] Add --host_features (#17528)
         + a0fa77cc:
           Exit with code 39 if remote cache evicted blobs that Bazel need
           during an invocation (#17496)
         + 1a438b41:
           Only fetch @remote_coverage_tools when collecting coverage
           (#17512)
         + ee1daaf9:
           [6.1.0]Only fetch @remote_coverage_tools when collecting
           coverage (#17287)
         + 350e3295:
           [6.1.0]Fix symlink file creation overhead (#17488)
         + 5406c953:
           [6.1.0] Cleanup stale state when remote cache evicted (#17538)
         + 2d1b570e:
           Bump version number in runfiles.bash init code
         + 3ab8a0a5:
           [6.1.0]Let `aquery` print effective environment for all
           `CommandAction`s (#17274)
         + 51e6c38a:
           Properly report repo fetch progress during main repo mapping
           computation
         + 744108e8:
           [docs] Update migrating to Xcode tutorial (#17563)
         + 9dc7a7e6:
           Update //third_party:jsr305 (#17557)
         + 43dadb27:
           Bump minimum supported macOS versions to 10.13
         + 7d9d23c1:
           Correctly set default subprocess factory when loading class
           `SubprocessBuilder`.
         + 77f82f4f:
           Add an --incompatible_strict_conflict_checks alias for
           --experimental_strict_conflict_checks.
         + e05345de:
           Add support for wrapping system streams in WorkRequestHandler
         + 68e1924c:
           Also handle remote cache eviction for tree artifacts. (#17601)
         + 4a6d056a:
           Add host transition to lcov_merger in Java version of py_test
         + 546e9e29:
           Fix Bazel 6.0 crash regression (#17613)
         + 7e328bb7:
           Include Bazel version information in profile metadata. (#17616)
         + aafe1235:
           [6.1.0] Handle remote cache eviction when uploading inputs for
           remote actions. (#17605)
         + 938e3482:
           [6.1.0] Rerun the artifact conflict check when
           --incompatible_strict_conflict_checks changes. (#17592)
         + 034a2815:
           Report background download for BwoB (#17619)
         + 5afbce52:
           [6.1.0] Flag for writable outputs (experimental) (#17617)
         + d4105e65:
           [6.1.0] Allow .wasm cc executable and dynamic library extension
           (#17440)
         + a306f4f7:
           make desugar dependencies deterministic
         + 37953c56:
           Apply exec transition to lcov_merger in sh_test and cc_test
         + 1d73d72a:
           [6.1.0]Fix --host_features with multiple transitions (#17641)
         + 755cd4bc:
           Release 6.1.0 (2023-03-06)
         + 885ae7ef:
           Revert "Add -dead_strip in default opt link flags for darwin
           (#17312)" (#17696)
         + 94c519bc:
           Skip empty directories instead of throwing in prefetcher.
           (#17718)
         + 60749d53:
           [6.2.0] Remove actionId from RemoteFileArtifactValue. (#17724)
         + 52deefe5:
           Correctly handle templated tree artifacts in the prefetcher.
         + 10587b1b:
           Silence setlocale warnings in Java stub
         + 3ad39277:
           Force the Bazel server Java runtime to use the root locale
         + 7c235ff1:
           [credentialhelper] Ignore failing to provide request
         + daa3dbe2:
           [remote] upload: treat `ALREADY_EXISTS` as success
         + e0cdaced:
           Fix data race in prefetcher.
         + c9e3eeb2:
           [6.2.0] Update java_tools v11.12 (#17761)
         + 6c893034:
           python: Remove temporary module space created for zip-based
           binaries (#17764)
         + b874e5fd:
           [6.2.0]Add test coverage support to android_local_test (#17467)
         + 6fc9bedb:
           Fix wasm dynamic library extension crash (#17765)
         + 38ece3c0:
           Handle `SIGWINCH` under `bazel run //some:test` (i.e. test
           rules) correctly.
         + 49a95023:
           Clear all remote metadata if any of them are evicted from remote
           cache
         + 8fab22e6:
           Include build-tools/X.Y.Z/{lib,lib64}/** in the minimal set of
           SDK files used by the Android integration tests.
         + 3a7236be:
           Allow WORKSPACE and WORKSPACE-loaded .bzl files to see Bzlmod
           root module's mappings (#17818)
         + a87b8e0b:
           [6.2.0]Add support for alias targets to cquery's `providers`
           (#17786)
         + ee32efff:
           [6.2.0] Allows --query_file to be used for cquery and aquery
           too. (#17823)
         + cfef67da:
           Fix seeking of empty chunkers.
         + 50ec6bbf:
           Rework ByteStreamUploader early return logic.
         + 745ca288:
           Suggest alternatives for typoed rule attribute names
         + 8548e202:
           Relax JSON parser, ensure duplicate keys are overridden
         + c04f0d41:
           Use less subshells and `tee`s in running tests with `bazel run`.
         + 8c6d02e0:
           Upgrade Azul JDK 17 archives. (#17852)
         + 3c1c0c09:
           Add suggestions to invalid tag class errors
         + 99b3f386:
           [6.2.0] Add native.module_{name,version} (#17893)
         + f7627e00:
           Support (workspace) relative paths in --override_module closes
           https://github.com/bazelbuild/bazel/issues/17551
         + 109b2901:
           Fail early if `use_extension` has a bad label
         + f63ce797:
           Avoid unnecessary copying when building Merkle trees.
         + 3ea18cc0:
           [6.2.0]Add `module_ctx.is_dev_dependency` (#17934)
         + 2d04c913:
           [6.2.0] Add version to JavaRuntimeInfo (#17913)
         + 2c1a63bc:
           Fix CI breakages for release-6.2.0 (#17969)
         + 788801a8:
           Enable C++ deps pruning on Windows when PARSE_SHOWINCLUDES is
           available.
         + fb4a0c28:
           [6.2.0] TargetPattern parsing fixes (#17945)
         + 70ce8378:
           Add attribute 'provides = [CcInfo]' to '_cc_proto_aspect'
         + 6e188293:
           [6.2.0]Expose cc_proto_aspect as a toplevel symbol. (#17980)
         + 0f55d124:
           Cache Merkle trees for tree artifacts.
         + 6d6fa81e:
           Deduplicate concurrent computations of the same Merkle tree.
         + 1f2b3ed4:
           Patch zlib to fix compatibility with latest Xcode
         + 27e4c624:
           Add exception message to 'failed to create output directory'
         + 40501206:
           Prevent failures creating output directories
         + 1474b5b5:
           Allow multiple matching select branches if they resolve to the
           same value (#18066)
         + 5ddef471:
           Turn applicable_licenses on platform() into a no-op. (#18089)
         + e00509bd:
           Use ctime in file digest cache key (#18105)
         + ca30372e:
           Gracefully handle output symlinks with BwoB
         + a0cb57fd:
           [6.2.0] profile: add profile_finish_ts (#18129)
         + 1a60fad7:
           fix(python): Set envvar for runfiles manifest, not runfiles dir,
           when using a manifest (#18133)
         + 5e9fa396:
           Add attribute validation to IncompatibleTargetChecker. (#18135)
         + 97312f32:
           [6.2.0] Update CODEOWNERS (#18149)
         + 76ad4a9b:
           [6.2.0]Fix worker and multiplex workers for DexBuilder and
           Desugar actions (#17965)
         + 5afb8b61:
           Lockfile cherry picks (#18143)
         + 1940dfb0:
           Automatically retry the build if encountered remote cache
           eviction error (#18171)
         + 755cf95b:
           [6.2.0]Allow remote retry max delay to be user configurable
           (#18061)
         + 6c611108:
           Add `module_ctx.extension_metadata` (#18174)
         + c1fea137:
           Introduce max_compatibility_level for bazel_dep (#18178)
         + f95b80d1:
           Include cause when reporting `ActionExecutionException`
         + 8a41be90:
           Check for the nullness of AspectValue.
         + 27151203:
           Rename `--experimental_remote_grpc_log` to `--remote_grpc_log`
         + e4682f6c:
           [6.2.0] Update java_tools v12.1 (#18197)
         + d94dee2b:
           Construct TreeArtifactValues on multiple threads. (#18194)
         + 519eef48:
           Fix crash on multiple output symlinks with BwoB
         + 2442a2e9:
           [6.2.0] default_java_toolchain.bzl cherry-picks to fix
           regression (#18225)
         + e4f3d4dd:
           Fix message generation of `ActionExecutionException`
         + f39454f0:
           Add `dev_dependency` to
           `register_{execution_platforms,toolchains}`
         + bf188c12:
           Fine tune the number of test jobs running in parallel to avoid
           timeout on Intel macOS platform
         + e0242479:
           Update java_tools v12.2
         + 2dca9823:
           Update java_tools v12.3
      
      Incompatible changes:
      
        - Bazel no longer increases the delay between progress updates when
          there is no cursor control.
        - `--incompatible_always_include_files_in_data` is flipped
          to true. See https://github.com/bazelbuild/bazel/issues/16654 for
          details.
        - `cquery --output=files` also outputs source files.
      
          Closes #16602.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - This changes the behavior of Python version in exec/host
          configuration. Mitigation is to set Python version on the targets.
        - `--features` only applies to targets built in the target
          configuration, and `--host_features` is used for the host / exec
          configuration (gated behind `--incompatible_use_host_features`)
      
          Fixes https://github.com/bazelbuild/bazel/issues/13839
      
      
      
          Closes #16626.
      
      New features:
      
        - The aquery and cquery commands now respect the --query_file flag
          just like the query command.
      
      Important changes:
      
        - The new path variable `$(rlocationpath ...)` and its plural form
          `$(rlocationpaths ...)` can be used to expand labels to the paths
          accepted by the `Rlocation` function of runfiles libraries. This
          is the preferred way to access data dependencies at runtime and
          works on all platforms, even when runfiles are not enabled (e.g.,
          on Windows by default).
      
          Work towards #16124
          Fixes #10923
      
          Closes #16428.
        - Starlark `print()` statements are now emitted iff the line of
          code is executed. They are no longer replayed on subsequent
          invocations unless the Starlark code is re-executed.
          Additionally, multiple identical `print()` statements (same
          string from the same line of code, e.g. from a loop) are all
          emitted and no longer deduplicated.
        - Fixes a bug where some compilation flags would not be applied to
          a cc_test
        - Added a `native.package_relative_label()` function, which
          converts a label string to a Label object in the context of the
          calling package, in contrast to `Label()`, which does so in the
          context of the current .bzl file. Both functions now also accept
          relative labels such as `:foo`, and are idempotent.
        - Adds coverage metric support to android_local_test
        - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
          couldn't see the Bzlmod root module's mappings when Bzlmod is
          enabled.
        - Added `native.module_name()` and `native.module_version()` to
          allow BUILD macro authors to acquire information about which
          Bazel module the current repo is associated with.
        - `@foo` labels can now be used on the command line as the
          top-level target (that is, `bazel build @foo` now works).
          Double-dot syntax is now forbidden (`bazel build ../foo` will no
          longer work).
        - Added preliminary support for a lockfile for Bzlmod. It's
          disabled by default; use `--lockfile_mode=update` to enable it.
          This lockfile contains only Bazel module information; it does not
          involve module extensions.
        - Added a new `max_compatibility_level` attribute to the
          `bazel_dep` directive, which allows version selection to upgrade
          a dependency up to the specified compatibility level.
      
      Co-authored-by: default avatarBrentley Jones <github@brentleyjones.com>
        - `--experimental_remote_grpc_log` has been renamed to
          `--remote_grpc_log`
      
          Closes #18180.
      
      This release contains contributions from many people at Google, as well as Ben Lee, Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Patrick Balestra, Son Luong Ngoc, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
      76ef9e90
  23. May 06, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230502.1 (2023-05-05) · b5ed8366
      Bazel Release System authored
      Baseline: a0cd3553
      
      Important changes:
      
        - json.decode now takes an optional `default` positional parameter;
          if this parameter is specified and decoding fails, json.decode
          will return
          the `default` value instead of failing Starlark evaluation.
      
      This release contains contributions from many people at Google, as well as Benjamin Peterson, David Ostrovsky, eareilg, Fabian Meumertzheim, Son Luong Ngoc.
      b5ed8366
  24. May 04, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230426.1 (2023-05-03) · 6a5b8971
      Bazel Release System authored
      Baseline: dc724e4e
      
      Important changes:
      
        - Added a new `max_compatibility_level` attribute to the
          `bazel_dep` directive, which allows version selection to upgrade
          a dependency up to the specified compatibility level.
        - `--experimental_remote_grpc_log` has been renamed to
          `--remote_grpc_log`
        - `--incompatible_remote_build_event_upload_respect_no_cache` is
          now a no-op.
      
      This release contains contributions from many people at Google, as well as Benjamin Peterson, Brentley Jones, Fabian Meumertzheim, George Gensure, Kai Zhang, Oscar Garzon.
      6a5b8971
  25. Apr 28, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230420.2 (2023-04-27) · 912c1c7a
      Bazel Release System authored
      Baseline: 7fb50baa
      
      Cherry picks:
      
         + 0ebf7bc8:
           Automated rollback of commit
           1acc7a84.
      
      Incompatible changes:
      
        - Renamed PackageMetrics proto message to PackageLoadMetrics. The
          formats should be wire compatible.
      
      This release contains contributions from many people at Google, as well as Ankit Agarwal, Benjamin Peterson, Fabian Meumertzheim, Jasper, Son Luong Ngoc, Xdng Yng.
      912c1c7a
  26. Apr 25, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230417.1 (2023-04-25) · a333dc1e
      Bazel Release System authored
      Baseline: 0a47a1fb
      
      Incompatible changes:
      
        - Removing java_common.javac_jar Starlark call.
        - native.existing_rule now returns select values in a form that is
          accepted by rule instantiation. This is a breaking API change
          because there is some code that relies on the precise type
          returned, including brittle workarounds for this bug specifically
          and insufficiently flexible workarounds for other issues with the
          intersection of select and native.existing_rule.
        - flipped incompatible_use_toolchain_resolution_for_java_rules, see
          #7849
        - Query output=xml/proto/location for source files will now show
          the location of line 1 of the source file (as the new default)
          instead of its location in the BUILD file.
        - Specifying a target pattern underneath a directory specified by
          .bazelignore will now emit a warning, not an error.
        - Query `--order_output=auto` will now sort lexicographically.
          However, when `somepath` is used as a top level function (e.g.
          `query 'somepath(a, b)'`), it will continue to output in
          dependency order. If you do not want the lexicographical output
          ordering, specify another `--order_output` value (`no`, `deps` or
          `full`) based on what ordering you require.
        - In the build event stream,
          BuildMetrics.TargetMetrics.targets_loaded is no longer populated.
          Its value was always mostly meaningless.
          BuildMetrics.TargetMetrics.targets_configured and
          BuildMetrics.ActionSummary.actions_created now include configured
          aspect data.
        - //visibility:legacy_public has been removed.
        - Flip and remove incompatible_dont_collect_so_artifacts
          (https://github.com/bazelbuild/bazel/issues/13043).
        - Remove flag --experimental_no_product_name_out_symlink: it is
          always true.
        - The Starlark method generate_dsym in objc fragment has
          been deleted.  Please use the equivalent apple_generate_dsym in
          cpp
          fragment instead.
        - Native libraries in data attribute are not collected. See
          https://github.com/bazelbuild/bazel/issues/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
          https://github.com/bazelbuild/bazel/issues/13221).
        - Remove --bep_publish_used_heap_size_post_build
        - JSON trace profile: rename counter names.
        - Removed --action_graph from the dump command.
        - Remove `--{experimental_,}json_trace_compression` option.
        - Remove `--experimental_profile_cpu_usage`.
        - flipped --incompatible_java_common_parameters (see #12373)
        - this incompatible change breaks old instances of http_archive
          that specified netrc as an absolute path. It is unlikely there
          are many instances in the wild since the path would refer to a
          netrc file inside the external repository by absolute path.
          Migration should be straightforward.
        - genrule switched to use exec transition instead of host. This can
          break targets with hardcoded output paths. To avoid using
          hardcoded paths use make variables, see
          https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
          defined_label_variables
        - this incompatible change breaks old instances of http_archive
          that specified netrc as an absolute path. It is unlikely there
          are many instances in the wild since...
        - Error Prone now checks for unused return values of additional
          methods on `java.lang.Object`, which can be disabled using
          `--javacopts=-Xep:ReturnValueIgnored:OFF`
        - Error Prone now checks for unused return values of additional
          methods on `java.lang.Object`, which can be disabled using
          `--javacopts=-Xep:ReturnValueIgnored:OFF`
        - The --incompatible_existing_rules_immutable_view flag has been
          flipped to true. See
          https://github.com/bazelbuild/bazel/issues/13907 for
          migration notes.
        - Split up the C++ archive from the C++ link action and set
          `CppArchive` as mnemonic.
        - workspace(managed_directories=) is not available anymore.
        - --legacy_important_outputs now has a default of false.
        - --legacy_important_outputs default reverted to true.
        - objc_library now requires CcInfo in its deps.  If this breaks
          you, add empty CcInfo() to your rule.
        - Flag --experimental_local_memory_estimate removed.
        - Added a new flag
          --incompatible_unambiguous_label_stringification, which causes
          labels in the main repo to stringify into unambiguous forms
          starting with an @. See
          https://github.com/bazelbuild/bazel/issues/15916 for more
          information.
        - analysis_test moved into testing.analysis_test
        - Flip incompatible_enable_cc_toolchain_resolution
          (https://github.com/bazelbuild/bazel/issues/7260)
        - (Rollback) Flip incompatible_enable_cc_toolchain_resolution
          (https://github.com/bazelbuild/bazel/issues/7260)
        - name parameter is removed from rule call
          (https://github.com/bazelbuild/bazel/issues/16301)
        - name parameter is removed from rule call
          (https://github.com/bazelbuild/bazel/issues/16301)
        - name parameter is removed from rule call
          (https://github.com/bazelbuild/bazel/issues/16301)
        - --incompatible_remote_downloader_send_all_headers is flipped to
          true. See #16356 for details.
        - GrpcRemoteDownloader only includes relevant headers instead of
          sending all credentials.
        - In package_group's `packages` attribute, the syntax "//..." now
          refers to all packages in the same repository as the package
          group, rather than all packages everywhere. The new item "public"
          can be used instead to obtain the old behavior. In `bazel query
          --output=proto` (and `--output=xml`), the `packages` attribute
          now serializes with the leading double slash included (for
          instance, `//foo/bar/...` instead of `foo/bar/...`). See also
          #16355, #16323, and #16391.
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - Bazel no longer increases the delay between progress updates when
          there is no cursor control.
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - the --experimental_async_execution flag is now a no-op.
        - --experimental_replay_action_out_err is not a no-op.
        - `cquery --output=files` also outputs source files.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_always_include_files_in_data` is flipped to true.
          See https://github.com/bazelbuild/bazel/issues/16654 for details.
        - This changes the behavior of Python version in exec/host
          configuration. Mitigation is to set Python version on the targets.
        - When multiple --deleted_packages options are passed on the
          command line, they will be concatenated instead of the latest one
          taking effect.
        - This has the side effect of changing the message on unsuccessful
          builds from
        - JSON profile: Use doubles instead of strings for counter series.
        - query --output=proto --order_output=deps now returns targets in
          topological order (previously there was no ordering).
        - --experimental_build_transitive_python_runfiles is flipped to
          false. See #16303 for details
        - --incompatible_python_disable_py2 is flipped to true. See #17293
          for details.
        - When remote cache evicts blobs, Bazel will exit with code 39.
        - `--features` only applies to targets built in the target
          configuration, and `--host_features` is used for the host / exec
          configuration (gated behind `--incompatible_use_host_features`)
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - Bazel's local CPU resource on Linux is now container aware. Use
          `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to
          override.
        - `copy_from_rule` is exec_groups is deprecated
          (https://github.com/bazelbuild/bazel/issues/17668).
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - `--experimental_execution_graph_log` no longer exists. Current
          users that want local logs need to pass
          `--experimental_enable_execution_graph_log
          --experimental_execution_graph_log_path=/some/local/path`.
          Current users that want logs uploaded to BEP need to pass
          `--experimental_enable_execution_graph_log
          --experimental_stream_log_file_uploads`.
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - Remove high priority workers functionality from blaze.
      
      New features:
      
        - Args.add_all and Args.add_joined can now accept closures in
          map_each if explicitly enabled via allow_closure.
        - Add `--bes_header` flag to pass extra headers to the BES server.
        - Support local_repository in Bazel Registry's source.json file
        - The `aquery` and `cquery` commands now respect the
          `--query_file` flag just like the `query` command.
      
      Important changes:
      
        - Flag --incompatible_objc_compile_info_migration is removed.  See
          #10854.
        - Flag --incompatible_objc_compile_info_migration is removed.  See
          #10854.
        - Flag --incompatible_objc_compile_info_migration is removed.  See
          #10854.
        - none
          PAIR=cmita
        - The --incompatible_load_python_rules_from_bzl flag is now a no-op.
        - Filter all (instead of just C++) source files for coverage output
          according to --instrumentation_filter and
          --instrument_test_targets.
        - The `--incompatible_disable_native_apple_binary_rule` flag has
          been added which disables the native `apple_binary` rule. Users
          who need to use `apple_binary` directly (if they cannot use one
          of the more specific Apple rules) should load it from
          https://github.com/bazelbuild/rules_apple.
        - The Android rules' --use_singlejar_apkbuilder is now a no-op.
          SingleJar will always be used to build APKs.
        - dict.setdefault(key, ...) now fails if dict is frozen, even if it
          already contains key. This is an incompatible API change.
        - Flag --incompatible_objc_provider_remove_compile_info is removed.
           See #11359.
        - Starlark now permits def statements to be nested (closures).
        - native.existing_rule now returns select values in a form that is
          accepted by rule instantiation. This is a breaking API change,
          though the fallout is expected to be small.
        - Starlark now supports lambda (anonymous function) expressions.
        - The "test" and "coverage" commands no longer return 3 when a
          test action fails because of a system error. Instead, the exit
          code
          reflects the type of system error.
        - The undocumented ctx.expand feature no longer exists.
        - Make --legacy_dynamic_scheduler a no-op flag.
        - Multiplex persistent workers can now use the JSON protocol.
        - native.existing_rule now returns a mutable list, not a tuple, for
          a list-valued attributes. This is an incompatible API change.
        - Roll back change to have native.existing_rules use list instead
          of tuple.
        - BEP includes test suite expansions.
        - config_setting now honors `visibility` attribute (and defaults to
          `//visibility:public`)
        - Change the MultiArchSplitTransitionProvider to be based on
          platform type + CPU instead of fixed "ios_" + cpu.
        - enforce config_setting visibility. See
          https://github.com/bazelbuild/bazel/issues/12932 for details.
        - add a flag to build v4 signature file
        - Added _direct_source_jars output group to Java related targets.
          END_PUBLIC
        - pkg_deb is no longer part of @bazel_tools//build_defs/pkg:pkg.bzl.
          Use https://github.com/bazelbuild/rules_pkg/tree/main/pkg instead
        - Allowing the lipo operations to be conditional in the
          linkMultiArchBinary API for Apple binaries. Single architecture
          slices are now returned through AppleBinaryOutput and the
          Starlark API.
        - Release restriction for "-" in the package name for Python
          sources. Now `py_binary` and `py_test` targets can have main
          source file with "-" in the path.
        - Users consuming BEP may assume that a `named_set_of_files` event
          will
          appear before any event referencing that `named_set` by ID. This
          allows consumers
          to process the files for such events (eg. `TargetCompleted`)
          immediately.
        - BEP includes all files from successful actions in requested
          output groups.
          Previously, an output group's files were excluded if any file in
          the output group
          was not produced due to a failing action. Users can expect BEP
          output to be larger
          for failed builds.
        - In BEP, TargetComplete.output_group has a new field `incomplete`
          indicating that the file_sets field is missing one or more
          declared artifacts
          whose generating actions failed.
        - The flag `--toolchain_resolution_debug` now takes a regex
          argument, which is used to check which toolchain types should
          have debug info printed. You may use `.*` as an argument to keep
          the current behavior of debugging every toolchain type.
        - Add runfiles.merge_all() for merging a sequence of runfiles
          objects.
        - runfiles.merge() and merge_all() now respect
          --nested_set_depth_limit.
          If you hit the depth limit because you were calling merge() in a
          loop, use
          merge_all() on a sequence of runfiles objects instead.
        - Bazel will no longer create a bazel-out symlink if
          --symlink_prefix is specified: the directory pointed to via the
          bazel-out symlink is accessible via ${symlink_prefix}-out. If
          this causes problems for you, set
          --experimental_no_product_name_out_symlink=false in your builds
          and file an issue.
        - Updates worker protocol with cancellation fields, and adds
          experimental_worker_cancellation flag to control cancellation.
        - Simplify build failure output by always using `NNN arguments`.
        - trim_test_configuration now defaults to on
        - Mark genrule.srcs as a source attribute for coverage.
        - When using --allow_analysis_failures (for example, via
          bazel-skylib's
          analysistest with `expect_failure = True`), analysis-time
          failures in aspect
          implementation functions will now be propagated and saved in
          AnalysisFailureInfo, just like analysis-time failures in rules.
        - cquery --noimplicit_deps now correctly filters out resolved
          cc_toolchains
        - Sign apks deterministically.
        - Make gcov optional in cc_toolchain tools.
        - If --experimental_prefer_mutual_xcode is passed, Bazel will
          choose the local default (instead of the newest mutually
          available version) if it's available both locally and remotely.
        - Remove java_lite_proto_library.strict_deps attribute.
        - Generate proguard configurations deterministically.
        - Adds a new flag, `--incompatible_enable_cc_test_feature` which
          switches from the use of build variables to the feature of the
          same name.
        - Dropped fragile xz support from built in pkg_tar. Users requiring
          xz
          compression should switch to bazlebuild/rules_pkg.
        - If all strategies of one branch (the local or remote execution
          branch) of the `dynamic` strategy fail to even accept (via the
          response they give from `canExec`) the action, `dynamic` will now
          try to see if the other branch can accept it. (Trying to run it
          and it failing will still cause a failure if it was the first
          result, this is about strategies claiming they can't even try the
          action)
        - Add `disable_annotation_processing` option to
          `java_common.compile`, which disables any annotation processors
          passed to `plugins` or in `exported_plugins` of `deps`
        - Remove obsolete --incompatible_prohibit_aapt1
        - The minimum Android build tools version for the Android rules is
          now 30.0.0
        - Adds --experimental_reuse_sandbox_directories flag to reuse
          already-created non-worker sandboxes with cleanup.
        - --experimental_force_gc_after_build is deprecated and will be
          removed soon. Use --bep_publish_used_heap_size_post_build instead
        - Forward coverage-instrumented files from non-tool dependencies by
          default.
        - The used_heap_size_post_build field in BEP is populated when the
          --memory_profile flag is set
        - --run_validations defaults to true.
        - Consider label_keyed_string_dict attributes when gathering
          instrumented files for coverage.
        - Remove flag
          --experimental_forward_instrumented_files_info_by_default, now
          that this behavior is the default.
        - When using MemoryProfiler with multiple GCs via the
          --memory_profile_stable_heap_parameters flag, we do a more
          precise calculation of heap used at the end of the build. This
          will generally result in lower values.
        - --bep_publish_used_heap_size_post_build is deprecated. Use
          --memory_profile=/dev/null instead.
        - Disable --all_incompatible_changes flag.
        - The --all_incompatible_changes flag is now a no-op
        - The `--toolchain_resolution_debug` flag now accepts regexes
          matching targets, as well as toolchain types, when choosing what
          debug messages to print.
        - Adds --experimental_existing_rules_immutable_view flag to make the
          native.existing_rule and native.existing_rules functions more
          efficient by
          returning immutable, lightweight dict-like view objects instead
          of mutable
          dicts.
        - Add support to length-delimited protos as undeclared output
          annotations []
        - The deprecated "relative_to_caller_repository" parameter has been
          removed from the Label constructor.
        - The toolchain transition is now enabled for all toolchains.
        - incompatible_disable_depset_items is flipped
        - The --experimental_existing_rules_immutable_view flag has been
          renamed to  --incompatible_existing_rules_immutable_view
        - Bazel no longer supports Java 8. From this version on, the
          minimum required JDK is OpenJDK 11.
        - Deprecate --incompatible_applicable_licenses flag, in preparation
          for removal in Bazel 6.x.
        - Treat py_*.srcs_version="PY2" the same as "PY2ONLY".
        - The Build Event Protocol now contains file digests and sizes
          along with the file name and URI.
        - Refactor system suspend event handling.
        - alias() can now select() directly on constraint_value()
        - Allow \a \b \f \v escape sequences in Starlark.
        - Match remote and local xcode version by most granular version.
        - Adds `--experimental_worker_multiplex_sandboxing` flag that
          controls whether to sandbox multiplex workers that support it.
        - provider() has a new parameter: init, a callback for performing
          pre-processing and validation of field values. Iff this parameter
          is set,
          provider() returns a tuple of 2 elements: the usual provider
          symbol (which,
          when called, invokes init) and a raw constructor (which bypasses
          init).
        - Tests that fail to create or complete their
          `TestAttemptContinuation` by
          throwing an `ExecException` will report an `INCOMPLETE` status.
          Previously, Bazel
          would fail to report any status for the test attempt.
        - Fixed an issue where Bazel could erroneously report a test passes
          in coverage mode without actually running the test.
        - Include more information about configurations in cquery proto
          formatted output. This deprecates the configuration field of
          AnalysisProtosV2.ConfiguredTarget, and adds a new field,
          configuration_id, to
          be used instead.
        - experimental cc_library.implementation_deps inverted to
          interface_deps
        - In aquery and cquery proto output, indicate if a configuration is
          a
          tool or non-tool configuration.
        - Include complete configurations in cquery proto output.
        - experimental cc_library.implementation_deps inverted to
          interface_deps
        - Make protocOpts() publicly accessible.
        - Add some documentation about how configuration information is
          conveyed in cquery proto output.
        - Introduces experimental static library linking API under
          apple_common.link_multi_arch_static_library
        - Further deprecation and removal of pkg_tar. Stop supporting
          legacy use of 'files' attribute, where it could be a list of
          labels instead of a map of paths to labels.
        - Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
          its purpose because --all_incompatible_changes would never set
          it. The last rule it gated (pkg_tar) is scheduled to be removed
          in Bazel 6.x.
        - Add coverage configuration fragment, used to expose
          output_generator label.
        - Bazel now no longer includes system headers on macOS in coverage
          reports (#14969).
        - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
          $ANDROID_HOME.
        - The default dexer is now d8. dx can be optionally enabled using:
            --define=android_dexmerger_tool=dx_dexmerger \
            --define=android_incremental_dexing_tool=dx_dexbuilder \
            --define=android_standalone_dexing_tool=dx_compat_dx \
            --use_workers_with_dexbuilder
        - Packaging support for deploy JAR embedded JDK files (hermetic
          Java).
        - Don't stamp cc_common.link actions for tool dependencies.
        - Starlark test rules can use the new inherited_environment
          parameter of testing.TestEnvironment to specify environment
          variables
          whose values should be inherited from the shell environment.
        - Enable merging permissions during Android manifest merging with
          the --merge_android_manifest_permissions flag.
        - Allow specialization to work with constraint_values.
        - Bazel uses the D8 jar from Maven instead of the SDK.
        - Make ijar / java_import preserve classes with `@kotlin.Metadata`
          annotations
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather than always linking statically when Windows is
          the _host_).
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather than always linking statically when Windows is
          the _host_).
        - Add devtools/build/lib/worker:work_request_handlers to the remote
          android tools release package. This will be transitively packaged
          into all_android_tools.
        - Bazel uses the D8 jar from Maven instead of the SDK.
        - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
          $ANDROID_HOME.
        - Advance android_tools_pkg version to 0.24.0.
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather
          than always linking statically when Windows is the _host_).
        - Bazel uses the D8 jar from Maven instead of the SDK.
        - "blaze config" now only reports info from the last build. To
          compare configurations across multiple builds, redirect "blaze
          config" output to a file and run your favorite diff tool.
        - The --incompatible_override_toolchain_transition flag is now
          always set, and will be removed in the future. Thus,
          --noincompatible_override_toolchain_transition has no effect, and
          the value of the incompatible_use_toolchain_transition parameter
          in aspect() and rule() builtins is ignored.
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather
          than always linking statically when Windows is the _host_).
        - Toolchain types may now be optional, in addition to mandatory.
          See https://bazel.build/docs/toolchains#optional-toolchains for
          further details.
        - Add six to deps of has_services=1 py_proto_librarys.
        - pkg_tar(symlinks) has been removed. Users needing that feature
          should
          migrate to @rules_pkg.
        - Aspects can now define and use exec groups using the same API as
          rules.
        - Removed the obsolete --incompatible_applicable_licenses flag. The
          feature is permanently enabled.
        - embedded_tools packages R8 desugarer again
        - Bazel now selects sh path based on execution platform instead of
          host platform, making it possible to execute sh actions in
          multiplatform builds. --shell_executable now only applies to
          actions configured for host.
        - labels in genquery.scope are no longer configured.
        - When Bzlmod is enabled, all Bzlmod-generated repos will have an
          extra '@' prepended to their names. This effectively enables the
          canonical label literal syntax for Bzlmod-generated repos
          (`@@canonicalRepoName//pkg:target`; see
          https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
          t7bdUsjz6JFC4/edit?usp=sharing).
        - Exposed `CcSharedLibraryInfo` to Starlark builtins.
        - Enable --use_top_level_targets_for_symlinks by default.
        - Singlejar accepts runtime Created-By field
        - --noincompatible_disable_managed_directories, and with that,
          workspace(managed_directories=) is not supported anymore.
        - Bazel supports D8 desugaring, albeit without persistent workers
        - Remove mtime options from pkg_tar. Users should migrate to
          @rules_pkg.
        - Test for experimental multiplexed persistent resource processor.
        - Added new register_{execution_platforms,toolchains} directives to
          the MODULE.bazel file, to replace the
          {execution_platforms,toolchains}_to_register attributes on the
          module() directive.
        - The legacy pkg_tar no longer supports the ability to untar and
          repackage an input tar file (`deps` attribute). Users needed that
          capability must switch to github.com/bazelbuild/rules_pkg.
        - `cquery`'s new output mode
          [`--output=files`](https://bazel.build/docs/cquery#files-output)
          lists the output files of the targets matching the query. It
          takes the current value of `--output_groups` into account.
        - Change singlejar metadata to report Created-By Bazel
        - Add support for fetching RPC credentials from credential helper.
        - Revert interface_deps back to implementation_deps after problem
          reported in. Use `buildozer 'rename deps implementation_deps'
          //...:%cc_library; buildozer 'rename interface_deps deps'
          //...:%cc_library`
        - Fix for desugaring failure on Bazel+Android+Windows build
          scenario.
        - D8 is the default desugarer
        - Migrate main_dex_list_creator to D8 (DX deprecation)
        - --experimental_enable_bzlmod has been renamed --enable_bzlmod,
          and still defaults to false.
        - selects() no longer produce irrelevant duplicate label checks
        - Adds a dexer output cache to CompatDexBuilder to improve build
          speed.
        - Improved error messages when analyzing inline bzl code
        - Improved error messages when analyzing inline bzl code
        - The `@bazel_tools//tools/cpp:compiler` flag now has the value
          `gcc` if the configured compiler is detected to be gcc rather
          than the generic value `compiler`. A branch for `gcc` may have to
          be added to `select` statements that do not have a default case
          that handles gcc appropriately.
        - The `get_child` method of `path` now accepts an arbitrary
          number of relative path strings as positional arguments.
        - SourceManifestAction supports `Action.content`
        - Add --incompatible_build_transitive_python_runfiles alias. See
          #16303
        - The @bazel_tools//tools/cpp:compiler flag now has the value
          `clang` for the auto-configured Xcode toolchain rather than the
          generic value compiler. A branch for `clang` may have to be added
          to select statements that do not have a default case that handles
          this toolchain appropriately.
        - added additional debug message to warn of skipped toolchains
          during resolution
        - The deprecated --remote_allow_symlink_upload flag has been
          removed. Symlinks in local action outputs are always permitted,
          even with remote caching. Whether they're uploaded as symlinks or
          as the files/directories they point to is still determined by the
          --incompatible_remote_symlinks flag.
        - Added `struct`, `json`, `proto`, and `depset` to the starlark
          environment of Bazel's cquery (--output=starlark) command
        - Added three `package_group`-related flags:
          `--incompatible_package_group_includes_double_slash` (#16391),
          `--incompatible_package_group_has_public_syntax` (#16355), and
          `--incompatible_fix_package_group_reporoot_syntax` (#16323). With
          these flags, `package_group` can now easily specify "all
          packages", "no packages", and "all packages in the current repo".
        - Record hermetic packaged JDK modules file size in deploy JAR
          manifest 'JDK-Lib-Modules-Size' attribute.
        - .bzl files may now set a visibility to guard what other .bzl and
          BUILD files may load them. See [...] for more information.
        - Deletes the --extra_proguard_specs Blaze flag
        - The new path variable `$(rlocationpath ...)` and its plural form
          `$(rlocationpaths ...)` can be used to expand labels to the paths
          accepted by the `Rlocation` function of runfiles libraries. This
          is the preferred way to access data dependencies at runtime and
          works on all platforms, even when runfiles are not enabled (e.g.,
          on Windows by default).
        - Starlark `print()` statements are now emitted iff the line of
          code is executed. They are no longer replayed on subsequent
          invocations unless the Starlark code is re-executed.
          Additionally, multiple identical `print()` statements (same
          string from the same line of code, e.g. from a loop) are all
          emitted and no longer deduplicated.
        - Fixes a bug where some compilation flags would not be applied to
          a cc_test
        - removed outdated ctx.host_fragments
        - removed outdated ctx.host_configuration
        - Now that the host configuration is finished, `genrule` should
          prefer the use of `tools` and stop using `exec_tools`.
        - Added a `native.package_relative_label()` function, which
          converts a label string to a Label object in the context of the
          calling package, in contrast to `Label()`, which does so in the
          context of the current .bzl file. Both functions now also accept
          relative labels such as `:foo`, and are idempotent.
        - Update Android manifest merger to v30.1.3, and also drop support
          for legacy (pre-D8) desugaring.
        - Adds coverage metric support to android_local_test
        - Correctly encode double value positive infinity as "inf" instead
          of "+inf" for textprotos.
        - Add --use_target_platform_for_tests which uses the target
          platform for executing tests instead of the execution platform.
        - Custom C++ rules on Windows calling
          cc_common.create_linking_context_from_compilation_outputs should
          review whether each target of the rule type should produce a
          dynamic library since a condition which blocked their creation
          has been moved to the rules from behind the API.
        - Add flag `--experimental_remote_cache_ttl` and set the default
          value to 3 hours.
        - making --incompatible_use_platforms_repo_for_constraints do
          nothing. Using constraints from @bazel_tools//platforms with or
          without the flag will throw error with message "Constraints from
          @bazel_tools//platforms have been removed. Please use constraints
          from @platforms repository embedded in Bazel, or preferably
          declare dependency on https://github.com/bazelbuild/platforms"
        - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
          couldn't see the Bzlmod root module's mappings when Bzlmod is
          enabled.
        - Subsequent settings of --extra_execution_platforms now override
          previous settings, instead of adding them to a list. If you
          currently set --extra_execution_platforms more than once, please
          migrate by passing a list of values to
          --extra_execution_platforms instead so that earlier values aren't
          overwritten.
        - @bazel_tools//config:common_settings.bzl has been removed.
          Use @bazel_skylib//rules:common_settings.bzl instead.
        - cc_shared_library is no longer experimental, see
          https://github.com/bazelbuild/bazel/issues/16709 for details
        - The flag `--distinct_host_configuration` is removed. It has been
          a no-op since Bazel 6.0.0.
        - Added `native.module_name()` and `native.module_version()` to
          allow BUILD macro authors to acquire information about which
          Bazel module the current repo is associated with.
        - Add `--skip_incompatible_explicit_targets` option
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - cc_test can now be configured by using a native.toolchain().
        - `@foo` labels can now be used on the command line as the
          top-level target (that is, `bazel build @foo` now works).
          Double-dot syntax is now forbidden (`bazel build ../foo` will no
          longer work).
        - The location of rules that explicitly specify `generator_name`
          and/or `generator_function` attributes (typically because they
          are incidentally copied from `native.existing_rule()`) is now the
          top-level call in the `BUILD` file, which is consistent with
          rules that do not explicitly specify these attributes.
        - Warnings (most notably those associated with the `deprecation`
          rule attribute) are no longer replayed on subsequent invocations
          unless the target in question is re-analyzed. Warnings are purely
          informational, so this change has no bearing on the correctness
          of the build. Downstream tests that break due to this change
          should update their expectations.
        - `--experimental_remote_build_event_upload` has been renamed to
          `--remote_build_event_upload`
        - [Breaking change] platform, constraint_setting, and
          constraint_value can no longer take an applicable_licenses value.
          Remediation is to remove the attribute and rely on the package
          level default.
        - `--experimental_action_cache_store_output_metadata` has been
          renamed to `--action_cache_store_output_metadata`
        - Changed the default value for `--remote_build_event_upload` to
          `minimal`.
        - `--experimental_remote_cache_compression` has been renamed to
          `--remote_cache_compression`
        - The REPO.bazel and MODULE.bazel files are now also considered
          workspace boundary markers.
      
      This release contains contributions from many people at Google, as well as Adam Azarchs, Adam Lavin, Adam Liddell, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro Patti, Alex Eagle, Alex Eagle, Alex Eagle, Alex Scott, AlexTereshenkov, Alex Torok, Amanda L Martin, Andreas Fuchs, Andreas Herrmann, Andreas Herrmann, Andrew Katson, Andrew Klotz, Andy Hamon, Ankush Goyal, Anthony Pratti, Anthony Ter-Saakov, Ara Nguyen, Artem V. Navrotskiy, Artem Zinnatullin, arunkumar9t2, arun.sampathkumar, aryeh, Ast-x64, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns, Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, bromano, Cameron Mulhern, Chad Miller, Charles-Francois Natali, Chirag Ramani, Chris Clearwater, Chris Fredrickson, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, ckiffel, Cristian Hancila, crydell-ericsson, Dan Bamikiya, Dan Fleming, Daniel Grunwald, Daniel KT, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave MacLachlan, Dave Nicponski, David Cummings, David, David Ostrovsky, David Sanderson, Delwin9999, Denys Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Dmitry Ivankov, dorranh, ecngtng, Ed Schouten, Eitan Adler, Elliotte Rusty Harold, Emil Kattainen, erenon, Eric Cousineau, Eric Song, Eric Wendelin, Ethan Steinberg, Ezekiel Warren, Fabian Brandstetter, Fabian Meumertzheim, Fabian Meumertzheim, FaBrand, Fahrzin Hemmati, Fahrzin Hemmati, Felix Ehrenpfort, Finn Ball, floriographygoth, frazze-jobb, Fredrik Medley, Garrett Holmstrom, Gaspare Vitta, Gautam Korlam, George Gensure, George Prekas, gkgoat1, gkorlam, goodspark, Greg Estren, Greg, Greg Magolan, Gregory Fong, Greg Roodt, Grzegorz Lukasik, Grzegorz Lukasik, Halil Sener, Halil Sener, Hannes Kufler, Hao Yuan, homuler, hvadehra, hvd, Igor Nazarenko, Ikko Ashimine, Jack Dai, James Broadhead, James Ma, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, Jesse Chan, jheaff1, Jiawen Chen, Joe Lencioni, Joel Jeske, Joel Williamson, Johannes Abt, John Hinnegan, John Laxson, John Laxson, John Millikin, Jonathan Gerrish, Jonathan Schear, Jon Landis, Jon Parise, jonrose-dev, Jon Shea, Jordan, juanchoviedo, Julio Merino, Justus Tumacder, Kaiqin Chen, keertk, Keith Smiley, kekxv, Ken Micklas, Kevin Hogeland, Kevin Lin, Kirill Zabelin, Kiron, Konstantin Erman, Krishna Ersson, Krzysztof Naglik, kshyanashree, Kun-Lu, Lauri Peltonen, Lee Mracek, lihu, Liu Liu, lripoche, Lszl Csomor, Luc Bertrand, Luis Fernando Pino Duque, m, Malte Poll, Marc Zych, Marc Zych, Marek uppa, Mark Karpov, Masoud Koleini, Mathieu Olivari, Matt Clarkson, Matt Mackay, Mauricio Galindo, Max Liu, Maxwell Elliott, Menny Even Danan, menny, Michael Chinen, Michael P. Nitowski, Mikhail Balabin, mohamadk, Mostyn Bramley-Moore, Nathaniel Brough, nathyong, Nick Korostelev, Niek Peeters, Nikolay Shelukhin, Nitesh Anandan, Niyas Sait, Noa Resare, odisseus, Oleh Stolyar, Olek Wojnar, Oliver Lee, Olle Lundberg, Omar Zuniga, Oscar Bonilla, Patrick Balestra, Patrick Balestra, Paul Gschwendtner, Paul Tarjan, Peter Kasting, Peter Mounce, Philipp Schrader, Pras Velagapudi, Qais Patankar, Rabi Shanker Guha, Rahul Butani, Rai, Rajeshwar Reddy T, Red Daly, redwrasse, Rifqi Mulya Fahmi, robincaloudis, Robin Tweedie, Roger Hu, Roman Salvador, ron-stripe, rustberry, Ryan Beasley, Ryan Schmidt, Sagar Pathare, Sahin Yort, Saleem Abdulrasool, samhowes, Samuel Giddins, Sara Adams, Sascha Moecker, Sebastian Olsson, Sergey Tyurin, Severin Strobl, Shuai Zhang, Siddhesh Bhupendra Kuakde, Simon Bjorklen, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stephan Wolski, Steve Siano, steve-the-bayesian, Steve Vermeulen, Stiopa Koltsov, susinmotion, Sven Tiffe, Takeo Sawada, Tao Wang, tatiana, tbaing, Ted Kaplan, Ted Kaplan, Tetsuo Kiso, Thaler Benedek, Thi Doan, Thi Doan, Thi Don, Thomas Carmet, Thomas Chen, ThomasCJY, Thomas, Thomas Zayouna, Thulio Ferraz Assis, Timothe Peignier, Timothy Klim, Tobi, Tomas Volf, Tom Cnops, Tom de Goede, Torgil Svensson, Trustin Lee, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Vaidas Pilkauskas, vardaro, Vasilios Pantazopoulos, Vertexwahn, Vladimir Tagakov, Waleed Khan, William Muir, wisechengyi, Wren Turkal, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yesudeep Mangalapilly, Yi Cheng, Yury Evtikhov, Yuval Kaplan, Yuval K, Yuval, yuzhy8701, Zhongpeng Lin, [zqzzq].
      a333dc1e
  27. Apr 20, 2023
    • Yun Peng's avatar
      Revert "Release 4.2.4 (2023-04-20)" · fdf46f7a
      Yun Peng authored
      This reverts commit 1865783b.
      fdf46f7a
    • Bazel Release System's avatar
      Release 4.2.4 (2023-04-20) · 1865783b
      Bazel Release System authored
      Baseline: 37a429ad
      
      Cherry picks:
      
         + a689d673:
           Use getRunfilesPath for run_under executable path generation.
           getRootRelativePath doesn't return a valid runfiles path for
           external source files anymore after the recent external source
           root change. Also, it won't work for external labels either once
           the --nolegacy_external_runfiles becomes default. This fixes
           issue #12545.
         + d90ec67f:
           Fix NPE when coveragerunner is not set on the toolchain.
         + 8555789d:
           Fix the classic query package-loading cutoff optimization with
           external workspaces.
         + d113d745:
           Update turbine
         + 1489f0f4:
           Support Scala3 .tasty files
         + 0d2d95cd:
           Update to java_tools javac11 release 10.5 (#12647)
         + a9419f38:
           Fix common prefix for instrumentation filter
         + 84fadcf8:
           Fix builds for filegroup targets with incompatible dependencies
         + e43825d0:
           Revert "Remove
           --incompatible_blacklisted_protos_requires_proto_info"
         + 082d58de:
           Transform roots along with paths during output deletion.
         + e8835c1c:
           AttributeContainer.Large now handles more than 127 attributes.
         + e1e87349:
           Add an env attribute to all test and binary rule classes
         + a87d7ed2:
           Take no action to prefetch empty artifacts.
         + 3e969ff2:
           Fix a couple of bugs with Incompatible Target Skipping
         + e6670825:
           Pass --host_action_env to host options hostActionEnvironment
           attribute
         + 07400c03:
           Add --{no,}autodetect_server_javabase.
         + c8336606:
           Only treat "env" and "env_inherit" attrs specially for native
           rules
         + 6a60b30c:
           Fix coverage support when using default_java_toolchain. (#12801)
         + 4158a6f5:
           Revert JacocoCoverage target to remote_java_tools_java_import
           and add a new target for remore_java_tools_filegroup. (#12813)
         + f6d30cf5:
           Add windows_msvc back to conditions in bazel_tools.
         + 6b33bdb1:
           Release 4.0.0 (2021-01-21)
         + 8811e273:
           Fix error message from getPrerequisites to not print internal
           details.
         + 27e15ad1:
           Clean up ConfiguredTargetValueAccessor and
           ConfiguredTargetAccessor
         + e87feb8a:
           Move getConfigConditions into ConfiguredTarget.
         + 34d98234:
           Change ConfiguredTargetQuery to use KeyedConfiguredTarget as a
           value.
         + 079bb7d6:
           Clean up old dependencies that are unused since
           https://github.com/bazelbuild/bazel/commit/34d98234324da83e93ba0d
           5ef5702880d5ac7c5c.
         + e03cb63e:
           Update bazelbuild/platforms to a current release. - Roll forward
           https://github.com/bazelbuild/bazel/commit/0a4533420a3de467fd211d
           7f925cf88e0cd5b76a  with kythe fix.
         + 2eb1bf53:
           Update docs and tests to use the @platforms//:incompatible
           constraint
         + c71697cf:
           Clarify test_suite behaviour in the Platforms docs
         + dfb70ea4:
           Enable toolchain resolution for filegroup targets.
         + 24d08644:
           PlatformProviderUtils should ignore targets that don't have the
           needed
         + ba60c0b3:
           ijar: fix manifest sections handling
         + 58bb42ad:
           Revert "Switch to -fdebug-compilation-dir"
         + bef4bbbb:
           Update turbine
         + ad241fbe:
           Allow cquery to filter out incompatible targets
         + 1782f0ae:
           Patch grpc to fix cares selecting the wrong source when building
           for darwin_arm64 cpu.
         + 8f7bc2f6:
           [1/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
           blobs
         + 848a5174:
           [2/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
           blobs
         + 9b301725:
           [3/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
           blobs
         + 1e258d2a:
           Allow exec groups to inherit from the rule or other exec groups.
         + d0676693:
           Support execution constraints per exec group
         + f1e0d346:
           Clean up RuleContext to use a Table instead of a Map of Maps.
         + 8186fbb4:
           Documentation for #13110
         + 321fe3b6:
           Prevent --repo_env from triggering unnecessary fetches
         + 3ebf658c:
           Prevent a crash when using --repo_env=VAR without a value
         + 913a985a:
           Report digest of failed uploads
         + 5122617b:
           Status error presentation with details
         + 9a70805d:
           Fix double shutdown of BuildEventArtifactUploader when BES+File
           output enabled.
         + 325eb956:
           Add rxjava3 to third_party
         + ceaac966:
           remote: set executable bit of an input file based on its real
           value
         + 5b786da7:
           Remote: correctly implement equals and hashCode.
         + 48648503:
           Fixed an error that bazel binary is not executable when testing
           with remote execution.
         + bc54c648:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata.
         + 92955e61:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 2)
         + 75bd1ff8:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 3)
         + 37ee252f:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 4)
         + 71e35b16:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 5)
         + 32fc4516:
           Write/QueryWriteStatus logging refinement/addition
         + 97963c5b:
           Remote: gRPC load balancing. (Part 1)
         + e2b9a42a:
           Remote: gRPC load balancing. (Part 2)
         + 6667ad7d:
           Remote: gRPC load balancing. (Part 3)
         + 7c081eb0:
           Remote: gRPC load balancing. (Part 4)
         + 17afbe4e:
           Implement getMessage for BulkTransferException
         + a6293b3d:
           Remote: gRPC load balancing. (Part 5)
         + 7a62c2d4:
           Remote: Add interoperability between Rx and ListenableFuture.
         + 1fcb18a0:
           Update to latest remote-execution proto
         + dad96301:
           Set Platform on Action not just Command
         + 6c5a3ee0:
           Remote: Add AsyncTaskCache which is used to deduplicate task
           executions and cache the results.
         + 9d0c7325:
           Remote: Use AsyncTaskCache inside RemoteActionInputFetcher.
         + f54fe072:
           Add --experimental_repository_disable_download to allow users
           disable download for external repos
         + b243584a:
           Report errors parsing rewriter config file
         + 63bc1c7d:
           Downloader rewriter config has all_blocked_message
         + 495ac923:
           Allow UrlRewriter to change protocol, i.e. https->http, and
           http->https
         + 8dbbde00:
           Allow overriding the hostname and instance name in bytestream://
           URIs
         + 0881c80d:
           Don't set requestId on non-multiplex requests.
         + e3b7e17b:
           When generating a symlink in _virtual_includes, add the original
           header to the 'allowed to use' set too
         + f8f66f36:
           Make SimpleLogHandler not swallow interrupts.
         + f8606e5e:
           linux-sandbox: don't assume -lrt, -D__STDC_FORMAT_MACROS
         + dac0d40d:
           Improve "Common Attributes" section
         + a607d9dc:
           Never create more than one process per WorkerMultiplexer.
         + 80c03ef1:
           Move sending requests and reading responses for multiplex
           workers into separate subthreads.
         + 003cfcde:
           Allow use of JSON protocol in multiplex workers.
         + 308bce36:
           Actively kill off still-active workers when stopping work on
           interrupt.
         + 8959dff5:
           Add sanitizer support to Apple platforms
         + 32f16e93:
           Fix a Google-internal broken link.
         + c9e2be52:
           Add SHA-1 to subresource integrity format for download()
           checksums
         + 3b3e6424:
           Remove fallback strategy support for workers, add flag for it in
           sandbox.
         + 3457f2ae:
           Update to java_tools javac11 10.6 (#13245)
         + 4928295b:
           Allow .S files in C++ Starlark cc_common.compile.
         + 1b18d652:
           Automatic code cleanup.
         + b5d6c385:
           Change short output of worker type to have the same logic as the
           worker creation for sandboxing vs. multiplex.
         + e7a0a71f:
           More properly destroy workers on interrupt.
         + 7056711e:
           Make WorkRequestHandler do a GC after some amount of CPU time
           has been used on requests. For Bazel and Blaze, defaults to 10s
           based on benchmarking.
         + 596653d3:
           Allow tree artifacts to be source or header inputs to
           cc_common.compile()
         + 055c93d1:
           Switch to path autocompletion after -- for bazel run commands.
         + 807f2a19:
           Fix Incompatible Target Skipping for test args
         + 9a5cd854:
           Fix order of build request id and command id
         + 706f5acd:
           Fix bazel crash when passing config_setting to
           target_compatible_with
         + 61da1d2b:
           Support multiple --bazelrc on command line
         + 5593358a:
           Update ConfiguredTargetFunction.computeUnloadedToolchainContexts
           to
         + 662cf54d:
           Remote: Fix an issue that a failed action could lead to
           RuntimeException caused by InterruptedException thrown when
           acquiring gRPC connections.
           https://github.com/bazelbuild/bazel/issues/13239
         + a3a17632:
           Pass more `--add-exports=` flags
         + d2b94287:
           Remote: Fixed a bug that remote cache is missed due to
           executable bit is changed
         + 616dc264:
           Fix Bazel Coverage with C++ to work with Remote Execution
         + 5f40d12e:
           Fix external_path_test with newer Xcode versions.
         + b4161930:
           Allow using embedded tools in sandboxed spawn runners.
         + eb762d4e:
           Fix racy write of temporary files while staging virtual inputs
           for the sandbox.
         + f31e8676:
           Update platforms_test to not rely on filegroup not using
           toolchain
         + 13031e5b:
           Update SkyframeTests to not rely on filegroup not using toolchain
         + 11651824:
           Update ConfigurableAttributesTest to not rely on filegroup not
           using …
         + 4b68532e:
           Make WorkerExecRoot not be a subclass of SandboxedSpawn.
         + 31db460a:
           Make WorkerExecRoot not be re-created on each createFileSystem()
           call. Preparation for holding a map of existing links, but also
           just nicer.
         + a2cc0460:
           Start the file existence check traversal from the execroot base
           instead of execroot so that external repo files at
           "<execroot>/../<path>" are correctly handled when the sibling
           repository layout is enabled.
         + b048282c:
           Use readdir for cleanExisting in WorkerExecRoot.
         + 270f00dd:
           Add native support for Apple Silicon
         + 8e56b942:
           Explicitly state that embedding macOS OpenJDK is for x86_64
         + 09c621e4:
           Remote: Fix a race that AsyncTaskCache#Execution could be reused
           after disposed which results in
           CancellationException("disposed") propagated to downstream.
         + 0299cd7e:
           Remove wrapped_clang params files after use
         + 47edc578:
           Silence swiftmodule timestamp warnings
         + f6e1074b:
           Remote: Use shutdownNow() instead of shutdown() in
           ChannelConnection#close() as a workaround to a gRPC bug.
         + 71be4ea9:
           And mnemonic and label to remote metadata
         + 615e1b16:
           Change `set -x` in coverage to be set by var
         + fe4daea9:
           Bump minimal JDK install base maximum size from 290 to 295 MB.
         + 4840a68c:
           Remote: Check the return value of ActionOwner.getLabel() since
           it could be `null`.
         + 14abe4fd:
           Allow `DiffAwareness` to share precomputed information about the
           workspace and propagate it to the `WorkspaceStatusAction`.
         + 082d9877:
           Implement available() method for Windows subprocesses.
         + c2bdd034:
           Move --repo_env to common options
         + e09f2743:
           Revert "Documentation for #13110"
         + a165baa2:
           Revert "Clean up RuleContext to use a Table instead of a Map of
           Maps."
         + 51fb9e13:
           Revert "Support execution constraints per exec group"
         + cb6e5c24:
           Revert "Allow exec groups to inherit from the rule or other exec
           groups."
         + 2ac6581a:
           Release 4.1.0 (2021-05-21)
         + 7a0f36e3:
           Change gceMachineType of highcpu platform from n1-highcpu-32 to
           e2-highcpu-32
         + 19491a91:
           Fix #10127: Remove Python 2 dependency from tools/android.
         + 80c59dea:
           fix main repo starlark options parsing - now flags passed on the
           command line as --@main_workspace//flag and --//flag will both
           parse to --//flag. Before this CL, the former maintained its
           workspace prefix and we would get different entries for these
           two formats.
         + 451b296c:
           Update threshold for long path shortening to be MAX_PATH - 4
         + 671e0489:
           Force source files to be readable before copying them from
           sandbox.
         + 6080c1e0:
           Let workers finish lost races without delaying dynamic execution.
         + ee738dac:
           Fix label_flag and label_setting to not have a dependency on the
           default
         + 74de0ba4:
           Java coverage: fix handling of external files
         + 48eee8b4:
           [Bazel] Fix mobile-install for python2
         + 763dd0ce:
           Add `stub_shebang` to `py_runtime`
         + b2231c56:
           Move use of legacy sandbox -> local fallback to only be used
           after all strategies have been tried, and improve messages
           around it.
         + 6dc941e5:
           Remove restriction on generate_pdb_file to be only used in dbg
           and fastbuild mode
         + 5b95d916:
           Check the result of Future.cancel() when cancelling the other
           branch of dynamic execution.
         + aaae8ce2:
           Update DEFAULT_MACOS_CPU to match host
         + 2f0927a4:
           Fix symlink creation on older Windows versions
         + fd9cffdc:
           Suppress interrupted status during pool closure
         + 33903d28:
           Fix Windows developer mode symlinks
         + 0cd16667:
           Respect Starlark options with values in `removeStarlarkOptions()`
         + 7920ffef:
           cquery inherits from `test` not `build`
         + 1e258d2a:
           Allow exec groups to inherit from the rule or other exec groups.
         + d0676693:
           Support execution constraints per exec group
         + f1e0d346:
           Clean up RuleContext to use a Table instead of a Map of Maps.
         + 8186fbb4:
           Documentation for #13110
         + e376580a:
           Split ExecGroup into a new target.
         + 0cbb8a86:
           Create a new interface to allow Starlark objects to get a thread
           when getIndex is called.
         + d2e21cec:
           Renamed ExecGroupCollection to clarify that it is only for
           Starlark usage.
         + b9519f92:
           Make StarlarkExecGroupContext use AutoValue.
         + 52b1b748:
           Use a dummy toolchain context for rules that don't have one.
         + 41877d0f:
           Extract a separate StarlarkToolchainContext for starlark-only
           operations.
         + b120d4fe:
           Fix toolchains to support type lookup.
         + dc140d0b:
           Move DEFAULT_EXEC_GROUP_NAME from ToolchainCollection to
           ExecGroup.
         + 9b18d951:
           Rename ToolchainCollection.getExecGroups to getExecGroupNames.
         + 10d4473b:
           BuildViewForTesting should directly call into
           ConfiguredTargetFunction.
         + 58a6fb1f:
           Move exec group tests out of platforms_test and into integration.
         + 7d5493d9:
           Update creating exec groups that explicitly copy from defaults.
         + 8c6382a8:
           Create a new ExecGroupCollection container to manage exec group
           inheritance and exec property parsing.
         + b4b0c321:
           Fix unix toolchain for macos arm64 platform
         + f64f071f:
           Add `required_providers` attribute to Starlark defined aspects.
         + f2cbdcf6:
           Don't ever claim /dev/null is an execpath.
         + ceec93c3:
           Don't ever claim /dev/null is an execpath.
         + 1f3f9f4c:
           Use the parent directory of the exec root as the input root on
           RBE.
         + 4efeac9c:
           Make the Merkle tree computation work in the wake of
           https://github.com/bazelbuild/bazel/commit/7149f578006a4ad0d51df6
           9830a6986749b34df5 .
         + b56a2aa7:
           Remote: Use execRoot as input root and do NOT set working
           directory by default.
         + ae53991f:
           Remote: Add RemoteExecutionService as a layer between spawn
           execution and remote execution.
         + 0c07c2e6:
           Remote: Add remoteCacheable key to execution log
         + 5e617d83:
           Remote: Register "remote" strategy even if remote execution is
           not available.
         + 4ca8946a:
           Remote: Add --experimental_capture_corrupted_outputs flag.
         + 97d7b4c2:
           Remote: Report checking cache status before the action is
           scheduled to run remotely.
         + ba5b2a7c:
           when writing to local disk cache, open files later in order to
           avoid "too many open files"
         + 35518988:
           Propagate test envs to xml generation action
         + 9f8c678d:
           Remote: Fix a bug that the XML generation is executed even if
           test.xml is generated when build with --remote_download_minimal.
         + af42653e:
           Automatic code cleanup.
         + 07a84ce3:
           Remote: Another attempt to fix the CancellationException error
           in AsyncTaskCache caused by a race condition.
         + 0f812eb5:
           Remote: Display download progress when actions are downloading
           outputs from remote cache.
         + 18c82168:
           Remote: Do not upload empty output to remote cache.
         + 6a138a60:
           Fix compiling errors
         + bcce6dd0:
           Add the TEMP_FAILURE_RETRY macro to linux-sandbox-pid1.cc.
         + c8c0d94a:
           Export proguard specs from aar_import
         + 1a0285c3:
           Fix stripping of macOS loadable bundles
         + 0d3c231f:
           Roll forward config_setting visibility enforcement behind a flag.
         + bb7a0102:
           Fix merge conflicts.
         + 8b8e77ea:
           Remove redundant declaration.
         + 7c92cfcf:
           Ignore empty virtual artifacts when spawn-logging inputs.
         + 4158b612:
           Use correct exit code on invalid aquery --output
         + b51b31db:
           Remote: Fix a race when reporting action progresses.
         + 0e652737:
           Change MIN_BUILD_TOOLS_REVISION to 30.0.0
         + 6f9909c0:
           Update Android remote tools to ensure Bazel uses the latest
           Android tooling that has been updated to support AndroidX
           databinding generation.
         + 31d88c62:
           Automated rollback of commit
           9a1d428e.
         + 951a3023:
           Increase allowed size of the install_base.
         + a7845f65:
           Increase allowed size for install base again.
         + affc27f9:
           Bump version of java allocation instrumenter.
         + 7efabba1:
           Reference the correct version of the java allocation
           instrumenter.
         + 9055c67b:
           Support extracting aar files.
         + 861c3caa:
           Revert "Remote: Fix a race when reporting action progresses."
         + 92ec798d:
           Revert "Remote: Display download progress when actions are
           downloading outputs from remote cache."
         + ce091abb:
           Revert "Fix compiling errors"
         + 1b19cd31:
           Revert "Remote: Fix a bug that the XML generation is executed
           even if test.xml is generated when build with
           --remote_download_minimal."
         + 988b56f5:
           Revert "Remote: Report checking cache status before the action
           is scheduled to run remotely."
         + 35c98d07:
           Revert "Let workers finish lost races without delaying dynamic
           execution."
         + c4e22b9a:
           Migrate ExampleWorker to use WorkRequestHandler.
         + 230be161:
           Do not interleave readdir() calls with deletion of directory
           entries.
         + 3cc8ce6b:
           Propagate OOME if NewByteArray allocation failed
         + 19fc15eb:
           Create helper method for sandbox tests, transform existing tests
           into using it.
         + deb1006c:
           Cleanup: Replace NULL with nullptr
         + f4b5e023:
           Let workers finish lost races without delaying dynamic execution.
         + 186decab:
           Interface and flag specification for worker cancellation.
         + 5894a854:
           Create BUILD file in worker tests directory instead of running
           tests from the parent directory.
         + e9e69788:
           Server-side implementation of worker cancellation.
         + 51036622:
           Add builder for WorkRequestHandler.
         + 1a519bb6:
           Makes singleplex requests be handled in separate threads in
           WorkRequestHandler.
         + 779d6601:
           Only allow worker async finishing when sandboxed.
         + a698bef6:
           Support for cancellation in WorkRequestHandler.
         + 9dc95af4:
           Make workers restart on flags that affect their
           creation/behaviour.
         + 7e5cd529:
           Remote: Report checking cache status before the action is
           scheduled to run remotely.
         + 6e134a1b:
           Remote: Fix a bug that the XML generation is executed even if
           test.xml is generated when build with --remote_download_minimal.
         + d4d07140:
           Fix compiling errors
         + 2579c9a1:
           Eagerly initialize JNI copies of Java classes: doing lazy
           initialization on a per-method basis doesn't save anything and
           adds a tiny bit of overhead to every one of these calls.
         + 0f812eb5:
           Remote: Display download progress when actions are downloading
           outputs from remote cache.
         + 3835d9b2:
           Update the WorkRequestHandler to use callbacks of type:
           BiFunction<WorkRequest, PrintWriter, Integer>:  - Mark
           constructors that use BiFunction<List<String>, PrintWriter,
           Integer> callback as deprecated.  - Use a wrapper class for the
           BiFunction<WorkRequest, PrintWriter, Integer>. Suggesting this
           to avoid having two constructors that takes a BiFunction, as it
           creates a confusion between the deprecated and new constructor
           when given a lambda expressions.
         + 5e352afe:
           Fix bug in WorkRequestHandler's handling of singleplex requests
           that would cause occasional hangs.
         + b51b31db:
           Remote: Fix a race when reporting action progresses.
         + c9d823e4:
           Disable flaky test.
         + e6809c90:
           Revert "Check the result of Future.cancel() when cancelling the
           other branch of dynamic execution."
         + be4cbc7a:
           Revert "Move use of legacy sandbox -> local fallback to only be
           used after all strategies have been tried, and improve messages
           around it."
         + b32349f5:
           Set a fallback dynamic local strategy even when the
           dynamic_local_strategy flag is passed.
         + f395157c:
           Allow running an extra spawn for local branch of dynamic
           execution.
         + 039461c7:
           Adding debugging information for case when two branches
           apparently cancel each other.
         + b2231c56:
           Move use of legacy sandbox -> local fallback to only be used
           after all strategies have been tried, and improve messages
           around it.
         + 5b95d916:
           Check the result of Future.cancel() when cancelling the other
           branch of dynamic execution.
         + 1962a59a:
           Fix the case where if all strategies for one branch of `dynamic`
           execution fail to accept (that is, refuse to even take) the
           action given, the whole action fails. Instead of seeing whether
           the other branch can run and the action that that it succeeded.
         + b7c1ad2a:
           Fix rare crash in dynamic execution where both branches got
           cancelled.
         + 2c3cff54:
           Check if `treeDeleter` is actually async before casting it.
           Fixes #13240.
         + 1a89ce17:
           Make worker JSON protocol properly ignore unknown fields.
         + 4b12fc80:
           Fix test_source_file_does_not_override_standard_library to work
           with Python 3.9.
         + f4e10367:
           Removing line ending matches in tests to be compatible on Windows
         + ba74df07:
           Refactors CompilationSupport for objc to use existing API
         + a04cb1bf:
           Release 4.2.0 (2021-08-18)
         + ba867807:
           Revert "fix main repo starlark options parsing.
         + 9f67cdf3:
           cquery: disable `--build_tests_only`.
         + 02ad3e3b:
           Release 4.2.1 (2021-08-30)
         + ae0a6c98:
           Enable user_link_flags_feature for macosx cc_toolchain_config
         + af74287f:
           Remote: Limit max number of gRPC connections by
           --remote_max_connections. (#14318)
         + 639f89d7:
           Fix [Prepa] actions stuck in active state
         + 3069ac4e:
           Delete marker file before fetching an external repository
         + e6c8e8d1:
           CI configs: switch centos to centos7_java11_devtoolset10
         + 15371720:
           Release 4.2.2 (2021-12-02)
         + f64b7553:
           [4.2.3] Update GrpcRemoteDownloader to only include relevant
           headers. (#16450) (#16459)
         + ad6d3d59:
           Release 4.2.3 (2022-10-18)
         + 12f79d36:
           [4.2.4] Disable some failing tests (#18046)
         + 1f2b3ed4:
           Patch zlib to fix compatibility with latest Xcode
         + 9fef2346:
           [4.2.4] Bump minimum supported macOS versions to 10.13 (#18047)
      
      Incompatible changes:
      
        - GrpcRemoteDownloader only includes relevant headers instead of
          sending all credentials.
      
          Closes #16439.
      
      Important changes:
      
        - Multiplex persistent workers can now use the JSON protocol.
        - enforce config_setting visibility. See
          https://github.com/bazelbuild/bazel/issues/12932 for details.
        - The minimum Android build tools version for the Android rules is
          now 30.0.0
        - Updates worker protocol with cancellation fields, and adds
          experimental_worker_cancellation flag to control cancellation.
        - 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)
      
      This release contains contributions from many people at Google, as well as Alex Eagle, Austin Schuh, Benjamin Peterson, bjacklyn, bromano, Christopher Peterson Sauer, Christopher Sauer, Cristian Hancila, Daniel Wagner-Hall, Denys Kurylenko, Ed Schouten, Fabian Meumertzheim, Finn Ball, George Gensure, Greg Estren, Johannes Abt, Keith Smiley, Kevin Hogeland, kshyanashree, Lauri Peltonen, Noa Resare, Philipp Schrader, Ryan Beasley, Thi Doan, ThomasCJY, Timothy Klim, Trustin Lee, Ulf Adams, Vaidas Pilkauskas, Vertexwahn, wisechengyi, Xavier Bonaventura, Yannic Bonenberger, Yuval Kaplan, Yuval.
      1865783b
    • Bazel Release System's avatar
      Release 4.2.4 (2023-04-20) · b2c1caca
      Bazel Release System authored
      Baseline: 37a429ad
      
      Cherry picks:
      
         + a689d673:
           Use getRunfilesPath for run_under executable path generation.
           getRootRelativePath doesn't return a valid runfiles path for
           external source files anymore after the recent external source
           root change. Also, it won't work for external labels either once
           the --nolegacy_external_runfiles becomes default. This fixes
           issue #12545.
         + d90ec67f:
           Fix NPE when coveragerunner is not set on the toolchain.
         + 8555789d:
           Fix the classic query package-loading cutoff optimization with
           external workspaces.
         + d113d745:
           Update turbine
         + 1489f0f4:
           Support Scala3 .tasty files
         + 0d2d95cd:
           Update to java_tools javac11 release 10.5 (#12647)
         + a9419f38:
           Fix common prefix for instrumentation filter
         + 84fadcf8:
           Fix builds for filegroup targets with incompatible dependencies
         + e43825d0:
           Revert "Remove
           --incompatible_blacklisted_protos_requires_proto_info"
         + 082d58de:
           Transform roots along with paths during output deletion.
         + e8835c1c:
           AttributeContainer.Large now handles more than 127 attributes.
         + e1e87349:
           Add an env attribute to all test and binary rule classes
         + a87d7ed2:
           Take no action to prefetch empty artifacts.
         + 3e969ff2:
           Fix a couple of bugs with Incompatible Target Skipping
         + e6670825:
           Pass --host_action_env to host options hostActionEnvironment
           attribute
         + 07400c03:
           Add --{no,}autodetect_server_javabase.
         + c8336606:
           Only treat "env" and "env_inherit" attrs specially for native
           rules
         + 6a60b30c:
           Fix coverage support when using default_java_toolchain. (#12801)
         + 4158a6f5:
           Revert JacocoCoverage target to remote_java_tools_java_import
           and add a new target for remore_java_tools_filegroup. (#12813)
         + f6d30cf5:
           Add windows_msvc back to conditions in bazel_tools.
         + 6b33bdb1:
           Release 4.0.0 (2021-01-21)
         + 8811e273:
           Fix error message from getPrerequisites to not print internal
           details.
         + 27e15ad1:
           Clean up ConfiguredTargetValueAccessor and
           ConfiguredTargetAccessor
         + e87feb8a:
           Move getConfigConditions into ConfiguredTarget.
         + 34d98234:
           Change ConfiguredTargetQuery to use KeyedConfiguredTarget as a
           value.
         + 079bb7d6:
           Clean up old dependencies that are unused since
           https://github.com/bazelbuild/bazel/commit/34d98234324da83e93ba0d
           5ef5702880d5ac7c5c.
         + e03cb63e:
           Update bazelbuild/platforms to a current release. - Roll forward
           https://github.com/bazelbuild/bazel/commit/0a4533420a3de467fd211d
           7f925cf88e0cd5b76a  with kythe fix.
         + 2eb1bf53:
           Update docs and tests to use the @platforms//:incompatible
           constraint
         + c71697cf:
           Clarify test_suite behaviour in the Platforms docs
         + dfb70ea4:
           Enable toolchain resolution for filegroup targets.
         + 24d08644:
           PlatformProviderUtils should ignore targets that don't have the
           needed
         + ba60c0b3:
           ijar: fix manifest sections handling
         + 58bb42ad:
           Revert "Switch to -fdebug-compilation-dir"
         + bef4bbbb:
           Update turbine
         + ad241fbe:
           Allow cquery to filter out incompatible targets
         + 1782f0ae:
           Patch grpc to fix cares selecting the wrong source when building
           for darwin_arm64 cpu.
         + 8f7bc2f6:
           [1/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
           blobs
         + 848a5174:
           [2/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
           blobs
         + 9b301725:
           [3/3] Bump grpc to 1.33.1 to fix corruption when downloading CAS
           blobs
         + 1e258d2a:
           Allow exec groups to inherit from the rule or other exec groups.
         + d0676693:
           Support execution constraints per exec group
         + f1e0d346:
           Clean up RuleContext to use a Table instead of a Map of Maps.
         + 8186fbb4:
           Documentation for #13110
         + 321fe3b6:
           Prevent --repo_env from triggering unnecessary fetches
         + 3ebf658c:
           Prevent a crash when using --repo_env=VAR without a value
         + 913a985a:
           Report digest of failed uploads
         + 5122617b:
           Status error presentation with details
         + 9a70805d:
           Fix double shutdown of BuildEventArtifactUploader when BES+File
           output enabled.
         + 325eb956:
           Add rxjava3 to third_party
         + ceaac966:
           remote: set executable bit of an input file based on its real
           value
         + 5b786da7:
           Remote: correctly implement equals and hashCode.
         + 48648503:
           Fixed an error that bazel binary is not executable when testing
           with remote execution.
         + bc54c648:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata.
         + 92955e61:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 2)
         + 75bd1ff8:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 3)
         + 37ee252f:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 4)
         + 71e35b16:
           Remote: Use parameters instead of thread-local storage to
           provide tracing metadata. (Part 5)
         + 32fc4516:
           Write/QueryWriteStatus logging refinement/addition
         + 97963c5b:
           Remote: gRPC load balancing. (Part 1)
         + e2b9a42a:
           Remote: gRPC load balancing. (Part 2)
         + 6667ad7d:
           Remote: gRPC load balancing. (Part 3)
         + 7c081eb0:
           Remote: gRPC load balancing. (Part 4)
         + 17afbe4e:
           Implement getMessage for BulkTransferException
         + a6293b3d:
           Remote: gRPC load balancing. (Part 5)
         + 7a62c2d4:
           Remote: Add interoperability between Rx and ListenableFuture.
         + 1fcb18a0:
           Update to latest remote-execution proto
         + dad96301:
           Set Platform on Action not just Command
         + 6c5a3ee0:
           Remote: Add AsyncTaskCache which is used to deduplicate task
           executions and cache the results.
         + 9d0c7325:
           Remote: Use AsyncTaskCache inside RemoteActionInputFetcher.
         + f54fe072:
           Add --experimental_repository_disable_download to allow users
           disable download for external repos
         + b243584a:
           Report errors parsing rewriter config file
         + 63bc1c7d:
           Downloader rewriter config has all_blocked_message
         + 495ac923:
           Allow UrlRewriter to change protocol, i.e. https->http, and
           http->https
         + 8dbbde00:
           Allow overriding the hostname and instance name in bytestream://
           URIs
         + 0881c80d:
           Don't set requestId on non-multiplex requests.
         + e3b7e17b:
           When generating a symlink in _virtual_includes, add the original
           header to the 'allowed to use' set too
         + f8f66f36:
           Make SimpleLogHandler not swallow interrupts.
         + f8606e5e:
           linux-sandbox: don't assume -lrt, -D__STDC_FORMAT_MACROS
         + dac0d40d:
           Improve "Common Attributes" section
         + a607d9dc:
           Never create more than one process per WorkerMultiplexer.
         + 80c03ef1:
           Move sending requests and reading responses for multiplex
           workers into separate subthreads.
         + 003cfcde:
           Allow use of JSON protocol in multiplex workers.
         + 308bce36:
           Actively kill off still-active workers when stopping work on
           interrupt.
         + 8959dff5:
           Add sanitizer support to Apple platforms
         + 32f16e93:
           Fix a Google-internal broken link.
         + c9e2be52:
           Add SHA-1 to subresource integrity format for download()
           checksums
         + 3b3e6424:
           Remove fallback strategy support for workers, add flag for it in
           sandbox.
         + 3457f2ae:
           Update to java_tools javac11 10.6 (#13245)
         + 4928295b:
           Allow .S files in C++ Starlark cc_common.compile.
         + 1b18d652:
           Automatic code cleanup.
         + b5d6c385:
           Change short output of worker type to have the same logic as the
           worker creation for sandboxing vs. multiplex.
         + e7a0a71f:
           More properly destroy workers on interrupt.
         + 7056711e:
           Make WorkRequestHandler do a GC after some amount of CPU time
           has been used on requests. For Bazel and Blaze, defaults to 10s
           based on benchmarking.
         + 596653d3:
           Allow tree artifacts to be source or header inputs to
           cc_common.compile()
         + 055c93d1:
           Switch to path autocompletion after -- for bazel run commands.
         + 807f2a19:
           Fix Incompatible Target Skipping for test args
         + 9a5cd854:
           Fix order of build request id and command id
         + 706f5acd:
           Fix bazel crash when passing config_setting to
           target_compatible_with
         + 61da1d2b:
           Support multiple --bazelrc on command line
         + 5593358a:
           Update ConfiguredTargetFunction.computeUnloadedToolchainContexts
           to
         + 662cf54d:
           Remote: Fix an issue that a failed action could lead to
           RuntimeException caused by InterruptedException thrown when
           acquiring gRPC connections.
           https://github.com/bazelbuild/bazel/issues/13239
         + a3a17632:
           Pass more `--add-exports=` flags
         + d2b94287:
           Remote: Fixed a bug that remote cache is missed due to
           executable bit is changed
         + 616dc264:
           Fix Bazel Coverage with C++ to work with Remote Execution
         + 5f40d12e:
           Fix external_path_test with newer Xcode versions.
         + b4161930:
           Allow using embedded tools in sandboxed spawn runners.
         + eb762d4e:
           Fix racy write of temporary files while staging virtual inputs
           for the sandbox.
         + f31e8676:
           Update platforms_test to not rely on filegroup not using
           toolchain
         + 13031e5b:
           Update SkyframeTests to not rely on filegroup not using toolchain
         + 11651824:
           Update ConfigurableAttributesTest to not rely on filegroup not
           using …
         + 4b68532e:
           Make WorkerExecRoot not be a subclass of SandboxedSpawn.
         + 31db460a:
           Make WorkerExecRoot not be re-created on each createFileSystem()
           call. Preparation for holding a map of existing links, but also
           just nicer.
         + a2cc0460:
           Start the file existence check traversal from the execroot base
           instead of execroot so that external repo files at
           "<execroot>/../<path>" are correctly handled when the sibling
           repository layout is enabled.
         + b048282c:
           Use readdir for cleanExisting in WorkerExecRoot.
         + 270f00dd:
           Add native support for Apple Silicon
         + 8e56b942:
           Explicitly state that embedding macOS OpenJDK is for x86_64
         + 09c621e4:
           Remote: Fix a race that AsyncTaskCache#Execution could be reused
           after disposed which results in
           CancellationException("disposed") propagated to downstream.
         + 0299cd7e:
           Remove wrapped_clang params files after use
         + 47edc578:
           Silence swiftmodule timestamp warnings
         + f6e1074b:
           Remote: Use shutdownNow() instead of shutdown() in
           ChannelConnection#close() as a workaround to a gRPC bug.
         + 71be4ea9:
           And mnemonic and label to remote metadata
         + 615e1b16:
           Change `set -x` in coverage to be set by var
         + fe4daea9:
           Bump minimal JDK install base maximum size from 290 to 295 MB.
         + 4840a68c:
           Remote: Check the return value of ActionOwner.getLabel() since
           it could be `null`.
         + 14abe4fd:
           Allow `DiffAwareness` to share precomputed information about the
           workspace and propagate it to the `WorkspaceStatusAction`.
         + 082d9877:
           Implement available() method for Windows subprocesses.
         + c2bdd034:
           Move --repo_env to common options
         + e09f2743:
           Revert "Documentation for #13110"
         + a165baa2:
           Revert "Clean up RuleContext to use a Table instead of a Map of
           Maps."
         + 51fb9e13:
           Revert "Support execution constraints per exec group"
         + cb6e5c24:
           Revert "Allow exec groups to inherit from the rule or other exec
           groups."
         + 2ac6581a:
           Release 4.1.0 (2021-05-21)
         + 7a0f36e3:
           Change gceMachineType of highcpu platform from n1-highcpu-32 to
           e2-highcpu-32
         + 19491a91:
           Fix #10127: Remove Python 2 dependency from tools/android.
         + 80c59dea:
           fix main repo starlark options parsing - now flags passed on the
           command line as --@main_workspace//flag and --//flag will both
           parse to --//flag. Before this CL, the former maintained its
           workspace prefix and we would get different entries for these
           two formats.
         + 451b296c:
           Update threshold for long path shortening to be MAX_PATH - 4
         + 671e0489:
           Force source files to be readable before copying them from
           sandbox.
         + 6080c1e0:
           Let workers finish lost races without delaying dynamic execution.
         + ee738dac:
           Fix label_flag and label_setting to not have a dependency on the
           default
         + 74de0ba4:
           Java coverage: fix handling of external files
         + 48eee8b4:
           [Bazel] Fix mobile-install for python2
         + 763dd0ce:
           Add `stub_shebang` to `py_runtime`
         + b2231c56:
           Move use of legacy sandbox -> local fallback to only be used
           after all strategies have been tried, and improve messages
           around it.
         + 6dc941e5:
           Remove restriction on generate_pdb_file to be only used in dbg
           and fastbuild mode
         + 5b95d916:
           Check the result of Future.cancel() when cancelling the other
           branch of dynamic execution.
         + aaae8ce2:
           Update DEFAULT_MACOS_CPU to match host
         + 2f0927a4:
           Fix symlink creation on older Windows versions
         + fd9cffdc:
           Suppress interrupted status during pool closure
         + 33903d28:
           Fix Windows developer mode symlinks
         + 0cd16667:
           Respect Starlark options with values in `removeStarlarkOptions()`
         + 7920ffef:
           cquery inherits from `test` not `build`
         + 1e258d2a:
           Allow exec groups to inherit from the rule or other exec groups.
         + d0676693:
           Support execution constraints per exec group
         + f1e0d346:
           Clean up RuleContext to use a Table instead of a Map of Maps.
         + 8186fbb4:
           Documentation for #13110
         + e376580a:
           Split ExecGroup into a new target.
         + 0cbb8a86:
           Create a new interface to allow Starlark objects to get a thread
           when getIndex is called.
         + d2e21cec:
           Renamed ExecGroupCollection to clarify that it is only for
           Starlark usage.
         + b9519f92:
           Make StarlarkExecGroupContext use AutoValue.
         + 52b1b748:
           Use a dummy toolchain context for rules that don't have one.
         + 41877d0f:
           Extract a separate StarlarkToolchainContext for starlark-only
           operations.
         + b120d4fe:
           Fix toolchains to support type lookup.
         + dc140d0b:
           Move DEFAULT_EXEC_GROUP_NAME from ToolchainCollection to
           ExecGroup.
         + 9b18d951:
           Rename ToolchainCollection.getExecGroups to getExecGroupNames.
         + 10d4473b:
           BuildViewForTesting should directly call into
           ConfiguredTargetFunction.
         + 58a6fb1f:
           Move exec group tests out of platforms_test and into integration.
         + 7d5493d9:
           Update creating exec groups that explicitly copy from defaults.
         + 8c6382a8:
           Create a new ExecGroupCollection container to manage exec group
           inheritance and exec property parsing.
         + b4b0c321:
           Fix unix toolchain for macos arm64 platform
         + f64f071f:
           Add `required_providers` attribute to Starlark defined aspects.
         + f2cbdcf6:
           Don't ever claim /dev/null is an execpath.
         + ceec93c3:
           Don't ever claim /dev/null is an execpath.
         + 1f3f9f4c:
           Use the parent directory of the exec root as the input root on
           RBE.
         + 4efeac9c:
           Make the Merkle tree computation work in the wake of
           https://github.com/bazelbuild/bazel/commit/7149f578006a4ad0d51df6
           9830a6986749b34df5 .
         + b56a2aa7:
           Remote: Use execRoot as input root and do NOT set working
           directory by default.
         + ae53991f:
           Remote: Add RemoteExecutionService as a layer between spawn
           execution and remote execution.
         + 0c07c2e6:
           Remote: Add remoteCacheable key to execution log
         + 5e617d83:
           Remote: Register "remote" strategy even if remote execution is
           not available.
         + 4ca8946a:
           Remote: Add --experimental_capture_corrupted_outputs flag.
         + 97d7b4c2:
           Remote: Report checking cache status before the action is
           scheduled to run remotely.
         + ba5b2a7c:
           when writing to local disk cache, open files later in order to
           avoid "too many open files"
         + 35518988:
           Propagate test envs to xml generation action
         + 9f8c678d:
           Remote: Fix a bug that the XML generation is executed even if
           test.xml is generated when build with --remote_download_minimal.
         + af42653e:
           Automatic code cleanup.
         + 07a84ce3:
           Remote: Another attempt to fix the CancellationException error
           in AsyncTaskCache caused by a race condition.
         + 0f812eb5:
           Remote: Display download progress when actions are downloading
           outputs from remote cache.
         + 18c82168:
           Remote: Do not upload empty output to remote cache.
         + 6a138a60:
           Fix compiling errors
         + bcce6dd0:
           Add the TEMP_FAILURE_RETRY macro to linux-sandbox-pid1.cc.
         + c8c0d94a:
           Export proguard specs from aar_import
         + 1a0285c3:
           Fix stripping of macOS loadable bundles
         + 0d3c231f:
           Roll forward config_setting visibility enforcement behind a flag.
         + bb7a0102:
           Fix merge conflicts.
         + 8b8e77ea:
           Remove redundant declaration.
         + 7c92cfcf:
           Ignore empty virtual artifacts when spawn-logging inputs.
         + 4158b612:
           Use correct exit code on invalid aquery --output
         + b51b31db:
           Remote: Fix a race when reporting action progresses.
         + 0e652737:
           Change MIN_BUILD_TOOLS_REVISION to 30.0.0
         + 6f9909c0:
           Update Android remote tools to ensure Bazel uses the latest
           Android tooling that has been updated to support AndroidX
           databinding generation.
         + 31d88c62:
           Automated rollback of commit
           9a1d428e.
         + 951a3023:
           Increase allowed size of the install_base.
         + a7845f65:
           Increase allowed size for install base again.
         + affc27f9:
           Bump version of java allocation instrumenter.
         + 7efabba1:
           Reference the correct version of the java allocation
           instrumenter.
         + 9055c67b:
           Support extracting aar files.
         + 861c3caa:
           Revert "Remote: Fix a race when reporting action progresses."
         + 92ec798d:
           Revert "Remote: Display download progress when actions are
           downloading outputs from remote cache."
         + ce091abb:
           Revert "Fix compiling errors"
         + 1b19cd31:
           Revert "Remote: Fix a bug that the XML generation is executed
           even if test.xml is generated when build with
           --remote_download_minimal."
         + 988b56f5:
           Revert "Remote: Report checking cache status before the action
           is scheduled to run remotely."
         + 35c98d07:
           Revert "Let workers finish lost races without delaying dynamic
           execution."
         + c4e22b9a:
           Migrate ExampleWorker to use WorkRequestHandler.
         + 230be161:
           Do not interleave readdir() calls with deletion of directory
           entries.
         + 3cc8ce6b:
           Propagate OOME if NewByteArray allocation failed
         + 19fc15eb:
           Create helper method for sandbox tests, transform existing tests
           into using it.
         + deb1006c:
           Cleanup: Replace NULL with nullptr
         + f4b5e023:
           Let workers finish lost races without delaying dynamic execution.
         + 186decab:
           Interface and flag specification for worker cancellation.
         + 5894a854:
           Create BUILD file in worker tests directory instead of running
           tests from the parent directory.
         + e9e69788:
           Server-side implementation of worker cancellation.
         + 51036622:
           Add builder for WorkRequestHandler.
         + 1a519bb6:
           Makes singleplex requests be handled in separate threads in
           WorkRequestHandler.
         + 779d6601:
           Only allow worker async finishing when sandboxed.
         + a698bef6:
           Support for cancellation in WorkRequestHandler.
         + 9dc95af4:
           Make workers restart on flags that affect their
           creation/behaviour.
         + 7e5cd529:
           Remote: Report checking cache status before the action is
           scheduled to run remotely.
         + 6e134a1b:
           Remote: Fix a bug that the XML generation is executed even if
           test.xml is generated when build with --remote_download_minimal.
         + d4d07140:
           Fix compiling errors
         + 2579c9a1:
           Eagerly initialize JNI copies of Java classes: doing lazy
           initialization on a per-method basis doesn't save anything and
           adds a tiny bit of overhead to every one of these calls.
         + 0f812eb5:
           Remote: Display download progress when actions are downloading
           outputs from remote cache.
         + 3835d9b2:
           Update the WorkRequestHandler to use callbacks of type:
           BiFunction<WorkRequest, PrintWriter, Integer>:  - Mark
           constructors that use BiFunction<List<String>, PrintWriter,
           Integer> callback as deprecated.  - Use a wrapper class for the
           BiFunction<WorkRequest, PrintWriter, Integer>. Suggesting this
           to avoid having two constructors that takes a BiFunction, as it
           creates a confusion between the deprecated and new constructor
           when given a lambda expressions.
         + 5e352afe:
           Fix bug in WorkRequestHandler's handling of singleplex requests
           that would cause occasional hangs.
         + b51b31db:
           Remote: Fix a race when reporting action progresses.
         + c9d823e4:
           Disable flaky test.
         + e6809c90:
           Revert "Check the result of Future.cancel() when cancelling the
           other branch of dynamic execution."
         + be4cbc7a:
           Revert "Move use of legacy sandbox -> local fallback to only be
           used after all strategies have been tried, and improve messages
           around it."
         + b32349f5:
           Set a fallback dynamic local strategy even when the
           dynamic_local_strategy flag is passed.
         + f395157c:
           Allow running an extra spawn for local branch of dynamic
           execution.
         + 039461c7:
           Adding debugging information for case when two branches
           apparently cancel each other.
         + b2231c56:
           Move use of legacy sandbox -> local fallback to only be used
           after all strategies have been tried, and improve messages
           around it.
         + 5b95d916:
           Check the result of Future.cancel() when cancelling the other
           branch of dynamic execution.
         + 1962a59a:
           Fix the case where if all strategies for one branch of `dynamic`
           execution fail to accept (that is, refuse to even take) the
           action given, the whole action fails. Instead of seeing whether
           the other branch can run and the action that that it succeeded.
         + b7c1ad2a:
           Fix rare crash in dynamic execution where both branches got
           cancelled.
         + 2c3cff54:
           Check if `treeDeleter` is actually async before casting it.
           Fixes #13240.
         + 1a89ce17:
           Make worker JSON protocol properly ignore unknown fields.
         + 4b12fc80:
           Fix test_source_file_does_not_override_standard_library to work
           with Python 3.9.
         + f4e10367:
           Removing line ending matches in tests to be compatible on Windows
         + ba74df07:
           Refactors CompilationSupport for objc to use existing API
         + a04cb1bf:
           Release 4.2.0 (2021-08-18)
         + ba867807:
           Revert "fix main repo starlark options parsing.
         + 9f67cdf3:
           cquery: disable `--build_tests_only`.
         + 02ad3e3b:
           Release 4.2.1 (2021-08-30)
         + ae0a6c98:
           Enable user_link_flags_feature for macosx cc_toolchain_config
         + af74287f:
           Remote: Limit max number of gRPC connections by
           --remote_max_connections. (#14318)
         + 639f89d7:
           Fix [Prepa] actions stuck in active state
         + 3069ac4e:
           Delete marker file before fetching an external repository
         + e6c8e8d1:
           CI configs: switch centos to centos7_java11_devtoolset10
         + 15371720:
           Release 4.2.2 (2021-12-02)
         + f64b7553:
           [4.2.3] Update GrpcRemoteDownloader to only include relevant
           headers. (#16450) (#16459)
         + ad6d3d59:
           Release 4.2.3 (2022-10-18)
         + 12f79d36:
           [4.2.4] Disable some failing tests (#18046)
         + 1f2b3ed4:
           Patch zlib to fix compatibility with latest Xcode
         + 9fef2346:
           [4.2.4] Bump minimum supported macOS versions to 10.13 (#18047)
      
      Incompatible changes:
      
        - GrpcRemoteDownloader only includes relevant headers instead of
          sending all credentials.
      
          Closes #16439.
      
      Important changes:
      
        - Multiplex persistent workers can now use the JSON protocol.
        - enforce config_setting visibility. See
          https://github.com/bazelbuild/bazel/issues/12932 for details.
        - The minimum Android build tools version for the Android rules is
          now 30.0.0
        - Updates worker protocol with cancellation fields, and adds
          experimental_worker_cancellation flag to control cancellation.
        - 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)
      
      This release contains contributions from many people at Google, as well as Alex Eagle, Austin Schuh, Benjamin Peterson, bjacklyn, bromano, Christopher Peterson Sauer, Christopher Sauer, Cristian Hancila, Daniel Wagner-Hall, Denys Kurylenko, Ed Schouten, Fabian Meumertzheim, Finn Ball, George Gensure, Greg Estren, Johannes Abt, Keith Smiley, Kevin Hogeland, kshyanashree, Lauri Peltonen, Noa Resare, Philipp Schrader, Ryan Beasley, Thi Doan, ThomasCJY, Timothy Klim, Trustin Lee, Ulf Adams, Vaidas Pilkauskas, Vertexwahn, wisechengyi, Xavier Bonaventura, Yannic Bonenberger, Yuval Kaplan, Yuval.
      b2c1caca
  28. Apr 19, 2023
    • Bazel Release System's avatar
      Release 5.4.1 (2023-04-19) · 0210e455
      Bazel Release System authored
      Baseline: 8d66a417
      
      Cherry picks:
      
         + becd1494:
           Remote: Cache merkle trees
         + d7628e1b:
           Update DEFAULT_IOS_CPU for M1 arm64 simulator support
         + 80c56ff7:
           Compile Apple tools as fat binaries if possible
         + 3c09f343:
           Add protobuf as a well known module
         + 3a5b3606:
           Remote: Merge target-level exec_properties with
           --remote_default_exec_properties
         + 917e15ea:
           Add -no_uuid for hermetic macOS toolchain setup
         + f5cf8b07:
           Remote: Fixes an issue when --experimental_remote_cache_async
           encounter flaky tests.
         + 77a002cc:
           Remove DigestUtils.getDigestInExclusiveMode() now that SsdModule
           has …
         + 557a7e71:
           Fixes for the Starlark transition hash computation (#14251)
         + 34c71465:
           Do location expansion in copts of objc_library
         + 50274a9f:
           [5.x] Remote: Add support for compression on gRPC cache (#14277)
         + 61bf2e5b:
           Automated rollback of commit
           34c71465.
         + 79888fe7:
           Silence a zstd-jni GCC warning.
         + 063b5c9c:
           Remote: Limit max number of gRPC connections by
           --remote_max_connections.
         + fd727ec9:
           Do location expansion in copts of objc_library
         + 23d09693:
           Fix _is_shared_library_extension_valid
         + 5cf1d6e1:
           Remove merging of java_outputs in JavaPluginInfo.
         + cea5f4f4:
           Cherrypick Bzlmod documentation (#14301)
         + 227e49e2:
           Format work requests according to ndjson spec
         + ae0a6c98:
           Enable user_link_flags_feature for macosx cc_toolchain_config
         + 8c2c78cd:
           Remote: Use Action's salt field to differentiate cache across
           workspaces.
         + f9489891:
           [5.x] Remote: Fix "file not found" error when remote cache is
           changed from enabled to disabled.  (#14321)
         + 3069ac4e:
           Delete marker file before fetching an external repository
         + c05c6261:
           Remote: Fix file counting in merkletree.DirectoryTreeBuilder
         + d84f7998:
           Fix remote spawn tests for remote_merkle_tree_cache=true
         + 59e16e94:
           Show skipped tests as a warning
         + 76b3c242:
           Build xcode-locator as a universal binary
         + aa52f2dd:
           Exit collect_coverage.sh early if LCOV_MERGER is not set.
         + 4256d463:
           Automated rollback of commit
           d84f7998.
         + dce24350:
           [apple] fix issues compiling C in objc_library for watchos/armv7k
         + bfc24139:
           5.x: Remote: Ignore blobs referenced in BEP if the generating
           action cannot be cached remotely. (#14389)
         + 5aef53a8:
           Remote: Don't blocking-get when acquiring gRPC connections.
           (#14420)
         + 005361c8:
           Disable IncludeValidation for ObjC in bazel
         + d703b7b4:
           Update java_tools v11.6
         + 90965b07:
           Stop remote blob upload if upload is complete. (#14467)
         + dc59d9e8:
           [5.x] Make remote BES uploader better (#14472)
         + 2edab739:
           Avoid too verbose warnings in terminal when cache issues
         + 11604851:
           Rename --project_id to --bes_instance_name
         + c63d9ecb:
           Automated rollback of commit
           bfdfa6eb.
         + b3418027:
           [apple] support watchos_arm64 in toolchain
         + 43bcf80a:
           Disable implicitly collecting baseline coverage for toolchain
           targets.
         + 302971e1:
           Automated rollback of commit
           7d09b4a1.
         + 62002024:
           Bzlmod: Starlarkify default attr values for TypeCheckedTags
         + 38117d49:
           Fix build after rc4 cherrypicks (#14581)
         + 41feb616:
           Release 5.0.0 (2022-01-19)
         + 486d153d:
           Find runfiles in directories that are themselves runfiles
         + 0de7bb95:
           Don't resolve symlinks for --sandbox_base
         + 8b60c90f:
           Remove uses of -lstdc++ on darwin
         + 60f757c0:
           Allow Label instances as keys in select (#14755)
         + 3836ad02:
           Remote: Only waits for background tasks from remote execution.
         + 8734ccf9:
           Add the default solib dir to the rpath for cc_imports with
           transitions
         + 9e16a648:
           Flip --experimental_worker_allow_json_protocol
         + fce7ea8d:
           Fix `ctx.fragments.apple.single_arch_cpu` returning incorrect
           cpu for tools when host cpu and exec cpu are different
         + 0c1d09e4:
           Propagate --experimental_cc_implementation_deps to host config
         + 1c3a2456:
           Support select() on constraint_value for aliases.
         + 67a133b4:
           Improve documentation for select()
         + 5356fedd:
           Cherrypicks for experimental cc_shared_library (#14773)
         + ffdd633d:
           [apple] support tvos_sim_arm64 in toolchain (#14779)
         + a58ddea5:
           Cherry pick win arm64 (#14794)
         + dc41a20b:
           [5.1.0] cherrypick subpackages support (#14780)
         + 86e2db7d:
           Add a helper method for rules to depend on the cpp toolchain
           type.
         + 6990c026:
           UrlRewriter should be able to load credentials from .netrc
           (#14834)
         + 32d1606d:
           Add "arch" struct field to repository_os
         + 2cfdceae:
           [5.x] bzlmod: Add support for WORKSPACE.bzlmod (#14813)
         + c2ddbd19:
           Ignore missing include directory in JDK distribution.
         + 16de0359:
           Fix bazel coverage false negative
         + 0c747417:
           Remote: Postpone the block waiting in `afterCommand` to
           `BlockWaitingModule` (#14833)
         + 3297d923:
           Switch to `ProcessHandle` for getting the PID (#14842)
         + a987b98e:
           Fix uses of std++ on bsd
         + d184e488:
           Remote: handle early return of compressed blobs uploads
         + 0b09e9e0:
           Add removeprefix/removesuffix to Starlark strings
         + d42ab0cf:
           Fix default CPU for macOS and iOS (#14923)
         + cd24f397:
           Add paramfile support for def_parser, since in rare cases on
           Windows command line character limit was reached.
         + 0b1beefd:
           Normalize rpath entries to guard against missing default solib
           dir
         + 24e82426:
           Fix aggressive params file assumption
         + c45838bd:
           Fix precompiled libs not in runfiles of cc_shared_library
           (#14943)
         + 764614e0:
           Bzlmod: Allow multiple `use_extension`s on the same extension
           (#14945)
         + fa761f84:
           Fix typo in `apple_common.platform` docs
         + f7d8288b:
           Yield a Proxy for addresses without protocol
         + 8cefb8be:
           Avoid merging URLs in HttpUtils
         + b4804807:
           Make protocOpts() public. (#14952)
         + 113eaca5:
           Do not hide BulkTransferException messages when there were more
           than one exception
         + b1bf9d6c:
           merkle_tree_cache: change default size to 1000
         + f15e0c72:
           Add --experimental_repository_cache_urls_as_default_canonical_id
           to help detect broken repository URLs (#14989)
         + f4214746:
           Expose the logic to read user netrc file
         + b858ec39:
           Correct cpu and os values of `local_config_cc_toolchains` targets
         + 5e79972c:
           Expose CoverageOutputGenerator on a Fragment (#14997)
         + 78f03110:
           Correct error runfiles cc_shared_library (#14998)
         + 7937dd14:
           [5.1] Adding Starlark dependencies to the package //external
           (#14991)
         + a73aa12b:
           Remote: Fix crashes with InterruptedException when using http
           cache.
         + f8707c07:
           Account for interface libraries in cc_shared_library
         + a570f5fd:
           Fix coverage runfiles directory issue
         + 95de355e:
           Do not validate input-only settings in transitions (#15048)
         + 71747ccc:
           Filter out system headers on macOS.
         + cb6500a9:
           Update Bazel bootstrap documentation and remove obsolete flags.
           (#15065)
         + 4c031d10:
           [5.1] Undocument --bes_best_effort (#15066)
         + 267142f3:
           Fix conflicting actions error when specifying
           --host_macos_minimum_os (#15068)
         + f1923627:
           [5.1] Remote: Action should not be successful and cached if
           outputs were not created (#15071)
         + 00d74ff7:
           Support decompressing zstd tar archives for repository rules.
         + f5857830:
           Remote: Don't check TreeArtifact output
         + efb2b809:
           osx_cc_wrapper: Only expand existing response files
         + c771c43b:
           Remote: Fix crashes by InterruptedException when dynamic
           execution is enabled. (#15091)
         + 3785677c:
           Use python3 on macOS
         + 815d9e49:
           Release 5.1.0 (2022-03-24)
         + 1fbb69e3:
           Prepare 5.1.1 release
         + df153df9:
           Fix CODEOWNERS syntax
         + 2b92a311:
           Remote: Don't check declared outputs for failed action
         + b47aa71b:
           Upgrade abseil version to the latest
         + c49c45d8:
           Revert default export all symbols on Windows
         + 7d3fb993:
           Support ZIP files with total number of disks = 0
         + 0f5dc111:
           Release 5.1.1 (2022-04-08)
         + 2422cfb3:
           Update CODEOWNERS
         + bbcff180:
           [5.2.0] Update java_tools 11.7.1 (#15231)
         + 9c98120f:
           Add support for .ar archives (and .deb files)
         + d3435b09:
           Seperate GetSelfPath implementation for Blaze and Bazel
         + c94572be:
           Include jdk.crypto.mscapi in minimized Windows embedded JDK
         + 299022ca:
           remote: Proactively close the ZstdInputStream in
           ZstdDecompressingOutputStream.
         + 27707995:
           Collect coverage from cc_binary data deps of java_test
         + 3442179d:
           Configure Apple crosstool to return a complete target triple
           that includes minimum OS version and target environment
         + bb6f1a7c:
           Collect C++ lcov coverage if runtime object not in runfiles
         + dbb6e995:
           Fixing dependencies of //external package
         + f0213bbf:
           [5.2] Upgrade Google Auth Version (#15383)
         + a1a74c99:
           Fix chocolatey package - docsUrl must not 404 (#15395)
         + fe644bee:
           Fix cache leak when applying transitions when only a rule's
           attributes change.
         + ad74d524:
           Fix checking remote cache for omitted files in buildevent file
           (#15405)
         + ac219103:
           fix(bzlmod): throw on json parse exception
         + 3d85b886:
           Add a flag to expose undeclared test outputs in unzipped form.
           (#15431)
         + abd7a9f7:
           Remove -U_FORTIFY_SOURCE when thin_lto is enabled (#15433)
         + 53b9cb86:
           Catch NumberFormatException while trying to parse thread id.
         + 19740b55:
           Improve the --sandbox_debug error message
         + 0a2a43f9:
           Set keywords on appropriate lifecycle events.
         + 394ddb82:
           Record additional profiling information for remotely executed
           actions.
         + 652b48e5:
           Fix downloading remote execution output files inside output
           dirs. (#15444)
         + 73f1ecbc:
           Fix android emulator darwin_arm64 select
         + 2649c7c4:
           Fix --use_top_level_targets_for_symlinks with aliases (#15446)
         + fa1081c1:
           Filter libtool warning about table of contents
         + 26f87832:
           Unify sandbox/remote handling of empty TreeArtifact inputs
           (#15449)
         + 6b21b777:
           Revert "Fixes incorrect install names on darwin platforms"
         + e133e66f:
           config doesn't error on duplicate `--define` values (#15473)
         + 84d59176:
           Collect coverage from cc_binary data deps of py_test (#15298)
         + 519d2daa:
           SolibSymlinkAction does not need exec platform or properties
         + 6e546998:
           Let Starlark tests inherit env variables (#15217)
         + 9610ae88:
           Update PythonZipper action to use CommandLineItem.CapturingMapFn
         + 2f1ff6fa:
           Make `coverage --combined_report=lcov` skip incompatible tests
         + 9fad5a3d:
           Disable ReturnValueIgnored checks to unblock java_tools release
         + 01201188:
           Bump the limit of Bazel install base size (#15585)
         + 668805aa:
           Upgrade zlib to 1.2.12
         + 4d900cee:
           [5.2] Remote: Fix a bug that outputs of actions tagged with
           no-remote are u... (#15453)
         + b703cb9b:
           Add feature to produce serialized diagnostics files (#15600)
         + 2e8458b7:
           Release 5.2.0 (2022-06-07)
         + 536f8d97:
           Fix fail message construction in cc_shared_library
         + 2d42925a:
           Define cc-compiler-darwin in Xcode toolchain
         + a1d7d1f6:
           Fix alwayslink in objc_import
         + d273cb62:
           Unify URL/URLs parameter code across http_archive, http_file,
           http_jar
         + fea32be4:
           Preserve --experimental_allow_unresolved_symlinks in exec cfg
         + e4bc370b:
           Ck/cherry pick cc shared library (#15754)
         + dbdfa07e:
           Let Starlark executable rules specify their environment (#15766)
         + e2a6a2b1:
           Fix string formatting when java_home path is missing.
         + d54a288e:
           Optionally enable LLVM profile continuous mode
         + ad17b44c:
           Print remote execution message when the action times out (#15772)
         + 240e3d1e:
           Add missing line to cherrypick
           e4bc370b (#15784)
         + 804b4747:
           Replace strdupa with strdup
         + 62be9ea2:
           Bzlmod: Better canonical repo names for modules with overrides
           (#15793)
         + d4663a1c:
           Add repo env test (#15768)
         + 594962cb:
           Add is_root struct field to bazel_module (#15815)
         + 3dd2b932:
           Fix null pointer crash with `bazel coverage` on only
           incompatible tests
         + 4175018b:
           Add util for finding credential helper to use
         + 3ea9eb2e:
           Merge ManifestMergerAction-related commits into release-5.3.0
           (#15824)
         + 64571a42:
           Ck/cherrypick 15669 (#15788)
         + 1404651c:
           Create output directories for remote execution (#15818)
         + ae523f82:
           Use tree artifacts in bootclasspath rule
         + 37f181cb:
           [credentialhelper] Add types to communicate with the subprocess
         + 06ca634e:
           Add a flag to force Bazel to download certain artifacts when
           using --remote_download_minimal (#15870)
         + d35f923b:
           RemoteExecutionService: fix outputs not being uploaded
         + 78af34f9:
           Cherry-pick proto_lang_toolchain Starlarkfication and
           proto_common module (#15854)
         + afb434da:
           Fix behavior of `print()` in module extensions
         + 6714c305:
           [credentialhelper] Implement invoking credential helper as
           subprocess
         + 0f059041:
           Add register_{execution_platforms,toolchains} directives to
           MODULE.bazel files (#15852)
         + 33516e27:
           [remote] Improve .netrc test in RemoteModuleTest
         + aa2a1f3a:
           Fix ZipDecompressor windows 0x80 (file attribute normal)
         + 30f16e53:
           Replace uses of `cfg = "host"` with `cfg = "exec"` (#15922)
         + 2a8d0ad7:
           target pattern file: allow comments
         + 6f732052:
           Add factory for creating paths relative to well-known roots
           (#15931)
         + 32cc8e63:
           Update CODEOWNERS (#15910)
         + 63bc14b0:
           Implement native analysis_test call. (#15940)
         + 4df77f77:
           Increase osx_cc_configure timeouts
         + cdf01a39:
           Allow string_list flags to be set via repeated flag uses
         + 05e758d4:
           [credentialhelper] Add parser for flag syntax (#15929)
         + e4ee3441:
           Docs should mention the new no-remote-cache-upload tag (#15965)
         + 96d23d30:
           Add netrc support to --bes_backend (#15970)
         + c5bc34e5:
           Add CommandLinePathFactory to CommandEnvironment (#15971)
         + 508f1857:
           Move newCredentialHelperProvider into GoogleAuthUtils (#15973)
         + 14c944a5:
           Wire up credential helper to command-line flag(s) (#15976)
         + 04c373b7:
           Add `--output=files` mode to cquery (#15979)
         + edfe2a17:
           Make cpp assembly file extensions case sensitive again
         + 4ae85387:
           Prevent aspects from executing on incompatible targets (#15984)
         + f440f8ec:
           Remote: Fix performance regression in "upload missing inputs".
           (#15998)
         + 0109031a:
           Updated Codeowners file (#16032)
         + 6102d33b:
           Propagate the error message when a credential helper fails.
           (#16030)
         + a8dacc78:
           Migrate legacy desugar wrapper to new rlocation() (#16025)
         + 11368be4:
           Correctly report errors thrown by CommandLinePathFactory#create.
         + 82452c7c:
           Fix an issue that
           `incompatible_remote_build_event_upload_respect_no_… (#16045)
         + e7454684:
           Fix rpath for binaries in external repositories (#16079)
         + 83041b14:
           Refactor combined cache. (#16110)
         + c62496f7:
           C++: Add compound error linked statically but not exported
           (#16113)
         + 0f18786b:
           Do not crash on URIs without a host component.
         + 9c0940df:
           Add profiler task for calling a credential helper.
         + 2ca1ab2c:
           Make bazel_cc_code_coverage_test more robust against GCC version
           differences (#16254)
         + 1e251529:
           Fix local execution of external dynamically linked cc_* targets
           (#16253)
         + f6cccae5:
           * 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
         + 59b8b8f4:
           Release 5.3.1 (2022-09-19)
         + 77f02334:
           Update GrpcRemoteDownloader to only include relevant headers.
           (#16450)
         + 42ff95a1:
           Avoid unnecessary iteration on action inputs.
         + d29034e4:
           Update flag `--experimental_remote_download_regex` to accept
           multiple regular expressions. (#16478)
         + bc087f49:
           Release 5.3.2 (2022-10-19)
         + 0b914c6f:
           Send remote actions to specific worker pools instead of machine
           types.
         + ece17d5d:
           Add `$(rlocationpath(s) ...)` expansion (#16668)
         + f02bcf8d:
           Fix identical gcov json file name problem
         + 0696b8a7:
           Upgrade google-http-client and google-http-client-gson.
         + 42a3dbb2:
           Move analysis_test into testing.analysis_test (#16702)
         + b55f3222:
           Fix hanging issue when Bazel failed to upload action inputs
           (#16819)
         + 2f0f3e12:
           [5.4.0] Add integration tests for
           --experimental_credential_helper. (#16880)
         + 6d2d68d9:
           [5.4.0] Keep credentials cached across build commands. (#16884)
         + 676a0c8d:
           Update Bazel to depend on bazelbuild/platforms 0.0.5.
         + 0ea070be:
           Backport recent package metadata and license check capabilities
           from Bazel 6.x. (#16892)
         + b51396a5:
           Add 'toolchain' parameter to actions.{run,run_shell} (#16964)
         + 312fcab5:
           Release 5.4.0 (2022-12-15)
         + 0c4e292c:
           Pin Bazel version to 5.4.0 (#17986)
         + 43dadb27:
           Bump minimum supported macOS versions to 10.13
         + 1f2b3ed4:
           Patch zlib to fix compatibility with latest Xcode
         + a35f5928:
           Use ctime in file digest cache key (#18115)
         + e6af231a:
           [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 https://github.com/bazelbuild/bazel/issues/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 https://github.com/bazelbuild/bazel/issues/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.
      0210e455
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230412.2 (2023-04-18) · 166a3652
      Bazel Release System authored
      Baseline: 5ab5d80e
      
      Cherry picks:
      
         + 0d98bf51:
           Automated rollback of commit
           4a2e51b3.
      
      Incompatible changes:
      
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - Bazel no longer increases the delay between progress updates when
          there is no cursor control.
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - the --experimental_async_execution flag is now a no-op.
        - --experimental_replay_action_out_err is not a no-op.
        - `cquery --output=files` also outputs source files.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_always_include_files_in_data` is flipped to true.
          See https://github.com/bazelbuild/bazel/issues/16654 for details.
        - This changes the behavior of Python version in exec/host
          configuration. Mitigation is to set Python version on the targets.
        - When multiple --deleted_packages options are passed on the
          command line, they will be concatenated instead of the latest one
          taking effect.
        - This has the side effect of changing the message on unsuccessful
          builds from
        - JSON profile: Use doubles instead of strings for counter series.
        - query --output=proto --order_output=deps now returns targets in
          topological order (previously there was no ordering).
        - --experimental_build_transitive_python_runfiles is flipped to
          false. See #16303 for details
        - --incompatible_python_disable_py2 is flipped to true. See #17293
          for details.
        - When remote cache evicts blobs, Bazel will exit with code 39.
        - `--features` only applies to targets built in the target
          configuration, and `--host_features` is used for the host / exec
          configuration (gated behind `--incompatible_use_host_features`)
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - Bazel's local CPU resource on Linux is now container aware. Use
          `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to
          override.
        - `copy_from_rule` is exec_groups is deprecated
          (https://github.com/bazelbuild/bazel/issues/17668).
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - `--experimental_execution_graph_log` no longer exists. Current
          users that want local logs need to pass
          `--experimental_enable_execution_graph_log
          --experimental_execution_graph_log_path=/some/local/path`.
          Current users that want logs uploaded to BEP need to pass
          `--experimental_enable_execution_graph_log
          --experimental_stream_log_file_uploads`.
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - Remove high priority workers functionality from blaze.
      
      New features:
      
        - The `aquery` and `cquery` commands now respect the
          `--query_file` flag just like the `query` command.
      
      Important changes:
      
        - The new path variable `$(rlocationpath ...)` and its plural form
          `$(rlocationpaths ...)` can be used to expand labels to the paths
          accepted by the `Rlocation` function of runfiles libraries. This
          is the preferred way to access data dependencies at runtime and
          works on all platforms, even when runfiles are not enabled (e.g.,
          on Windows by default).
        - Starlark `print()` statements are now emitted iff the line of
          code is executed. They are no longer replayed on subsequent
          invocations unless the Starlark code is re-executed.
          Additionally, multiple identical `print()` statements (same
          string from the same line of code, e.g. from a loop) are all
          emitted and no longer deduplicated.
        - Fixes a bug where some compilation flags would not be applied to
          a cc_test
        - removed outdated ctx.host_fragments
        - removed outdated ctx.host_configuration
        - Now that the host configuration is finished, `genrule` should
          prefer the use of `tools` and stop using `exec_tools`.
        - Added a `native.package_relative_label()` function, which
          converts a label string to a Label object in the context of the
          calling package, in contrast to `Label()`, which does so in the
          context of the current .bzl file. Both functions now also accept
          relative labels such as `:foo`, and are idempotent.
        - Update Android manifest merger to v30.1.3, and also drop support
          for legacy (pre-D8) desugaring.
        - Adds coverage metric support to android_local_test
        - Correctly encode double value positive infinity as "inf" instead
          of "+inf" for textprotos.
        - Add --use_target_platform_for_tests which uses the target
          platform for executing tests instead of the execution platform.
        - Custom C++ rules on Windows calling
          cc_common.create_linking_context_from_compilation_outputs should
          review whether each target of the rule type should produce a
          dynamic library since a condition which blocked their creation
          has been moved to the rules from behind the API.
        - Add flag `--experimental_remote_cache_ttl` and set the default
          value to 3 hours.
        - making --incompatible_use_platforms_repo_for_constraints do
          nothing. Using constraints from @bazel_tools//platforms with or
          without the flag will throw error with message "Constraints from
          @bazel_tools//platforms have been removed. Please use constraints
          from @platforms repository embedded in Bazel, or preferably
          declare dependency on https://github.com/bazelbuild/platforms"
        - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
          couldn't see the Bzlmod root module's mappings when Bzlmod is
          enabled.
        - Subsequent settings of --extra_execution_platforms now override
          previous settings, instead of adding them to a list. If you
          currently set --extra_execution_platforms more than once, please
          migrate by passing a list of values to
          --extra_execution_platforms instead so that earlier values aren't
          overwritten.
        - @bazel_tools//config:common_settings.bzl has been removed.
          Use @bazel_skylib//rules:common_settings.bzl instead.
        - cc_shared_library is no longer experimental, see
          https://github.com/bazelbuild/bazel/issues/16709 for details
        - The flag `--distinct_host_configuration` is removed. It has been
          a no-op since Bazel 6.0.0.
        - Added `native.module_name()` and `native.module_version()` to
          allow BUILD macro authors to acquire information about which
          Bazel module the current repo is associated with.
        - Add `--skip_incompatible_explicit_targets` option
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - cc_test can now be configured by using a native.toolchain().
        - `@foo` labels can now be used on the command line as the
          top-level target (that is, `bazel build @foo` now works).
          Double-dot syntax is now forbidden (`bazel build ../foo` will no
          longer work).
        - The location of rules that explicitly specify `generator_name`
          and/or `generator_function` attributes (typically because they
          are incidentally copied from `native.existing_rule()`) is now the
          top-level call in the `BUILD` file, which is consistent with
          rules that do not explicitly specify these attributes.
        - Warnings (most notably those associated with the `deprecation`
          rule attribute) are no longer replayed on subsequent invocations
          unless the target in question is re-analyzed. Warnings are purely
          informational, so this change has no bearing on the correctness
          of the build. Downstream tests that break due to this change
          should update their expectations.
        - `--experimental_remote_build_event_upload` has been renamed to
          `--remote_build_event_upload`
        - [Breaking change] platform, constraint_setting, and
          constraint_value can no longer take an applicable_licenses value.
          Remediation is to remove the attribute and rely on the package
          level default.
        - `--experimental_action_cache_store_output_metadata` has been
          renamed to `--action_cache_store_output_metadata`
        - Changed the default value for `--remote_build_event_upload` to
          `minimal`.
      
      This release contains contributions from many people at Google, as well as Adam Lavin, Alessandro Patti, Alex Eagle, Amanda L Martin, Andreas Herrmann, Andy Hamon, Ankush Goyal, Anthony Ter-Saakov, Artem Zinnatullin, aryeh, Austin Schuh, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Brentley Jones, Chirag Ramani, Christopher Peterson Sauer, Christopher Sauer, Daniel Grunwald, Daniel KT, Daniel Wagner-Hall, Ed Schouten, Emil Kattainen, Ezekiel Warren, Fabian Meumertzheim, Fabian Meumertzheim, Fahrzin Hemmati, Fahrzin Hemmati, Gaspare Vitta, Greg Magolan, Halil Sener, Hao Yuan, hvadehra, hvd, Jack Dai, James Ma, John Hinnegan, Jon Landis, Jon Parise, jonrose-dev, Julio Merino, keertk, Keith Smiley, Konstantin Erman, Krzysztof Naglik, kshyanashree, Kun-Lu, Lee Mracek, lripoche, Malte Poll, Marc Zych, Matt Mackay, Maxwell Elliott, mohamadk, nathyong, Nick Korostelev, Oliver Lee, Patrick Balestra, Patrick Balestra, Philipp Schrader, Red Daly, redwrasse, robincaloudis, Robin Tweedie, Roger Hu, Sagar Pathare, Saleem Abdulrasool, Sara Adams, Sascha Moecker, Severin Strobl, Siddhesh Bhupendra Kuakde, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stiopa Koltsov, tbaing, Ted Kaplan, Ted Kaplan, Thulio Ferraz Assis, Tom Cnops, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic, Yi Cheng, yuzhy8701.
      166a3652
  29. Apr 18, 2023
    • Bazel Release System's avatar
      Release 6.1.2 (2023-04-18) · 9fc5bb50
      Bazel Release System authored
      Baseline: d60ce2c7
      
      Cherry picks:
      
         + 490f8bad:
           kshyanashree is the release manager of 6.0.0
         + 4e66d934:
           Automated rollback of commit
           2a289091.
         + 48a8d01b:
           Allow C/C++ coverage collection for external targets
         + ec7be346:
           Temporarily set parent directory of the input to writable if it
           is not.
         + b0984342:
           Infer CPUs for tvOS and watchOS when on Apple Silicon
         + 5cea7dda:
           Improve the documentation for ctx.actions.symlink.
         + a82d26f1:
           Add quotes to "Tip"
         + 75b0f3aa:
           Write a repo mapping manifest in the runfiles directory (#16555)
         + 07c5c1aa:
           Ensure repository names don't start with `~`
         + 30f6c823:
           Escape tilde more gracefully
         + cf3f48ca:
           Relax `Label` repo visibility validation
         + 4477823e:
           Use "apparent name" instead of "local name" in Bzlmod docs
         + 55f4f483:
           Bazel DevSite: Add required css file.
         + a706994a:
           Remove logic that increases delay between progress updates over
           time
         + 1d514ab0:
           Remove references to io_bazel repository
         + b0357bd3:
           Relnotes python script
         + 8f956511:
           Allow Java coverage collection for external targets
         + bddb191d:
           Fix race condition in package-bazel.sh
         + a7578527:
           Decanonicalize labels emitted by {a,c,}query if possible
         + 9d250edb:
           Add uniquify parameter to TemplateDict.add_joined
         + f02bcf8d:
           Fix identical gcov json file name problem
         + a1593309:
           Add `$(rlocationpath(s) ...)` expansion
         + 56f54daf:
           Rollup of SBOM correctness fixes (#16655)
         + 72e6e948:
           [cc] Add cc toolchain to starlark cc_proto_library (#16661)
         + 8f285138:
           Make C++ runfiles library repo mapping aware
         + 95f9adc5:
           Always collect FileProvider's filesToBuild as data runfiles
         + 4959d34e:
           fix: export constraints.bzl file from @local_config_platform so
           it can be used in downstream bzl_library targets
         + 4919d4a6:
           Add --host_per_file_copt (#16695)
         + 0a23d469:
           Moving some tests for `RemoteActionFileSystem` of BwoB to a base
           class.
         + 9296068b:
           [remote/downloader] Don't include headers in `FetchBlobRequest`
         + 128d833f:
           [remote] Respect whether the server supports action cache updates
         + 38c50191:
           [remote/downloader] Migrate `Downloader` to take `Credentials`
           (#16732)
         + 5929cb72:
           Stage repository mapping manifest as a root symlink (#16733)
         + 455454a5:
           Expose current repository name to Java with @AutoBazelRepository
         + 97dea593:
           Implement getDirectoryEntries and readdir for
           RemoteActionFileSystem.
         + aa45f5f3:
           Move integration tests for BwoB to a base class and add more
           tests there.
         + 1b073ac0:
           Make Java runfiles library repo mapping aware
         + 148bbb1c:
           Use `_repo_mapping` in C++ runfiles library (#16752)
         + 25558ada:
           Add --experimental_action_cache_store_output_metadata to the
           expansio…
         + 6e945e8a:
           Treat `DEBUG` events as progress-like.
         + 1940c5d6:
           redact 'token' strings from logging
         + 0b645254:
           Make Bash runfiles library repo mapping aware (#16753)
         + 4caae75b:
           Automated rollback of commit
           8f956511.
         + 13ff6d9e:
           Fix Bash rlocation failure with stricter Bash options
         + bd88c7e4:
           Make bazel Android remote deps compatible with bzlmod (#16772)
         + 6f6d4cca:
           Flip `--incompatible_always_include_files_in_data`
         + 94355b1b:
           Add required `--add-opens` server JVM args also with
           non-embedded JDK
         + 8349c95f:
           Also collect clang resource directory with
           `-no-canonical-prefixes`
         + dce6ed77:
           Make `bazel run` works with minimal mode
         + ca8674cc:
           Include source files with `cquery --output=files` (#16826)
         + 9cb5e0a3:
           Fsync before rename after copy in DiskCacheClient
         + 23ffce53:
           Update GetActionResult for disk cache to check referenced files
           when …
         + 0bc0ff52:
           Make Java runfiles library compilable with JDK 8
         + fe169654:
           [6.0.0] Default --incompatible_strict_conflict_checks to true.
           (#16864)
         + 99ca86f7:
           Revert "[6.0.0] Default --incompatible_strict_conflict_checks to
           true. (#16864)" (#16872)
         + 312238f2:
           Make C++ runfiles library build with `-Werror=shadow`
         + 2baa5a42:
           Keep credentials cached across build commands.
         + 8818a57f:
           [6.0.0] Only inject metadata for outputs that cannot be
           reconstructed by skyf… (#16879)
         + 31e4bf40:
           Update java_tools v11.9
         + cd406660:
           replace _get_canonical_form(label) with str(label)
         + e2bc2374:
           Avoid exceptions from hermetic sandbox for unsupported artifact
           subclasses
         + b564d145:
           Remove warnings about ignored starlark options
         + 7ccc6610:
           [6.0.0] Emit Tree objects in topological order (#16904)
         + 86dee6d2:
           Correctly match regex with tree artifact
         + 14925b57:
           Always use target's attributes to set Python version (#16959)
         + a247502d:
           Add 'toolchain' parameter to actions.{run,run_shell}
         + 497b7e40:
           Fix Bash `runfiles_current_repository` with RBE
         + 0a2c4edb:
           Fix corner cases in Bash runfiles library
         + 33b514b2:
           Fix runfiles creation with MANIFEST when building without the
           bytes
         + 3a13af41:
           Remove LCOV merger dependency of `cc_test` without coverage
           (#17004)
         + 25ba76c1:
           Include full tree artifact in inputs when prefetcher doesn't
           support partial tree artifacts.
         + 06deebfb:
           Release 6.0.0 (2022-12-19)
         + c2bfb2e9:
           Enable git_submodules tests and merge git_repository and
           starlark_git_repository (#17247)
         + e8182ce3:
           have 'bazel test' non-test targets depend on
           --remote_download_output
         + c3245cd0:
           Add `SpellChecker` suggestions for common Bzlmod errors
         + 8ec87434:
           Use xcrun to invoke install_name_tool
         + 2b2bea4e:
           Extra resources
         + 5b4de12b:
           Do not clear `--platforms` on no-op change to `--cpu`
         + db3c0130:
           Report `AspectCreationException` to the user
         + 53e9fea3:
           Use long executable path instead of `argv[0]` in all launchers
         + abae5ca3:
           Add sanitizer features to unix_cc_toolchain_config
         + db684196:
           Allow `map_each` to return `None` in `TemplateDict#add_joined`
         + 66b58ee9:
           Always emit trailing zero in human-readable download progress
         + 17b8e448:
           Upload all logs in BEP even with minimal upload
         + 28d2daae:
           Set `--experimental_action_listeners` to default in `exec` config
         + 16427c90:
           Do not count tests as failed that have not started
         + 094a0aab:
           Accept tildes in --override_module
         + 5f2866f8:
           Do the AC integrity check for disk part of the combined cache.
         + cd10d508:
           Fix `--nozip_undeclared_test_outputs` on Windows
         + 073f54b9:
           Allow pyd in extensions of dynamic libraries
         + ac504cbb:
           Register JavaCompileActionContext in Bazel.
         + f090433f:
           Rollback #14510 because it causes remote test execution to fail
         + 942dddaa:
           Prepare backwards compatible usage of optional C++ toolchain
         + 88b51f57:
           Emit LLVM coverage for source file paths with a `tmp` segment
         + bb0b8862:
           Enable archive_param_file feature by default for Windows
         + baf97c00:
           Allow `TemplateDict#map_each` callback to return a list of
           strings (#17306)
         + fcb00774:
           Only try to create groups of test actions in the ui.
         + 3c47b471:
           Find `libtool` when using `BAZEL_USE_CPP_ONLY_TOOLCHAIN`.
         + 1da8a825:
           Add -dead_strip in default opt link flags for darwin
         + b0c5eb30:
           Dont query remote cache but always use bytestream protocol
         + 00e9af19:
           Allow Java coverage collection for external targets.
         + dd24a002:
           Test and fix root symlink edge case in runfiles library
         + af97d983:
           [6.1.0] Fix broken CI (#17422)
         + b8595718:
           Add `native.package_relative_label` function
         + 82168d44:
           Make Bazel more responsive and use less memory when --jobs is
           high (#17398)
         + 84c1ed43:
           Multiplex worker fixes and tests for Android busybox tools
           (#17371)
         + 07590818:
           Improve error message for concurrent modifications (#17396)
         + 27bc896f:
           [6.1.0] Make bazel coverage work with minimal mode (#17397)
         + 544b8164:
           [6.1.0] Fix cc_binary bug related to cc_shared_library on
           Windows and prepare for future removal of
           --experimental_cc_shared_library flag (#17445)
         + 9a7aa21c:
           Fix Bash `runfiles_current_repository` for tools
         + 911eedc0:
           Fix label unambiguous canonical form to correctly report
           non-visible repo names
         + e132653e:
           Remove O1 from sanitizer feature flag defaults
         + ba9e2f8f:
           Remove usage of gRPC Context cancellation in the remote
           execution client.
         + de03a236:
           Allow -v to libtool
         + 4e35c02c:
           Prettify labels in action progress messages with Bzlmod (#17278)
         + 1be0ac3e:
           Expand tree outputs before eagerly prefetching them for local
           actions. (#17494)
         + c2666510:
           Fix Java coverage collection with Java 8 runtime
         + 1a6ffe6d:
           Add a flag to disable execution log sorting.
         + fbec8e2a:
           Reduce flakiness on Windows for BwoB tests
         + 420659a9:
           Make AutoBazelRepositoryProcessor compatible with Java 8
         + dde6d20b:
           Do not recommend `shallow_since` for `git_repository`
         + f76fc616:
           Allow the timeout value for execute calls on a mac to be set via
           an environment variable
         + 773d232f:
           Fix RPATHs for cc toolchain solib when sibling layout is used
         + 5932b3b8:
           [6.1.0] Add --host_features (#17528)
         + a0fa77cc:
           Exit with code 39 if remote cache evicted blobs that Bazel need
           during an invocation (#17496)
         + 1a438b41:
           Only fetch @remote_coverage_tools when collecting coverage
           (#17512)
         + ee1daaf9:
           [6.1.0]Only fetch @remote_coverage_tools when collecting
           coverage (#17287)
         + 350e3295:
           [6.1.0]Fix symlink file creation overhead (#17488)
         + 5406c953:
           [6.1.0] Cleanup stale state when remote cache evicted (#17538)
         + 2d1b570e:
           Bump version number in runfiles.bash init code
         + 3ab8a0a5:
           [6.1.0]Let `aquery` print effective environment for all
           `CommandAction`s (#17274)
         + 51e6c38a:
           Properly report repo fetch progress during main repo mapping
           computation
         + 744108e8:
           [docs] Update migrating to Xcode tutorial (#17563)
         + 9dc7a7e6:
           Update //third_party:jsr305 (#17557)
         + 43dadb27:
           Bump minimum supported macOS versions to 10.13
         + 7d9d23c1:
           Correctly set default subprocess factory when loading class
           `SubprocessBuilder`.
         + 77f82f4f:
           Add an --incompatible_strict_conflict_checks alias for
           --experimental_strict_conflict_checks.
         + e05345de:
           Add support for wrapping system streams in WorkRequestHandler
         + 68e1924c:
           Also handle remote cache eviction for tree artifacts. (#17601)
         + 4a6d056a:
           Add host transition to lcov_merger in Java version of py_test
         + 546e9e29:
           Fix Bazel 6.0 crash regression (#17613)
         + 7e328bb7:
           Include Bazel version information in profile metadata. (#17616)
         + aafe1235:
           [6.1.0] Handle remote cache eviction when uploading inputs for
           remote actions. (#17605)
         + 938e3482:
           [6.1.0] Rerun the artifact conflict check when
           --incompatible_strict_conflict_checks changes. (#17592)
         + 034a2815:
           Report background download for BwoB (#17619)
         + 5afbce52:
           [6.1.0] Flag for writable outputs (experimental) (#17617)
         + d4105e65:
           [6.1.0] Allow .wasm cc executable and dynamic library extension
           (#17440)
         + a306f4f7:
           make desugar dependencies deterministic
         + 37953c56:
           Apply exec transition to lcov_merger in sh_test and cc_test
         + 1d73d72a:
           [6.1.0]Fix --host_features with multiple transitions (#17641)
         + 755cd4bc:
           Release 6.1.0 (2023-03-06)
         + 885ae7ef:
           Revert "Add -dead_strip in default opt link flags for darwin
           (#17312)" (#17696)
         + e7fd4cf4:
           Fix wasm dynamic library extension crash (#17757)
         + 1a90fe5f:
           Release 6.1.1 (2023-03-15)
         + c0ae7bec:
           Bazel CI: Temporarily disable GitRepositoryBlackBoxTest (#18045)
         + 1f2b3ed4:
           Patch zlib to fix compatibility with latest Xcode
         + 906812c9:
           Turn applicable_licenses on platforms into a no-op. (#18082)
         + 05984b98:
           Use ctime in file digest cache key (#18101)
      
      Incompatible changes:
      
        - Bazel no longer increases the delay between progress updates when
          there is no cursor control.
        - `--incompatible_always_include_files_in_data` is flipped
          to true. See https://github.com/bazelbuild/bazel/issues/16654 for
          details.
        - `cquery --output=files` also outputs source files.
      
          Closes #16602.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - This changes the behavior of Python version in exec/host
          configuration. Mitigation is to set Python version on the targets.
        - `--features` only applies to targets built in the target
          configuration, and `--host_features` is used for the host / exec
          configuration (gated behind `--incompatible_use_host_features`)
      
          Fixes https://github.com/bazelbuild/bazel/issues/13839
      
          Closes #16626.
      
      Important changes:
      
        - The new path variable `$(rlocationpath ...)` and its plural form
          `$(rlocationpaths ...)` can be used to expand labels to the paths
          accepted by the `Rlocation` function of runfiles libraries. This
          is the preferred way to access data dependencies at runtime and
          works on all platforms, even when runfiles are not enabled (e.g.,
          on Windows by default).
      
          Work towards #16124
          Fixes #10923
      
          Closes #16428.
        - Starlark `print()` statements are now emitted iff the line of
          code is executed. They are no longer replayed on subsequent
          invocations unless the Starlark code is re-executed.
          Additionally, multiple identical `print()` statements (same
          string from the same line of code, e.g. from a loop) are all
          emitted and no longer deduplicated.
        - Fixes a bug where some compilation flags would not be applied to
          a cc_test
        - Added a `native.package_relative_label()` function, which
          converts a label string to a Label object in the context of the
          calling package, in contrast to `Label()`, which does so in the
          context of the current .bzl file. Both functions now also accept
          relative labels such as `:foo`, and are idempotent.
      
      This release contains contributions from many people at Google, as well as Brentley Jones, Ezekiel Warren, Fabian Meumertzheim, keertk, Keith Smiley, Krzysztof Naglik, kshyanashree, lunch-glide-pepper, oquenchil, Ted Kaplan, Ted Kaplan, UebelAndre, Xùdōng Yáng, Yannic, yuzhy8701.
      9fc5bb50
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230410.1 (2023-04-17) · 0077699a
      Bazel Release System authored
      Baseline: 237fb69e
      
      Incompatible changes:
      
        - Remove high priority workers functionality from blaze.
      
      Important changes:
      
        - `--experimental_remote_build_event_upload` has been renamed to
          `--remote_build_event_upload`
        - [Breaking change] platform, constraint_setting, and
          constraint_value can no longer take an applicable_licenses value.
          Remediation is to remove the attribute and rely on the package
          level default.
      
      This release contains contributions from many people at Google, as well as Brentley Jones, Fabian Meumertzheim, Philipp Schrader, Ulf Adams, Yannic Bonenberger.
      0077699a
  30. Apr 13, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230405.2 (2023-04-12) · 37d080b3
      Bazel Release System authored
      Baseline: 177f0d49
      
      Cherry picks:
      
         + 81ee0fc2:
           Remove globDeps containing some Glob skyKey check
      
      Important changes:
      
        - cc_test can now be configured by using a native.toolchain().
        - `@foo` labels can now be used on the command line as the
          top-level target (that is, `bazel build @foo` now works).
          Double-dot syntax is now forbidden (`bazel build ../foo` will no
          longer work).
        - The location of rules that explicitly specify `generator_name`
          and/or `generator_function` attributes (typically because they
          are incidentally copied from `native.existing_rule()`) is now the
          top-level call in the `BUILD` file, which is consistent with
          rules that do not explicitly specify these attributes.
        - Warnings (most notably those associated with the `deprecation`
          rule attribute) are no longer replayed on subsequent invocations
          unless the target in question is re-analyzed. Warnings are purely
          informational, so this change has no bearing on the correctness
          of the build. Downstream tests that break due to this change
          should update their expectations.
      
      This release contains contributions from many people at Google, as well as Fabian Meumertzheim, Jack Dai, Konstantin Erman.
      37d080b3
  31. Apr 07, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230330.3 (2023-04-06) · 79331af1
      Bazel Release System authored
      Baseline: f7829f85
      
      Cherry picks:
      
         + eee0d9df:
           Add an option retention option to proto_library.
      
      Incompatible changes:
      
        - `--experimental_execution_graph_log` no longer exists. Current
          users that want local logs need to pass
          `--experimental_enable_execution_graph_log
          --experimental_execution_graph_log_path=/some/local/path`.
          Current users that want logs uploaded to BEP need to pass
          `--experimental_enable_execution_graph_log
          --experimental_stream_log_file_uploads`.
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
      
      Important changes:
      
        - Added `native.module_name()` and `native.module_version()` to
          allow BUILD macro authors to acquire information about which
          Bazel module the current repo is associated with.
        - Add `--skip_incompatible_explicit_targets` option
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
      
      This release contains contributions from many people at Google, as well as Benjamin Peterson, Benjamin Sigonneau, Ed Schouten, Fabian Meumertzheim, hvd, Keith Smiley, Malte Poll, Marc Zych.
      79331af1
  32. Apr 04, 2023
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230322.4 (2023-04-03) · 78f00598
      Bazel Release System authored
      Baseline: 65b39486
      
      Cherry picks:
      
         + b9bdcf86:
           Enable
           experimental_execution_graph_enable_edges_from_filewrite_actions
           by default
         + 5a4a3404:
           Update documentation for cc_import deps attribute
         + 577c0621:
           Automated rollback of commit
           ad380ddd.
         + 70c821ad:
           starlark: Reduce allocations for `find`/`indexof` without `end`
         + 233ee293:
           Automated rollback of commit
           0d2e9dae.
         + 788801a8:
           Enable C++ deps pruning on Windows when PARSE_SHOWINCLUDES is
           available.
         + aa2407fe:
           Remove "get" from field names in BzlmodFlagsAndEnvVars class
           Disable Html escaping for better format
         + 83c954de:
           [Skymeld] Gracefully handle --explain.
         + 842d23ea:
           Automated rollback of commit
           24f6fe80.
         + c71b0b12:
           Increase bazel_module_test timeout: it times out on macOS on
           Bazel CI
         + f3e11c5b:
           - Add team-Rules-Java and team-Android to PR labeler - Add
           awaiting-review to all PRs
         + 2e219de0:
           Make lockfile human readable
         + 3b9ec35f:
           Module Lockfile
         + 4c853567:
           Fix ProxyHelperTest on JDK@HEAD
         + b27d1a3b:
           Fix regression with implicit deps which Automatic Exec Groups
           caused
         + 24f6fe80:
           Switch TargetPattern.Parser to use LabelParser
         + dd822392:
           Canonicalize use_extension label
         + e97f62d5:
           This is specifically for android_binary rule. (prev change was
           for android_library rule
           https://github.com/bazelbuild/bazel/commit/98bd4ae81715742ae5aa6c
           91164cd37396cb7c91)
         + 75dce1ee:
           Generate loadable dummy .bzl/BUILD/WORKSPACE files
         + c024b8af:
           Automated rollback of commit
           b2844771.
         + 6f12510e:
           Clarify responsibilities of the Configurability team.
         + 9f93780e:
           Create an option to enable `GcThrashingDetector`.
         + b2844771:
           Automated rollback of commit
           9353955f.
         + e2639459:
           Label Interner Part I -- Create `PooledInterner` and make
           `SkyKeyInterner` as its subclass
         + 99b672b6:
           Simplify cc_test rules by leveraging optional toolchains.
         + e54564fd:
           Restructure ActionStager and CommandAdjuster
         + 1a719cea:
           Add `module_ctx.is_dev_dependency`
         + 986ef7b6:
           [Skymeld] Move the various skymeld flag check to SkymeldModule.
         + 03266a86:
           Tests for TargetPattern parsing, and some sanity fixes
         + 109b2901:
           Fail early if `use_extension` has a bad label
         + 9353955f:
           Unconditionally clear the syscall cache at the end of the build.
         + 2aa06cf2:
           Expose cc_proto_aspect as a toplevel symbol.
         + 24b45890:
           Automatically retry the build if encountered remote cache
           eviction error
         + a9dfbae3:
           Increase the test size for //src/test/py/bazel:py_test to
           prevent flakily timing out on BazelCI.
         + f63ce797:
           Avoid unnecessary copying when building Merkle trees.
         + 6146e4a9:
           [Skymeld] Include the underlying IOException's details if it
           happens while planting the SymlinkForest.
         + 79e22a32:
           Update docs on cached print statement behavior
         + f7829f85:
           Rename Factory-level ExecutionTransitionFactory.create to
           createFactory
         + 57426bcd:
           Fix iterating over string example
         + 4097d9c5:
           Use `PercentageConverter` to automatically validate the value of
           `--experimental_oom_more_eagerly_threshold`.
         + 576a497d:
           Delete unused PackageIdentifierAndLong
         + fa7bfa35:
           Automatic code cleanup.
         + c89ca0d4:
           Update D8/R8 dependency in bazel to 8.0.40
         + cee754ce:
           Add team-Remote-Exec & team-Documentation to PR labeler
         + 0882effb:
           Include --bes_upload_mode in docs
         + d1b4fb74:
           Remove 'darwin' CPU value
         + 02846a81:
           Remove 'darwin' CPU value
         + 0ddf9bf2:
           Remove unneeded use CompilationFailedException.
         + aaf1d069:
           Don't intern `RootedPath` on Windows.
         + 98bd4ae8:
           Native changes required to support linking against resource apks.
         + 0a8380be:
           Set the digest_function field as part of all relevant gRPC
           requests
         + 6e01b259:
           Add support for .tbz file extension in
           repository_ctx.download_and_extract
         + 8ab9c6e5:
           Add a boolean flag which controls whether ExecutionGraphModule
           is on.
         + 753f5d38:
           Enable heuristically dropping GENQUERY_SCOPE nodes
         + 57f954d3:
           Update stale workflow #s
         + 8c712c82:
           Fix formatting issue in http.bzl
         + 0d2e9dae:
           Automated rollback of commit
           f548d56b.
         + ad380ddd:
           Automated rollback of commit
           602794ef.
         + e69aad7a:
           Automatic code cleanup.
         + a691e974:
           Create a `GcThrashingDetector`.
         + abc13e32:
           Release 7.0.0-pre.20230316.2 (2023-03-27)
         + f4b3165b:
           Detect when `GCLocker` defers a `System.gc()` call.
         + 3c1c0c09:
           Add suggestions to invalid tag class errors
         + 81f31210:
           [Skymeld] Don't use SkyKeyComputeState to manage conflict
           checking in BuildDriverFunction.
         + 602794ef:
           Flip Automatic Exec Groups inside java_binary
         + f7627e00:
           Support (workspace) relative paths in --override_module closes
           https://github.com/bazelbuild/bazel/issues/17551
         + 16c639ca:
           Trigger labeler when a PR is ready for review (removed from
           draft mode)
         + 5a972e0a:
           Set `use_default_shell_env` for windows launcher maker action
         + 165e7684:
           Fix windows launcher maker compilation with mingw-gcc
         + 136a1ee4:
           Add `--skip_incompatible_explicit_targets` option
         + 130703a3:
           Delete old dependency to bazel's //tools/objc
         + 7917b9ae:
           Automated rollback of commit
           2a3ab5c4.
         + 33d2dc90:
           Shard bazel_module_test and py_test
         + 27a16f74:
           Increase test sizes and shard counts to prevent timing out on
           BazelCI.
         + 09adb348:
           [Skymeld] Make the execution timer more precise.
         + aa4f3580:
           Clean up third_party directory
         + d910f361:
           Updates to PR labeler
         + f35fde47:
           Update rules_java and remove references to
           "remote_java_tools_darwin"
         + 718a9162:
           Use concrete collections, not lazy set
           difference/intersection/filter views, on hot codepaths in the
           Skyframe engine code, when we'll be iterating more than once.
         + a30e2555:
           Fix code warnings around rule/package factories.
         + 2aee015f:
           Optimize storage of output files in `Rule`.
         + 50e5e6ce:
           Updating assignees in all issue templates to individual GitHub
           handles.
         + 97aec0f2:
           Update templates to include assignees & labels
         + 7556e110:
           Add version to JavaRuntimeInfo.
         + bcf309b8:
           Add native.module_{name,version}
         + 144ad7b2:
           Ignore empty symlinks depsets in ctx.runfiles()
         + cb55c5b9:
           [Skymeld] Skip checking for external repos when it's clear that
           we don't expect any.
         + a151696e:
           Mirgate jar dependencies for testing to rules_jvm_external
           (third_party)
         + 35f2d49e:
           Update issue templates to mention about GitHub Discussions
         + 6a174577:
           Introduce --experimental_parallel_aquery_output.
         + 70ce8378:
           Add attribute 'provides = [CcInfo]' to '_cc_proto_aspect'
         + c04f0d41:
           Use less subshells and `tee`s in running tests with `bazel run`.
         + c82168ee:
           Avoid storing `LateBoundDefault` attribute values in `Rule`.
         + 745ca288:
           Suggest alternatives for typoed rule attribute names
         + 187f3e49:
           Add a cache for command lines of tools in Java toolchain.
         + 6cbe0f1a:
           Mirgate jar dependencies for testing to rules_jvm_external
         + 2a3ab5c4:
           Enable heuristically dropping GENQUERY_SCOPE nodes
         + 699e4037:
           Automated rollback of commit
           a50cca56.
         + b0fc11d8:
           Add .bazelversion at the correct location
         + c8388e3d:
           Delete some dead code
         + a47a5923:
           Update ResolvedToolchainContext to take an ImmutableSet.
         + 0d2e9dae:
           Automated rollback of commit
           f548d56b.
      
      Incompatible changes:
      
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
      
      Important changes:
      
        - The flag `--distinct_host_configuration` is removed. It has been
          a no-op since Bazel 6.0.0.
      
      This release contains contributions from many people at Google, as well as Alessandro Patti, Alex Eagle, Benjamin Peterson, Ed Schouten, Fabian Meumertzheim, hvd, Jon Landis, something_vague.
      78f00598