Skip to content

Releases: bazelbuild/bazel

9.2.0rc1

25 Jun 23:01
313773c

Choose a tag to compare

9.2.0rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

The following release notes are still in the process of being updated and cleaned up.

Release 9.2.0rc1 (2026-06-25)

Release Notes:

Configurability:

  • The new refines_constraint_value attribute on constraint_setting can be used to indicate that any non-default value for that setting specified on a platform requires the refined value to also be specified. (#29727)
  • Bazel no longer crashes when a label_list_dict attribute is used in a split transition (#29830). (#29856)

Core:

  • External repos are no longer refetched whenever they contribute inputs to an action using the hermetic Linux sandbox. (#29889)

ExternalDeps:

  • Added SOCKS proxy support. Bazel now accepts socks://, socks4://, and socks5:// URLs in HTTPS_PROXY/HTTP_PROXY environment variables and related system properties. (#29364)
  • Adds the strip_components attribute to extract/download_and_extract/http_archive to allow stripping of path components when extracting files. (#29369)
  • Added the module_ctx.tag_sort_key(tag) method, which returns an opaque object for the given tag that can be compared to derive the order in which tags from different classes appear in the MODULE.bazel file. (#29484)
  • module_extension(...) now accepts a facts_version integer parameter. Bumping it invalidates the facts persisted in MODULE.bazel.lock for that extension, allowing extension authors to make breaking changes to the facts schema without risking misinterpretation by older code paths. (#29871)
  • The remote repo contents cache now correctly materializes chains of symlinks as action inputs, but no longer supports symlinks into the main repository. (#29959)

OSS:

  • Fixed Bazel being unable to run a Windows executable whose path is too long to shorten under MAX_PATH, e.g. when 8dot3 short names are disabled (microsoft/Windows-Containers#507). (#29984)

Performance:

  • Fixed a performance regression in Bazel 9 that causes RepoMappingManifest actions to consume a lot of CPU time. (#29807)

Remote-Exec:

  • Enable TCP keepalive by default for gRPC connections with reasonable defaults (#29898)
  • Fixed repo content caching for non-gRPC cache backends. (#29869)

Starlark-Integration:

  • create --incompatible_remove_ctx_android_fragment for Starlark Flags migration (#29884)

Acknowledgements:

This release contains contributions from many people at Google, as well as Ara Nguyen, Ashutosh0x, bazel.build machine account, Bryce Lampe, Chi Wang, Fabian Meumertzheim, Fredrik Medley, gaurav0107, Greg, Grzegorz Lukasik, Jacob Nowjack, John Cater, JonathanPerry651, Keith Smiley, peakschris, Rgis Desgroppes, Richard Lavoie, Sarad, Son Luong Ngoc, Tamir Duberstein, Tyler French, vadim, Will Stranton, Xudong Yang, Xùdōng Yáng, Yonatan Goldschmidt.

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.

9.1.1

03 Jun 21:14

Choose a tag to compare

Note

If you are looking for rolling releases, please visit this page.

Release 9.1.1 (2026-06-03)

Bazel 9.1.1 is a patch LTS release. With the exception of CcInfo (see below), it is backward compatible with Bazel 9.0.

IMPORTANT

Compatibility Note: CcInfo removal and rules_go

If you encounter the error "The CcInfo symbol has been removed", this is due to an intentional change in Bazel 9 regarding C++ Starlarkification. While this change was present in 9.0.0, a bug fixed in 9.0.1 (#28360) now correctly surfaces this error instead of failing silently or with a confusing message. To fix this, please upgrade rules_go, rules_nodejs or any broken rulesets. For example,

# Add repo_name = None if you don't directly depend on them.
bazel_dep(name = "rules_go", version = "0.59.0") 
bazel_dep(name = "rules_nodejs", version = "6.7.3")

External Deps

  • --downloader_config was accidentally made a repeatable flag in 9.1.0, which was a backwards-incompatible change. This has been reverted in 9.1.1. (#29616)
  • Fixed a crash with file:// URIs. (#29579)
  • Fixed a crash with opaque URIs. (#29658)

Remote Execution

  • Fixed an issue that caused Bazel to fail on a lost input even with build or action rewinding enabled. (#29677)
  • Fix crash on --remote_default_exec_properties with the same key. (#29596)
  • Verify the whole blob when downloading chunks (#29593)
  • Support bounded parallel chunk transfers (#29614)
  • Fix JVM crash from VerifyException in GrpcCacheClient.onNext() (#29583)
  • Invalidate unresolved symlink info after deletion in the RAFS (#29671)

Acknowledgments

This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, Boleyn Su, Fabian Meumertzheim, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, and Will Stranton.

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.

9.1.1rc1

29 May 20:29
4d4c00b

Choose a tag to compare

9.1.1rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 9.1.1rc1 (2026-05-29)

Bazel 9.1.1 is a patch LTS release. With the exception of CcInfo (see below), it is backward compatible with Bazel 9.0.

IMPORTANT

Compatibility Note: CcInfo removal and rules_go

If you encounter the error "The CcInfo symbol has been removed", this is due to an intentional change in Bazel 9 regarding C++ Starlarkification. While this change was present in 9.0.0, a bug fixed in 9.0.1 (#28360) now correctly surfaces this error instead of failing silently or with a confusing message. To fix this, please upgrade rules_go, rules_nodejs or any broken rulesets. For example,

# Add repo_name = None if you don't directly depend on them.
bazel_dep(name = "rules_go", version = "0.59.0") 
bazel_dep(name = "rules_nodejs", version = "6.7.3")

External Deps

  • --downloader_config was accidentally made a repeatable flag in 9.1.0, which was a backwards-incompatible change. This has been reverted in 9.1.1. (#29616)
  • Fixed a crash with file:// URIs. (#29579)
  • Fixed a crash with opaque URIs. (#29658)

Remote Execution

  • Fixed an issue that caused Bazel to fail on a lost input even with build or action rewinding enabled. (#29677)
  • Fix crash on --remote_default_exec_properties with the same key. (#29596)
  • Verify the whole blob when downloading chunks (#29593)
  • Support bounded parallel chunk transfers (#29614)
  • Fix JVM crash from VerifyException in GrpcCacheClient.onNext() (#29583)
  • Invalidate unresolved symlink info after deletion in the RAFS (#29671)

Acknowledgments

This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, Boleyn Su, Fabian Meumertzheim, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, and Will Stranton.

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.

8.7.0

07 May 16:47

Choose a tag to compare

Note

If you are looking for rolling releases, please visit this page.

Release 8.7.0 (2026-05-07)

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

Configurability

  • Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29240)

External Dependencies

  • package_group now supports labels with external repositories in the packages attribute (#28896).
  • Added SOCKS proxy support. Bazel now accepts socks://, socks4://, and socks5:// URLs in HTTPS_PROXY/HTTP_PROXY environment variables and related system properties. (#29305)
  • Adds the strip_components attribute to extract/download_and_extract/http_archive to allow stripping of path components when extracting files. (#29367)

Remote Execution

  • Bazel now has experimental support for --rewind_lost_inputs, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28971)
  • Added --experimental_remote_cache_chunking flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28900)

Starlark / Build Language

  • string.splitlines() no longer treat u+0085 as a newline character when internal_starlark_utf_8_byte_strings is set (which defaults to true) (#28932)

Acknowledgments

This release contains contributions from many people at Google, as well as Boleyn Su, Fabian Meumertzheim, H5-O5, Jacob Nowjack, Justin Won, Keith Smiley, Mike Lundy, Sarad Pant, and Will Stranton.

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.

8.7.0rc2

05 May 10:38
c3baf0a

Choose a tag to compare

8.7.0rc2 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.7.0rc2 (2026-05-04)

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

Configurability

  • Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29240)

External Dependencies

  • package_group now supports labels with external repositories in the packages attribute (#28896).
  • Added SOCKS proxy support. Bazel now accepts socks://, socks4://, and socks5:// URLs in HTTPS_PROXY/HTTP_PROXY environment variables and related system properties. (#29305)
  • Adds the strip_components attribute to extract/download_and_extract/http_archive to allow stripping of path components when extracting files. (#29367)

Remote Execution

  • Bazel now has experimental support for --rewind_lost_inputs, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28971)
  • Added --experimental_remote_cache_chunking flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28900)

Starlark / Build Language

  • string.splitlines() no longer treat u+0085 as a newline character when internal_starlark_utf_8_byte_strings is set (which defaults to true) (#28932)

Acknowledgments

This release contains contributions from many people at Google, as well as Boleyn Su, Fabian Meumertzheim, H5-O5, Jacob Nowjack, Justin Won, Keith Smiley, Mike Lundy, Sarad Pant, and Will Stranton.

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.

8.7.0rc1

27 Apr 20:33
2930633

Choose a tag to compare

8.7.0rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 8.7.0rc1 (2026-04-27)

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

Configurability

  • Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29240)

External Dependencies

  • package_group now supports labels with external repositories in the packages attribute (#28896).
  • Added SOCKS proxy support. Bazel now accepts socks://, socks4://, and socks5:// URLs in HTTPS_PROXY/HTTP_PROXY environment variables and related system properties. (#29305)
  • Adds the strip_components attribute to extract/download_and_extract/http_archive to allow stripping of path components when extracting files. (#29367)

Remote Execution

  • Bazel now has experimental support for --rewind_lost_inputs, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28971)
  • Added --experimental_remote_cache_chunking flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28900)

Starlark / Build Language

  • string.splitlines() no longer treat u+0085 as a newline character when internal_starlark_utf_8_byte_strings is set (which defaults to true) (#28932)

Acknowledgments

This release contains contributions from many people at Google, as well as Boleyn Su, Fabian Meumertzheim, H5-O5, Jacob Nowjack, Justin Won, Keith Smiley, Mike Lundy, Sarad Pant, and Will Stranton.

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.

9.1.0

20 Apr 20:15

Choose a tag to compare

Note

If you are looking for rolling releases, please visit this page.

Release 9.1.0 (2026-04-20)

Bazel 9.1.0 is a minor LTS release. With two exceptions (see below: CcInfo and --downloader_config), it is backward compatible with Bazel 9.0 and contains selected changes by the Bazel community and Google engineers.

IMPORTANT

Compatibility Note: CcInfo removal and rules_go

If you encounter the error "The CcInfo symbol has been removed", this is due to an intentional change in Bazel 9 regarding C++ Starlarkification. While this change was present in 9.0.0, a bug fixed in 9.0.1 (#28360) now correctly surfaces this error instead of failing silently or with a confusing message. To fix this, please upgrade rules_go, rules_nodejs or any broken rulesets. For example,

# Add repo_name = None if you don't directly depend on them.
bazel_dep(name = "rules_go", version = "0.59.0") 
bazel_dep(name = "rules_nodejs", version = "6.7.3")

CLI

  • Reporting of cached test results can now be suppressed with --test_summary=short_uncached or --test_summary=detailed_uncached. (#29263)

Configurability

  • Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29239)

External Deps

  • The --downloader_config flag can now be specified multiple times to use several downloader config files at once. Note that this is technically a breaking change, and will be reverted in future 9.x releases, starting from 9.1.1. Bazel 10.x will again contain this incompatible change.
  • The compatibility_level and max_compatibility_level attributes of module in MODULE.bazel are now no-ops. Module maintainers should stop specifying those attributes and provide clear build time error messages and actionable migration paths when making major breaking changes. (#28616)
  • package_group now supports labels with external repositories in the packages attribute. (#28893)
  • rctx.symlink now implicitly watches the target if it falls back to a copy. (#28741)
  • The local and remote repo contents cache now include the host OS and CPU architecture in the cache key. (#29195)
  • The remote repo contents cache now supports all reproducible repo rules. (#29225)

Remote Execution

  • Bazel now has experimental support for --rewind_lost_inputs, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28958)
  • Added --experimental_remote_cache_chunking flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28903)

Starlark / Build Language

  • string.splitlines() no longer incorrectly treats u+0085 (NEL) as a newline character (#28931)

Acknowledgments

This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, Boleyn Su, Fabian Meumertzheim, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, and Will Stranton.

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.

9.1.0rc3

15 Apr 21:27
baf7826

Choose a tag to compare

9.1.0rc3 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 9.1.0rc3 (2026-04-15)

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

IMPORTANT

Compatibility Note: CcInfo removal and rules_go

If you encounter the error "The CcInfo symbol has been removed", this is due to an intentional change in Bazel 9 regarding C++ Starlarkification. While this change was present in 9.0.0, a bug fixed in 9.0.1 (#28360) now correctly surfaces this error instead of failing silently or with a confusing message. To fix this, please upgrade rules_go, rules_nodejs or any broken rulesets. For example,

# Add repo_name = None if you don't directly depend on them.
bazel_dep(name = "rules_go", version = "0.59.0") 
bazel_dep(name = "rules_nodejs", version = "6.7.3")

CLI

  • Reporting of cached test results can now be suppressed with --test_summary=short_uncached or --test_summary=detailed_uncached. (#29263)

Configurability

  • Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29239)

External Deps

  • The compatibility_level and max_compatibility_level attributes of module in MODULE.bazel are now no-ops. Module maintainers should stop specifying those attributes and provide clear build time error messages and actionable migration paths when making major breaking changes. (#28616)
  • package_group now supports labels with external repositories in the packages attribute. (#28893)
  • rctx.symlink now implicitly watches the target if it falls back to a copy. (#28741)
  • The local and remote repo contents cache now include the host OS and CPU architecture in the cache key. (#29195)
  • The remote repo contents cache now supports all reproducible repo rules. (#29225)

Remote Execution

  • Bazel now has experimental support for --rewind_lost_inputs, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28958)
  • Added --experimental_remote_cache_chunking flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28903)

Starlark / Build Language

  • string.splitlines() no longer incorrectly treats u+0085 (NEL) as a newline character (#28931)

Acknowledgments

This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, Boleyn Su, Fabian Meumertzheim, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, and Will Stranton.

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.

9.1.0rc2

14 Apr 22:52
a7e72ec

Choose a tag to compare

9.1.0rc2 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 9.1.0rc2 (2026-04-14)

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

IMPORTANT

Compatibility Note: CcInfo removal and rules_go

If you encounter the error "The CcInfo symbol has been removed", this is due to an intentional change in Bazel 9 regarding C++ Starlarkification. While this change was present in 9.0.0, a bug fixed in 9.0.1 (#28360) now correctly surfaces this error instead of failing silently or with a confusing message. To fix this, please upgrade rules_go, rules_nodejs or any broken rulesets. For example,

# Add repo_name = None if you don't directly depend on them.
bazel_dep(name = "rules_go", version = "0.59.0") 
bazel_dep(name = "rules_nodejs", version = "6.7.3")

Configurability

  • Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29239)

External Deps

  • The compatibility_level and max_compatibility_level attributes of module in MODULE.bazel are now no-ops. Module maintainers should stop specifying those attributes and provide clear build time error messages and actionable migration paths when making major breaking changes. (#28616)
  • package_group now supports labels with external repositories in the packages attribute. (#28893)
  • rctx.symlink now implicitly watches the target if it falls back to a copy. (#28741)
  • The local and remote repo contents cache now include the host OS and CPU architecture in the cache key. (#29195)
  • The remote repo contents cache now supports all reproducible repo rules. (#29225)

Remote Execution

  • Bazel now has experimental support for --rewind_lost_inputs, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28958)
  • Added --experimental_remote_cache_chunking flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28903)

Starlark / Build Language

  • string.splitlines() no longer incorrectly treats u+0085 (NEL) as a newline character (#28931)

Acknowledgments

This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, Boleyn Su, Fabian Meumertzheim, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, and Will Stranton.

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.

9.1.0rc1

09 Apr 22:00
698e680

Choose a tag to compare

9.1.0rc1 Pre-release
Pre-release

Note

If you are looking for rolling releases, please visit this page.

Release 9.1.0rc1 (2026-04-09)

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

IMPORTANT

Compatibility Note: CcInfo removal and rules_go

If you encounter the error "The CcInfo symbol has been removed", this is due to an intentional change in Bazel 9 regarding C++ Starlarkification. While this change was present in 9.0.0, a bug fixed in 9.0.1 (#28360) now correctly surfaces this error instead of failing silently or with a confusing message. To fix this, please upgrade rules_go, rules_nodejs or any broken rulesets. For example,

# Add repo_name = None if you don't directly depend on them.
bazel_dep(name = "rules_go", version = "0.59.0") 
bazel_dep(name = "rules_nodejs", version = "6.7.3")

Configurability

  • Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine. (#29239)

External Deps

  • The compatibility_level and max_compatibility_level attributes of module in MODULE.bazel are now no-ops. Module maintainers should stop specifying those attributes and provide clear build time error messages and actionable migration paths when making major breaking changes. (#28616)
  • package_group now supports labels with external repositories in the packages attribute. (#28893)
  • rctx.symlink now implicitly watches the target if it falls back to a copy. (#28741)
  • The local and remote repo contents cache now include the host OS and CPU architecture in the cache key. (#29195)
  • The remote repo contents cache now supports all reproducible repo rules. (#29225)

Remote Execution

  • Bazel now has experimental support for --rewind_lost_inputs, which can rerun actions within a single build to recover from (remote or disk) cache evictions. (#28958)
  • Added --experimental_remote_cache_chunking flag to read and write large blobs to/from the remote cache in chunks. Requires server support. (#28903)

Starlark / Build Language

  • string.splitlines() no longer incorrectly treats u+0085 (NEL) as a newline character (#28931)

Acknowledgments

This release contains contributions from many people at Google, as well as Armando Montanez, ashutosh0x, Boleyn Su, Fabian Meumertzheim, H5-O5, Joseph Gette, Keith Smiley, Paul Tarjan, Ted Kaplan, Tyler French, and Will Stranton.

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.