Project: /_project.yaml Book: /_book.yaml
{% include “_buttons.html” %}
Happy new year to our Bazel community. With the new year, we plan to bring details of our 2023 roadmap. Last year, we published our 2022 year roadmap with our Bazel 6.0 plans. We hope that the roadmap provided informed your build tooling needs. As the Bazel project continues to evolve in response to your needs, we want to share our 2023 update.
With these changes, we’re looking to keep our open-source community informed and included. This roadmap describes current initiatives and predictions for the future of Bazel development, giving you visibility into current priorities and ongoing projects.
We plan to bring Bazel 7.0 long term support (LTS) to you in late 2023. With Bazel 7.0 we aim to deliver many of the in progress items and continue to work through feature improvements that our users have been asking for.
Enables cached artifacts to be shared across different build local (Mac) and remote (Linux) build platforms primarily for Java/Kotlin and Android development, resulting in better performance and efficient cache usage.
Manifest & Resource Merger updates to v30.1.3 so Android app developers can use newer manifest merging features like tools:node=“merge”.
Bazel 7.0 provides support for asynchronous execution, speeding up remote execution via increased parallelism with flag --jobs.
Bzlmod automatically resolves transitive dependencies, allowing projects to scale while staying fast and resource-efficient. Bazel 7.0 contains a number of enhancements to Bazel's external dependency management functionality, including:
Bazel 7.0 provides analysis-phase time metrics, letting developers optimize their own build performance.
Builds without the Bytes optimizes performance by avoiding the download of intermediate artifacts and preventing builds from bottlenecking on network bandwidth. Features added include:
Support for remote cache eviction with a lease service, so that users don’t run into errors when artifacts are evicted prematurely
Address feature gaps in symlink support
Provide options to retrieve intermediate outputs from remote actions
Bazel 7.0 introduces Skymeld — an evaluation mode that reduces the wall time of your multi-target builds. Skymeld eliminates the barrier between analysis and execution phases to improve build speeds, especially for builds with multiple top-level targets. However, for single-target builds, no significant difference is expected.
With Bazel, developers can generate data to help produce SBOMs. This data outputs in text or JSON format, and can be easily formatted to meet SPDX or CycloneDX specifications. Additionally, the process provides rules to declare the licenses Bazel modules are made available under, and tools to build processes around those declarations. See the in-progress rules_license implementation on GitHub.
Bazel provides trusted binaries for Windows and Mac signed with Google keys. This feature enables multi-platform developers/dev-ops to identify the source of Bazel binaries and protect their systems from potentially malicious, unverified binaries.
Complete migration of Java, C++, and Python rulesets to Starlark. This effort allows Bazel users to fork only rulesets and not Bazel binary codebase, allowing users to
Incremental IntelliJ plugin updates to support the latest JetBrains plugin release.
This roadmap snapshots targets, and should not be taken as guarantees. Priorities are subject to change in response to developer and customer feedback, or new market opportunities.
To be notified of new features — including updates to this roadmap — join the Google Group community.
*Copyright © 2022 JetBrains s.r.o. JetBrains and IntelliJ are registered trademarks of JetBrains s.r.o