github bazelbuild/bazel 6.1.0

latest releases: 7.4.1, 9.0.0-pre.20241105.2, 7.4.1rc2...
20 months ago

Baseline: d60ce2c

Bazel 6.1.0 is a minor LTS release. It is fully backward compatible with Bazel 6.0 and contains selected changes by the Bazel community and Google engineers.

General

  • Do not count tests as failed that have not started (#17269)
  • Add an --incompatible_strict_conflict_checks alias for --experimental_strict_conflict_checks. (#17589)
  • Rerun the artifact conflict check when --incompatible_strict_conflict_checks changes. (#17592)
  • Add exec transition to Java version of py_test (#17594)

Android

  • Multiplex worker fixes and tests for Android busybox tools (#17371)
  • Make desugar dependencies deterministic (#17217)

Apple / Xcode

  • Allow the timeout value for execute calls on a mac to be set via an environment variable

C++ / Objective-C

  • Use xcrun to invoke install_name_tool (#17253)
  • Add sanitizer features to unix_cc_toolchain_config (#17263)
  • Rulesets can start using the new optional form of find_cpp_toolchain now and benefit from the toolchain actually being optional once that has been implemented in a future version of Bazel. (#17331)
  • Enable archive_param_file feature by default for Windows (#17344)
  • Only try to create groups of test actions in the ui. (#17343)
  • Find libtool when using BAZEL_USE_CPP_ONLY_TOOLCHAIN. (#17327)
  • Add -dead_strip in default opt link flags for darwin (#17312)
  • Fix a cc_binary bug for cc_shared_library on Windows which prevented cc_shared_librarys from working across packages (#17445)
  • Remove O1 from sanitizer feature flag defaults (#17439)
  • Allow -v to libtool (#17459)
  • Fix RPATHs for cc toolchain solib when sibling layout is used (#17506)
  • Add --host_features flag (#17528)
  • Only fetch @remote_coverage_tools when collecting coverage (#17512, #17287)
  • Bump minimum supported macOS versions to 10.13 (#17570)
  • Allow .wasm cc executable and dynamic library extension (#17440)

Configurability

  • Do not clear --platforms on no-op change to --cpu (#17273)
  • Set --experimental_action_listeners to default in exec config (#17284)
  • Fix Bazel 6.0 crash regression when incompatible target skipping mixes with --auto_cpu_environment_group (#17613)

Coverage

  • Emit LLVM coverage for source file paths with a tmp segment (#17324)

External Dependencies

  • Fix git_repository with the latest version of Git. (#17247)
  • Add SpellChecker suggestions for common Bzlmod errors (#17216)
  • Accept tildes in --override_module (#17313)
  • Test and fix root symlink edge case in runfiles library (#17365)
  • Fix Bash runfiles_current_repository for tools (#17329)
  • Fix label unambiguous canonical form to correctly report non-visible repo names (#17326)
  • Prettify labels in action progress messages with Bzlmod (#17278)
  • Do not recommend shallow_since for git_repository (#17356)
  • Bump version number in runfiles.bash init code (#17539)
  • Properly report repo fetch progress during main repo mapping computation (#17544)

Java

  • Register JavaCompileActionContext in Bazel (#17325)
  • Fix Java coverage collection with Java 8 runtime (#17491)
  • Make AutoBazelRepositoryProcessor compatible with Java 8 (#17504)

Local Execution

  • Added support for user-specified resource types in the resource manager. The available amount of extra resources can be specified using the new --local_extra_resources=<resourcename>=<amount> command line flag, which is analogous to the existing --local_cpu_resources and --local_memory_resources flags. (#17229)
  • Allow Java coverage collection for external targets. (#17360)
  • Add support for wrapping system streams in WorkRequestHandler (#17583)

Remote Execution

  • Fix an issue where some intermediate outputs are downloaded with minimal mode when doing bazel test (#17234)
  • Make download progress not jumpy by always emitting trailing zero (#17290)
  • Upload all logs in BEP even with minimal upload (#17299)
  • Do the AC integrity check for disk part of the combined cache.(#17309)
  • Improve BES uploader performance by not querying remote cache but always using bytestream protocol (#17352)
  • Improve error message for concurrent modifications (#17396)
  • Make bazel coverage work with minimal mode (#17397)
  • Make Bazel more responsive and use less memory when --jobs is high (#17398)
  • Remove usage of gRPC Context cancellation in the remote execution client. (#17438)
  • Reduce flakiness on Windows for BwoB tests (#17513)
  • Exit with code 39 if remote cache evicted blobs that Bazel need during an invocation (#17496)
  • Fix symlink file creation overhead (#17488)
  • Allow following builds to continue when remote cache evicted files (#17538, #17601, #17605)
  • Report background downloads for BwoB (#17619)
  • Add flag --experimental_writable_outputs to allow Bazel generate writable outputs (#17617)

Starlark / Build Language

  • Allow map_each to return None in TemplateDict#add_joined (#17288)
  • Allow TemplateDict#map_each callback to return a list of strings (#17306)
  • Added native.package_relative_label function (#17435)

Acknowledgements

This release contains contributions from many people at Google, as well as Ben Lee, Brentley Jones, Daniel Wagner, Ed Schouten, Ezekiel Warren, Fabian Meumertzheim, Keith Smiley, Krzysztof Naglik, Mathieu Olivari, Ted Kaplan, UebelAndre, Ozio85, Yannic, lunch-glide-pepper, and yuzhy8701.

Notice: Bazel installers contain binaries licensed under the GPLv2 with Classpath exception. Those installers should always be redistributed along with the source code.

Some versions of Bazel contain a bundled version of OpenJDK. The license of the bundled OpenJDK and other open-source components can be displayed by running the command bazel license. The vendor and version information of the bundled OpenJDK can be displayed by running the command bazel info java-runtime. The binaries and source-code of the bundled OpenJDK can be downloaded from our mirror server.

Security: All our binaries are signed with our public key 3D5919B448457EE0.

Don't miss a new bazel release

NewReleases is sending notifications on new releases.