Product updates
Feature improvements
Bisect feature in Bazelisk: The --bisect
flag was introduced in Bazelisk v1.17.0. It allows you to bisect Bazel versions to find out the specific commit that caused a build failure. You can find more information and examples here.
Lockfile for Bzlmod: Preliminary support for a lockfile for Bzlmod was introduced in Bazel 6.2.0. It's disabled by default; use --lockfile_mode=update to enable it. The lockfile contains only Bazel module information; it does not involve module extensions yet.
Build without the Bytes: BwoB is now enabled by default at HEAD. Many improvements landed that make BwoB just work e.g. Symlinks and remote cache eviction are supported. Use --experimental_remote_cache_eviction_retries
to let Bazel automatically retry the build when cache eviction happens during the build.
Releases
Bazel 6.2.0 and 6.2.1 were released in Q2 ‘23. Bazel 6.3.0 is currently in the works and scheduled to be released in July. Please follow the release tracker issue for status updates.
We are also working towards Bazel 7.0.0 and plan to create the first release candidate before BazelCon.
Android Rules updates
We would like to inform you of changes in rules_android branches. Development has moved from the "pre-alpha" branch to a new branch called "main" with the same structure as "pre-alpha".
Possible actions for users:
- For those who are already using rules_android's pre-alpha branch, we encourage you to use the “main” branch, since we will continue to update Starlark implementations of Android rules there. Please modify any code import or automation pipelines to use the new branch.
- For those who are still using the built-in Android rules from Bazel or rules_android master branch, no need for further actions.
This change is part of releasing Starlark Android build rules to open source, and deprecating their Bazel-native equivalents.
We switched our internal export pipeline from “pre-alpha” to “main” branch on May 30, 2023, after which the pre-alpha branch will no longer be updated. All future development will occur on the "main" branch, which we anticipate to be the last branch change for this codebase.
Announcements
BazelCon 2023
We’re excited to announce that BazelCon 2023 will be held October 24-25 in Google Munich! We look forward to further strengthening and connecting the Bazel community.
Call for Proposals is now open! We are looking for proposals for tech talks, lighting talks, and birds of a feather sessions. We encourage proposals from a wide range of speakers, including Bazel users, contributors, and rule authors. Proposals should be submitted through Google Forms:
https://forms.gle/y3w1nfZdzDB2Rm498
The CFP will close on July 31, 2023, so we recommend that you submit your proposal early. Following the closure, all submissions will be reviewed by our program committee, and we'll notify all applicants once the reviews are complete.
Bazel examples
Through our CSAT survey, we learnt that a lack of good examples and tutorials is a big pain point for most Bazel users. Please fill out the poll and share your thoughts here to help us improve and target top examples.
Bazel Product Partner program
We are very happy to announce that the Bazel Product Partner program is now live! With this program, we aim to recognize organizations that are improving the Bazel developer experience by adding tools or services that integrate with Bazel. Read more about it in our blog post.
Explainer video
To continue to grow and educate new users, we launched a new Bazel explainer video: What is Bazel? Please share this with your engineering community to drive adoption of Bazel.
Highlights
Release cadence survey results
In Q1, we sent out a survey to collect feedback on the Bazel LTS release cadence in order to determine the best path forward for the community.
Based on the survey results, we are keeping the current de facto 12-month LTS release cycle and continuing to ship minor releases for the latest LTS release every two months to backport backwards-compatible bug fixes and new features requested by the community.
Please take a look at the release model and best practices for rules authors to keep compatibility with Bazel.
Contributor metrics
In Q2, we received 256 new PRs, of which 203 were reviewed and accepted/closed. We also received 326 new issues, of which 135 were bugs and 69 were feature requests.
Community corner
This is a space for the Bazel community voice. If there is anything interesting you are building or any updates you would like to highlight in future editions, please reach out to product@bazel.build.
- Bazel Community Day – San Francisco
- Introducing rules_oci
- Should I Build My Project with rules_haskell? (Georgi Lyubenov)
- Bazel Tutorial - Building a standalone CLI and GUI with Python
- Announcing Skyscope
Resources
- GitHub repository: https://github.com/bazelbuild/bazel
- Releases: https://github.com/bazelbuild/bazel/releases
- Slack chat: https://slack.bazel.build
- Google group: bazel-discuss@googlegroups.com
- Special Interest Groups (SIG):
Reach out the email(s) listed below if you’d like to be added to the SIG calendar invites.
SIG | Meeting frequency | Point of contact |
---|---|---|
Rules authors | Every two weeks | bazel-contrib@googlegroups.com |
Android app development (charter coming soon) | Monthly | radvani@google.com |
Bazel plugin for IntelliJ | Monthly | raoarun@google.com |
Interested in learning about SIGs or starting a new one? Find more information on our website.
Want to get your SIG listed? Please add it to the Community repository.
Ideas, feedback, and submissions are welcome!
Thank you for reading this edition! Let us know if you’d like to see any new information or changes in future community updates by reaching out to product@bazel.build. We look forward to hearing from you.
Thanks,
Google Bazel team
Copyright © 2023 JetBrains s.r.o. JetBrains and IntelliJ are registered trademarks of JetBrains s.r.o.