CINXE.COM
Bazel 3.5 - 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 3.5 - Bazel</title> <link rel="canonical" href="/2020/08/26/bazel-3.5.html"> <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 3.5"> <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">Bazel 3.5</h1> <div class="blog-post-meta"> By <a href="https://github.com/aiuto">Tony Aiuto</a> on <span class="text-muted">26 August 2020</span> </div> <div class="blog-post-content"> <p><a href="https://github.com/bazelbuild/bazel/releases/tag/3.5.0">Bazel 3.5</a> has just been released.</p> <p>Bazel 3.5 is a minor release. It is an incremental update to Bazel 3.4.</p> <h2>Incompatible changes</h2> <ul> <li>Remove the <code>--experimental_process_wrapper_wait_fix</code> flag.</li> <li>Remove the <code>--experimental_ui_deduplicate</code> flag.</li> <li>Remove the <code>--experimental_transparent_compression</code> flag.</li> <li>Remove the <code>--experimental_action_args</code> flag.</li> <li>Remove the <code>--incompatible_symlinked_sandbox_expands_tree_artifacts_in_runfiles_tree</code> flag.</li> <li>Bazel now correctly prefers Xcode versions in <code>/Applications</code> over other paths, by default. This resolves an issue with accidentally picking up an Xcode version from a Time Machine backup or network disk. If you rely on the old behavior, move your desired Xcode version to <code>/Applications</code>.</li> </ul> <h2>Rules</h2> <h3>C++</h3> <ul> <li>Add <a href="https://docs.bazel.build/versions/3.5.0/skylark/lib/cc_common.html#compile"><code>cc_common.compile</code></a> support for <code>include_prefix</code> / <code>strip_include_prefix</code>.</li> </ul> <h3>Android</h3> <ul> <li>Support signing key rotation in <code>android_binary</code>.</li> </ul> <h3>Apple</h3> <ul> <li><a href="https://docs.bazel.build/versions/3.5.0/command-line-reference.html#flag--apple_bitcode"><code>--apple_bitcode</code></a> now takes an optional platform and only applies the Bitcode mode to that platform if present. The option may be provided multiple times.</li> <li>Add optional <code>oso_prefix_is_pwd</code> feature for Apple builds.</li> <li><code>NS_BLOCK_ASSERTIONS</code> is now passed for all Apple architectures.</li> </ul> <h3>Java</h3> <ul> <li>Java 14 is now supported through custom <code>toolchain_jdk_14</code>. The <code>java_tools</code> repository provides this support in the <a href="https://github.com/bazelbuild/java_tools/releases/tag/javac14_v1.0">java_tools with javac14 v1.0</a> release.</li> </ul> <h2>Other changes</h2> <ul> <li><code>cquery</code> now follows aspects when the <a href="https://docs.bazel.build/versions/3.5.0/cquery.html#cquery-options"><code>--include_aspects</code></a> flag is used.</li> <li>Add support to <code>bazel/crosstool</code> for building arm64 on macos.</li> <li>Update coverage configuration for Python, <code>filegroup</code>, and shell script rules to distinguish between source and dependency attributes.</li> <li>Add <a href="https://docs.bazel.build/versions/3.5.0/skylark/lib/InstrumentedFilesInfo.html"><code>InstrumentedFilesInfo</code></a> provider to Starlark globals.</li> <li>Make <code>filegroup</code> always forward <code>InstrumentedFilesProvider</code> and not collect any sources directly.</li> <li>Update Starlark error reporting and the call stack. This may cause changes in the locations where errors were previously reported.</li> <li>Allow dot ('.') in <code>workspace</code> names. See <a href="https://github.com/bazelbuild/bazel/issues/11837">#11837</a>.</li> </ul> <h2>Contributors</h2> <p>This release contains contributions from many people at Google, as well as Adam Gross, Andrew Suffield, Benjamin Peterson, David Ostrovsky, Ed Schouten, Grzegorz Lukasik, Holger Freyther, Kalle Johansson, Keith Smiley, Kerrick Staley, Kyle Teske, Mostyn Bramley-Moore, Ryan Beasley, Ryan Pavlik, Siggi Simonarson, Stiopa Koltsov, Ulf Adams, Xiaoyi Shi, Yannic Bonenberger, Yesudeep Mangalapilly, bnczk.</p> </div> </div> </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> <!-- Anchor JS --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.2.0/anchor.min.js"></script> <script> // Automatically add anchors and links to all header elements that don't already have them. anchors.add(); </script> </body> </html>