Bazel Blog

Bazel 5.3

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


  • junitrunner: Report suppressed and ignored tests as skipped (13717)
  • Print remote execution message when the action times out (15710)
  • Preserve --experimental_allow_unresolved_symlinks in exec cfg (15702)

Apple / Xcode

  • Define cc-compiler-darwin in Xcode toolchain (14796)
  • Fix alwayslink in objc_import (15313)


  • Fix fail message construction in cc_shared_library (14697)
  • Optionally enable LLVM profile continuous mode (15166)
  • Increase osx_cc_configure timeouts (15877)
  • Make cpp assembly file extensions case sensitive again (14131)
  • Fix rpath for binaries in external repositories(16008)


  • Allow string_list flags to be set via repeated flag uses (14911)
  • Add --output=files mode to cquery (15552)


  • g++ fpermissive compilation error for strdupa on musl when buiding from source(15729)
  • target pattern file: allow comments(15903)

External Dependencies

  • Unify URL/URLs parameter code across http_archive, http_file, http_jar (15408)
  • Add is_root struct field to bazel_module (15792)
  • Add util for finding credential helper to use (15707)
  • [credentialhelper] Add types to communicate with the subprocess (15803)
  • Fix behavior of print() in module extensions (15795)
  • Add isroot struct field to `bazelmodule` (15792)
  • [remote] Improve .netrc test in RemoteModuleTest (15902)
  • Fail the build on repository rule errors in a module extension (15796)
  • Add factory for creating paths relative to well-known roots (15805)
  • Replace module.{execution_platforms,toolchains}_to_register with register {execution_platforms,toolchains} (15829)
  • Accept tildes in --override_repository (15417)
  • http_archive, unrecognized file mode for [Content_Types].xml: 0x80 (9236)
  • Fix and test for null value bug when using --repo_env (15618)
  • Wire up credential helper to command-line flag(s)(15947)


  • Fix string formatting when java_home path is missing. (14686)

Remote Execution

  • Chunker: Always seek on the uncompressed stream. (15669)
  • RemoteExecutionService: fix outputs not being uploaded (15823)
  • Add a flag to force Bazel to download certain artifacts when using --remote_download_minimal (15638)
  • [credentialhelper] Implement invoking credential helper as subprocess(15861)
  • Replace uses of cfg = "host" with cfg = "exec" (15785)
  • [credentialhelper] Add parser for flag syntax (15906)
  • Docs should mention the new no-remote-cache-upload tag (14518)
  • Add CommandLinePathFactory to CommandEnvironment (15905)
  • Remote: Fix performance regression in "upload missing inputs" (15890)
  • Add netrc support to --bes_backend (15930)
  • Move newCredentialHelperProvider into GoogleAuthUtils (15941)
  • Propagate the error message when a credential helper fails.(16012)
  • Fix an issue that incompatible_remote_build_event_upload_respect_no_... (16023)
  • Refactor combined cache.(16039)


  • Let starlark executable rules specify their environment (15232)


This release contains contributions from many people at Google, as well as Andreas Herrmann, Ben Lee, Benjamin Peterson, Brentley Jones, Dan Fleming, Denis Kurylenko, Fabian Meumertzheim, Keith Smiley, Ken Micklas, Mostyn Bramley-Moore, Niyas Sait, Oscar Bonilla, Son Luong Ngoc, Thi Doãn, Yannic, Yuval K, Zhongpeng Lin.