Bazel was born of Google’s own needs for highly scalable builds. When weopen sourced Bazel back in 2015, we hoped that Bazel could fulfill similar needs in the software development industry. A growinglist of Bazel usersattests to the widespread demand for scalable, reproducible, and multi-lingual builds. Bazel helps Google be more open too: several large Google open source projects, such as Angular and TensorFlow, use Bazel. Users have reported3x test time reductionsand10 x fasterbuild speeds after switching to Bazel.
With the 1.0 release we’re continuing to implement Bazel’svision:
- Bazel builds arefast and correct.Every build and test run is incremental, on your developers’ machines and on yourCItest system.
- Bazel supportsmulti-language,multi-platformbuilds and tests. You can run a single command to build and test your entire source tree, no matter which combination of languages and platforms you target.
- Bazel provides auniform extension language, Starlark, to define builds for any language or platform.
- Bazel works acrossall major development platforms(Linux, macOS, and Windows).
- Bazel allows your builds to scale– it connects to distributed remote execution and caching services.
The key features of the 1.0 GA release are:
- Semantic Versioning
Starting with Bazel 1.0, we will usesemantic versioningfor all Bazel releases. For example, all 1.x releases will be backwards-compatible with Bazel 1.0. We will have a window of at least three months between major (breaking) releases. We’ll continue to publish minor releases of Bazel every month, cutting from GitHub HEAD.
- Long-Term Support
Long-Term Support (LTS) releases give users confidence that the Bazel team has the capacity and the process to quickly and safely deliver fixes for critical bugs, including vulnerabilities.
- Well-rounded features for Angular, Android, Java, and C
The new features include end-to-end support for remote execution and caching, and support for standard package managers and third-party dependencies.
New to Bazel? Try thetutorialfor your favorite language to get started.
With the 1.0 release we still have many exciting developments ahead of us. Follow ourblogorTwitter accountfor regular updates. Feel free to contact us with questions or feedback on themailing list, submit feature requests (and report bugs) in ourGitHub issue tracker, and join ourSlack channel. Finally, join us at the largest-everBazelCon (conference in December) for an opportunity to meet other Bazel users and the Bazel team at Google, see demos and tech talks, and learn more about fast, correct, and large-scale builds.
Last but not least, we wouldn’t have gotten here without the continued trust, support, encouragement, and feedback from the community of Bazel users and contributors. Heartfelt thanks to all of you from the Bazel team!
By Dmitry Lomov, Bazel Team