Skip to content

Releases: bazelbuild/bazel

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

9.0.2

09 Apr 23:33

Choose a tag to compare

Note

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

Release 9.0.2 (2026-04-09)

Bazel 9.0.2 is a patch 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")
  • Include both windows and unix files in embedded_zipper_sources (#29235)
  • The local and remote repo contents caches now include the host OS and CPU architecture in the cache key. (#29194)
  • Fixed launcher/launcher_maker for cross platform builds. (#29238)
  • Correctly cross-jlink Windows arm64 builds (#29012)
  • Make include verification aware of Windows case-insensitivity (#29214)
  • Fix infinite spin-wait and missing cancellation propagation in TaskDeduplicator. (#28990)
  • Treat RUNFILES_TREE_MARKER as a directory in `BuildEvent.forArtifact()`. (#29010)
  • Allow platform-specific startup bazelrc flags. (#29251)

Acknowledgments

This release contains contributions from many people at Google, as well as Boleyn Su, Fabian Meumertzheim, and Keith Smiley.

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.0.2rc3

09 Apr 20:10
51409ec

Choose a tag to compare

9.0.2rc3 Pre-release
Pre-release

Note

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

Release 9.0.2rc3 (2026-04-09)

Bazel 9.0.2 is a patch 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")
  • Include both windows and unix files in embedded_zipper_sources (#29235)
  • The local and remote repo contents caches now include the host OS and CPU architecture in the cache key. (#29194)
  • Fixed launcher/launcher_maker for cross platform builds. (#29238)
  • Correctly cross-jlink Windows arm64 builds (#29012)
  • Make include verification aware of Windows case-insensitivity (#29214)
  • Fix infinite spin-wait and missing cancellation propagation in TaskDeduplicator. (#28990)
  • Treat RUNFILES_TREE_MARKER as a directory in `BuildEvent.forArtifact()`. (#29010)
  • Allow platform-specific startup bazelrc flags. (#29251)

Acknowledgments

This release contains contributions from many people at Google, as well as Boleyn Su, Fabian Meumertzheim, and Keith Smiley.

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.0.2rc2

07 Apr 18:28
8ac324e

Choose a tag to compare

9.0.2rc2 Pre-release
Pre-release

Note

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

Release 9.0.2rc2 (2026-04-07)

Bazel 9.0.2 is a patch 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")
  • Include both windows and unix files in embedded_zipper_sources (#29235)
  • The local and remote repo contents caches now include the host OS and CPU architecture in the cache key. (#29194)
  • Fixed launcher/launcher_maker for cross platform builds. (#29238)
  • Correctly cross-jlink Windows arm64 builds (#29012)
  • Make include verification aware of Windows case-insensitivity (#29214)
  • Fix infinite spin-wait and missing cancellation propagation in TaskDeduplicator. (#28990)
  • Treat RUNFILES_TREE_MARKER as a directory in `BuildEvent.forArtifact()`. (#29010)

Acknowledgments

This release contains contributions from many people at Google, as well as Boleyn Su and 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.

9.0.2rc1

03 Apr 00:47
8d6a1c7

Choose a tag to compare

9.0.2rc1 Pre-release
Pre-release

Note

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

Release 9.0.2rc1 (2026-04-02)

Bazel 9.0.2 is a patch 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")

OSS

  • Correctly cross-jlink Windows arm64 builds (#29012)

Performance

  • Make include verification aware of Windows case-insensitivity (#29214)

Remote Execution

  • Fix infinite spin-wait and missing cancellation propagation in TaskDeduplicator. (#28990)
  • Treat RUNFILES_TREE_MARKER as a directory in `BuildEvent.forArtifact()`. (#29010)

Acknowledgments

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.

9.0.1

10 Mar 18:39

Choose a tag to compare

Note

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

Release 9.0.1 (2026-03-10)

Bazel 9.0.1 is a patch 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")

General

  • Update all embedded JDKs to 25.0.2 (#28548)
  • Update buildozer to v8.5.1 (#28679)

C++ / Objective-C

  • Fix clang warnings on Windows (#28775)
  • Updated rules_cc to 0.2.17 (#28906)

CLI

  • Add a new optional param to fail() to allow pretty-printing user errors without a stack trace. (#28817)

Configurability

  • Fix NPE caused by --repo_env with no value set (#28640)
  • Fix visibility for implicit deps of parent rules (#28687)
  • Refactor flag aliases to be passed around as labels (#28835)
  • rules_python flag alias fixes (#28854)
  • Support external repository labels in package_group (#28895)
  • Emit helpful error when using removed providers (#28360)

Core

  • Prevent a Blaze crash when an aspect uses a test's TestRunner action. (#28756)

External Deps

  • Revert "Upgrade Apache Commons Compress from 1.26.1 to 1.28.0" (#28550)
  • Fix disk cache failures on concurrent read-write access on Windows (#28552)
  • Error on single_version_override patch with wrong patch_strip (#28622)
  • Force `rctx.{download_and,}extract` to create user-readable files (#28649)
  • Fix `StarlarkBaseExternalContext#checkInOutputDirectory` (#28677)
  • Update and minimize the JDK for Windows arm64 builds (#28714)
  • Only use workspace facts for validation with --lockfile_mode=error (#28767)
  • Replant symlinks before caching repos (#28785)

OSS

  • Support proto_library targets in @bazel_tools//src/main/protobuf (#28502)

Performance

  • Fix overflow in network metrics counters (#28864)

Python

  • Add deprecation warning to --build_python_zip (#28586)

Remote Execution

  • Fix a deadlock in `RemotePathChecker` when using a disk cache (#28465)

Acknowledgements:

This release contains contributions from many people at Google, as well as Fabian Meumertzheim, Joseph Gette, Keith Smiley, Ted Kaplan, 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.0.1rc1

06 Mar 02:25
458f64d

Choose a tag to compare

9.0.1rc1 Pre-release
Pre-release

Note

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

Release 9.0.1rc1 (2026-03-06)

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

General

  • Update all embedded JDKs to 25.0.2 (#28548)
  • Update buildozer to v8.5.1 (#28679)

C++ / Objective-C

  • Fix clang warnings on Windows (#28775)
  • Updated rules_cc to 0.2.17 (#28906)

CLI

  • Add a new optional param to fail() to allow pretty-printing user errors without a stack trace. (#28817)

Configurability

  • Fix NPE caused by --repo_env with no value set (#28640)
  • Fix visibility for implicit deps of parent rules (#28687)
  • Refactor flag aliases to be passed around as labels (#28835)
  • rules_python flag alias fixes (#28854)
  • Support external repository labels in package_group (#28895)
  • Emit helpful error when using removed providers (#28360)

Core

  • Prevent a Blaze crash when an aspect uses a test's TestRunner action. (#28756)

External Deps

  • Revert "Upgrade Apache Commons Compress from 1.26.1 to 1.28.0" (#28550)
  • Fix disk cache failures on concurrent read-write access on Windows (#28552)
  • Error on single_version_override patch with wrong patch_strip (#28622)
  • Force `rctx.{download_and,}extract` to create user-readable files (#28649)
  • Fix `StarlarkBaseExternalContext#checkInOutputDirectory` (#28677)
  • Update and minimize the JDK for Windows arm64 builds (#28714)
  • Only use workspace facts for validation with --lockfile_mode=error (#28767)
  • Replant symlinks before caching repos (#28785)

OSS

  • Support proto_library targets in @bazel_tools//src/main/protobuf (#28502)

Performance

  • Fix overflow in network metrics counters (#28864)

Python

  • Add deprecation warning to --build_python_zip (#28586)

Remote Execution

  • Fix a deadlock in `RemotePathChecker` when using a disk cache (#28465)

Acknowledgements:

This release contains contributions from many people at Google, as well as Fabian Meumertzheim, Joseph Gette, Keith Smiley, Ted Kaplan, 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.