CINXE.COM
Bazel Blog - Bazel
<!DOCTYPE html> <html lang="en" itemscope itemtype="https://schema.org/WebPage"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bazel Blog - Bazel</title> <link rel="canonical" href="/"> <link rel="alternate" type="application/rss+xml" title="Bazel Blog" href="/feed.xml"> <!-- Webfont --> <link href="//fonts.googleapis.com/css?family=Source+Code+Pro:400,500,700|Open+Sans:400,600,700,800" rel="stylesheet"> <link rel="icon" type="image/png" href="/images/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/images/favicon-16x16.png" sizes="16x16"> <!-- Bootstrap --> <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> <link href="/assets/css/font-awesome.min.css" rel="stylesheet"> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <!-- Custom stylesheet --> <link rel="stylesheet" type="text/css" href="/css/main.css"> <!-- metadata --> <meta name="og:title" content="Bazel Blog"> <meta name="og:image" content="https://bazel.build/images/bazel-og-image.png"> <!-- Twitter card - https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards --> <meta name="twitter:card" value="summary" /> </head> <body> <nav id="common-nav" class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="https://bazel.build/"> <img class="navbar-logo" src="/images/bazel-navbar.svg"> </a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li> <a href="https://github.com/bazelbuild/bazel"> <span class="hidden-sm">GitHub</span> <span class="nav-icon visible-sm"><i class="fa fa-github"></i></span> </a> </li> </ul> <form class="navbar-form navbar-right" action="/search.html" id="cse-search-box"> <div class="form-group"> <input type="hidden" name="cx" value="012346921571893344015:xv_nfgpzbu4"> <input type="hidden" name="cof" value="FORID:10"> <input type="hidden" name="ie" value="UTF-8"> <input type="search" name="q" class="form-control input-sm" placeholder="Search"> </div> </form> <ul class="nav navbar-nav navbar-right"> <li> <a href="https://bazel.build/docs">Documentation</a> </li> <li> <a href="https://bazel.build/contributing.html">Contribute</a> </li> <li> <a href="https://blog.bazel.build"> <span class="hidden-sm">Blog</span> <span class="nav-icon visible-sm"><i class="fa fa-rss"></i></span> </a> </li> <li> <a href="https://twitter.com/bazelbuild"> <span class="visible-xs">Twitter</span> <span><i class="nav-icon fa fa-twitter hidden-xs"></i></span> </a> </li> <li> <a href="http://stackoverflow.com/questions/tagged/bazel"> <span class="visible-xs">StackOverflow</span> <span><i class="nav-icon fa fa-stack-overflow hidden-xs"></i></span> </a> </li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <div class="page-title-bar"> <div class="container"> <h1>Bazel Blog</h1> </div> </div> <div class="container vpad"> <div class="row"> <div class="col-lg-9"> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/11/19/bazelcon-recap.html">BazelCon 2024 Recap: Recordings and Birds of a Feather Session Notes</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/karolinakalin">Karolina Kalin</a> on <span class="text-muted">19 November 2024</span> </span> </div> <p>Last month, together with the sponsors and the Linux Foundation, we had the pleasure of hosting BazelCon 2024. </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/11/19/bazelcon-recap.html">Continue reading (about 2 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/10/09/bazel-q3-2024-community-update.html">Bazel Q3 2024 Community Update</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/karolinakalin">Karolina Kalin</a> and <a href="https://github.com/keertk">Keerthana Kumar</a> on <span class="text-muted">09 October 2024</span> </span> </div> <p>Announcements </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/10/09/bazel-q3-2024-community-update.html">Continue reading (about 5 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/08/08/bazel-for-embedded.html">Bazel for Embedded: Pigweed SDK Launches with Native Bazel Support</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="">Ted Pudlik, Armando Montanez, Keir Mierle (Pigweed team), John Cater, Greg Estren, Yun Peng (Bazel team)</a> on <span class="text-muted">08 August 2024</span> </span> </div> <p>Pigweed is an open-source collection of libraries from Google that enables fast and reliable development for embedded systems. Last September, Pigweed decided to migrate from GN to Bazel as their primary build system based on the belief that Bazel has great potential to improve embedded developers' productivity and mental wellbeing. Since then, the Pigweed team collaborated closely with the Bazel team on many improvements to make Bazel a more powerful build system not just for Pigweed developers, but also the general Bazel ecosystem. </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/08/08/bazel-for-embedded.html">Continue reading (about 7 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/07/23/remote-output-service.html">Introducing Bazel 7.2’s Output Service protocol</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/coeuvre">Chi Wang</a> and <a href="https://github.com/EdSchouten">Ed Schouten</a> on <span class="text-muted">23 July 2024</span> </span> </div> <p>Introduction </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/07/23/remote-output-service.html">Continue reading (about 6 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/07/22/bazel-q2-2024-community-update.html">Bazel Q2 2024 Community Update</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/karolinakalin">Karolina Kalin</a> and <a href="https://github.com/keertk">Keerthana Kumar</a> on <span class="text-muted">22 July 2024</span> </span> </div> <p>Announcements </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/07/22/bazel-q2-2024-community-update.html">Continue reading (about 4 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/04/29/bazelcon-save-the-date.html">BazelCon 2024, Oct 14-15 at the Computer History Museum, Mountain View</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/meisterT">Tobias Werth</a> on <span class="text-muted">29 April 2024</span> </span> </div> <p>During last year’s BazelCon keynote, we issued a challenge: “Let us organize BazelCon together!” We were thrilled when community members from Aspect.build, BuildBuddy, EngFlow, Gradle, Salesforce, and Tweag took us up on this offer. Over the past few months, we've been working together to make this vision a reality. </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/04/29/bazelcon-save-the-date.html">Continue reading (about 1 minute) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/04/01/bazel-q1-2024-community-update.html">Bazel Q1 2024 Community Update</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/keertk">Keerthana Kumar</a> on <span class="text-muted">01 April 2024</span> </span> </div> <p>Announcements </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/04/01/bazel-q1-2024-community-update.html">Continue reading (about 2 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2024/03/18/intellij-q2-2023-q1-2024-community-update.html">Bazel Plugin for IntelliJ Community Update (Q2 '23 - Q1 '24)</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/mai93">Mai Essa</a> and <a href="https://github.com/keertk">Keerthana Kumar</a> on <span class="text-muted">18 March 2024</span> </span> </div> <p>Master branch vs Google branch The Bazel IntelliJ plugin has had two main branches (master and google) for almost two years now. We created this structure to more easily accept contributions from the community, including those that are not too applicable or relevant for Google. </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2024/03/18/intellij-q2-2023-q1-2024-community-update.html">Continue reading (about 4 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2023/12/11/bazel-7-release.html">Bazel 7.0 LTS</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/Wyverald">Xudong Yang</a> and <a href="https://github.com/keertk">Keerthana Kumar</a> on <span class="text-muted">11 December 2023</span> </span> </div> <p>Bazel 7.0 has been released! </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2023/12/11/bazel-7-release.html">Continue reading (about 4 minutes) </a> </span> </div> </div> <div class="blog-post"> <h1 class="blog-post-title"><a href="/2023/11/23/bazelcon-2023-recap.html">BazelCon 2023 Recap: Recordings and Birds of a Feather Session Notes</a></h1> <div class="blog-post-meta"> <span class="text-muted"> By <a href="https://github.com/meteorcloudy">Yun Peng</a> on <span class="text-muted">23 November 2023</span> </span> </div> <p>Last month, we hosted BazelCon 2023 in Munich, Germany, marking the first-ever BazelCon in Europe. </p> <div class="blog-post-meta"> <span class="text-muted"> <a href="/2023/11/23/bazelcon-2023-recap.html">Continue reading (about 2 minutes) </a> </span> </div> </div> <nav aria-label="..."> <ul class="pager"> <li class="previous disabled"> <a href="#"><span aria-hidden="true">←</span> Newer</a> </li> <li class="next"> <a href="/page2"> Older <span aria-hidden="true">→</span> </a> </li> </ul> </nav> </div> <div class="col-lg-3 hidden-sm hidden-xs"> <h2>Twitter</h2> <p>For more frequent updates, follow us on Twitter.</p> <p><a class="twitter-follow-button" href="https://twitter.com/bazelbuild" data-show-count="false" data-size="large">Follow @bazelbuild</a></p> <h2>Discuss</h2> <p>Join the discussion on our <a href="https://groups.google.com/forum/#!forum/bazel-discuss">mailing list</a>.</p> <h2>Subscribe</h2> <p>Subscribe to our blog via the <a rel="alternate" type="application/rss+xml" href="/feed.xml">RSS Feed</a>. <h2>Contribute</h2> <p>The source for this blog can be found on <a href="https://github.com/bazelbuild/bazel-blog">GitHub</a>.</p> <h2>Archive</h2> <p>Looking for a specific post? Find it on the <a href="/archive.html">Archive</a> page.</p> </div> </div> </div> <footer class="footer"> <div class="container"> <div class="row"> <div class="col-sm-4 col-md-2"> <p>About</p> <ul class="list-unstyled"> <li><a href="https://github.com/bazelbuild/bazel/wiki/Bazel-Users">Who's Using Bazel?</a></li> <li><a href="https://bazel.build/roadmap.html">Roadmap</a></li> <li><a href="https://bazel.build/contributing.html">Contribute</a></li> <li><a href="https://bazel.build/governance.html">Governance Plan</a></li> <li><a href="https://policies.google.com/privacy">Privacy Policy</a></li> </ul> </div> <div class="col-sm-4 col-md-2"> <p>Support</p> <ul class="list-unstyled"> <li><a href="http://stackoverflow.com/questions/tagged/bazel">Stack Overflow</a></li> <li><a href="https://github.com/bazelbuild/bazel/issues">Issue Tracker</a></li> <li><a href="https://bazel.build/docs">Documentation</a></li> <li><a href="https://bazel.build/faq.html">FAQ</a></li> <li><a href="https://bazel.build/support.html">Support Policy</a></li> </ul> </div> <div class="col-sm-4 col-md-2"> <p>Stay Connected</p> <ul class="list-unstyled"> <li><a href="https://twitter.com/bazelbuild">Twitter</a></li> <li><a href="https://blog.bazel.build">Blog</a></li> <li><a href="https://github.com/bazelbuild/bazel">GitHub</a></li> <li><a href="https://groups.google.com/forum/#!forum/bazel-discuss">Discussion group</a></li> </ul> </div> </div> <div class="row"> <div class="col-lg-12"> <p class="text-muted">© 2024 Google</p> </div> </div> </div> </footer> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="/assets/js/bootstrap.min.js"></script> <script> var shiftWindow = function() { if (location.hash.length !== 0) { window.scrollBy(0, -50); } }; window.addEventListener("hashchange", shiftWindow); var highlightCurrentSidebarNav = function() { var href = location.pathname; var item = $('#sidebar-nav [href$="' + href + '"]'); if (item) { var li = item.parent(); li.addClass("active"); if (li.parent() && li.parent().is("ul")) { do { var ul = li.parent(); if (ul.hasClass("collapse")) { ul.collapse("show"); } li = ul.parent(); } while (li && li.is("li")); } } }; $(document).ready(function() { // Scroll to anchor of location hash, adjusted for fixed navbar. window.setTimeout(function() { shiftWindow(); }, 1); // Flip the caret when submenu toggles are clicked. $(".sidebar-submenu").on("show.bs.collapse", function() { var toggle = $('[href$="#' + $(this).attr('id') + '"]'); if (toggle) { toggle.addClass("dropup"); } }); $(".sidebar-submenu").on("hide.bs.collapse", function() { var toggle = $('[href$="#' + $(this).attr('id') + '"]'); if (toggle) { toggle.removeClass("dropup"); } }); // Highlight the current page on the sidebar nav. highlightCurrentSidebarNav(); }); </script> <!-- Google Analytics tracking code --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-61082125-1', 'auto'); ga('send', 'pageview'); </script> <!-- JavaScript used by the Follow @bazelbuild on Twitter button on the blog sidebar. Code from: https://dev.twitter.com/web/follow-button --> <script>window.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,"script","twitter-wjs"));</script> </body> </html>