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 10.0.0rc1 (2026-10-07)
Release Notes:
Android:
- Add proper error ordering for bazel mobile-install command (#30998)
Configurability:
- [Incompatible]
template_ctx.runnow rejects a template's own output directories passed throughtools, as it already did forinputs. Pass individual files produced by sibling actions instead. (#31029) - [Incompatible] Bazel no longer trims the lines of the
unused_inputs_listfile before matching them against the action's inputs as file names may begin or end with whitespace. (#31533)
ExternalDeps:
bazel fetch --forceno longer causes the fetched repos to be fetched again by the next build with a spurious warning about external modifications. (#31108)- Added Label.repo_root as a replacement for the deprecated Label.workspace_root. (#31173)
bazel mod show_reponow prints the path of each repo's directory as a# Located at:comment in text output and as the newrepo_rootfield in proto and JSON output. (#31176)- [Incompatible]
bazel mod tidynow evaluates all module extensions in the dependency graph to update the lockfile, including extensions used only by dependencies. It can thus be used as a full replacement forbazel mod depswhen the goal is to ensure that the lockfile is up-to-date. When usingbazel vendor, this may require vendoring additional dependencies. (#31329) bazel vendor --lockfile_depsadditionally vendors the repositories required to update the lockfile, e.g. withbazel mod tidy, while fetching is disabled, which can be combined with target patterns. The@bazel_tools//tools:tools_for_bazel_subcommandsfilegroup is deprecated. (#31562)- [Incompatible]
bazel_dep()no longer accepts dependencies on the current module, which serve no purpose and were never intended to be allowed. Remove self-dependencies and use the module's own repository name for self-references. (#31552) - [Incompatible] The root module can no longer use
use_repo()to import an extension repository that it overrides with the root module itself (usingoverride_repo()orinject_repo()). Remove the self-import and use the root module's existing repository name. Other modules can still import the overridden repository. (#31553)
General:
- The deprecated
remote_execution_propertiesplatform attribute has been removed in favor ofexec_properties. - The new
attr.label_list_dicttype accepts a dict in which keys are strings and values are lists of labels. - The new
--remote_max_concurrency_per_connectioncan be used to specify the maximum number of concurrent gRPC requests Bazel will issue on a single connection to the server. The default value of 100 matches the previous behavior. - bazel query/cquery/aquery now supports an
executables()function to find only the executable targets in a given expression - In environment variable values set via
--repo_env, the substring%bazel_workspace%is now replaced with the absolute path of the current Bazel workspace. This can, for example, be used to make tools checked into the repository available on thePATHfor repository rules. - Added an optional parameter to allow eliding the stack trace when calling fail().
--override_repositorynow supports apparent repository names from the point of view of the main repository. An unknown apparent repo name will result in an error.- The values of keyword arguments passed to
use_repocan now contain the special substrings{name}and{version}, which are treated as equivalent to the corresponding attributes of the current module. - C static libraries can now elide backwards reference warnings (if linking with LLD and such warnings are enabled) if the
warn_backrefs_definedfeature is defined and enabled for the toolchain. - The new
package_relative_labelfunction on the rule context (ctx) can be used to turn a user-provided label string into aLabelrelative to the target that is currently being analyzed (whereLabel(...)would return aLabelrelative to the.bzlfile containing the call). - Reporting of cached test results can now be suppressed with
--test_summary=short_uncachedor--test_summary=detailed_uncached. - [Incompatible] The
config_settings@bazel_tools//src/conditions:{host_windows,remote}have been removed. Toolchains are usually a better fit as they don't depend on the configuration of the host machine running Bazel and/or fixed execution modes. - Bazel now fails over immediately to mirror URLs if a TLS handshake error occurs.
- Labels in the main repo will now have a
reprform that reliably evaluates back to themselves (that is,repr(Label("@@//:foo")) == "Label(\"@@//:foo\")"). - The
compatibility_levelandmax_compatibility_levelattributes ofmodulein 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. - [Incompatible] The environment variable
LC_CTYPEnow defaults toC.UTF-8for actions that setuse_default_shell_env = True, which results in a Unicode-aware locale on essentially all non-EOL Linux distributions, with MSYS2 as well as macOS 15.4 and higher. Pass--action_env==LC_CTYPE(note the two=s) to explicitly unset this variable, which restores the previous behavior. On older versions of macOS, you can set--action_env=LC_CTYPE=UTF-8instead. - The
requires-worker-protocolexecution requirement is now forwarded to remote execution services as a platform property (persistentWorkerProtocol) to support intermixing JSON and Proto remote persistent worker protocols across a build. rctx.symlinknow implicitly watches the target if it falls back to a copy.- Fix --lockfile_mode=error validation when rolling back changes to module extension facts
package_groupnow supports labels with external repositories in thepackagesattribute.- [Incompatible]
--incompatible_check_testonly_for_output_fileshas been flipped. See #28875 for more details. - [Incompatible] string.splitlines() no longer incorrectly treats u+0085 (NEL) as a newline character
- Bazel no longer verifies the digests of disk cache entries upon a cache hit. This honors the description but not the previous behavior of the
--remote_verify_downloadsflag, which in fact controlled digest verification for both remote and disk caches. - 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.
- BEP events will now be written respecting parent-child ordering constraints.
- Added
--experimental_remote_cache_chunkingflag to read and write large blobs to/from the remote cache in chunks. Requires server support. - Bzlmod now enforces that integrity strings for patches and overlay files in
source.jsonare non-empty. - A
.bazelrcfile may now onlyimportfiles recursively with a depth of up to 512 imports. If you see a "Maximum import depth exceeded parsing config file" error message, check that your workspace genuinely needs to be configured with.bazelrcfiles loading other rc files in a chain as long as 512 files. If you are configured in this way and cannot easily change your.bazelrcfiles to use shorterimportchains, you may set theBAZEL_UNLIMITED_IMPORT_DEPTHenvironment variable to any value to disable this limit. - Module extension tags now have an implicit
_sort_keyfield that can be compared to derive the order in which tags from different classes appear in the MODULE.bazel file. - The remote repo contents cache now supports all reproducible repo rules.
--disk_cachecan now be set without an argument to enable the disk cache using a default location at<outputUserRoot>/cache/disk. Other boolean forms (--disk_cache=1or--disk_cache=trueto enable;--disk_cache=0,--disk_cache=falseor--nodisk_cacheto disable) are also accepted.- Adds
--output:display_full_kindfor query options to display the full kind for Starlark rules with thelabel_kind,location, andxmloutput formats. - Changes the
debugPrintofctx.downloadto include the state of the download. Adds anerrorkey to the returned struct whensuccess: falseto explain why it's false. - The local and remote repo contents cache now include the host OS and CPU architecture in the cache key.
- Fix launcher/launcher_maker for cross build, e.g. build windows binary on linux machine.
- The flag
--fdo_optimizenow accepts repo labels as well as package labels. - [Incompatible] Add support for
startup:linux,startup:macos, etc bazelrc options. - Adds
-Djava.net.preferIPv6Addresses=systemto startup JVM args which may impact certain IPv4-only environments. Override as necessary with--host_jvm_args. - [Incompatible] Add support for decompressing Brotli archives (.br, .tar.br)
- bazelrc config declarations can now be empty
- [Incompatible] Removes the deprecated repository rule
new_git_repository. Users should usegit_repositoryinstead (they are the same) - [Incompatible] Remove
/usr/local/binfrom defaultPATH. Set--action_envand--host_action_envto/bin:/usr/bin:/usr/local/binif needed. - Added SOCKS proxy support. Bazel now accepts
socks://,socks4://, andsocks5://URLs inHTTPS_PROXY/HTTP_PROXYenvironment variables and related system properties. - None
- Large numbers with 5+ digits in CLI output are now formatted with comma separators for improved readability (e.g., "12,345 targets configured" instead of "12345 targets configured")
- 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. - Adds the
strip_componentsattribute toextract/download_and_extract/http_archiveto allow stripping of path components when extracting files. - [Incompatible]
exec_propertiesnow respectsresources:cpuandresources:memoryfor local resource estimation. - Add
add_prefixattribute togit_repositoryto allow cloning repositories into a given subdirectory prefix - {r,m}ctx.download* report the size of downloaded files Addition to the user-facing Build API
--tls_certificate=,--tls_client_certificate=, and--tls_client_key=can now be used to reset those flags to their unset state.- In output of
query --output=build, string attributes containing newline characters are now enclosed in triple double quotes (""") for better readability. - CDC chunk uploads and downloads can now happen in parallel within a large blob.
- Addition to the user-facing Build API
- Enabled output path mapping (config stripping) support for
ArchivedTreeArtifacts to improve action caching under--experimental_output_paths=strip. module_extension(...)now accepts afacts_versioninteger parameter. Bumping it invalidates the facts persisted inMODULE.bazel.lockfor that extension, allowing extension authors to make breaking changes to the facts schema without risking misinterpretation by older code paths.- Add an
excludeparam tortx.watch_tree()to allow excluding glob patterns from watch. - Fixed an issue that caused Bazel to fail on a lost input even with build or action rewinding enabled.
- BuildFinished events in BEP will consistently contain an "infrastructure-caused" detailed exit code when a single target contains both infrastructure-caused and user-caused exit codes in its failed actions.
- The new
refines_constraint_valueattribute onconstraint_settingcan be used to indicate that any non-default value for that setting specified on aplatformrequires the refined value to also be specified. - Bazel's serialization system now has a new wire encoding that supports preserving how values are serialized across Bazel versions.
- Fixed repo content caching for non-gRPC cache backends.
- CCStarlarkInternal exposes hash functions currently used by rules_cc Java rules to starlark
- The new
--expand_param_filesflag expands param files into their contents in--subcommandsand--verbose_failuresoutput. - Fixed a performance regression in Bazel 9 that causes
RepoMappingManifestactions to consume a lot of CPU time. - Improved BES upload failure message with failed invocation's ID.
- Any existing action relying on the legacy hardcoded list in Bazel code being populated will now need to opt-into output mapping by modifying their execution requirements.
- Bazel no longer limits the size of gRPC messages received from the remote executor or cache.
- The
and_thenmethod ontransitions can be used to compose transitions. Both Starlark transitions and native transitions (e.g.config.exec()) are supported. - External repos are no longer refetched whenever they contribute inputs to an action using the hermetic Linux sandbox.
- Enable TCP keepalive by default for gRPC connections with reasonable defaults
- Remove CoptsFilter. rules_cc 0.2.19 no longer uses it..
- The remote repo contents cache now correctly materializes chains of symlinks as action inputs, but no longer supports symlinks into the main repository.
- 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). - Fixed spurious "No such file" errors with the remote repo contents cache when a repo contains a symlink to a
.bzlfile. - 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_boundaryflag. - Adds
bazel dump --skyframe=keysto report only the keys available in SkyFrame. Always use with--skykey_filterto limit the number of keys reported. - Fixed a crash with
--experimental_remote_repo_contents_cachewhen running without a remote or disk cache. - [Incompatible] Custom Starlark rules named
test_suiteare no longer treated as atest_suite - Fix --progress_in_terminal_title output under screen and emacs.
- Modifying environment variables no longer causes spurious reloading of packages in external repositories.
- Fixed a spurious remote-execution failure with
--experimental_output_paths=stripwhere a lost input in a tree artifact shared between actions could not be recovered by action rewinding. - Windows launcher stubs now embed an
asInvokerUAC manifest, preventing "The requested operation requires elevation. (error: 740)" for targets whose name matches the installer-detection heuristic. - Fixed a flaky crash when Java compilation actions encounter multiple lost
.jdepsfiles. - 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.
--worker_sandboxingcan now be scoped per worker-key mnemonic with--worker_sandboxing=<mnemonic>=<boolean>.- If --incompatible_symbolic_macro_strict_attrs is enabled, invalid attribute values in symbolic macros fail the build (matching the behavior of rules).
- [Incompatible] in min() and max(), the key callback is now prohibited from mutating the sequence being iterated over
- Added a new
instance_idfield to theBuildMetricsBES event, in order to help diff between the current and previous builds on the running server. --experimental_remote_scrubbing_config=now disables remote cache key scrubbing, allowing command-line overrides of scrubbing configs set in .bazelrc.- "$ bazel config x86-opt": you can now inspect configs based on output path prefixes, not just config checksum prefixes.
- The JDK bundled with Bazel has been updated to 26.
- Action rewinding (
--rewind_lost_inputs) can now succeed even if the remote cache doesn't verify that AC entries aren't stale. - [Incompatible]
--test_tmpdir=now resets a value from a bazelrc to the default execroot temp directory instead of creating_tmpin the workspace. Use--test_tmpdir=.to retain workspace-relative behavior. - Running
bazel shutdownno longer results in stale lockfile data being written. - Starlark debug server now binds to the configured address (defaulting to 127.0.0.1) via --experimental_skylark_debug_server_address.
- [Incompatible] Bind mounts specified via
--sandbox_add_mount_pair(or-M/-mflags inlinux-sandbox) are now correctly remounted read-only when using the hermetic sandbox (with--experimental_sandbox_hermetic). Build actions that write to these paths will now fail with a read-only filesystem error. - [Incompatible]
--use_target_platform_for_testsis now a no-op. By default, tests are executed on an execution platform that has all constraints of the target platform, making this flag obsolete. To migrate, make sure that your target platform or a platform with at least the same constraints is registered as an execution platform. - Fixes an error when using
strip_componentswith archives containing symbolic//hard links. - Fixed
repository_ctx.download_and_extractfailing with an "Expected a file with a ... suffix" error when--downloader_configblocks all URLs and the archive is served from the repository cache. --incompatible_modify_execution_info_additiveis now deprecated and a no-op. When--modify_execution_infois specified multiple times, all values are always applied in order.- Added
--experimental_remote_cache_chunking_functionto select the content-defined chunking function used by--experimental_remote_cache_chunking. Supported values areauto(the default, which negotiates the function from the server capabilities, preferring FastCDC 2020),fast_cdc_2020andrep_max_cdc. - --experimental_split_coverage_processing and --experimental_fetch_all_coverage_outputs default to true.
- Retry 408 and 429 status codes with HTTP remote caching.
- Fixed a bug that could cause
ignore_directories()to not ignore directories. - [Incompatible] The Windows shell launcher now again prepends rather than appends the directory containing the shell binary, restoring the behavior of Bazel 8.x. This is technically an incompatible change, but deemed necessary due to the unexpected and widespread implications of the change in 9.0.0. See #29637 for more context.
- The
BAZEL_LLVM_PROFILE_FILEenvironment variable can now be used to customize the LLVM profile filename pattern for C++ coverage collection (e.g.--test_env=BAZEL_LLVM_PROFILE_FILE=%p.profraw). Defaults to%h-%p-%m.profrawwhen unset. - Honor XDG_CACHE_HOME on Windows in Bazel.
- Fix
sh_binaryon Windows to pass user arguments as positional parameters to bash instead of concatenating them. - Fixes a possible crash on Windows Arm64 related to JNI strings
- Added urlencode($1) support to --downloader_config rewrite rules.
- Fix
Could not chdirintw.exefor long runfiles paths on Windows. --server_javabaseand nojdk builds of Bazel can now use JREs in addition to JDKs.- With the new
--experimental_keep_change_prunable_nodes_during_gcflag, Skyframe will keep computed nodes that aren't requested by the current evaluation but whose dependencies would be verified clean after change pruning. - Test targets can now be built for a target platform that no execution platform is compatible with, e.g. to cross-compile them. Running such a test fails with an error at execution time instead of failing analysis.
- [Incompatible]
--rewind_lost_inputsis now enabled by default. Builds with BwoB automatically recover from remote cache eviction by rewinding actions that generated lost inputs. - Cycles between
MODULE.bazelfiles connected viainclude()are now reported as an error instead of hanging the build. - Fixed a crash while evaluating
MODULE.bazelfiles when Skyframe dropped its temporary state in response to memory pressure. - Fixed a build failure with
--execution_log_compact_filewhen a C++ action template has no inputs. - Files uploaded to the disk cache are now copied with a copy-on-write clone where the filesystem supports it, so a cache entry can share its blocks with the output it was uploaded from.
- Module extensions are now correctly rerun when the root module changes the
dev_dependencyvalue of ause_extensioncall, which is visible to extensions asmodule_ctx.root_module_has_non_dev_dependency. - The C++ include scanner now properly resolves headers that are generated at build time and included as part of the toolchain.
- Starlark
fail()calls now format error messages withError:instead ofError in fail:. Resolves #21523. - Aquery now supports the
config(expr, word)function. - Fixed unnecessary remote-cache hits in incremental BwoB builds after a previous invocation used a broader remote output download policy.
- Fix an issue on Windows where empty environment variables (e.g.
--action_env=VAR=) caused test execution failures in the test wrapper. --experimental_override_platform_cpu_namerenamed to--override_platform_cpu_name- The macOS sandbox now allows actions to bind sockets when network access is blocked, matching the behavior of the Linux sandbox. Note that macOS cannot restrict inbound connections by peer, so an action that listens on a non-loopback address is reachable from other hosts on the network; outbound traffic remains restricted to loopback.
- Clean up unused stashed sandbox directories when shutting down the Bazel server.
- Downloader rewrites to endpoints that refuse connections no longer repeat the connector's full retry sequence.
- Fix
grep: invalid option -- Perrors on macOS when running release and documentation scripts. - Remote execution, remote caching, and auth flags can now be reset to their default unset state on the command line by passing an empty value (e.g.,
--remote_cache=,--remote_executor=,--google_credentials=). - Invalidate cached action execution results when remote cache/executor endpoints or
--remote_instance_namechange between invocations. - Fix issue where
bazel test --nobuildfailed withTEST_WITH_NOANALYZEinstead of succeeding after analysis. - With Build without the Bytes, a requested top-level output that was deleted locally is now reliably redownloaded in the next build that requests it, even if other invocations ran in between.
- Avoid redundant remote CAS uploads when using combined disk and remote caching with a cold disk cache.
- Fix incremental remote builds failing to create output directories beneath stale dangling symlinks.
- credential-helper: treat
nullvalues in response as unset. - Fixed a rare crash with
NullPointerExceptioninActionInputMap.getIndexwhen an action discovers additional inputs while executing. - Add
repository_ctx.patch(directory) - Disk cache entries deleted by a concurrent garbage collection are now treated as cache misses and don't result in failures.
- Fix an issue where Java compilation actions re-execute on every build due to an Action Cache digest mismatch when
--experimental_output_paths=stripand in-memory.jdepsfiles are enabled. - Credential helper failures now abort HTTP downloads instead of continuing without authentication.
- Support
dict(label, string)aspect attributes inquery --output=proto. - [Incompatible] --experimental_sibling_repository_layout is now a no-op.
- Transitive rule and toolchain resolution errors are now formatted into a multi-line indented hierarchy. Fixes #15791
- Fix NullPointerException and improve error messages when Starlark implicit output templates reference unset or unknown attributes.
DefaultInfo.executableexposes the executable of configured targets and directly constructed providers, including providers returned byctx.super().- Skip implicit output generation when mandatory rule attributes are missing to prevent secondary error messages.
- Fix crash when evaluating target patterns or paths containing invalid characters or wildcards on Windows.
- Facts of reproducible module extensions are now restored to the expected state after external modifications by every Bazel command that updates the lockfile.
- Fix for regression in #29284 that caused select builtin actions to incorrectly inherit resource set overrides.
- The
--disk_cache_gc_idle_delay,--disk_cache_gc_max_sizeand--disk_cache_gc_max_ageflags are no longer experimental. - Add
--target_query/--target_query_fileflags for building the result of a bazel query in a single command - The
--install_base_gc_max_ageflag is no longer experimental. - Ensure test processes receive the full
--local_termination_grace_secondsperiod to handleSIGTERMand perform cleanup on timeout. - Windows parameter files now preserve empty arguments and correctly escape backslashes before quotes and at the end of quoted arguments. (#31204)
- The self-extracting installer now correctly creates installation directories when custom paths contain spaces. (#31226)
- Fix an O(N^2 log N) analysis phase performance regression when parsing large numbers of Starlark flags.
- The
--action_cache_gc_idle_delay,--action_cache_gc_thresholdand--action_cache_gc_max_ageflags are no longer experimental. read_user_netrcin@bazel_tools//tools/build_defs/repo:utils.bzlnow honors theNETRCenvironment variable, as thehttp_*repository rules already do. (#31378)- Fix
bazel run --run_under=... --script_path=...on Windows to correctly escape batch script invocations and forward arguments. bazel dump --skyframe=changedlists the Skyframe values that the last command created or changed, together with the changed dependencies that caused each change.
Local-Exec:
- Sandboxed actions no longer fail with "File exists" when an input is nested under a source directory input. (#31206)
OSS:
- Allows Batchfiles ran by CreateProcessW in tw.exe to work under longpathAware. (#30490)
- Add implicit (MODULE.tools) dep on rules_android v0.8.0. (#31425)
Performance:
ctx.actions.runnow supports redirecting stdout to a file via the newstdoutparameter. (#30408)bazel query --output=streamed_protocan opt into parallel serialization with--experimental_parallel_streamed_proto_output. (#30959)
Remote-Exec:
- Fixed excessive native thread accumulation when running commands with remote caching or execution enabled in rapid succession. (#31191)
Rules-CPP:
- Bazel on Windows no longer fails with "Command line too long" when running in batch mode with a large environment. (#31380)
- The embedded JDK has been updated to JDK 27. (#31491)
Rules-Server:
- Fixed a Bazel server keeping its command lock after its client was killed, which stalled later invocations. (#30960)
Acknowledgements:
This release contains contributions from many people at Google, as well as Aaron Sky, adilburaksen, Adin Cebic, Akshay Ubale, Alan Mond, Albert Lloveras, Alex Eagle, Alex Novak, Alex O'Brien, Alexander Scott, Alexey Tereshenkov, Amit Keren, Andrew Hewitson, Angus Lees, Anthony Pratti, Anton Karpov, Armando Montanez, armandomontanez, Ashutosh0x, ashutosh0x, Benedict Chacko, Benjamin Peterson, Blaine Freestone, Boleyn Su, Brad Smith, Bryce Lampe, c2qd, Chedrian07, Chi Wang, Chris Heisterkamp, Chris Jakins, Chris McDonald, cjk, colbs255, Damian Banki, Dan Halperin, Dan Katz, Daniel Burrell, Daniel Pfeifer, David Jyo, David Ostrovsky, David Zbarsky, Denbeigh Stevens, dependabot[bot], Desel72, Douglas Thor, Dylan Bettermann, Dylan Joss, Ed Schouten, Fabian Brandstetter, Fabian Meumertzheim, Fredrik Medley, gampu, Garrett Holmstrom, gaurav0107, George Gensure, giria660, google-labs-jules[bot], Greg, Grzegorz Lukasik, Guillaume Maudoux, gztong666, H5-O5, Han-Wen Nienhuys, Henner Zeller, Herdiyan Adam Putra, honnix, hvadehra, ifutivic, ijuren8, iMostfa, Jacob Nowjack, jade, Jake Newfield, James Judd, Jasmine Tang, Jason Bedard, Javier Maestro, jcater, jdymitarai, Jean-Baptiste Bronisz, Jean-Yves LENHOF, Jeff Klukas, Jeremy Volkman, Jesse Schalken, jjj-n, John Cater, John Millikin, Jonathan Perry, JonathanPerry651, Jordan Mele, Joseph Gette, Justin, Justin Kaeser, Justin Won, justinswe, Kapunahele Wong, Kaylie, Keith Smiley, Kip Hamiltons, Kobi Hikri, Ladd Van Tol, lg-stripe, Lucas Pottersky, Malte Poll, Manoj Mahapatra, Markus Hofbauer, Matthew Steffen, Michael Mitchell, Mike Lundy, Ming Zhao, Moran Omer, Morax, Nikki Vijaybhaskar, Paul Tarjan, peakschris, Pieter Agten, PikachuHy, Rahul Butani, Raiyyan Ur Rahman Mohammed, Rajkaran Yadav, Rgis Desgroppes, Richard Lavoie, Régis Desgroppes, Salma Samy, Samuel Bronson, Sarad, Sarad Pant, Showta Ishizaki, Shrey Shah, Son Luong Ngoc, Stefan Penner, Steffeeen, Steve Barrau, Taeyang Jin (Theo), Tamir Duberstein, teaugene, Ted, Ted Kaplan, Timothy Gu, Tyler Breisacher, Tyler French, Ulrik Falklof, vadim, Vladimir Sitnikov, wade-arista, Will Stranton, willxiao-amzn, XananasX, Xdng Yng, Xudong Yang, Yagiz Nizipli, Yannic Bonenberger, Yonatan Goldschmidt, Yossi Eliaz, zhaixiaojuan, zozo123.
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.