a fast, scalable, multi-language and extensible build system
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 9b39ccaa33069c9f5688bef477abcd75e4378f04
Bazel 7.1.1 is a patch LTS release. It is fully backward compatible with Bazel 7.0 and contains selected changes by the Bazel community and Google engineers.
bazel mod tidy
failure with no changes (#21662)bazel mod show_repo
(#21694)bazel mod tidy
crashes (#21700)bazel fetch
use cquery
under the hood (#21735)ct.sym
with non-hermetic java_runtime
(#21670)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.
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 9b39ccaa33069c9f5688bef477abcd75e4378f04
Bazel 7.1.1 is a patch LTS release. It is fully backward compatible with Bazel 7.0 and contains selected changes by the Bazel community and Google engineers.
bazel mod tidy
failure with no changes (#21662)bazel mod show_repo
(#21694)bazel mod tidy
crashes (#21700)bazel fetch
use cquery
under the hood (#21735)ct.sym
with non-hermetic java_runtime
(#21670)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.
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 9b39ccaa33069c9f5688bef477abcd75e4378f04
Bazel 7.1.1 is a patch LTS release. It is fully backward compatible with Bazel 7.0 and contains selected changes by the Bazel community and Google engineers.
bazel mod tidy
failure with no changes (#21662)bazel mod show_repo
(#21694)bazel mod tidy
crashes (#21700)ct.sym
with non-hermetic java_runtime
(#21670)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.
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 8f4b11520f9ac7f24018b3a53c8a228aeae71876
Bazel 7.1.0 is a minor LTS release. It is fully backward compatible with Bazel 7.0 and contains selected changes by the Bazel community and Google engineers.
genrule
now supports setting stamp = -1
to request conditional stamping (based on the value of the build's --stamp
flag). (#21512)--enable_workspace
(defaults to True
) that allows the user to completely disable WORKSPACE logic when turned off. We plan to change the default to False
with Bazel 8. (#20365)repository_ctx.watch()
and module_ctx.watch()
allow changes to a path to trigger a refetch/re-evaluation of the repo/extension.repository_ctx.read()
and repository_ctx.template()
gain a new watch parameter to allow them to watch for changes to the path in question.path.readdir()
now watches for changes under the directory by default.repository_ctx.watch_tree()
allows changes to anything transitively under a directory tree to trigger a repo refetch.repository_ctx.getenv
, which allows Starlark repository rules to declare environment variable dependencies during the fetch, instead of upfront using repository_rule.environ
. (#20944)--experimental_worker_for_repo_fetching
now defaults to auto
, which uses virtual threads from JDK 21 if it's available. This eliminates restarts during repo fetching. (#21082)bazel mod tidy
subcommand automatically updates use_repo
calls in the MODULE.bazel
file for extensions that use module_ctx.extension_metadata
. (#21265)bazel mod dump_repo_mapping <canonical repo name>...
returns the repository mappings of the given repositories in NDJSON. This information can be used by IDEs and Starlark language servers to resolve labels with --enable_bzlmod
. (#21023)init_submodules
attribute to git_override
. Registries now support the git_repository
type in source.json
. (#21036)--enable_bzlmod
. (#21149)bazel fetch
by replacing query with cquery as underlying implementation (#21567, #13847).--noincompatible_enable_deprecated_label_apis
. (#20977)
native.repository_name()
is deprecated in favor of the new native.repo_name()
.Label.workspace_name
is deprecated in favor of the new Label.repo_name
.Label.relative()
is deprecated in favor of the new Label.same_package_label()
alongside the existing native.package_relative_label()
and Label()
.1024^2/1000^2
).expires
from Credential Helpers. (#21429)Acknowledgements:
This release contains contributions from many people at Google, as well as Alessandro Patti, Artem V. Navrotskiy, Brentley Jones, Cameron Martin, Christian Scott, Cristin Donoso, David Ostrovsky, Ed Schouten, Fabian Meumertzheim, Gunnar Wagenknecht, Jordan Mele, Keith Smiley, Nikhil Kalige, Patrick Balestra, Rahul Butani, Ryan Beasley, Son Luong Ngoc, Sushain Cherivirala, thesayyn, Viktor Kustov, Yannic Bonenberger.
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.
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 8f4b11520f9ac7f24018b3a53c8a228aeae71876
genrule
now supports setting stamp = -1
to request conditional stamping (based on the value of the build's --stamp
flag). (#21512)--enable_workspace
(defaults to True
) that allows the user to completely disable WORKSPACE logic when turned off. We plan to change the default to False
with Bazel 8. (#20365)repository_ctx.watch()
and module_ctx.watch() allow changes to a path to trigger a refetch/re-evaluation of the repo/extension.repository_ctx.getenv
, which allows Starlark repository rules to declare environment variable dependencies during the fetch, instead of upfront using repository_rule.environ
. (#20944)--experimental_worker_for_repo_fetching
now defaults to auto
, which uses virtual threads from JDK 21 if it's available. This eliminates restarts during repo fetching. (#21082)bazel mod tidy
subcommand automatically updates use_repo
calls in the MODULE.bazel
file for extensions that use module_ctx.extension_metadata
. (#21265)bazel mod dump_repo_mapping <canonical repo name>...
returns the repository mappings of the given repositories in NDJSON. This information can be used by IDEs and Starlark language servers to resolve labels with --enable_bzlmod
. (#21023)init_submodules
attribute to git_override
. Registries now support the git_repository
type in source.json
. (#21036)--enable_bzlmod
. (#21149)bazel fetch
by replacing query with cquery as underlying implementation (#21567, #13847).--noincompatible_enable_deprecated_label_apis
. (#20977)
native.repository_name()
is deprecated in favor of the new native.repo_name()
.Label.workspace_name
is deprecated in favor of the new Label.repo_name
.Label.relative()
is deprecated in favor of the new Label.same_package_label()
alongside the existing native.package_relative_label()
and Label()
.1024^2/1000^2
).expires
from Credential Helpers. (#21429)Acknowledgements:
This release contains contributions from many people at Google, as well as Alessandro Patti, Artem V. Navrotskiy, Brentley Jones, Cameron Martin, Christian Scott, Cristin Donoso, David Ostrovsky, Ed Schouten, Fabian Meumertzheim, Gunnar Wagenknecht, Jordan Mele, Keith Smiley, Nikhil Kalige, Patrick Balestra, Rahul Butani, Ryan Beasley, Son Luong Ngoc, Sushain Cherivirala, thesayyn, Viktor Kustov, Yannic Bonenberger.
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.
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 8f4b11520f9ac7f24018b3a53c8a228aeae71876
--enable_workspace
(defaults to True
) that allows the user to completely disable WORKSPACE logic when turned off. We plan to change the default to False
with Bazel 8. (#20365)repository_ctx.watch
, repository_ctx.watch_tree
. (#21435)repository_ctx.getenv
, which allows Starlark repository rules to declare environment variable dependencies during the fetch, instead of upfront using repository_rule.environ
. (#20944)--experimental_worker_for_repo_fetching
now defaults to auto
, which uses virtual threads from JDK 21 if it's available. This eliminates restarts during repo fetching. (#21082)bazel mod tidy
subcommand automatically updates use_repo
calls in the MODULE.bazel
file for extensions that use module_ctx.extension_metadata
. (#21265)bazel mod dump_repo_mapping <canonical repo name>...
returns the repository mappings of the given repositories in NDJSON. This information can be used by IDEs and Starlark language servers to resolve labels with --enable_bzlmod
. (#21023)init_submodules
attribute to git_override
. Registries now support the git_repository
type in source.json
(#21036)--enable_bzlmod
. (#21149)bazel fetch
by replacing query with cquery as underlying implementation (#21567, #13847).--noincompatible_enable_deprecated_label_apis
. (#20977)
native.repository_name()
is deprecated in favor of the new native.repo_name()
.Label.workspace_name
is deprecated in favor of the new Label.repo_name
.Label.relative()
is deprecated in favor of the new Label.same_package_label()
alongside the existing native.package_relative_label()
and Label()
.1024^2/1000^2
).expires
from Credential Helpers. (#21429)Refer to the full list of commits for more details.
Acknowledgements:
This release contains contributions from many people at Google, as well as Alessandro Patti, Artem V. Navrotskiy, Brentley Jones, Christian Scott, David Ostrovsky, Ed Schouten, Fabian Meumertzheim, Gunnar Wagenknecht, Jordan Mele, Keith Smiley, Nikhil Kalige, Patrick Balestra, Rahul Butani, Ryan Beasley, Son Luong Ngoc, Sushain Cherivirala, thesayyn, Yannic Bonenberger.
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.
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 2634a6ec8bef0d8eef9870b23befdddb3dbe0005
Bazel 7.0.2 is a patch LTS release. It is fully backward compatible with Bazel 7.0 and contains selected changes by the Bazel community and Google engineers.
This release contains contributions from people at Google.
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.
[!NOTE] If you are looking for rolling releases, please visit this page.
This release contains contributions from people at Google.
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.
[!NOTE] If you are looking for rolling releases, please visit this page.
Baseline: 50b61e38fb6eaa08a6c811a313824a59f1c2abbf
Bazel 6.5.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.
mtime
of the install_base
(#20568)remoteActionBuildingSemaphore.acquire()
(#20549)experimental_throttle_remote_action_building
(#20861)--noincompatible_enable_deprecated_label_apis
. (#20590)
native.repository_name()
is deprecated in favor of the new native.repo_name()
.Label.workspace_name
is deprecated in favor of the new Label.repo_name
.Label.relative()
is deprecated in favor of the new Label.same_package_label()
alongside the existingnative.package_relative_label()
and Label()
.This release contains contributions from many people at Google, as well as Brentley Jones, Fabian Meumertzheim, Jordan Mele, Rahul Butani, and Son Luong Ngoc.
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.
[!NOTE] If you are looking for rolling releases, please visit this page.
mtime
of the install_base
(#20568)--incompatible_visibility_private_attributes_at_definition
(#20520)--add-opens=
to javac (#20472)remoteActionBuildingSemaphore.acquire()
(#20549)experimental_throttle_remote_action_building
(#20861)--noincompatible_enable_deprecated_label_apis
. (#20590)
native.repository_name()
is deprecated in favor of the new native.repo_name()
.Label.workspace_name
is deprecated in favor of the new Label.repo_name
.Label.relative()
is deprecated in favor of the new Label.same_package_label()
alongside the existing native.package_relative_label()
and Label()
.