github bazelbuild/bazel 9.2.0rc2

pre-release5 hours ago

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.0rc2 (2026-07-09)

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)
  • Modifying environment variables no longer causes spurious reloading of packages in external repositories. (#30194)

Core:

  • External repos are no longer refetched whenever they contribute inputs to an action using the hermetic Linux sandbox. (#29889)
  • Source directories in external repositories are temporarily allowed to cross package boundaries. This will be disallowed in the future, gated by the new --incompatible_check_external_repo_source_dir_package_boundary flag. (#30040)
  • Windows launcher stubs now embed an asInvoker UAC manifest, preventing "The requested operation requires elevation. (error: 740)" for targets whose name matches the installer-detection heuristic. (#30182)

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)
  • Fixed spurious "No such file" errors with the remote repo contents cache when a repo contains a symlink to a .bzl file. (#30037)
  • Fixed a crash with --experimental_remote_repo_contents_cache when running without a remote or disk cache. (#30060)
  • The remote repo contents cache no longer caches or restores repos with cross-repo symlinks, thus avoiding a large surface area for bugs. The effort to reenable this support is tracked by #30160. (#30190)

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)
  • Fixed a spurious remote-execution failure with --experimental_output_paths=strip where a lost input in a tree artifact shared between actions could not be recovered by action rewinding. (#30193)

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 Alexey Tereshenkov, Ara Nguyen, Ashutosh0x, bazel.build machine account, Bryce Lampe, Chi Wang, Fabian Meumertzheim, Fredrik Medley, gaurav0107, Greg, Grzegorz Lukasik, Jacob Nowjack, Jasmine Tang, 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.

Don't miss a new bazel release

NewReleases is sending notifications on new releases.