Project: /_project.yaml Book: /_book.yaml
{% include “_buttons.html” %}
As the Bazel project continues to evolve in response to your needs, we want to share our 2024 update.
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 8.0 long term support (LTS) to you in late 2024. The following features are planned to be implemented.
Bzlmod automatically resolves transitive dependencies, allowing projects to scale while staying fast and resource-efficient.
With Bazel 8, we will disable WORKSPACE support by default (it will still be possible to enable it using --enable_workspace
); with Bazel 9 WORKSPACE support will be removed. Starting with Bazel 7.1, you can set --noenable_workspace
to opt into the new behavior.
Bazel 8.0 will contain a number of enhancements to [Bazel's external dependency management] (https://docs.google.com/document/d/1moQfNcEIttsk6vYanNKIy3ZuK53hQUFq1b1r0rmsYVg/edit#heading=h.lgyp7ubwxmjc) functionality, including:
--enable_workspace
can be set to false
to completely disable WORKSPACE functionality.--jobs
.Complete migration of Android, C++, Java, and Python rulesets to dedicated repositories and decoupling them from the Bazel releases. This effort allows Bazel users and rule authors to
The new location of the rulesets is going to be bazelbuild/rules_android
, rules_cc
, rules_java
, rules_python
and google/protobuf
. rules_proto
is going to be deprecated.
Bazel 8 will provide a temporary migration flag that will automatically use the rulesets that were previously part of the binary from their repositories. All the users of those rulesets are expected to eventually depend on their repositories and load them similarly to other rulesets that were never part of Bazel.
Bazel 8 will also improve on the existing extending rules and subrule APIs and mark them as non-experimental.
BUILD
users, macro authors, and tooling. Compared to legacy macros, which Bazel has only limited insight into, symbolic macros help users avoid common pitfalls and enforce best practices.native.existing_rules()
.--platforms
.Bazel holds a lot of state in RAM for fast incremental builds. However, developers often change a small subset of the source files (e.g. almost never one of the external dependencies). With Skyfocus, Bazel will provide an experimental way to drop unnecessary incremental state and reduce Bazel's memory footprint, while still providing the same fast incremental build experience.
The initial scope aims to improve the retained heap metric only. Peak heap reduction is a possibility, but not included in the initial scope.
install_base
.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