Bazel Versions Save

a fast, scalable, multi-language and extensible build system

7.0.0-pre.20231011.2

7 months ago

Release 7.0.0-pre.20231011.2 (2023-10-23)

Baseline: e66a10f473ed853393061633e3803a8f71e47bff

Cherry picks:

  • aec19c93f8e344a42f53f71c90efe47505da222e: Release 7.0.0-pre.20231011.2 (2023-10-23)

This release contains contributions from many people at Google, as well as .

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.

6.4.0

7 months ago

[!NOTE] If you are looking for rolling releases, please visit this page.

Baseline: 0f231ac8acabcd8aa309da041c98ab90a1552418

Bazel 6.4.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

  • Add support for more workspace boundary files to bash completion (#19281)
  • Ignore Starlark options on commands with allowResidue = False (#19417)
  • Print Passed and Failed methods in detailed test summary (#19505)
  • Keep leading zero in formatted date (#19694)
  • Merge rule and aspect validation output groups (#19745)
  • Bazel release process: Fix push justification. (#19768)
  • Clear runfiles environment variables for bazel run (#19606)

Android

  • Add a Starlark flag that allows disabling proguard. This will be useful for testing later. (#19179)

C++ / Objective-C

  • Fix a bug where frozen targets list was mutated while expanding env attribute (#19053)
  • Advertise CcInfo from cc_import (#19086) (#19088)
  • Enable cc toolchain resolution when cross compiling to windows arm64. (#19198)
  • Add Starlark implementation for several CcCommon methods. (#19076)
  • Rename cc_test_wrapper to cc_test (#19231)
  • Add additional_linker_inputs option to cc_library rule (#19264)
  • Add --incompatible_disable_objc_library_transition (#19393)
  • Wrong include path to Clang 16 on Windows (#19430)
  • Remove default -s flag from macOS libtool invocation (#19454)
  • Only use /showIncludes if supported (#19521)
  • Advertise CcInfo from cc_proto_library (#19534)
  • Update unknown Xcode version error message and provide an environment variable to force re-evaluation (#19540)
  • cc_library: propagate data dependencies via implementation_deps. (#19590)
  • Error on potential unsupported /showIncludes lines (#19611)
  • Flip --experimental_cc_implementation_deps (#19751)
  • Bump c++ standard to c++14 per default (#19794)
  • Collect debug info context from implementation deps (#19836)

Configurability

  • Performance improvement: --allow_analysis_cache_discard=false aborts the build if changed build flags would otherwise discard the analysis cache (#19503)
  • Performance, correctness improvement: add diff_against_dynamic_baseline option to --experimental_output_directory_naming_scheme (#19514)
  • Improve error when a label is provided in config_setting's values (#19484)
  • Do not allow applicable_licenses on platform (#19426)
  • Raise an early error on invalid labels in transitions inputs/outputs (#19764)
  • Fix unconditional Skyframe invalidation with --lockfile_mode=update

External Dependencies / Bzlmod

  • 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)
    • A new attribute 'environ' is added to module extension to allow depending on environment variables.
    • The module extension will be re-evaluated in response to changes in the files it depends on.
    • Lockfile version bump will prompt users to run it in 'lockfile_mode=update'.
  • Friendlier error message for bazel_deps without version (#19196)
  • Use debugPrint instead of str for fail arguments (#19283)
  • Download BazelRegistryJson only once per registry (#19300)
  • Make module extension tag's debugPrint useful for error messages (#19285)
  • Intern repository mapping entries (#19293)
  • Do not rerun module extensions when only imports or locations change (#19284)
  • Fetch RepoSpecs in parallel (#19354)
  • Make MODULE.bazel.lock deterministic (#19370)
  • Ensure lockfile is updated after reset to pre-build state (#19371)
  • Add visionOS support (#19436)
  • Cherry pick platform dependent lockfile (#19498)
    • New attributes 'os' and 'arch' added to module extension to signify its reliance on the operating system or system architecture.
    • When either the 'os' attribute, the 'arch' attribute, or both are set to 'true,' separate module extensions will be stored in the lockfile for each distinct combination of operating system and architecture.
  • Print dep chain leading to a module that is in error (#19543)
  • Show fetch progress for the mod command (#19542)
  • Explain the use of str(Label(...)) in the docs (#19554)
  • Inject builtin modules at the end of the MODULE.bazel file (#19573)
  • 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)
  • Bzlmod lockfile: fix pretty printing for attributes (#19691)
  • Fixed a case where the MODULE.bazel.lock file contains user specific paths (#19698)
  • Consider RCs equivalent to release for bazel_compatibility (#19689)
  • Remove stale extension entries from lockfile if module order changes (#19730)
  • Make lockfile's RepoSpec attributes more readable (#19748)
  • Fix handling of non-ASCII characters in archive entry file names (#19765)
  • Fix crash when environ contains duplicate entries (#19827)

Java

  • Add toolchain type for Java bootstrap runtime (#19220)
  • Add formatted timestamp entries to volatile workspace status file (#19499)
  • Update java_tools to v12.7 (#19522)
  • Use Label in @bazel_tools//tools/jdk macros (#19675)
  • Update rules_java to 5.5.1 (#19701)
  • Fix Java compilation for jdk21 (#19735)
  • Handle synthetic method parameters entries that don't have names (#19758)

Performance

  • Add profiling for Bzlmod operations (#19313)
  • Intern empty Depsets (#19443)
  • Optimize classpath pre-processing in java_stub_template.txt (#19491)
  • Also apply NestedSet optimizations to Depset (#19492)

Query

  • Fix valid json when using jsonproto output in queries with new --output=streamed_jsonproto implementation. (#19226)
  • Add --consistent_labels flag to all query commands (#19567)

Remote Cache and Execution

  • Support multiple remote execution digest functions (#19042)
  • Add the --remote_require_cached flag (#19075)
  • BLAKE3 can be used as a digest function with the --digest_function=blake3 startup flag (#19191)
  • Ensure disk cache root exists (#19225)
  • Retry on javax.net.ssl.SSLException ... BAD_DECRYPT (#19346)
  • build-runfiles: remove temporary file prior to creating it (#19386)
  • Take the no-remote-exec tag into account when computing the action salt (#19457)
  • Mark tool inputs in the execution log. (#19483)
  • Add output name to CacheNotFoundException (#19452)
  • Fix output materialized as symlink when building without the bytes. (#19739)
  • Add blake3 NEON instructions on linux arm64 (#19804)

Rules API

  • Added a new top-level symbol PackageSpecificationInfo, a provider for package_group targets. It has a contains method for allowlist checking. (#19422, #19425)
  • Always fail on unknown attributes (#19404)
  • Add --incompatible_merge_fixed_and_default_shell_env (#19319)
  • Include name in repr of exported rules (#19229)

Acknowledgements:

This release contains contributions from many people at Google, as well as Andreas Herrmann, Brentley Jones, Chirag Ramani, Ed Schouten, Fabian Meumertzheim, George Gensure, Julio Merino, Keith Smiley, Matt Mackay, NelsonLi0701, Nicholas Junge, Orion Hodson, Roman Salvador, Ted Kaplan, Thi Doan, and Tyler Williams.

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.

7.0.0-pre.20230926.1

7 months ago

Release 7.0.0-pre.20230926.1 (2023-10-06)

Baseline: ea4ab7d8e696f48253fd172fcfbd37661e4710d5

Cherry picks:

  • 3453d035bb335a0e792fb379807dbdb812065619: Keep leading zero in formatted date
  • 8893f2ee0efbdeb0816b13e7cb57c69d70b941c6: Bazel release process: Fix broken "git push" by setting direct push justification.
  • 46404353f8295fb6306e34b7138b622b083c8ec0: Bazel release process: Fix push justification.
  • 95296e81853a4c93a47fba1812e1f849b6b16480: Release 7.0.0-pre.20230926.1 (2023-10-06)
  • fbcc487642c567a63f6503670d6d4f46f98308c1: Release 7.0.0-pre.20230926.1 (2023-10-06)
  • 3f9dc1c789e4bb2523fcd5236f53db8b3edb4733: Release 7.0.0-pre.20230926.1 (2023-10-06)
  • f46bf7067991fea6c650cb1fb75d1f7844916ff0: Release 7.0.0-pre.20230926.1 (2023-10-06)
  • 4959d752ef029b4287382d21158665988a407f0a: Release 7.0.0-pre.20230926.1 (2023-10-06)

This release contains contributions from many people at Google, as well as .

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.

7.0.0-pre.20230917.3

8 months ago

Release 7.0.0-pre.20230917.3 (2023-09-22)

Baseline: 1cf392ff3918386858b8c038f82c013b1e04be98

Cherry picks:

  • 32563ca1728a69437b26efa19d18eebfcecc4765: [Skymeld] Avoid printing extra WARNINGS for execution failures in -k.
  • 19f5e933d3fc91848b2b786cb11a6decaa96cf6e: Automated rollback of commit f06418470988721c8c3efe38723f910989180ad4.
  • 7a4b5d6af94b20ac0a1f1c7b642b1938ac5bd9df: Release 7.0.0-pre.20230917.3 (2023-09-22)

This release contains contributions from many people at Google, as well as .

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.

7.0.0-pre.20230906.2

8 months ago

Release 7.0.0-pre.20230906.2 (2023-09-13)

Baseline: 08070932379cd3dafaefe5b546c84ad26cd72951

Cherry picks:

  • 4fb701adb5cdf4a87d7457bfe75b76338a8d351a: 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
  • 4ddb7390db3ad099d002e3a0ce81495329e1f293: Release 7.0.0-pre.20230906.2 (2023-09-14)

This release contains contributions from many people at Google, as well as .

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.

7.0.0-pre.20230823.4

9 months ago

Release 7.0.0-pre.20230823.4 (2023-08-30)

Baseline: d55c11b658255a4574e0b3eb50d76dd6123866e6

Cherry picks:

  • 34c5ef22e88eba60238ad3735b74ea71db1c993e: make sure IdempotencyChecker use the correct rule transition and remove redundant computeTransition calls.
  • 32d018ea402a5acbb574b7f4bf600b3cc040778c: Make targets in analysis completed events visible.
  • b667b6eae4b6a85cf67c4c89d49d0d0fd568e6b0: Release 7.0.0-pre.20230823.4 (2023-08-30)

This release contains contributions from many people at Google, as well as .

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.

7.0.0-pre.20230816.3

9 months ago

Release 7.0.0-pre.20230816.3 (2023-08-25)

Baseline: 27aaccccb674090493d52d3340b7df69f5ed43f8

Cherry picks:

  • baace69c0c7cb2fe927214dae78c43bd10865c43: Automated rollback of commit 37268de708224bba900036b8b3fe9e123d2eae6d.
  • 17e80ecea628f5ae47ed330742454bf716a196ab: Release 7.0.0-pre.20230816.3 (2023-08-25)

This release contains contributions from many people at Google, as well as .

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.

7.0.0-pre.20230810.1

9 months ago

Release 7.0.0-pre.20230810.1 (2023-08-22)

Baseline: c279c7b2f125fcb5a7e67595c0044c32fe944aa9

Cherry picks:

  • 4d157ee3530762c9392ccc08a0073103293a6391: Cherry-pick required commits into 7.0.0-pre.20230810.1rc1 (#19298)
  • 171aae3f9c57b41089e25ec61fc84c35baa3079d: Release 7.0.0-pre.20230810.1 (2023-08-22)

This release contains contributions from many people at Google, as well as .

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.

6.3.2

9 months ago

Release 6.3.2 (2023-08-08)

Baseline: 283ed362e6ccceb047553c2517a0331afd02db90

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

  • Ensure that extension unique names followed by ~ are prefix-free (#19167)
  • Module extensions can now specify a list of environment variables to watch through the environ parameter.
  • The module lockfile can now deal with missing fields due to Bazel version upgrades. (#19175)
  • Module extensions are now re-evaluated if any labels they depend on change, similar to repo rules. (#19175)

Acknowledgements:

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

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.

7.0.0-pre.20230724.1

9 months ago

Release 7.0.0-pre.20230724.1 (2023-08-07)

Baseline: f6344ffcacdea6c4a61e112d0f60beda8068eac5

Cherry picks:

  • ab1f6aa1ee4b2e362d12bc954db654460674d626: Release 7.0.0-pre.20230724.1 (2023-08-07)

This release contains contributions from many people at Google, as well as .

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.