<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <generator uri="https://blog.rust-lang.org/inside-rust/" version="0.1.0">Inside Rust Blog</generator>
    <link href="https://blog.rust-lang.org/inside-rust/feed.xml" rel="self" type="application/atom+xml" />
    <link href="https://blog.rust-lang.org/inside-rust/" rel="alternate" type="text/html" />
    <id>https://blog.rust-lang.org/inside-rust/</id>
    <title>Inside Rust Blog</title>
    <subtitle>Want to follow along with Rust development? Curious how you might get involved? Take a look!</subtitle>
    <author>
        <name>Maintained by the Rust Teams.</name>
        <uri>https://github.com/rust-lang/blog.rust-lang.org/</uri>
    </author>
    <updated>2026-06-11T14:20:46+00:00</updated>

    
    <entry>
        <title>Program management update — May 2026</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/06/11/program-management-update-may-2026/" type="text/html" title="Program management update — May 2026" />
        <published>2026-06-11T00:00:00+00:00</published>
        <updated>2026-06-11T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/06/11/program-management-update-may-2026/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/06/11/program-management-update-may-2026/">&lt;h1 id&#x3D;&quot;program-management-update-may-2026&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#program-management-update-may-2026&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Program management update — May 2026&lt;/h1&gt;
&lt;h2 id&#x3D;&quot;rustweek-and-all-hands&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rustweek-and-all-hands&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
RustWeek and All Hands!&lt;/h2&gt;
&lt;p&gt;It finally happened. Nurzhan, Tomáš, and hundreds of Rustaceans all met up in Utrecht, the Netherlands, for &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://2026.rustweek.org/&quot;&gt;RustWeek and All Hands&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;RustWeek is a week-long conference organized by &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustnl.org/&quot;&gt;RustNL&lt;/a&gt;. It typically features two days of talks, three to four days of workshops, an unconference, and a hackathon. It&#x27;s absolutely fantastic and open to everyone. The All Hands is a three-day event of team- and topic-specific sessions, bringing Project members together to meet, collaborate, resolve issues, and plan ahead. For the last two years, these events have been co-located, so most Project members got to attend both.&lt;/p&gt;
&lt;p&gt;The dates for &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://2027.rustweek.org/&quot;&gt;RustWeek 2027&lt;/a&gt; are already set: May 24–29, in Utrecht again. The dates and location for the All Hands have not yet been announced.&lt;/p&gt;
&lt;p&gt;We&#x27;ll post a retrospective later, but in the meantime, it was fantastic to meet everyone.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;interviews&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#interviews&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Interviews&lt;/h3&gt;
&lt;p&gt;During the conference, the Content team recorded 12 interviews with some of the speakers and people in the Project. We got involved, too: Nurzhan was really excited (and anxious!) to meet and interview Alice Cecile (Bevy Engine) about program and project management. The interviews have been fully produced by a videographer hired from the team&#x27;s budget, and they should be posted in the next month or so.&lt;/p&gt;
&lt;p&gt;Apart from that, the team has a backlog of interviews recorded at the last Kangrejos and RustConf that is over nine months old now. They hired an editor to take care of them, so we&#x27;re excited to see more interviews posted soon.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;program-management&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#program-management&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Program management&lt;/h2&gt;
&lt;p&gt;We published the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/18/project-goals-2026-04/&quot;&gt;final update for the 2025H2 Project goals&lt;/a&gt; and kicked off the new 2026 period.&lt;/p&gt;
&lt;p&gt;We had some goals-related sessions at the All Hands and got to talk with people about their needs and experiences. There was also a discussion about funding for maintainers, which we plan to integrate into goals.&lt;/p&gt;
&lt;p&gt;We&#x27;re now working on displaying funding information (goals looking for funding, goals that are funded, etc.) on the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/index.html&quot;&gt;Project Goals page&lt;/a&gt;. For an example, see the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/roadmap-fast-builds.html#funding&quot;&gt;Funding section of the Fast Builds page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some other things we&#x27;re looking into:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The feasibility of using goals ubiquitously instead of the current Compiler MCPs (Major Change Proposals), Library ACPs (API Change Proposals), and Language experiments.
&lt;ul&gt;
&lt;li&gt;The Types team set a precedent for this recently by &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/types-team/issues/134&quot;&gt;deciding&lt;/a&gt; to move away from MCPs in favor of goals.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Making the creation of new goals more straightforward and lightweight.&lt;/li&gt;
&lt;li&gt;Streamlining goal updates and making them more useful.&lt;/li&gt;
&lt;li&gt;Refactoring the tooling for managing goals.&lt;/li&gt;
&lt;li&gt;Closer integration with the Funding team, grants, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Basically, we expect goals to be opened throughout the year on a rolling basis. How do we handle that?&lt;/p&gt;
&lt;p&gt;We have also expanded our meeting coverage. The Rustdoc team used to have chat-based meetings, but recently decided to try video calls instead and asked us to take minutes. We also reached out to the Types team, asking them to move their meeting to a nonconflicting time slot (30 minutes earlier) so that we could start attending those, too. Hopefully, this will help us keep the teams more connected.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;funding-rust-maintainers&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#funding-rust-maintainers&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Funding Rust maintainers&lt;/h2&gt;
&lt;p&gt;The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rfcs/3931-rfmf-rust-foundation-maintainer-fund.html&quot;&gt;Rust Foundation Maintainer Fund (RFMF) RFC&lt;/a&gt; has been merged.&lt;/p&gt;
&lt;p&gt;The Foundation will begin raising money for the Maintainer Fund. This money will be dedicated to people doing maintenance work. This includes work such as reviewing, triaging, and large-scale refactoring, but also work that is largely invisible yet has far-reaching effects, e.g., unblocking new features.&lt;/p&gt;
&lt;p&gt;The RFC establishes a Maintainer in Residence program (MiR — not to be confused with &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustc-dev-guide.rust-lang.org/mir/index.html&quot;&gt;MIR&lt;/a&gt;) to provide long-term, mostly full-time support for maintainers — complementing the shorter-term &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3919&quot;&gt;Grants program&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This program was heavily inspired by Python&#x27;s &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.python.org/psf/developersinresidence/&quot;&gt;Developers in Residence&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.org/governance/teams/launching-pad/#team-funding&quot;&gt;Funding team&lt;/a&gt; wrote about the program &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/06/02/launching-the-rust-foundation-maintainers-fund/&quot;&gt;here&lt;/a&gt;, and the Foundation published a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/help-fund-the-people-who-build-rust/&quot;&gt;companion piece on their site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&#x27;re an individual, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/sponsors/rustfoundation&quot;&gt;donate money to the Maintainer Fund via this GitHub Sponsors page&lt;/a&gt;. If you&#x27;re a company or larger organization, reach out to &lt;a href&#x3D;&quot;mailto:maintainers-fund@rustfoundation.org&quot;&gt;maintainers-fund@rustfoundation.org&lt;/a&gt;. All proceeds will go directly to maintainers.&lt;/p&gt;
&lt;p&gt;If you want to support specific people, head to the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.org/funding/&quot;&gt;Funding page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And last but not least, RustNL has recently hired several Rust maintainers as well. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustnl.org/maintainers/&quot;&gt;Visit their page to learn more&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;mirroring&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#mirroring&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Mirroring&lt;/h2&gt;
&lt;p&gt;At the All Hands, Joel Marcey distributed YubiKeys that will be used for mirror attestations. Emily, Walter, and Dirkjan put together a guide on how to use them (private for now, undergoing feedback) and verify attestation.&lt;/p&gt;
&lt;p&gt;Arlo has practiced root signing and shared examples &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/arlosi/tuf-on-ci&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The team discussed whether &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://theupdateframework.io/&quot;&gt;TUF&lt;/a&gt; is the right solution for the crates.io index. TUF was originally designed for offline signing, but the crates.io index changes very frequently and will need to be signed every minute.&lt;/p&gt;
&lt;p&gt;The main concern was that following the TUF spec to the letter would be infeasible because it would result in too many HTTP requests. The standard seems to be moving in the right direction to solve this (they&#x27;re listening to our input), but we don&#x27;t want to be blocked on that.&lt;/p&gt;
&lt;p&gt;There are options the team could consider, but they&#x27;d make crates.io incompatible with other TUF clients.&lt;/p&gt;
&lt;p&gt;Walter said that we don&#x27;t necessarily need to support other clients for the crates.io use case, and that the changes we&#x27;d need to make to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/theupdateframework/rust-tuf&quot;&gt;rust-tuf&lt;/a&gt; are not substantial enough for this to be a problem.&lt;/p&gt;
&lt;p&gt;Rustup doesn&#x27;t have the same constraints, so we&#x27;ll be following the spec there.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;rust-for-linux&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-for-linux&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust for Linux&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;all-hands-session&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#all-hands-session&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
All Hands session&lt;/h3&gt;
&lt;p&gt;The Rust for Linux team was invited to the All Hands and hosted an office-hours session there. There were rustfmt and clippy representatives in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/all-hands-2026/issues/18&quot;&gt;the room&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jieyou Xu wanted to clarify what exactly the Linux team needs to remove the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://docs.kernel.org/rust/coding-guidelines.html#imports&quot;&gt;&quot;trailing double slash hack&quot;&lt;/a&gt;. The team wants this option to be stabilized at some point, but in the meantime, they would be okay with using something like &lt;code&gt;RUSTC_BOOTSTRAP&lt;/code&gt; (which allows unstable features to be used with a stable toolchain). Rustfmt, however, does not have a way to do this today.&lt;/p&gt;
&lt;p&gt;The team runs rustfmt in CI, but they&#x27;re currently looking only for crashes (ICEs — internal compiler errors). They want to get to a place where they can catch unintentional differences in code formatting, and enforce consistent style in CI.&lt;/p&gt;
&lt;p&gt;Alejandra González mentioned that changes to clippy are now bottlenecked by reviewers. Reviewing clippy code is complex. There are many things to check, and many edge cases to investigate. But Alejandra stressed that if someone is interested, they would be happy to teach them, and they would appreciate the help.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;recoverable-integer-overflow&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#recoverable-integer-overflow&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Recoverable integer overflow&lt;/h3&gt;
&lt;p&gt;Jana Dönszelmann opened a (draft) &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/pull/157314&quot;&gt;pull request providing a numerical overflow handler&lt;/a&gt;. This is something the team has wanted for a long time. Currently, Rust will panic on integer overflows (e.g. adding &lt;code&gt;1&lt;/code&gt; to a &lt;code&gt;u8&lt;/code&gt; value of &lt;code&gt;255&lt;/code&gt; — since there&#x27;s no &lt;code&gt;256&lt;/code&gt; in &lt;code&gt;u8&lt;/code&gt;) in debug mode, and wrap (without panicking) in release.&lt;/p&gt;
&lt;p&gt;The kernel needs the ability to detect overflows and react to them in some fashion. Jana&#x27;s PR provides such a hook:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-code&quot;&gt;&lt;code data-lang&#x3D;&quot;rust&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;//&lt;/span&gt;&lt;span class&#x3D;&quot;z-comment z-line z-double-slash z-comment&quot;&gt;@ no-prefer-dynamic&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;//&lt;/span&gt;&lt;span class&#x3D;&quot;z-comment z-line z-double-slash z-comment&quot;&gt;@ compile-flags: -Coverflow-checks&#x3D;recoverable&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;//&lt;/span&gt;&lt;span class&#x3D;&quot;z-comment z-line z-double-slash z-comment&quot;&gt;@ run-pass&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;//&lt;/span&gt;&lt;span class&#x3D;&quot;z-comment z-line z-double-slash z-comment&quot;&gt;@ check-run-results&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;!&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;feature&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;recoverable_integer_overflow&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;!&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;arithmetic_overflow&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; unused&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;core&lt;/span&gt;&lt;span class&#x3D;&quot;z-keyword z-operator&quot;&gt;::&lt;/span&gt;&lt;span&gt;panic&lt;/span&gt;&lt;span class&#x3D;&quot;z-keyword z-operator&quot;&gt;::&lt;/span&gt;&lt;span&gt;integer_overflow_action&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-keyword&quot;&gt;fn&lt;/span&gt;&lt;span class&#x3D;&quot;z-entity z-name z-function&quot;&gt; overflow&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-entity z-name z-function&quot;&gt;    println!&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class&#x3D;&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class&#x3D;&quot;z-string z-quoted z-string&quot;&gt;overflow happened&lt;/span&gt;&lt;span class&#x3D;&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-keyword&quot;&gt;fn&lt;/span&gt;&lt;span class&#x3D;&quot;z-entity z-name z-function&quot;&gt; main&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-storage z-type&quot;&gt;    let&lt;/span&gt;&lt;span class&#x3D;&quot;z-storage z-storage z-modifier&quot;&gt; mut&lt;/span&gt;&lt;span class&#x3D;&quot;z-variable&quot;&gt; x&lt;/span&gt;&lt;span class&#x3D;&quot;z-keyword z-operator z-assignment z-keyword z-operator&quot;&gt; &#x3D;&lt;/span&gt;&lt;span class&#x3D;&quot;z-constant z-numeric&quot;&gt; 255&lt;/span&gt;&lt;span class&#x3D;&quot;z-constant z-numeric z-entity z-name z-type&quot;&gt;u8&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-variable&quot;&gt;    x&lt;/span&gt;&lt;span class&#x3D;&quot;z-keyword z-operator z-assignment z-keyword z-operator&quot;&gt; +&#x3D;&lt;/span&gt;&lt;span class&#x3D;&quot;z-constant z-numeric&quot;&gt; 1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The likely use case for this on the Linux side will be to print a kernel message the first time such a call happens (possibly tainting the kernel in the process) and keep going without spamming the log with more messages.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;tomas-s-july-august-absence&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#tomas-s-july-august-absence&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Tomáš&#x27;s July/August absence&lt;/h2&gt;
&lt;p&gt;As a heads-up, Tomáš will be on medical leave from 2026-07-12 until 2026-08-09. There is nothing to be worried about! Nurzhan will handle the work side of things.&lt;/p&gt;
&lt;p&gt;We put our planned time off in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://calendar.google.com/calendar/u/0?cid&#x3D;N2RmMTJiZjc2YTFlZjU5MWNlYTQ4MmJjNDMxODEzYzcxZDg1MDViMTFhODk1NjQ1MzUxNjQ5ZTkwZWQ2NzUwNUBncm91cC5jYWxlbmRhci5nb29nbGUuY29t&quot;&gt;PM calendar&lt;/a&gt; and the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/392734-council/topic/PM.20time.20off/with/595113250&quot;&gt;PM time-off Zulip thread&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;worth-a-look&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#worth-a-look&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Worth a look&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;rust-project-updates&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-project-updates&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Project updates&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/06/03/maintainer-spotlight-tiffany-pek-yuan-tiif/&quot;&gt;Maintainer spotlight: Tiffany Pek Yuan (@tiif)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/05/04/project-director-update/&quot;&gt;March 2026 Project Director Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/06/02/launching-the-rust-foundation-maintainers-fund/&quot;&gt;Launching the Rust Foundation Maintainers Fund&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/28/Rust-1.96.0/&quot;&gt;Announcing Rust 1.96.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/25/cve-2026-5223/&quot;&gt;Security Advisory for Cargo (CVE-2026-5223)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/25/cve-2026-5222/&quot;&gt;Security Advisory for Cargo (CVE-2026-5222)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/18/project-goals-2026-04/&quot;&gt;Project goals update — April 2026 (end of 2025H2)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id&#x3D;&quot;rust-foundation-posts&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-foundation-posts&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Foundation posts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/help-fund-the-people-who-build-rust/&quot;&gt;Help Fund the People Who Build Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/congratulations-walter-pearce-openssf-ambassador/&quot;&gt;Congratulations, Walter Pearce: OpenSSF Ambassador!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/rust-foundation-and-package-registry-leaders-unite-to-address-open-source-sustainability-crisis/&quot;&gt;Rust Foundation and Package Registry Leaders Unite to Address Open Source Sustainability Crisis&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;stats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#stats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Stats&lt;/h2&gt;
&lt;p&gt;Total words of meeting minutes written: 593.9k (June 2025–May 2026)&lt;/p&gt;
&lt;p&gt;Meetings attended: 23&lt;/p&gt;
&lt;p&gt;Total words of meeting minutes written (May): 42.6k&lt;/p&gt;
&lt;p&gt;Average (mean) word count per team meeting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cargo: 1.6k&lt;/li&gt;
&lt;li&gt;Lang triage: 3.5k&lt;/li&gt;
&lt;li&gt;Libs-API: 4.8k&lt;/li&gt;
&lt;li&gt;Leadership Council: 2.6k&lt;/li&gt;
&lt;/ul&gt;
</content>

        <author>
            <name>Tomáš Šedovič and Nurzhan Saken</name>
        </author>
    </entry>
    <entry>
        <title>How Josh helps Rust manage code across multiple repositories</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/06/04/how-josh-helps-rust-manage-code-across-multiple-repositories/" type="text/html" title="How Josh helps Rust manage code across multiple repositories" />
        <published>2026-06-04T00:00:00+00:00</published>
        <updated>2026-06-04T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/06/04/how-josh-helps-rust-manage-code-across-multiple-repositories/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/06/04/how-josh-helps-rust-manage-code-across-multiple-repositories/">&lt;p&gt;The Rust Project develops and maintains several developer tools, such as Cargo, Clippy, rustfmt, Rust Analyzer and Miri. These tools are developed in separate git repositories, which enables customizing their issue and pull request (PR) management, Continuous Integration (CI) workflows and development processes based on the needs of the specific teams that maintain them. However, these tools also need to be somehow integrated within the main &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust&quot;&gt;&lt;code&gt;rust-lang/rust&lt;/code&gt;&lt;/a&gt; repository, primarily for the following two reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The CI of this central repo is responsible for distributing the Rustup components containing these tools, which we then ship to Rust programmers.&lt;/li&gt;
&lt;li&gt;When we make a breaking change to the (unstable) internal compiler API, on which some of these tools depend, we sometimes need to fix them in the same pull request, to ensure that they keep working on the &lt;code&gt;nightly&lt;/code&gt; toolchain.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This means that we have to deal with the classical problem of managing development of code
across several repositories that depend on one another. This post covers our experience and some problems that we encountered with this cross-repository code sharing and describes how we leverage an awesome git tool called &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/josh-project/josh&quot;&gt;Josh&lt;/a&gt; (Just One Single History), which helps us overcome these challenges.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;problem-statement&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#problem-statement&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Problem statement&lt;/h2&gt;
&lt;p&gt;First, let us define more concretely what is the problem that we are trying to solve. We have one &quot;parent&quot; repository (in our case &lt;code&gt;rust-lang/rust&lt;/code&gt;), which has a set of dependencies, which we will call &quot;subprojects&quot; (e.g. &lt;code&gt;rust-lang/miri&lt;/code&gt; or &lt;code&gt;rust-lang/rust-analyzer&lt;/code&gt;). The parent and the subprojects are developed independently. The parent must have access to a specific snapshot of the subproject&#x27;s source code. Periodically, the subproject&#x27;s code in the parent repo should be updated to a newer version. And ideally, the parent should be able to atomically change both its and the subproject&#x27;s source code.&lt;/p&gt;
&lt;p&gt;There are several traditional ways of attempting to solve this issue, which did not fully work for us for various reasons.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;monorepo&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#monorepo&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Monorepo&lt;/h2&gt;
&lt;p&gt;If both the parent and the subprojects all live inside the same repository (a &quot;monorepo&quot;), then the desired properties described above are trivially satisfied. The parent always sees the latest version of each subproject, and it is possible to atomically change both the parent and the subproject inside a single pull request. While this approach has many benefits, and &lt;code&gt;rust-lang/rust&lt;/code&gt; &lt;em&gt;is&lt;/em&gt; conceptually a monorepo (it contains the source code of the compiler, the standard library, rustdoc and many other things), it also causes some friction. The compiler repo is quite large, which can be scary for new contributors, and it has quite slow and complex CI. Its development processes are also mostly tuned to the Compiler team&#x27;s needs, but our developer tools are maintained by other teams that use different review or issue tracking practices.&lt;/p&gt;
&lt;p&gt;Keeping some subprojects (such as Miri or Rust Analyzer) in their own repositories thus makes their CI faster, enables them to be deployed separately from the main Rust toolchain, and simplifies onboarding of new maintainers, who can more easily obtain scoped permissions to merge PRs only for the given subproject, and not &quot;all of Rust&quot;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;git-submodules&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#git-submodules&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
git submodules&lt;/h2&gt;
&lt;p&gt;Perhaps the most straightforward way of including a git repository in another one is to use git submodules. We currently use submodules for &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/blob/4530eac197dfc6975c23d5d01e85e44bf7f18d69/.gitmodules&quot;&gt;some&lt;/a&gt; dependencies, such as Cargo and LLVM. Their benefit is that they are easy to set up, you simply point a directory to a specific commit SHA of an external repository, and that&#x27;s it. Unfortunately, that is where most of its advantages end.&lt;/p&gt;
&lt;p&gt;In practice, submodules can be quite annoying to work with. Developers have to properly checkout the submodules using e.g. &lt;code&gt;git clone --recursive&lt;/code&gt; or &lt;code&gt;git submodule update&lt;/code&gt;, otherwise they can remain empty or contain the wrong commit. It is in fact a relatively common mistake for someone to accidentally commit and push an unrelated submodule change to their pull request branch, because git sometimes keeps submodules in a &quot;dirty&quot; state when switching branches. We had to build custom logic to checkout specific submodules to the correct commit when building a given Rust artifact in our build tooling (&lt;code&gt;bootstrap&lt;/code&gt;) to alleviate this, but it is not perfect.&lt;/p&gt;
&lt;p&gt;Another big disadvantage of submodules is that they do not allow atomically modifying the subproject and the parent in a single PR, because the submodule is fundamentally only a link to a repository. When we make (an internal) breaking change in &lt;code&gt;rust-lang/rust&lt;/code&gt;, we would thus have to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Merge the &lt;code&gt;rust-lang/rust&lt;/code&gt; PR with the breaking change&lt;/li&gt;
&lt;li&gt;Update the subproject in a separate subproject PR&lt;/li&gt;
&lt;li&gt;Merge another &lt;code&gt;rust-lang/rust&lt;/code&gt; PR which updates its submodule to point to the new subproject commit created in step 2.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is a lot of additional busywork, which makes it harder to land changes that affect both the parent and the subproject. Sometimes it is near impossible to make such a change without at least temporarily breaking the CI of one of those two repositories, or producing a &lt;code&gt;nightly&lt;/code&gt; release where the tool would stop working.
We used such a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang-nursery.github.io/rust-toolstate/&quot;&gt;system&lt;/a&gt; for Clippy, Miri and a few other tools in the past, and both the user and developer experience was extremely poor.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;git-subtrees&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#git-subtrees&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
git subtrees&lt;/h2&gt;
&lt;p&gt;Since submodules are not a great fit for tools that are deeply integrated with the compiler (such as Miri or Rust Analyzer), we historically used git subtrees for them instead. A git subtree essentially integrates the whole repo of the subproject into the parent, which then directly contains all of its source code and its whole git history, rather than just a link (as with submodules). It is thus possible to change both the parent and the subproject&#x27;s code in a single pull request, to e.g. fix the subproject tests after something changes in the compiler, which is very useful.&lt;/p&gt;
&lt;p&gt;The price that has to be paid to enable this workflow is that we need to periodically perform bidirectional syncs between the parent and each subproject that is embedded as a subtree.
There are two kinds of syncs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;code&gt;pull&lt;/code&gt; operation ports any changes made to the subproject in the parent repo back into the repository of the subproject.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;push&lt;/code&gt; operation updates the subproject&#x27;s source code in the parent based on the latest commit of the subproject repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Performing a sync means that someone has to run a script to do a pull or a push, resolve any merge conflicts or test failures that may arise, and submit a PR to the corresponding repository.&lt;/p&gt;
&lt;p&gt;This workflow conceptually worked pretty well for us, but we had a severe problem with the implementation of git subtree: it is &lt;em&gt;painfully&lt;/em&gt; slow.
The official upstream version is entirely unusable for a repo of our size.
There exists a patch that was never merged upstream that made git subtree fast enough for Clippy and a few other tools. However, on Miri, likely due to its complex history that involves moving a large chunk of code from Miri to rustc in a history-preserving way many years ago, git subtree became entirely unusable: even after many hours of waiting, the sync would simply not finish.&lt;/p&gt;
&lt;p&gt;Apart from performance, we also encountered some other issues with subtrees, such as git blame not working properly or commits being duplicated when the subproject is changed in the parent repository.&lt;/p&gt;
&lt;p&gt;git subtree has served us well for many years, but we have outgrown what it can handle.
Luckily, we found an alternative that is much faster and avoids the other problems.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;josh-comes-to-the-rescue&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#josh-comes-to-the-rescue&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Josh comes to the rescue&lt;/h2&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/josh-project/josh&quot;&gt;Josh&lt;/a&gt; is a tool written in Rust that implements sophisticated and performant filtering operations on git repositories. It provides a set of reversible git &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://josh-project.github.io/josh/reference/filters.html&quot;&gt;algebraic filters&lt;/a&gt; that allow manipulating the history of git repos, which enables several cool use-cases. For example, it offers a git proxy that can transparently split a repository into a set of subrepositories on demand, rearrange, exclude or extract the git history of specific directories or linearize the history of a repository that uses merge commits. We mostly simply use it as a very fast &quot;git subtree on steroids&quot;. In fact, our Josh workflow is very similar to the way we use git subtrees, with the biggest difference being that the sync operations are an order of magnitude faster and the resulting history is (mostly) cleaner.&lt;/p&gt;
&lt;p&gt;To make our subproject handling even easier, we built a small Rust tool on top of Josh, called &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/josh-sync&quot;&gt;josh-sync&lt;/a&gt;. This tool provides a lightweight interface on top of the powerful Josh engine, which allows us to unify the way we handle &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust-analyzer/pull/22389&quot;&gt;pulls&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/pull/156437&quot;&gt;pushes&lt;/a&gt; across all our subprojects that use Josh. We even prepared a reusable GitHub Actions &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/josh-sync/blob/main/.github/workflows/rustc-pull.yml&quot;&gt;workflow&lt;/a&gt; that is used in several subproject repositories to periodically perform the &lt;code&gt;pull&lt;/code&gt; operation, open a PR directly from CI, and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/269128-miri/topic/Miri.20Build.20Failure.20.282026-05.29&quot;&gt;let us know&lt;/a&gt; on Zulip if the sync cannot be performed without manual intervention.&lt;/p&gt;
&lt;p&gt;We currently use Josh to handle subtree synchronization for &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/miri&quot;&gt;Miri&lt;/a&gt;, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust-analyzer&quot;&gt;Rust Analyzer&lt;/a&gt;, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/compiler-builtins&quot;&gt;compiler-builtins&lt;/a&gt;, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/stdarch&quot;&gt;stdarch&lt;/a&gt; and the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustc-dev-guide&quot;&gt;Rust Compiler Development Guide&lt;/a&gt;. While there are still a few subprojects that use git subtrees (e.g. Clippy), our plan is to eventually migrate all these remaining subprojects from git subtree to Josh, and improve our tooling to make the bidirectional sync even easier and faster for the maintainers of our developer tools.&lt;/p&gt;
&lt;p&gt;We started using Josh a few years ago, and we are very happy that something like it exists; otherwise we would probably have to build it ourselves to deal with the scale of our repositories. Thankfully, Josh&#x27;s maintainers, especially &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/christian-schilling&quot;&gt;Christian Schilling&lt;/a&gt;, are very cooperative, and they are continuously improving Josh to meet our (sometimes quite challenging) needs.&lt;/p&gt;
&lt;p&gt;For instance, the main downside of Josh that we ran into is that a &quot;pull&quot; sync creates a huge amount of merge commits in the subproject. In response to that, the Josh developers improved the logic for avoiding trivial merges, and they are currently helping us with the non-trivial migration to these better filters.
Conversely, over the years, our use-cases helped uncover several edge-cases in Josh, and they often serve as a stress test for its performance.&lt;/p&gt;
&lt;p&gt;So, with that being said, we would like to thank the Josh maintainers for enabling us to scale our complex development workflows! If scaling git repos and workflows sounds interesting to you, then check out &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/josh-project/josh&quot;&gt;Josh&lt;/a&gt; to see if it might also help your versioning use-cases.&lt;/p&gt;
</content>

        <author>
            <name>Jakub Beránek, Ralf Jung</name>
        </author>
    </entry>
    <entry>
        <title>Maintainer spotlight: Tiffany Pek Yuan (@tiif)</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/06/03/maintainer-spotlight-tiffany-pek-yuan-tiif/" type="text/html" title="Maintainer spotlight: Tiffany Pek Yuan (@tiif)" />
        <published>2026-06-03T00:00:00+00:00</published>
        <updated>2026-06-03T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/06/03/maintainer-spotlight-tiffany-pek-yuan-tiif/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/06/03/maintainer-spotlight-tiffany-pek-yuan-tiif/">&lt;p&gt;There are &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.org/governance/people&quot;&gt;hundreds&lt;/a&gt; of people who &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/01/12/what-is-maintenance-anyway/&quot;&gt;maintain&lt;/a&gt; the Rust toolchain, often on a volunteer basis on top of another job. The Rust &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.org/governance/teams/launching-pad/#team-content&quot;&gt;Content team&lt;/a&gt; is working on a series of blog posts highlighting some of these prolific contributors to recognize the awesome work that they are doing in order to make Rust better for everyone. This post is the first one in the series.&lt;/p&gt;
&lt;hr style&#x3D;&quot;height: 1px; background-color: black;&quot; /&gt;
&lt;aside style&#x3D;&quot;float: right; clear: both; margin-left: 10px;&quot;&gt;
  &lt;img alt&#x3D;&quot;A photo of Tiffany Pek Yuan&quot; src&#x3D;&quot;tiif.jpg&quot; width&#x3D;&quot;200&quot; style&#x3D;&quot;width: 12em; border: 1px solid white;&quot; /&gt;
&lt;/aside&gt;
&lt;p&gt;In this post, we would like to introduce &lt;strong&gt;Tiffany Pek Yuan&lt;/strong&gt; (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/tiif/&quot;&gt;@tiif&lt;/a&gt;). Tiffany started contributing to Rust only two years ago, as a Google Summer of Code &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2024/11/07/gsoc-2024-results/#tokio-async-support-in-miri&quot;&gt;(GSoC) contributor&lt;/a&gt;. Since then, she already became a member of the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.org/governance/teams/compiler/#team-compiler&quot;&gt;Compiler&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.org/governance/teams/compiler/#team-formality&quot;&gt;Formality&lt;/a&gt; teams, and made substantial contributions to several projects, including the compiler, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/miri&quot;&gt;Miri&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/a-mir-formality&quot;&gt;a-mir-formality&lt;/a&gt;. She also transitioned from being a mentee to a mentor, as she now mentors another contributor in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/04/outreachy-2026-may/#fuzzing-the-a-mir-formality-type-system-implementation&quot;&gt;Outreachy&lt;/a&gt; program.&lt;/p&gt;
&lt;p&gt;Currently, she is finishing her college degree while also working on the Rust compiler as a Rust maintainer intern in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustnl.org/maintainers&quot;&gt;RustNL Maintainers Team&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I got to know Tiffany as a GSoC student adding miri support for checking unsafe code in tokio. It was a joy to mentor her, and subsequently seeing her sticking around and learning about formality and rustc on her own.&lt;/p&gt;
&lt;p&gt;Oli Scherer, Rust compiler team member and Tiffany&#x27;s GSoC mentor&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We interviewed Tiffany to find out about her experiences with joining the Rust Project and contributing to Rust. Read more below!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can you briefly introduce yourself?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hi, my name is Tiffany Pek. I&#x27;m currently studying a Bachelor&#x27;s degree in computer science at the National University of Singapore. I should hopefully graduate in a few months! I contributed to various parts of Rust, right now I am focusing on a new trait solver bug fix that is related to implied bounds and modeling the borrow checker&#x27;s semantics in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/a-mir-formality&quot;&gt;a-mir-formality&lt;/a&gt; project, which attempts to define a model of the type system.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How did you start with Rust? Did you learn it in one of your classes, or was it a hobby?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I did eventually attend a subject on Rust, but I already learnt it before that by myself. I heard about Rust around 2022, because I was searching for a systems programming language. I tried it for a research project and I really liked it. I tried a lot of programming languages before that, such as Java, Python or C++. They weren&#x27;t bad, but Rust seemed much more enjoyable. What fascinated me about it were its really nice error messages.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How did you get involved with the Rust Project?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I remember telling my friend in college that it would be &lt;em&gt;so cool&lt;/em&gt; to contribute to the Rust Project. Then, just a month later, I learned about Rust&#x27;s &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2024/02/21/Rust-participates-in-GSoC-2024/&quot;&gt;involvement&lt;/a&gt; in Google Summer of Code (GSoC), and I immediately thought &quot;I must join this program&quot;! We all knew about GSoC at our university, but not many people tried to apply to it for some reason. I applied to GSoC and got accepted.&lt;/p&gt;
&lt;p&gt;I think I would eventually contribute to Rust even without GSoC, but this internship gave me an opportunity to work on Rust almost full-time, without having to care about getting another job. That was very helpful.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How was your experience with GSoC?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think it went really well! The experience was really enjoyable, because there were several other interns working on other projects at the same time. And all of us were kind of &quot;newbies&quot;, so I wasn&#x27;t the only person struggling with something. For example, when I messed up rebasing one of my pull requests, I saw that the same thing happened to another GSoC contributor, so I was like &quot;oh yeah, we are the same!&quot; and I didn&#x27;t feel so bad about it. Also, Oli is a very nice mentor too, I had a lot of fun talking with them.&lt;/p&gt;
&lt;p&gt;Jakub is also a really good organizer, which makes the program a huge success. I was really impressed by &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/421156-gsoc/topic/GSoC.202024.20participants/near/439416607&quot;&gt;how we already discussed burnout&lt;/a&gt; even before the internship started.&lt;/p&gt;
&lt;p&gt;Overall, it was a great onboarding experience, and it motivated me to stay as I really love the community.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What was your GSoC project about?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I worked on &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/miri&quot;&gt;Miri&lt;/a&gt;, which is the undefined behavior detection tool for Rust. At that time, it wasn&#x27;t really possible to run Miri on non-trivial asynchronous Rust programs that used the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://tokio.rs/&quot;&gt;tokio&lt;/a&gt; crate. I &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2024/11/07/gsoc-2024-results/#tokio-async-support-in-miri&quot;&gt;added&lt;/a&gt; support for various non-blocking I/O syscalls (such as &lt;code&gt;epoll&lt;/code&gt;) to it, in order to expand the set of programs that Miri can handle. We then worked with Tokio maintainers to run Miri on most Tokio tests in their CI, which was quite exciting.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What was your first contribution?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I added two &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/miri/pull/3398&quot;&gt;tests&lt;/a&gt; to Miri. While doing so, I found out that the contribution documentation contained some unclear instructions, so I also improved it in the same PR.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Would you recommend that approach for new contributors?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes, I think that improving documentation is a good way to start contributing to Rust. It is also important to first locate areas that you are interested in, because the Rust Project is huge, there is Miri, the compiler, rustfmt, rustdoc, rust-analyzer, Cargo, and many other areas in need of contributions. Before making larger changes, it is always good to discuss them first with the corresponding maintainers before you open a PR.&lt;/p&gt;
&lt;p&gt;If you are just starting with Rust, always read the error messages, because they are really nice. And if you find the error message difficult to understand, it might be a bug, so go open an issue!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What made you stay with Rust even after GSoC?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I stick around because of the community. During GSoC, I started talking to other Rust GSoC contributors. I ended up meeting two of them and other Rust Project members at a conference in Beijing. Subsequently, I made many amazing friends at the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2024/09/02/all-hands&quot;&gt;Rust All Hands&lt;/a&gt;, which makes Rust no longer a purely technical project, but also a hobby project me and a lot of my friends love and care about.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How did you join the Compiler team?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I started contributing to Rust in March 2024. I worked mostly on Miri during my GSoC project, but later I transitioned to working on the compiler. I was invited to join the Compiler team in November 2025. I didn&#x27;t expect the invitation at all, so it surprised me.&lt;/p&gt;
&lt;p&gt;At that point, I already interacted with the Rust community a lot, so it didn&#x27;t feel like a large change to join the team, but getting officially recognized does feel really nice. I also think that being a Rust team member might help me with searching for a job.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Are you happy that you joined the Rust Project?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I am very happy about it! The people in the Project are really nice, and we frequently talk with one another, which is great.&lt;/p&gt;
&lt;p&gt;I was able to attend the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustweek.org&quot;&gt;RustWeek&lt;/a&gt; conference and the Rust All Hands in 2025 and 2026, which was super nice. I&#x27;m grateful for the travel grant that I got from the Rust Project and Foundation, which allowed me to travel to these events. I made so many friends there, which is part of the reason why I am still staying with the Rust Project. All my Rust friends were there!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What excites you about working on the Rust compiler?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I find the compiler really exciting! It is like a mysterious black-box. If you do not know about how it works, it can seem scary, but once you start learning about it, it is actually quite neat to work with.&lt;/p&gt;
&lt;p&gt;I find the new trait solver and Polonius work (the new borrow checking implementation) very exciting because they are the very core part of the language. Once the new trait solver is completed, we will be able to unblock a lot of features and fix many unsoundness bugs. And Polonius will allow the compiler to accept many correct programs that were previously rejected, which can make the language even more expressive.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is it like to work in the compiler team, which is large and very visible?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The compiler team is so big&lt;sup class&#x3D;&quot;footnote-reference&quot; id&#x3D;&quot;fr-compiler-team-size-1&quot;&gt;&lt;a href&#x3D;&quot;#fn-compiler-team-size&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; simply because the codebase is very large, so everyone specializes in different parts of the compiler. I mostly only review parts of the compiler that I am familiar with. I never know what is going on in another part of the compiler, as there are just so many things happening every day.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is your biggest mentor in the Project?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is multiple people, not just a single one. Initially it was definitely &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/oli-obk&quot;&gt;oli&lt;/a&gt;, because he was my GSoC mentor, and we talked (and still talk) quite a lot. Later I started working on type system stuff, where I help &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/lcnr&quot;&gt;lcnr&lt;/a&gt; with the new trait solver. I also talk a lot with &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/boxyuwu&quot;&gt;Boxy&lt;/a&gt;, who is now a co-lead of the compiler team.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Did you also try mentoring someone?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I try to leave easy improvements to other people, by opening issues for them that contain contribution instructions, and then try to answer questions from potential contributors on those issues. Recently I also started mentoring a contributor in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/04/outreachy-2026-may/#fuzzing-the-a-mir-formality-type-system-implementation&quot;&gt;Outreachy&lt;/a&gt; program, which is exciting.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Would you like to change something in the Rust Project?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I know a lot of people who could produce awesome stuff if they had the opportunity to work on Rust full-time. But without funding, they have to work on and off, which is not very productive for them, and also bad for knowledge transfer. I wish more Rust contributors were funded.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Were you able to find funding for your own Rust contributions?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When I started contributing to Rust, I was funded by the GSoC program, which was nice. Later I joined an internship program at ETH Zurich, which also provided a source of funding. During those times, I was quite productive. But similar funding sources are usually only temporary. I am still a student, so I have to deal with my academic life, and I also need an extra job to support myself, which can be a bit difficult.&lt;/p&gt;
&lt;p&gt;Finding a remote job can be tricky, because I live in Singapore, and the time zone difference is not that great. If I&#x27;m going to schedule a meeting with someone in the US, I usually have to do it at night. Luckily I don&#x27;t go to sleep that early :-) But it can be an issue when interacting with people and companies from Europe or the US.&lt;/p&gt;
&lt;p&gt;I hope to finish my studies soon, and after that I will have to get a full-time job. I think that I would still want to contribute to Rust even in that scenario, but I&#x27;m not sure yet how to do that. Maybe I would need to sacrifice my weekends a little bit, or something like that. It can be a bit difficult, but it is not impossible.&lt;/p&gt;
&lt;p&gt;Right now, I have an internship in the RustNL Maintainers Team. It will be awesome if I can find a full-time job which allows me to work on Rust as I really love what I am doing now.&lt;/p&gt;
&lt;p&gt;I think the upcoming funding efforts, such as the RustNL Maintainers Team and the Rust Foundation Maintainers Fund, will be able to financially support more Rust Project contributors. Though I am slightly worried about the incentives of companies funding maintenance work. Company interests are not always necessarily the same as the community&#x27;s interests, which can create a bit of a conflict of interest. But I&#x27;m sure that there are ways to mitigate this.&lt;/p&gt;
&lt;hr style&#x3D;&quot;height: 1px; background-color: black;&quot; /&gt;
&lt;p&gt;We thank Tiffany for sharing her thoughts with us, and for all her work on improving Rust!&lt;/p&gt;
&lt;section class&#x3D;&quot;footnotes&quot;&gt;
&lt;ol class&#x3D;&quot;footnotes-list&quot;&gt;
&lt;li id&#x3D;&quot;fn-compiler-team-size&quot;&gt;
&lt;p&gt;Currently, it has over 70 &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.org/governance/teams/compiler/#team-compiler&quot;&gt;members&lt;/a&gt;. &lt;a href&#x3D;&quot;#fr-compiler-team-size-1&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content>

        <author>
            <name>Jakub Beránek, Lori Lorusso</name>
        </author>
    </entry>
    <entry>
        <title>1.96.0 pre-release testing</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/05/26/1.96.0-prerelease/" type="text/html" title="1.96.0 pre-release testing" />
        <published>2026-05-26T00:00:00+00:00</published>
        <updated>2026-05-26T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/05/26/1.96.0-prerelease/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/05/26/1.96.0-prerelease/">&lt;p&gt;The 1.96.0 pre-release is ready for testing. The release is scheduled for
May 28. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://dev-doc.rust-lang.org/1.96.0/releases.html&quot;&gt;Release notes can be found here.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can try it out locally by running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-code&quot;&gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;RUSTUP_DIST_SERVER&#x3D;https://dev-static.rust-lang.org rustup update stable&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The index is &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://dev-static.rust-lang.org/dist/2026-05-26/index.html&quot;&gt;https://dev-static.rust-lang.org/dist/2026-05-26/index.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can leave feedback on the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://internals.rust-lang.org/t/rust-1-96-0-pre-release-testing/24357&quot;&gt;internals thread&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The release team is also thinking about changes to our pre-release process:
we&#x27;d love your feedback &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/release-team/issues/16&quot;&gt;on this GitHub issue&lt;/a&gt;.&lt;/p&gt;
</content>

        <author>
            <name>Release automation</name>
        </author>
    </entry>
    <entry>
        <title>Program management update — April 2026</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/05/13/program-management-update--april-2026/" type="text/html" title="Program management update — April 2026" />
        <published>2026-05-13T00:00:00+00:00</published>
        <updated>2026-05-13T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/05/13/program-management-update--april-2026/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/05/13/program-management-update--april-2026/">&lt;p&gt;Greetings! This was a busy month. The Project goals RFC has been accepted, and we&#x27;re officially in the 2026 goals period. At the time of writing, RustWeek is exactly one week away. Time flies!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;program-management-schedule&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#program-management-schedule&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Program management schedule&lt;/h2&gt;
&lt;p&gt;Nurzhan and Tomáš have settled on our meeting schedule. Roughly speaking, we&#x27;re taking turns attending each meeting, and we&#x27;ve set it up to reduce the number of back-to-back meetings and long evenings. We&#x27;re also getting some call-free Fridays, which is always nice.&lt;/p&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://calendar.google.com/calendar/u/0?cid&#x3D;N2RmMTJiZjc2YTFlZjU5MWNlYTQ4MmJjNDMxODEzYzcxZDg1MDViMTFhODk1NjQ1MzUxNjQ5ZTkwZWQ2NzUwNUBncm91cC5jYWxlbmRhci5nb29nbGUuY29t&quot;&gt;The calendar is publicly accessible&lt;/a&gt; and we keep it up to date.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;the-2026-rustweek-all-hands&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#the-2026-rustweek-all-hands&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
The 2026 RustWeek / All Hands&lt;/h2&gt;
&lt;p&gt;In the week of 18th May, Utrecht will briefly become a city with the highest per-capita Rustacean concentration. Just like last year, it will host the co-located RustWeek and Rust All Hands conferences!&lt;/p&gt;
&lt;p&gt;The pre-registration and workshops will start on Monday, with the actual RustWeek conference on Tuesday and Wednesday, followed by three days of the All Hands.&lt;/p&gt;
&lt;p&gt;Have a look at the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://2026.rustweek.org/speakers/&quot;&gt;speakers&lt;/a&gt;, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://2026.rustweek.org/overview/&quot;&gt;schedule&lt;/a&gt;, check out the website for more information, and if you plan to go, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://event.onliveevent.nl/rustweek-2026&quot;&gt;don&#x27;t forget to buy a ticket&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The two of us plan to be there. Feel free to say hi!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;project-goals&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#project-goals&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Project goals&lt;/h2&gt;
&lt;p&gt;The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rfcs/3935-Project-Goals-2026.html&quot;&gt;2026 Project goals RFC has been accepted&lt;/a&gt;! This happened about a month later than we planned. We&#x27;ll keep that in mind for next year, and as most of the Project goals team members are going to be at the All Hands, we plan to do a retrospective there.&lt;/p&gt;
&lt;p&gt;All the new tracking issues have been created, and the continuing ones have been updated too. Any goals that weren&#x27;t renewed for 2026 are now closed.&lt;/p&gt;
&lt;p&gt;If you&#x27;re a point of contact on a goal, you will start getting bot messages reminding you to post an update on the tracking issue. These reminders happen roughly twice a month and won&#x27;t trigger for you if you&#x27;ve already posted an update recently.&lt;/p&gt;
&lt;p&gt;Now that the RFC is merged, we&#x27;ll publish one last 2025h2 Project goals update blog post. Then (possibly kicking things off at the All Hands again), we&#x27;ll plan how we&#x27;ll be doing updates going forward. People brought up several issues with the current way the posts are formatted, the information they show, and whether they&#x27;re useful at all.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;outreachy&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#outreachy&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Outreachy&lt;/h2&gt;
&lt;p&gt;Throughout April, the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.outreachy.org/&quot;&gt;Outreachy&lt;/a&gt; internship applicants were getting set up and started sending their contributions. A few days ago, the organizers selected four interns.&lt;/p&gt;
&lt;p&gt;These are the projects our interns signed up for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Calling overloaded C++ functions from Rust.&lt;/li&gt;
&lt;li&gt;Code coverage of the Rust compiler at scale.&lt;/li&gt;
&lt;li&gt;Fuzzing the a-mir-formality type system implementation.&lt;/li&gt;
&lt;li&gt;Improve the security of GitHub Actions of the Rust Project.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can read more about the projects and Outreachy in general in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/04/outreachy-2026-may/&quot;&gt;Jack Huey&#x27;s blog post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The interns will work on these projects over the next three months. Congratulations to the selected interns and huge thanks to Jack, the mentors, and everyone else who participated &amp;lt;3.&lt;/p&gt;
&lt;p&gt;Exciting times ahead!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;c-interop-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#c-interop-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
C++ interop update&lt;/h2&gt;
&lt;p&gt;In February 2026, the Foundation hired teor to speed up the mapping of the interop problem space, and their work continues apace.&lt;/p&gt;
&lt;p&gt;teor has been posting monthly updates on the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust-project-goals/issues/388#issuecomment-3970777014&quot;&gt;C++ interop Project goal tracker&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/427678-t-lang.2Finterop/topic/Interop.20Problem.20Space.20Mapping.20-.20Weekly.20Updates/with/574868164&quot;&gt;weekly ones on Zulip&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We now have around &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rustfoundation/interop-initiative/issues&quot;&gt;30 interop problem statements and use cases&lt;/a&gt; listed in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rustfoundation/interop-initiative&quot;&gt;the interop-initiative repo&lt;/a&gt;. If you&#x27;re at all interested in this, do check it out. The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rustfoundation/interop-initiative/tree/main/problem-space&quot;&gt;problem statements&lt;/a&gt; are really well-described, include example code, and link to prior art.&lt;/p&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rustfoundation/interop-initiative/blob/main/problem-space/0002-string-interop.md&quot;&gt;Here is a string interop example&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As part of the contribution round, the Outreachy applicants provided executable code samples, e.g., &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rustfoundation/interop-initiative/tree/main/examples/cpp-overloading&quot;&gt;calling overloaded C++ functions from Rust&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;teor also started a lang experiment to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/issues/153629&quot;&gt;implement the &lt;code&gt;splat&lt;/code&gt; feature&lt;/a&gt;. This will provide a way to define function overloading and variable arguments in Rust. The initial focus is to improve interoperability with C++, which does allow both.&lt;/p&gt;
&lt;p&gt;In addition to this work showing direct impact, Joel Marcey published an &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/rust-foundation-interop-initiative-update-from-research-to-implementation/&quot;&gt;update on the Rust Foundation Interop Initiative&lt;/a&gt;. The post goes over the initiative&#x27;s accomplishments. These include working with ISO WG21 (the committee responsible for C++ standardization). There seems to be a strong consensus for providing memory safety mechanisms to C++, but this will take multiple years.&lt;/p&gt;
&lt;p&gt;So the Foundation is now focusing more on the immediate needs of projects with large C++ codebases who want to (or already started to) adopt Rust. This is where all the work teor&#x27;s been doing comes in.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;content-team&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#content-team&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Content team&lt;/h2&gt;
&lt;p&gt;The last few months have been difficult for the team to dedicate time to producing useful content for everyone. We&#x27;ve published a couple of interviews (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.youtube.com/watch?v&#x3D;rgjTPBRae6I&quot;&gt;Daniel Almeida on a Rust GPU driver in Linux&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.youtube.com/watch?v&#x3D;wzDESESJH8A&quot;&gt;Tyler Mandry on C++/Rust interop&lt;/a&gt;), and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://youtu.be/NZlmaIgkUQ8?si&#x3D;EN4q-DALc9ZYna-p&quot;&gt;a Rust 1.95 changelog overview&lt;/a&gt;, but we have a backlog of another nine recordings in the pipeline.&lt;/p&gt;
&lt;p&gt;A lot of the folks will also be at the All Hands, and we&#x27;re planning to do more interviews there.&lt;/p&gt;
&lt;p&gt;What became clear is that the volunteering contribution model that works for code, documentation, etc., is less successful when it comes to things like recording and editing video. We&#x27;re able to do this (as demonstrated by what we already put out), but the time commitment is really high compared to what a professional could do, even at the lowest level of effort.&lt;/p&gt;
&lt;p&gt;To that end, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/279&quot;&gt;TC proposed a 2026 funding request to the Council&lt;/a&gt;. In it, we asked for $15,000 USD to hire an editor who would process our existing backlog as well as videographers for the events where we&#x27;ll conduct the bulk of our upcoming interviews (All Hands and RustConf).&lt;/p&gt;
&lt;p&gt;The Council has approved this request, and we&#x27;re now in talks with people we might hire.&lt;/p&gt;
&lt;p&gt;This would let us focus on utilizing our knowledge and connections to interview great people and share their thoughts with the rest of the community.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;rust-for-linux&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-for-linux&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust for Linux&lt;/h2&gt;
&lt;p&gt;A lot of the Rust for Linux folks will attend RustWeek and/or the All Hands. The Rust Project also extended an invitation to the kernel developers, and some of them will be there too.&lt;/p&gt;
&lt;p&gt;The project will hold a few sessions at the All Hands: &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/all-hands-2026/issues/17&quot;&gt;In-place Initialization&lt;/a&gt;, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/all-hands-2026/issues/16&quot;&gt;Field Projections&lt;/a&gt;, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/all-hands-2026/issues/9&quot;&gt;CoccinelleForRust&lt;/a&gt;, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/all-hands-2026/issues/10&quot;&gt;Compiling Rust to BPF&lt;/a&gt;, and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/all-hands-2026/issues/18&quot;&gt;office hours&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We continued having our regular fortnightly meetings; here&#x27;s what we discussed in April:&lt;/p&gt;
&lt;h3 id&#x3D;&quot;zerocopy-features-in-std&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#zerocopy-features-in-std&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
zerocopy features in std&lt;/h3&gt;
&lt;p&gt;Given the plan to include &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/google/zerocopy&quot;&gt;zerocopy&lt;/a&gt; in Linux, the team brought up the possibility of stabilizing a few unstable pieces of the standard library that zerocopy ends up re-implementing.&lt;/p&gt;
&lt;p&gt;These are &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://doc.rust-lang.org/nightly/std/intrinsics/fn.ptr_metadata.html&quot;&gt;&lt;code&gt;ptr_metadata&lt;/code&gt;&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://doc.rust-lang.org/nightly/std/marker/trait.Freeze.html&quot;&gt;&lt;code&gt;Freeze&lt;/code&gt;&lt;/a&gt;. Having these in would &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/issues/81513#issuecomment-2414679019&quot;&gt;help with the zerocopy maintenance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3633&quot;&gt;&lt;code&gt;Freeze&lt;/code&gt; now has an open RFC as &lt;code&gt;core::marker::NoCell&lt;/code&gt;&lt;/a&gt;, while &lt;code&gt;ptr_metadata&lt;/code&gt; is blocked on &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/issues/144404&quot;&gt;Sized Hierarchy&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;null-ptr-deref&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#null-ptr-deref&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
null-ptr-deref&lt;/h3&gt;
&lt;p&gt;The team would like to have an (optional) guarantee that the compiler will never remove null checks on raw pointers. In C, dereferencing a null pointer is undefined behavior, so the compiler may optimize away subsequent null checks against that pointer. However, the null check can still serve as a safeguard against other bugs, and in C, the kernel now disables the optimization that would remove it.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;edition-migration-tooling&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#edition-migration-tooling&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Edition migration tooling&lt;/h3&gt;
&lt;p&gt;The team wants to move to the new edition, as it would fix some existing bugs and provide nicer language and library APIs. However, they&#x27;re concerned about situations where the same code has different semantics in different editions.&lt;/p&gt;
&lt;p&gt;Making semantic changes is something that the language explicitly allows, and while we provide tooling to migrate or at least highlight these cases to prevent breakages, this tooling cannot guarantee catching 100% of the issues.&lt;/p&gt;
&lt;p&gt;A challenge with the current approach is that when the kernel migrates to a new edition, the previous releases will stay on older editions (potentially more than one), and these situations can be really easy to miss when backporting a change. Anything that changes the drop order (e.g., the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html&quot;&gt;&lt;code&gt;if let&lt;/code&gt; temporary scope change&lt;/a&gt; in the 2024 edition) could result in undefined behavior (UB).&lt;/p&gt;
&lt;p&gt;Miguel Ojeda brought this up to check on what guarantees the language and tooling make. They&#x27;re looking for a way to flag cases where the same code has different semantics with a zero false negative rate (i.e., it will not let something slip by).&lt;/p&gt;
&lt;p&gt;TC explained that the current migration tooling (edition lints and &lt;code&gt;cargo fix&lt;/code&gt;) is not set up to make this a guarantee, although we try to get as close as possible and put a lot of effort into migration testing.&lt;/p&gt;
&lt;p&gt;Benno Lossin suggested writing tooling that would compile the code being evaluated under both editions and compare the MIR output. If they&#x27;re identical, no semantic changes occurred. Otherwise, there may or may not be changes. This risks generating false positives, but at least the reviewers can be confident that nothing has been silently accepted. This seems feasible and might be something the Project would be interested in adopting and maintaining, but there&#x27;s no bandwidth to do this within the edition team.&lt;/p&gt;
&lt;p&gt;Interestingly, the edition migration itself isn&#x27;t an issue—the Rust for Linux team pays attention to the edition migration guide and checks things. The main issue is with backports, which are semi-automatic. If a patch is flagged for a backport and it applies cleanly, there&#x27;s little human supervision involved. When the backport patch (coming from a newer edition) uses new features, compilation fails on the older edition, flagging people to pay attention. However, when the code looks identical in both editions but behaves differently, we may run into issues.&lt;/p&gt;
&lt;p&gt;In the end, several options were proposed, each with its own trade-offs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stay on an edition until all the stable branches move to a MSRV (minimal supported Rust version) that allows migrating to a new edition wholesale.&lt;/li&gt;
&lt;li&gt;Develop an outside tool that would compile the code in both editions and check whether they produce the same MIR.&lt;/li&gt;
&lt;li&gt;Develop review processes for backporting patches on the kernel side to handle these cases.&lt;/li&gt;
&lt;li&gt;Develop processes and tooling within the kernel for writing all code such that it always falls within the intersection between all editions supported on all branches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is a topic we will almost certainly come back to.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;project-director-election-process-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#project-director-election-process-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Project Director election process update&lt;/h2&gt;
&lt;p&gt;In autumn 2025, Tomáš facilitated the Project Director election. A part of the facilitator role is to publish a retrospective, clarify the documentation, and propose changes to the election process (if relevant).&lt;/p&gt;
&lt;p&gt;This is the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://hackmd.io/4SgDbeQ9Sd2KlknfT85X0Q&quot;&gt;2025 PD election retrospective&lt;/a&gt;. The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/286&quot;&gt;PR that clarifies the election processes is here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;worth-a-look&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#worth-a-look&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Worth a look&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;rust-foundation-posts&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-foundation-posts&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Foundation posts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/guest-post-announcing-the-2026-rust-edu-refresh-and-cfp/&quot;&gt;Announcing the 2026 Rust-Edu Refresh and CFP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/project-director-update-march-2026/&quot;&gt;Project Director Update — March 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/welcoming-symposium-to-the-rust-innovation-lab/&quot;&gt;Welcoming Symposium to the Rust Innovation Lab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/rustconf-2026-speakers-announced-registration-open/&quot;&gt;RustConf 2026: Speakers Announced, Registration Open&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Tomáš, one of our PMs, is among the speakers, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustconf2026.sched.com/event/2KHsg&quot;&gt;sharing the progress on the Rust in CPython initiative&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/rust-foundation-interop-initiative-update-from-research-to-implementation/&quot;&gt;Rust Foundation Interop Initiative Update: From Research to Implementation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/rust-foundation-and-package-registry-leaders-unite-to-address-open-source-sustainability-crisis/&quot;&gt;Rust Foundation and Package Registry Leaders Unite to Address Open Source Sustainability Crisis&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id&#x3D;&quot;rust-project-updates&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-project-updates&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Project updates&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/05/01/nvptx-baseline-update/&quot;&gt;Raising the baseline for the &lt;code&gt;nvptx64-nvidia-cuda&lt;/code&gt; target&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/04/30/gsoc-2026-selected-projects/&quot;&gt;Announcing Google Summer of Code 2026 selected projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/04/16/Rust-1.95.0/&quot;&gt;Announcing Rust 1.95.0&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://youtu.be/NZlmaIgkUQ8?si&#x3D;EN4q-DALc9ZYna-p&quot;&gt;Check out the accompanying Release Changelog video produced by the Content Team&lt;/a&gt; (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/122651-general/topic/Rust.20Release.20Changelog.20-.201.2E95.2E0.20-.20Video.20by.20Content.20Team/with/586298114&quot;&gt;zulip&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/04/04/docsrs-only-default-targets/&quot;&gt;docs.rs: building fewer targets by default&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/04/04/changes-to-webassembly-targets-and-handling-undefined-symbols/&quot;&gt;Changes to WebAssembly targets and handling undefined symbols&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Warning: this will introduce a small breaking change to WebAssembly targets&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/04/17/crates-io-svelte-public-testing/&quot;&gt;crates.io: Help test our new web frontend&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;crates.io has its frontend rebuilt using Svelte 5. You can test it here: https://crates.io/svelte/&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/04/14/infrastructure-team-q1-recap-and-q2-plan/&quot;&gt;Infrastructure Team 2026 Q1 Recap and Q2 Plan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;stats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#stats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Stats&lt;/h2&gt;
&lt;p&gt;Total words of meeting minutes written: 551.3k (June 2025–April 2026)&lt;/p&gt;
&lt;p&gt;Meetings attended: 45&lt;/p&gt;
&lt;p&gt;Total words of meeting minutes written (April): 80.8k&lt;/p&gt;
&lt;p&gt;Average (mean) word count per team meeting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cargo: 1.9k&lt;/li&gt;
&lt;li&gt;Lang triage: 3.1k&lt;/li&gt;
&lt;li&gt;Libs-API: 4.7k&lt;/li&gt;
&lt;li&gt;Leadership Council: 2.4k&lt;/li&gt;
&lt;/ul&gt;
</content>

        <author>
            <name>Tomáš Šedovič and Nurzhan Saken</name>
        </author>
    </entry>
    <entry>
        <title>March 2026 Project Director Update</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/05/04/project-director-update/" type="text/html" title="March 2026 Project Director Update" />
        <published>2026-05-04T00:00:00+00:00</published>
        <updated>2026-05-04T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/05/04/project-director-update/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/05/04/project-director-update/">&lt;p&gt;This post covers the Rust Foundation board meeting that happened on March 10, 2026. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/resource/march-2026-board-meeting/&quot;&gt;Read the full March minutes on the Foundation&#x27;s site&lt;/a&gt;. Highlights include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sid Askary of Futurewei joined to discuss a proposal to create an AI-focused research initiative within the Rust Foundation. He shared an early draft and took questions from the board. The board will revisit the proposal in future meetings as it develops.&lt;/li&gt;
&lt;li&gt;The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/symposium-dev&quot;&gt;Symposium&lt;/a&gt; project applied to join the RIL, and the board voted to accept the application. The board also took the opportunity to recommend that some of the discussion topics be turned into a blog post clarifying some aspects of what sorts of projects would be excellent candidates for the RIL, and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/whats-next-for-the-rust-innovation-lab/&quot;&gt;the staff has now done so&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;The board discussed some early ideas the Foundation staff have had regarding ways to make the operation of crates.io more sustainable, in line with &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://openssf.org/blog/2025/09/23/open-infrastructure-is-not-free-a-joint-statement-on-sustainable-stewardship/&quot;&gt;the OpenSSF statement the Rust Foundation signed on to in Sept 2025&lt;/a&gt;. No final decisions about what to implement were made, and the staff will be continuing to discuss and refine the ideas with relevant parts of the Rust Project in the coming months.&lt;/li&gt;
&lt;li&gt;The board discussed ways to include Gold members in the board meetings while there aren&#x27;t sufficient numbers to warrant a voting seat.&lt;/li&gt;
&lt;li&gt;The board discussed some early ideas on how a Rust Ecosystem Fund could work to make it easier for companies to support the important crates they use. No decisions were made aside from agreeing that this is a topic worthwhile of further investigation by the Foundation staff.&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://processingfoundation.org/&quot;&gt;The Processing Foundation&lt;/a&gt; was approved as an associate member of the Foundation.&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/rust-foundation-interop-initiative-update-from-research-to-implementation/&quot;&gt;Teor joined the C++ Interop Initiative as a contractor&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/canonical-joins-the-rust-foundation-as-a-gold-member/&quot;&gt;Canonical joined as a Gold member&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;The Rust Foundation joined the DataDog Open Source Program, giving us a observability platform to monitor and act on infrastructure events.&lt;/li&gt;
&lt;li&gt;The security and infrastructure team have been working to address typosquating attacks on crates.io, alongside help from the crates.io team, security response and secure code working groups.&lt;/li&gt;
&lt;li&gt;The interop initiative has &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust-project-goals/issues/388#issuecomment-3970777014&quot;&gt;been identifying high-priority use cases&lt;/a&gt; to focus attention on.&lt;/li&gt;
&lt;li&gt;A re-brand of the RustConf website for the 2026 conference has been completed (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustconf.com&quot;&gt;and since launched&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
</content>

        <author>
            <name>Carol Nichols and David Wood</name>
        </author>
    </entry>
    <entry>
        <title>crates.io: Help test our new web frontend</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/04/17/crates-io-svelte-public-testing/" type="text/html" title="crates.io: Help test our new web frontend" />
        <published>2026-04-17T00:00:00+00:00</published>
        <updated>2026-04-17T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/04/17/crates-io-svelte-public-testing/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/04/17/crates-io-svelte-public-testing/">&lt;p&gt;We have been porting the crates.io frontend from Ember.js to Svelte 5 (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/crates.io/issues/12515&quot;&gt;tracking issue&lt;/a&gt;), and the new Svelte app is now &lt;strong&gt;ready for public testing at &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://crates.io/svelte/&quot;&gt;https://crates.io/svelte/&lt;/a&gt;&lt;/strong&gt;. We&#x27;d love your help trying it out before we make it the default.&lt;/p&gt;
&lt;p&gt;The Svelte app is intended as a 1:1 port of the Ember.js app for now. It should look and behave the same (our UI test suite, including visual regression testing, already passes against both), so any significant difference you notice is a bug we want to hear about. To keep the two apps easy to compare, a few rough edges of the Ember.js app have been carried over as well. Those will get smoothed out once we are no longer maintaining two frontends in parallel.&lt;/p&gt;
&lt;p&gt;Both apps are served from the same domain and share session state and data, so you can just visit &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://crates.io/svelte/&quot;&gt;https://crates.io/svelte/&lt;/a&gt; and keep using the site normally without logging in again. If something looks or behaves differently than on the Ember.js app, please let us know, either via &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/crates.io/issues/new?template&#x3D;bug_report.yml&quot;&gt;GitHub&lt;/a&gt; or on Zulip (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/318791-t-crates-io&quot;&gt;#t-crates-io&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;If testing goes well, we&#x27;ll switch the Svelte app to the default in the coming weeks, and we&#x27;re looking forward to what we can build on top of it from there.&lt;/p&gt;
&lt;p&gt;We want to thank the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://emberjs.com/teams/&quot;&gt;Ember.js team&lt;/a&gt; for a framework that served crates.io well for many years, and the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://svelte.dev&quot;&gt;Svelte team&lt;/a&gt; for making the transition to something new so enjoyable. A big thank you also to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/eth3lbert&quot;&gt;@eth3lbert&lt;/a&gt; from the crates.io team for reviewing the bulk of the migration pull requests.&lt;/p&gt;
</content>

        <author>
            <name>Tobias Bieniek</name>
        </author>
    </entry>
    <entry>
        <title>Infrastructure Team 2026 Q1 Recap and Q2 Plan</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/04/14/infrastructure-team-q1-recap-and-q2-plan/" type="text/html" title="Infrastructure Team 2026 Q1 Recap and Q2 Plan" />
        <published>2026-04-14T00:00:00+00:00</published>
        <updated>2026-04-14T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/04/14/infrastructure-team-q1-recap-and-q2-plan/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/04/14/infrastructure-team-q1-recap-and-q2-plan/">&lt;p&gt;Here&#x27;s what the Infrastructure Team delivered in Q1 2026 and what we&#x27;re focusing on in Q2.&lt;/p&gt;
&lt;p&gt;You can find the previous blog post of this series &lt;a href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/01/13/infrastructure-team-q4-2025-recap-and-q1-2026-plan/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;q1-accomplishments&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#q1-accomplishments&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Q1 Accomplishments&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;move-to-github-rulesets&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#move-to-github-rulesets&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Move to GitHub Rulesets&lt;/h3&gt;
&lt;p&gt;We started migrating from branch protection rules to
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets&quot;&gt;GitHub Rulesets&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rulesets are the new way in which GitHub suggests protecting branches and tags.
They allow more configurability with respect to classic branch protections, and
they are the only way in which you can setup new functionalities such as merge queues
via API.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We converted all repositories, except for
the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust&quot;&gt;&lt;code&gt;rust&lt;/code&gt;&lt;/a&gt; repository. We are &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/pull/2327&quot;&gt;working on it&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;As part of this effort, we also made all the branch protection and ruleset options we use
configurable via the &lt;code&gt;team&lt;/code&gt; repository, so that they can be managed as Infrastructure as Code (IaC).&lt;/p&gt;
&lt;p&gt;Here are the newly available configuration options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/blob/d12b9d821a4494aa16c8666e5d6131d96873dd17/docs/toml-schema.md?plain&#x3D;1#L460&quot;&gt;&lt;code&gt;allowed-merge-apps&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/blob/d12b9d821a4494aa16c8666e5d6131d96873dd17/docs/toml-schema.md?plain&#x3D;1#L462&quot;&gt;&lt;code&gt;merge-queue&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/blob/d12b9d821a4494aa16c8666e5d6131d96873dd17/docs/toml-schema.md?plain&#x3D;1#L487&quot;&gt;&lt;code&gt;prevent-deletion&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/blob/d12b9d821a4494aa16c8666e5d6131d96873dd17/docs/toml-schema.md?plain&#x3D;1#L490&quot;&gt;&lt;code&gt;prevent-force-push&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/blob/d12b9d821a4494aa16c8666e5d6131d96873dd17/docs/toml-schema.md?plain&#x3D;1#L433&quot;&gt;&lt;code&gt;require-conversation-resolution&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/blob/d12b9d821a4494aa16c8666e5d6131d96873dd17/docs/toml-schema.md?plain&#x3D;1#L438&quot;&gt;&lt;code&gt;require-linear-history&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details, see the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/issues/2356&quot;&gt;GitHub issue&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;improved-ci-security&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#improved-ci-security&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Improved CI security&lt;/h3&gt;
&lt;p&gt;We always try to improve our security posture. Here are the most relevant examples for this quarter:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team&quot;&gt;&lt;code&gt;team&lt;/code&gt;&lt;/a&gt; repository, we enabled &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://docs.renovatebot.com/&quot;&gt;Renovate&lt;/a&gt;, a bot
that automatically creates pull requests to keep GitHub Actions and Rust
dependencies up to date.
This makes it easier for us to keep our dependencies up to date and fix security issues in a timely manner.&lt;/li&gt;
&lt;li&gt;In the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/compiler-builtins&quot;&gt;&lt;code&gt;compiler-builtins&lt;/code&gt;&lt;/a&gt; CI, we
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/compiler-builtins/pull/1114&quot;&gt;enabled Renovate&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/compiler-builtins/pull/1113&quot;&gt;resolved&lt;/a&gt; the security issues reported by &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://zizmor.sh&quot;&gt;&lt;code&gt;zizmor&lt;/code&gt;&lt;/a&gt; in preparation for running the RISC-V self-hosted runner in CI in a more secure way.&lt;/li&gt;
&lt;li&gt;We released &lt;code&gt;crates-io-auth-action&lt;/code&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/crates-io-auth-action/releases/tag/v1.0.4&quot;&gt;v1.0.4&lt;/a&gt;, updating its dependencies and moving it from Node 20 to Node 24 after GitHub announced the deprecation of Node 20 on Actions runners.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id&#x3D;&quot;two-new-dev-desktops&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#two-new-dev-desktops&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Two new dev desktops&lt;/h3&gt;
&lt;p&gt;We provisioned two new dev desktops: &lt;code&gt;dev-desktop-us-2.infra.rust-lang.org&lt;/code&gt; and &lt;code&gt;dev-desktop-eu-2.infra.rust-lang.org&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;We also enabled IPv6 access for dev desktops, making them easier to reach from more network environments.
See the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/simpleinfra/issues/186&quot;&gt;GitHub issue&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Learn more in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://forge.rust-lang.org/infra/docs/dev-desktop.html&quot;&gt;Forge docs&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;bigger-docs-rs-instance&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#bigger-docs-rs-instance&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Bigger docs.rs instance&lt;/h3&gt;
&lt;p&gt;We are experiencing an unprecedented increase in crates published on &lt;code&gt;crates.io&lt;/code&gt;,
which is putting a lot of pressure on the &lt;code&gt;docs.rs&lt;/code&gt; infrastructure, which has to build
the documentation for more crates than before.&lt;/p&gt;
&lt;p&gt;To keep up with this growth, we upgraded the &lt;code&gt;docs.rs&lt;/code&gt; instance to a more powerful one, doubling
the available RAM and CPU cores.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;improved-access-controls-for-rust-infrastructure-with-saml-sso&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#improved-access-controls-for-rust-infrastructure-with-saml-sso&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Improved access controls for Rust infrastructure with SAML SSO&lt;/h3&gt;
&lt;p&gt;We introduced Google SSO as part of Rust infrastructure offerings.
We enabled Google Workspace accounts for the infrastructure team and validated the SAML setup for some of the key infrastructure providers, like Datadog and Fastly.&lt;/p&gt;
&lt;p&gt;More on that in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/infra-team/issues/64&quot;&gt;GitHub issue&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;triagebot-enhancements&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#triagebot-enhancements&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Triagebot enhancements&lt;/h3&gt;
&lt;p&gt;Triagebot is our trusty bot incessantly processing workflows on GitHub and on our Zulip chat.&lt;/p&gt;
&lt;p&gt;We implemented several notable changes in Q1 2026.&lt;/p&gt;
&lt;h4 id&#x3D;&quot;github-issue-comments-viewer&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#github-issue-comments-viewer&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
GitHub issue comments viewer&lt;/h4&gt;
&lt;p&gt;We&#x27;ve added to Triagebot a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2251&quot;&gt;GitHub issues and PRs viewer&lt;/a&gt;. It&#x27;s primarily designed for long issues and PRs where GitHub is unhelpful with its &quot;Load More&quot; button.&lt;/p&gt;
&lt;p&gt;It can be accessed via the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2278&quot;&gt;&lt;code&gt;View all comments&lt;/code&gt; link&lt;/a&gt; at the top of long issues and PRs.&lt;/p&gt;
&lt;p&gt;Example for &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://triage.rust-lang.org/gh-comments/rust-lang/triagebot/issues/2251&quot;&gt;triagebot#2251&lt;/a&gt;:&lt;/p&gt;
&lt;img alt&#x3D;&quot;TriageBot example&quot; src&#x3D;&quot;triagebot-example.png&quot; /&gt;
&lt;p&gt;And while it started rather small in its ambitions, it evolved quite a bit over the last quarter with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a self-contained &quot;Export&quot; button (implemented in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2274&quot;&gt;#2274&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;a table of contents for review threads (implemented in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2360&quot;&gt;#2360&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;expand/collapse thread buttons (implemented in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2355&quot;&gt;#2355&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;and other small improvements&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id&#x3D;&quot;organization-wide-default-configuration&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#organization-wide-default-configuration&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Organization-wide default configuration&lt;/h4&gt;
&lt;p&gt;Triagebot has many features and configurations, and while it&#x27;s not difficult to enable a feature in a repo (the cost of a PR), it doesn&#x27;t scale to the size of the rust-lang organization and its &amp;gt;200 repositories.&lt;/p&gt;
&lt;p&gt;In order to address the uneven availability of features across all the repositories, we&#x27;ve &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2292&quot;&gt;added support for organization-wide default configuration&lt;/a&gt; in the Triagebot codebase and started enabling some features org-wide.&lt;/p&gt;
&lt;p&gt;Announcements of soon-to-be-enabled org-wide features are done in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/533458-t-infra.2Fannouncements/topic/Triagebot.20Organization-Wide.20Defaults/with/579425485&quot;&gt;#&lt;strong&gt;t-infra/announcements&amp;gt;Triagebot Organization-Wide Defaults&lt;/strong&gt;&lt;/a&gt; on Zulip.&lt;/p&gt;
&lt;h4 id&#x3D;&quot;user-info-command&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#user-info-command&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
&lt;code&gt;user-info&lt;/code&gt; command&lt;/h4&gt;
&lt;p&gt;This new Zulip command first appeared as &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2271&quot;&gt;the &lt;code&gt;comments&lt;/code&gt; command&lt;/a&gt; for viewing recent user comments, but &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2317&quot;&gt;was extended&lt;/a&gt; into a more general &lt;code&gt;user-info&lt;/code&gt; command, which shows recent activity (PRs, repositories) and account creation date for the given GitHub user account.&lt;/p&gt;
&lt;p&gt;This is part of our efforts to help reviewers and maintainers with sloppy AI-generated PRs.&lt;/p&gt;
&lt;h4 id&#x3D;&quot;per-team-rotation-mode&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#per-team-rotation-mode&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Per-team rotation mode&lt;/h4&gt;
&lt;p&gt;Triagebot handles the automatic assignment of reviewers in multiple repositories. Until February, it was not possible to set per-team rotation mode.&lt;/p&gt;
&lt;p&gt;This is now possible via the Zulip command &lt;code&gt;work set-team-rotation-mode &amp;lt;team&amp;gt; off/on&lt;/code&gt;, implemented in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2273&quot;&gt;#2273&lt;/a&gt; by &lt;code&gt;@Kobzol&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id&#x3D;&quot;per-repository-review-preferences&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#per-repository-review-preferences&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Per-repository review preferences&lt;/h4&gt;
&lt;p&gt;Continuing with the theme of reviewer assignments, it was previously only possible to set a review preference for &lt;code&gt;rust-lang/rust&lt;/code&gt;, despite the multiple repositories handled by Triagebot.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;@Kobzol&lt;/code&gt; fixed that in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2286&quot;&gt;#2286&lt;/a&gt;. It is now possible to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://forge.rust-lang.org/triagebot/review-queue-tracking.html#usage&quot;&gt;set per-repository review preferences&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id&#x3D;&quot;report-banned-users-to-moderator-stream-on-zulip&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#report-banned-users-to-moderator-stream-on-zulip&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Report banned users to moderator stream on Zulip&lt;/h4&gt;
&lt;p&gt;As part of supporting different team needs, we&#x27;ve implemented an automatic reporting system on Zulip for banned users in our GitHub organization (implemented in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2269&quot;&gt;#2269&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The goal of this feature is to relieve moderators from taking screenshots and manually archiving offending comments and user actions by automatically retrieving that information and posting it in the moderators’ Zulip channel.&lt;/p&gt;
&lt;h4 id&#x3D;&quot;clippy-s-zulip-lint-nomination-topic&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#clippy-s-zulip-lint-nomination-topic&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Clippy&#x27;s Zulip lint nomination topic&lt;/h4&gt;
&lt;p&gt;Similar to the previous topic, we&#x27;ve also helped &lt;strong&gt;T-clippy&lt;/strong&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust-clippy/pull/16614&quot;&gt;set up an automatic FCP topic on Zulip&lt;/a&gt; when they want to nominate a lint for discussion.&lt;/p&gt;
&lt;p&gt;As part of this work, we have also &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/triagebot/pull/2334&quot;&gt;added the ability to add back a comment on GitHub&lt;/a&gt; with the link to the created Zulip topic.&lt;/p&gt;
&lt;h4 id&#x3D;&quot;new-zulip-commands-to-handle-backports-and-assign-priority-to-issues&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#new-zulip-commands-to-handle-backports-and-assign-priority-to-issues&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
New Zulip commands to handle backports and assign priority to issues&lt;/h4&gt;
&lt;p&gt;Project members can now use two new Zulip commands to apply labels on rust-lang/rust issues and pull requests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;backport [stable | beta ] [approve | decline ] &amp;lt;pr #&amp;gt;&lt;/code&gt;: to accept or decline for backport a patch fixing a regression&lt;/li&gt;
&lt;li&gt;&lt;code&gt;assign-prio &amp;lt;issue #&amp;gt; [ critical | high | medium | low | &amp;lt;empty&amp;gt;]&lt;/code&gt;: to assign a priority label to an issue (admittedly mostly used by the Compiler Team but it&#x27;s available to everyone)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details, see the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://forge.rust-lang.org/triagebot/zulip-commands.html#stream-commands&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;q2-plans&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#q2-plans&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Q2 Plans&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;finish-q1-goals&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#finish-q1-goals&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Finish Q1 goals&lt;/h3&gt;
&lt;p&gt;In Q1, we didn&#x27;t manage to finish all our goals, so we will continue working on them in Q2:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;docs.rs infrastructure modernization:&lt;/strong&gt; Although we made some improvements to docs.rs in Q1,
such as using GitHub OIDC for publishing container images to AWS ECR,
we still want to move from the single EC2 instance to a modern, managed deployment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;External hardware CI policy:&lt;/strong&gt; Publish requirements for running Rust CI on external hardware.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Move to GitHub Rulesets:&lt;/strong&gt; Migrate the &lt;code&gt;rust&lt;/code&gt; repository to GitHub Rulesets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SAML SSO:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Enable provisioning Google Workspace accounts from the &lt;code&gt;team&lt;/code&gt; repository.&lt;/li&gt;
&lt;li&gt;Onboard all users that require infrastructure access and add the SAML setup for other service providers, like AWS.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id&#x3D;&quot;improve-ci-security-and-developer-experience&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#improve-ci-security-and-developer-experience&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Improve CI security and developer experience&lt;/h3&gt;
&lt;p&gt;We want to keep making the CI of the Rust Project both safer and easier to work with.&lt;/p&gt;
&lt;p&gt;We have many ideas and we&#x27;re not sure which ones we will prioritize yet, but here are some examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make it easier for Rust Project members to adopt tools like Renovate to keep their dependencies up to date and secure.&lt;/li&gt;
&lt;li&gt;Check CVEs of our dependencies.&lt;/li&gt;
&lt;li&gt;Add more static analysis tools such as &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://zizmor.sh&quot;&gt;&lt;code&gt;zizmor&lt;/code&gt;&lt;/a&gt; to secure more CI workflows.&lt;/li&gt;
&lt;li&gt;Improve our CI observability by creating dashboards around metrics such as CI jobs duration and failure rate.
Since the Rust Foundation &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/rust-foundation-joins-datadogs-open-source-program/&quot;&gt;joined&lt;/a&gt;
Datadog’s Open Source Program, we plan to use Datadog for this task.&lt;/li&gt;
&lt;li&gt;Improve visibility of the test coverage of the CI jobs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id&#x3D;&quot;hardware-security-keys-for-critical-infrastructure-access&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#hardware-security-keys-for-critical-infrastructure-access&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Hardware security keys for critical infrastructure access&lt;/h3&gt;
&lt;p&gt;We want to secure access to critical Rust infrastructure even further by using hardware security keys. The Rust Foundation partnered with &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.yubico.com/why-yubico/secure-it-forward/&quot;&gt;Yubico&lt;/a&gt;, and we want to provide YubiKeys
to the Rust teams with access to critical infrastructure.&lt;/p&gt;
&lt;p&gt;Our plan is to distribute hardware keys in May, during the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://2026.rustweek.org/#week-schedule&quot;&gt;Rust All Hands&lt;/a&gt;.
See the related &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/infra-team/issues/245&quot;&gt;GitHub issue&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;join-us&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#join-us&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Join us!&lt;/h2&gt;
&lt;p&gt;If you&#x27;re interested in contributing to Rust&#x27;s infrastructure, have a look at the
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/infra-team&quot;&gt;infra-team&lt;/a&gt; repository to learn more about us
and reach out on &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra&quot;&gt;Zulip&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We are always looking for new contributors!&lt;/p&gt;
</content>

        <author>
            <name>Marco Ieni</name>
        </author>
    </entry>
    <entry>
        <title>Program management update — March 2026</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/04/09/program-management-update-2026-03/" type="text/html" title="Program management update — March 2026" />
        <published>2026-04-09T00:00:00+00:00</published>
        <updated>2026-04-09T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/04/09/program-management-update-2026-03/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/04/09/program-management-update-2026-03/">&lt;p&gt;Greetings and happy spring to you if you live in a place that&#x27;s getting spring now!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;team-meetings&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#team-meetings&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Team meetings&lt;/h2&gt;
&lt;p&gt;After his onboarding, Nurzhan is able (and comfortable) to attend team meetings alone. That lets us split the load evenly while keeping the same PM coverage. We can cover for absences, but overall, our personal meeting strain has dropped by half.&lt;/p&gt;
&lt;p&gt;This is great! As wonderful as it is to be in the room where things are being decided, help people out, and record the discussions for posterity, it is draining work — especially on days with 6–7 hours of back-to-back meetings.&lt;/p&gt;
&lt;p&gt;We&#x27;re still experimenting with the schedule, but we&#x27;ve made a conscious choice not to specialize. We both participate in each team&#x27;s discussion and get to know people, and have them get to know us. That makes it easier to share our knowledge and context, as well as being able to step in when the other one can&#x27;t make it.&lt;/p&gt;
&lt;p&gt;We&#x27;re both, of course, talking regularly, reading notes from the meetings we didn&#x27;t attend, and if there&#x27;s anything that needs to be tracked or handed over from one meeting to the next, we do that.&lt;/p&gt;
&lt;p&gt;This frees us up to do more of all the other work!&lt;/p&gt;
&lt;p&gt;On the topic of meetings, two changes happened. First, &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/346005-t-style/topic/Meeting.202026-03-31/near/582686622&quot;&gt;Josh Triplett proposed to temporarily pause the Style team meetings&lt;/a&gt;. For the last few months (and sporadically for much longer than that), only two Style team members were participating.&lt;/p&gt;
&lt;p&gt;The team needs more members (as does rustfmt) and ideally a rustfmt liaison in the meeting. We are looking for options, but for the time being, urgent issues can be handled asynchronously.&lt;/p&gt;
&lt;p&gt;The other bit of news is that the two Libs-API meetings have merged into one. We used to have one session for items (issues, PRs, etc.) nominated to the team, and a separate one to go through the open &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://std-dev-guide.rust-lang.org/development/feature-lifecycle.html&quot;&gt;API Change Proposals (ACPs)&lt;/a&gt;. These both happened on Tuesdays with an hour in between.&lt;/p&gt;
&lt;p&gt;But the boundary between them wasn&#x27;t particularly strong (if we cleared the nominated backlog, we started looking at ACPs in the first meeting), and the people generally wanted to just continue.&lt;/p&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/calendar/pull/114&quot;&gt;And now they can!&lt;/a&gt; The two meetings merged, which lets everyone keep going and finish an hour earlier as well. Or more if the discussion is particularly draining.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;program-management-board&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#program-management-board&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Program management board&lt;/h2&gt;
&lt;p&gt;We have now populated the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/orgs/rust-lang/projects/69/views/2&quot;&gt;Rust program management board&lt;/a&gt; so you can see what we&#x27;re up to.&lt;/p&gt;
&lt;p&gt;This lets us track and coordinate work better, as well as making it more transparent.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;project-goals&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#project-goals&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Project goals&lt;/h2&gt;
&lt;p&gt;The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3935&quot;&gt;2026 Project goals RFC&lt;/a&gt; is now open! This is the culmination of the work the Goals team has done in the last few months.&lt;/p&gt;
&lt;p&gt;You can take a look, and if you have any questions, drop by the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/546987-project-goals.2F2026-workshop&quot;&gt;project-goals/2026-workshop&lt;/a&gt; channel.&lt;/p&gt;
&lt;p&gt;And if you are a team lead, please review the RFC and either raise a concern or tick your box!&lt;/p&gt;
&lt;p&gt;We&#x27;re also getting to the end of the 2025 H2 goal period. We have one final update in the works (that we&#x27;d like to publish once the 2026 RFC is merged), and then it&#x27;s full speed ahead for 2026.&lt;/p&gt;
&lt;p&gt;A good number of the 2025 goals will continue into the 2026 period, and for these, not much will change. We&#x27;ll reuse the tracking issues, Zulip channels, and everything else.&lt;/p&gt;
&lt;p&gt;The new goals will have a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust-project-goals/issues?q&#x3D;is%3Aissue%20state%3Aopen%20label%3AC-tracking-issue&quot;&gt;tracking issue created&lt;/a&gt;. Any goal updates should go there, and they&#x27;ll be automatically posted to the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/435869-project-goals&quot;&gt;corresponding Zulip channel&lt;/a&gt;, where we can have a discussion.&lt;/p&gt;
&lt;p&gt;Twice a month, we&#x27;re also sending reminders to post an update (if there is a recent update already, the reminder will not be sent).&lt;/p&gt;
&lt;h2 id&#x3D;&quot;fls-release-notes&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#fls-release-notes&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
FLS Release Notes&lt;/h2&gt;
&lt;p&gt;The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/fls/&quot;&gt;FLS&lt;/a&gt; is a specification of Rust for use in safety-critical environments such as cars, originally developed by &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://ferrous-systems.com/&quot;&gt;Ferrous Systems&lt;/a&gt;. It was donated to the Rust Project and is now maintained by the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/fls-team&quot;&gt;FLS team&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As part of their &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/stabilize-fls-releases.html&quot;&gt;Stabilize FLS releases&lt;/a&gt; goal, they plan to release a new version of the FLS six weeks after any given release of Rust is shipped.&lt;/p&gt;
&lt;p&gt;Until now, they&#x27;ve been playing catch-up by waiting for a release and then going through the release notes, looking for any changes that need to be reflected in the document (specifically, language changes). They would like to begin earlier, but they need a list of issues getting into a given release before the notes are all typed up.&lt;/p&gt;
&lt;p&gt;So Pete LeVasseur &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/241545-t-release/topic/meeting.202026-03-27/with/582221788&quot;&gt;reached out to the Release team&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/241545-t-release/topic/t-fls.20would.20like.20to.20help.20you.20.28and.20help.20ourselves.29.20with.20notes/with/583905135&quot;&gt;agreed to try participating in the initial triage process&lt;/a&gt; for release issues. That way, they&#x27;ll understand the process better, help out, and get the issue list they need early!&lt;/p&gt;
&lt;p&gt;This is a good reminder that the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://forge.rust-lang.org/release/release-notes.html&quot;&gt;process is completely public&lt;/a&gt;. More contributors are always welcome, and this can also serve as an accessible entry point into more general contribution.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;mirroring-crates-io-and-rust-releases&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#mirroring-crates-io-and-rust-releases&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Mirroring crates.io and Rust releases&lt;/h2&gt;
&lt;p&gt;Early in March, we opened the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/mirroring.html&quot;&gt;Implement Verifiable Mirroring Prototype&lt;/a&gt; project goal. This is a continuation of the previous signing explorations but with a narrower focus. The plan is to provide a mirror for Rust crates and releases to help with high-traffic environments such as GitHub Actions.&lt;/p&gt;
&lt;p&gt;The prototype will let us verify the proposed approaches (such as using &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://theupdateframework.io/&quot;&gt;The Update Framework (TUF)&lt;/a&gt; to validate mirror updates) and key rotation while providing functionality that should help reduce bandwidth usage and cost (with GitHub Actions accessing mirrors hosted on Azure).&lt;/p&gt;
&lt;p&gt;This functionality will be implemented behind unstable feature flags, but if it proves out, we can use it to build more general mirroring support.&lt;/p&gt;
&lt;p&gt;Until the tracking issue for this goal is created, updates will be posted to the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/417663-tbd-signing&quot;&gt;tbd-signing&lt;/a&gt; channel in Zulip.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;rust-foundation-maintainers-fund-rfmf-rfc&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-foundation-maintainers-fund-rfmf-rfc&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Foundation Maintainers fund (RFMF) RFC&lt;/h2&gt;
&lt;p&gt;In December 2025, we &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2025/12/19/program-management-update--end-of-2025/#rust-foundation-maintainer-fund&quot;&gt;mentioned the maintainer fund&lt;/a&gt; and the formation of the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/team/blob/main/teams/rfmf-design-committee.toml&quot;&gt;RFMF Design Committee&lt;/a&gt;. They interviewed several open source organizations that have similar programs in place (Python Software Foundation, Scala Center, Django, and Zig Software Foundation) and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3931&quot;&gt;proposed an RFC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The RFC proposes creating a Maintainer in Residence role:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Maintainer in Residence program is dedicated to hiring long-term maintainers and funding their maintenance work in full. Maintainers&#x27; in Residence time is split between priorities guided by the teams they are supporting and priorities of their own choosing within the Project.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These maintainers are expected to be Project members with good standing in the community, able to do long-term work keeping the Project healthy and evolving.&lt;/p&gt;
&lt;p&gt;It also proposes forming a Funding team, which will select the candidates along with the Leadership Council and ensure the program&#x27;s overall success.&lt;/p&gt;
&lt;p&gt;This is complementary to the proposed &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3919&quot;&gt;Grants program&lt;/a&gt;, which provides financial support for twelve months for people already doing valuable work for the Project. They&#x27;re not being hired or contracted, but we want to recognize their great work and make it easier for them to continue.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;outreachy-internships&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#outreachy-internships&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Outreachy internships&lt;/h2&gt;
&lt;p&gt;The Rust Project is participating in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.outreachy.org/&quot;&gt;Outreachy&lt;/a&gt;! It is a paid open source internship program for people underrepresented in tech.&lt;/p&gt;
&lt;p&gt;The Council has &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/264&quot;&gt;allocated money for three internship slots&lt;/a&gt; for the May–August 2026 internship round.&lt;/p&gt;
&lt;p&gt;We have &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.outreachy.org/communities/cfp/the-rust-project/&quot;&gt;five projects proposed&lt;/a&gt; (adding Rust to an existing C/C++ build system, calling overloaded C++ functions from Rust, code coverage of the Rust compiler at scale, fuzzing the a-mir-formality type system implementation, and improving the security of our GitHub Actions). Right now, we are in the contribution period. This is where the applicants make contributions to the Project, and these contributions will help select the interns.&lt;/p&gt;
&lt;p&gt;Personally, I (Tomas) am extremely happy about this. I love what Outreachy does and stands for. I&#x27;ve known and worked with several people who have participated in the program, and they are all fantastic people and colleagues.&lt;/p&gt;
&lt;p&gt;Huge thanks to Jack Huey for organizing it! And thanks to Niko, Rémy, tiif, teor, Joel Marcey, and Ethan Smith for signing up as mentors and co-mentors!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;rust-for-linux&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-for-linux&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust for Linux&lt;/h2&gt;
&lt;p&gt;Boxy is leading &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/const-generics.html&quot;&gt;const generics&lt;/a&gt; and wanted to know which areas would be most relevant to the Rust for Linux team. There&#x27;s a lot of functionality under the const generics umbrella, and so it&#x27;s important to know what to prioritize.&lt;/p&gt;
&lt;p&gt;This is what the team brought up:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ability to do arithmetic on const generic types&lt;/strong&gt;: e.g., the kernel has a type &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust.docs.kernel.org/next/kernel/num/bounded/struct.Bounded.html&quot;&gt;&lt;code&gt;Bounded&lt;/code&gt;&lt;/a&gt; that has a value and a maximum size (in bits). Both the bit width and value are const values. They want to be able to do arithmetic on these types (starting with bit shifts), which will guarantee that the result fits within the specified size at compile time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Argument-position const generics&lt;/strong&gt;: right now, the const generic types must be specified in the type bound section (within the angle brackets). So, for example, you have to write: &lt;code&gt;Bounded::&amp;lt;u8, 4&amp;gt;::new::&amp;lt;7&amp;gt;()&lt;/code&gt; instead of the more natural &lt;code&gt;Bounded::&amp;lt;u8, 4&amp;gt;::new(7)&lt;/code&gt;. This gets more complicated when there&#x27;s const-time calculation happening rather than just a numerical constant — in which case this also needs to be wrapped in curly brackets: &lt;code&gt;{ ... }&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Being generic over types other than numbers&lt;/strong&gt;: pointers would be useful for &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rfcs/3848-asm-const-ptr.html&quot;&gt;asm_const_ptr&lt;/a&gt;. String literals would be useful, too — even if they&#x27;re just passed through without being processed or operated on. And if going from a passthrough string makes it possible to pass through any type, that would help the team replace some typestate patterns they&#x27;re using with an &lt;code&gt;enum&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In other updates, Gary added an &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://lore.kernel.org/rust-for-linux/20260302164239.284084-1-gary@kernel.org/&quot;&gt;infrastructure to provide pointer projection via a macro&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;dma_read!&lt;/code&gt;/&lt;code&gt;dma_write!&lt;/code&gt; macros switched over to it. Note that this is done entirely via macros and doesn&#x27;t use any Field projections language features. The &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/field-projections.html&quot;&gt;Field projection&lt;/a&gt; syntax and traits should make this more ergonomic and integrate the borrow checker so we can accept more code.&lt;/p&gt;
&lt;p&gt;On that note, the lang team held a design meeting to discuss Field Projections via Virtual Places, the latest proposal from Benno Lossin, Nadrieril, and Tyler Mandry. You can read the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/field-projections.html&quot;&gt;proposal and meeting notes here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finally, as a follow-up on the rustfmt &lt;code&gt;use&lt;/code&gt; discussion, Tomas opened &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustfmt/issues/6829&quot;&gt;an issue&lt;/a&gt; for keeping imports on individual lines the way Rust for Linux needs without having to use the trailing &lt;code&gt;//&lt;/code&gt; workaround.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;rust-for-cpython&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-for-cpython&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust for CPython&lt;/h2&gt;
&lt;p&gt;We had one meeting with the CPython folks in March.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;drop-with-context&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#drop-with-context&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Drop with context&lt;/h3&gt;
&lt;p&gt;Python objects are reference-counted pointers. At any given time, they&#x27;re either attached to the Python interpreter or not. When attached, their reference count can increase or decrease, but they must be detached to make any native calls. These pointers can&#x27;t be &lt;code&gt;Clone&lt;/code&gt; or &lt;code&gt;Drop&lt;/code&gt;, because the trait implementations don&#x27;t know whether they&#x27;re attached to the interpreter state.&lt;/p&gt;
&lt;p&gt;There&#x27;s an open question on how to model this in Rust so that it&#x27;s both safe and ergonomic.&lt;/p&gt;
&lt;p&gt;David Hewitt asked about the &quot;Drop with context&quot; feature, which would require that an associated context (e.g., a pointer to the Python interpreter state) is implicitly passed along to the &lt;code&gt;drop&lt;/code&gt; function.&lt;/p&gt;
&lt;p&gt;This is something the Project has been thinking about (see &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://tmandry.gitlab.io/blog/posts/2021-12-21-context-capabilities/&quot;&gt;Tyler Mandry&#x27;s 2021 post&lt;/a&gt;, the recent &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://nadrieril.github.io/blog/2026/03/22/what-if-traits-carried-values.html&quot;&gt;What If Traits Carried Values post by Nadrieril&lt;/a&gt;, and the related &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/dictionary-passing-style-experiment.html&quot;&gt;2026 Dictionary-passing style goal proposal&lt;/a&gt;). David, Josh Triplett, and Jack Huey plan to keep discussing this on Zulip as well as at the 2026 All Hands.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;sanitizers&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#sanitizers&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Sanitizers&lt;/h3&gt;
&lt;p&gt;CPython runs sanitizers (AddressSanitizer or ASan, MemorySanitizer or MemSan, UndefinedBehaviorSanitizer or UBSan, and ThreadSanitizer or TSan) in CI to provide additional checks of the C code. These are important for Python&#x27;s memory safety.&lt;/p&gt;
&lt;p&gt;Emma Smith wanted to confirm whether LLVM and GCC-based sanitizers can be mixed — and they can&#x27;t. When using Rust, the C portions of the Python interpreter will have to be built using Clang, and those will need to use its own sanitizers. And we need to make sure that these cover the same ground.&lt;/p&gt;
&lt;p&gt;The team also asked about compatibility between LLVM releases given that Rust uses its own LLVM fork. The answer is that while the major versions of LLVM are incompatible, Rust&#x27;s fork and the corresponding upstream version should be compatible. Rust carries backported upstream bugfixes and supports building with stock LLVM.&lt;/p&gt;
&lt;p&gt;There is also ongoing work to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rust-project-goals/2026/stabilization-of-sanitizer-support.html&quot;&gt;stabilize MemorySanitizer and ThreadSanitizer&lt;/a&gt; driven by Rust for Linux.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;future-meetings&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#future-meetings&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Future meetings&lt;/h3&gt;
&lt;p&gt;We haven&#x27;t had any new topics after the beginning of the month, and so we put the meetings on hold for now. When new topics come up, we will talk again, but at this point, there&#x27;s just a lot of work to be done. The Rust and CPython folks do plan to hold a joint session at the 2026 All Hands.&lt;/p&gt;
&lt;p&gt;In the meantime, Emma Smith &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.python.org/2026/04/rust-for-cpython-2026-04/&quot;&gt;posted a progress update from their perspective&lt;/a&gt;. The team has finished the build system work, and it&#x27;s passing the CPython CI. In the coming months, they&#x27;ll plan the internal Rust API design, and after that, write the PEP (Python Enhancement Proposal — similar to our RFCs) targeting Python 3.16.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;worth-a-look&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#worth-a-look&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Worth a look&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;rust-foundation-posts&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-foundation-posts&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Foundation posts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/canonical-joins-the-rust-foundation-as-a-gold-member/&quot;&gt;Canonical Joins the Rust Foundation as a Gold Member&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/whats-next-for-the-rust-innovation-lab/&quot;&gt;What’s Next for the Rust Innovation Lab?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id&#x3D;&quot;rust-project-updates&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-project-updates&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Project updates&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/03/05/Rust-1.94.0/&quot;&gt;Announcing Rust 1.94.0&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/03/26/1.94.1-release/&quot;&gt;1.94.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/03/21/cve-2026-33056/&quot;&gt;Security advisory for Cargo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/04/04/changes-to-webassembly-targets-and-handling-undefined-symbols/&quot;&gt;Changes to WebAssembly targets and handling undefined symbols&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Heads-up for a &lt;strong&gt;breaking&lt;/strong&gt; change for WebAssembly builds&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/04/04/docsrs-only-default-targets/&quot;&gt;docs.rs: building fewer targets by default&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Heads-up for a &lt;strong&gt;breaking&lt;/strong&gt; change docs.rs will make on 2026-05-01&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/03/20/rust-challenges/&quot;&gt;What we heard about Rust&#x27;s challenges&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/&quot;&gt;Announcing rustup 1.29.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/03/02/2025-State-Of-Rust-Survey-results/&quot;&gt;2025 State of Rust Survey Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2026/03/13/call-for-testing-build-dir-layout-v2/&quot;&gt;Call for Testing: Build Dir Layout v2&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Since Cargo 1.91 it&#x27;s possible to separate the location of intermediate build artifacts (build-dir) and final artifacts (target-dir) into separate directories.&lt;/li&gt;
&lt;li&gt;Now, Cargo is changing the layout of &lt;code&gt;build-dir&lt;/code&gt;. The target directory&#x27;s layout is unchanged.&lt;/li&gt;
&lt;li&gt;They&#x27;re asking to test this to help uncover things such as build scripts using it to infer target_dir or executable path.&lt;/li&gt;
&lt;li&gt;Please consider testing this and reporting any issues you encounter.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/03/25/project-director-update/&quot;&gt;January &amp;amp; February 2026 Project Director Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/04/06/leadership-council-update/&quot;&gt;Leadership Council update — March 2026&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Rémy Rakic joined as the compiler team representative&lt;/li&gt;
&lt;li&gt;Josh Triplett joined as the libs team representative&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;stats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#stats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Stats&lt;/h2&gt;
&lt;p&gt;Total words of meeting minutes written: 470.5k (June 2025–March 2026)&lt;/p&gt;
&lt;p&gt;Meetings attended: 35&lt;/p&gt;
&lt;p&gt;Total words of meeting minutes written (March): 73.8k&lt;/p&gt;
&lt;p&gt;Average (mean) word count per team meeting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cargo: 1.9k&lt;/li&gt;
&lt;li&gt;Lang triage: 3.3k&lt;/li&gt;
&lt;li&gt;Libs-API: 4.3k&lt;/li&gt;
&lt;li&gt;Leadership Council: 2.4k&lt;/li&gt;
&lt;/ul&gt;
</content>

        <author>
            <name>Tomas Sedovic and Nurzhan Saken</name>
        </author>
    </entry>
    <entry>
        <title>Leadership Council update — March 2026</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/04/06/leadership-council-update/" type="text/html" title="Leadership Council update — March 2026" />
        <published>2026-04-06T00:00:00+00:00</published>
        <updated>2026-04-06T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/04/06/leadership-council-update/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/04/06/leadership-council-update/">&lt;p&gt;Hello again from the Rust Leadership Council! We wanted to share an update on what the Council has been working on since &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2025/12/10/leadership-council-update/&quot;&gt;our last update&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;accomplishments-so-far&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#accomplishments-so-far&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Accomplishments so far&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;welcome-remy-rakic-and-josh-triplett-to-the-council&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#welcome-remy-rakic-and-josh-triplett-to-the-council&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Welcome Rémy Rakic and Josh Triplett to the Council&lt;/h3&gt;
&lt;p&gt;The March representative selections have completed. There were several changes made to the Council:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/m-ou-se/&quot;&gt;Mara Bos&lt;/a&gt; stepped down as the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org/governance/teams/library&quot;&gt;libs team&lt;/a&gt; representative to switch to be the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://forge.rust-lang.org/governance/council.html#the-launching-pad-top-level-team&quot;&gt;launching pad&lt;/a&gt; representative.&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/joshtriplett/&quot;&gt;Josh Triplett&lt;/a&gt; has joined to take Mara&#x27;s place as the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org/governance/teams/library&quot;&gt;libs team&lt;/a&gt; representative.&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/lqd/&quot;&gt;Rémy Rakic&lt;/a&gt; has joined as the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org/governance/teams/compiler&quot;&gt;compiler team&lt;/a&gt; representative.&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/ehuss/&quot;&gt;Eric Huss&lt;/a&gt; remains as the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org/governance/teams/dev-tools&quot;&gt;dev tools team&lt;/a&gt; representative.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We&#x27;d like to thank our outgoing representatives &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/jamesmunns&quot;&gt;James Munns&lt;/a&gt; and &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/cuviper/&quot;&gt;Josh Stone&lt;/a&gt; for their time on the Council. We&#x27;ve greatly appreciated their support!&lt;/p&gt;
&lt;p&gt;Thanks to everyone who participated in the process! The next representative selections will be in September 2026 for the other half of the Council.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;welcome-nurzhan-saken-as-our-second-program-manager&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#welcome-nurzhan-saken-as-our-second-program-manager&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Welcome Nurzhan Saken as our second Program Manager&lt;/h3&gt;
&lt;p&gt;In February we welcomed &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/nxsaken/&quot;&gt;Nurzhan Saken&lt;/a&gt; as our second Program Manager joining &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/tomassedovic/&quot;&gt;Tomas Sedovic&lt;/a&gt;. This will help make our PM program more sustainable and strengthen the support it provides. You can read more about Nurzhan in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/03/27/program-management-update-2026-02/#hello-from-nurzhan&quot;&gt;the recent PM update&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;project-priorities-budget&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#project-priorities-budget&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Project priorities budget&lt;/h3&gt;
&lt;p&gt;Since 2024, the Project has managed a &lt;em&gt;Project Priorities&lt;/em&gt; budget. The council spends funds from this budget on activities that support the work of the Project. At the start of 2026, the Foundation allocated to this budget $306k (USD) in new funds and transferred $106k in remaining funds from the Project Grants program. For the past several months the Council has been working on allocating towards various priorities. The following items have been approved:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Raised our travel grant limit to $100k (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/254&quot;&gt;#254&lt;/a&gt;). Note that in addition to this, the Foundation is providing an additional $50k for RustConf travel.&lt;/li&gt;
&lt;li&gt;Allocated an additional $160k for the Program Manager program, which combined with the remaining budget from 2025 gave us about $344k starting balance for the year. (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/255&quot;&gt;#255&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Allocated $25k for &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.outreachy.org/&quot;&gt;Outreachy&lt;/a&gt; mentorship (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/264&quot;&gt;#264&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Allocated $55k for the compiler-ops contract (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/244&quot;&gt;#244&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to these already allocated funds, we are discussing whether to reserve the remaining amount with the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Funding the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/content-team&quot;&gt;Content Team&lt;/a&gt; with $15k to help produce video content (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/279&quot;&gt;#279&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Restarting the grants program with $100k to support existing maintainers (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3919&quot;&gt;RFC#3919&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Considering an unspecified amount for web design support on &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://crates.io/&quot;&gt;crates.io&lt;/a&gt; (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/278&quot;&gt;#278&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id&#x3D;&quot;additional-items&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#additional-items&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Additional items&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Finalized an alumni policy that involves an annual notification to members to let them know which teams they are a member of, and to check if they are still active. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/218&quot;&gt;#218&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated the responsibilities of Project Directors to better define and clarify expectations. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/250&quot;&gt;#250&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Clarified that the mentor team doesn&#x27;t need to ask the Council to participate in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://summerofcode.withgoogle.com/programs/2026&quot;&gt;GSoC 2026&lt;/a&gt;. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/253&quot;&gt;#253&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The Foundation has updated the process for travel grant applications. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/259&quot;&gt;#259&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Approved a proposal for delegating guest invites for the All-Hands. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/252&quot;&gt;#252&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;ongoing-work&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#ongoing-work&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Ongoing work&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;rust-foundation-maintainers-fund&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#rust-foundation-maintainers-fund&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Rust Foundation Maintainers Fund&lt;/h3&gt;
&lt;p&gt;In December we formed a committee (&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/pull/248&quot;&gt;#248&lt;/a&gt;) to put together a proposal to define how to use the funds from the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustfoundation.org/media/announcing-the-rust-foundation-maintainers-fund/&quot;&gt;Rust Foundation Maintainer Fund&lt;/a&gt;. The RFMF is a dedicated fund used to support Rust Project maintainers.&lt;/p&gt;
&lt;p&gt;The team has been working very hard on a proposal which is now open for comments at &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3931&quot;&gt;RFC#3931&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;contribution-policy&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#contribution-policy&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Contribution policy&lt;/h3&gt;
&lt;p&gt;A lively discussion has been taking place around policies for AI contributions, prompted by an increase of &quot;slop&quot; submissions to the project. An interim proposal was submitted in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/273&quot;&gt;#273&lt;/a&gt;, which was intended to address some of the immediate concerns in the &lt;code&gt;rust-lang/rust&lt;/code&gt; repository. A second proposal was also submitted that focuses on the desired kinds of contributions and that has since moved to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rfcs/pull/3936&quot;&gt;RFC#3936&lt;/a&gt; to gather comments from the project. This is an important question for the Project, and we expect this to continue to be a focus in the near term as we continue discussions and consider different proposals.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;additional-items-1&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#additional-items-1&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Additional items&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/jamesmunns&quot;&gt;James Munns&lt;/a&gt; has continued to work on the Rust Society proposal by collecting a group of interested parties to help administer the program. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues/260&quot;&gt;#260&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;following-our-work&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#following-our-work&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Following our work&lt;/h2&gt;
&lt;p&gt;As you can see from the many links above, the work of the Council happens mostly in public on GitHub issues posted in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/issues&quot;&gt;our repository&lt;/a&gt;. The items on our meeting agendas are drawn from these. After discussing an item, we summarize that discussion and any shared &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://aturon.github.io/tech/2018/05/25/listening-part-1/&quot;&gt;rationales&lt;/a&gt; on the issue. When we make decisions, we propose on the issue a &quot;final comment period&quot; (FCP), and as with all FCPs in the Project, we&#x27;re interested in and review any feedback that people have before or during this final comment period.&lt;/p&gt;
&lt;p&gt;To follow our work in real time, watch our repository. You can also see meeting summaries posted on Zulip in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/392734-council/topic/Meeting.20minutes.20.26.20summaries/with/561198432&quot;&gt;&lt;code&gt;#council &amp;gt; Meeting minutes &amp;amp; summaries&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;meeting-minutes&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#meeting-minutes&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Meeting minutes&lt;/h2&gt;
&lt;p&gt;We publish minutes from all Council meetings to the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/tree/main/minutes&quot;&gt;Leadership Council repo&lt;/a&gt;. Links to the minutes since our last update are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2025-12-05.md&quot;&gt;December 5, 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2025-12-19.md&quot;&gt;December 19, 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2026-01-16.md&quot;&gt;January 16, 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2026-01-30.md&quot;&gt;January 30, 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2026-02-13.md&quot;&gt;February 13, 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2026-02-27.md&quot;&gt;February 27, 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2026-03-13.md&quot;&gt;March 13, 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/leadership-council/blob/main/minutes/sync-meeting/2026-03-27.md&quot;&gt;March 27, 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>

        <author>
            <name>Eric Huss</name>
        </author>
    </entry>
</feed>
