03 Jun 2026
Planet Mozilla
Firefox Nightly: More Kit, More Control – These Weeks in Firefox: Issue 203
Highlights
- James enabled adaptive autofill in Nightly for testing, which we believe should provide better results in the URL bar when doing autocomplete!
- Jack updated the illustrations shown on some of our error pages to match the latest approved designs, giving users more polished artwork when the browser encounters connection or security errors!

- Controls for the Memories feature can now be set during Smart Window onboarding

- We've disabled the CSS filter implicitly applied to WebExtension pageAction SVG icons across all release channels starting in Firefox 152, completing the deprecation
- NOTE: The blog post published at WebExtensions API changes in Firefox 149-152 provides to extensions developers more details about this deprecation and links to the related MDN docs.
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Amin Amir
- Pranjali Srivastava
- Sam Johnson
New contributors (🌟 = first patch)
- 🌟:23rd: Regression: The new swipe-to-navigation indicator stucks for a moment, when deciding not to navigate the other page
- 🌟Akeem Omosanya: Remove commented-out code in SearchService.sys.mjs
- Amin Amir:
- 🌟Sahaj: Suggest the default target language for translation after changing the detected source language
- 🌟JIANG Zhirui: Breakpad build failed on Windows using VS2026 due to removal of stdext
- John Iweh: Add "Open in New Tab" and "Open in New Container Tab" options to the context menu for Tabs from Other Devices
- Jak: Bookmarks and History - should respect the "When you open a link, image or media in a new tab, switch to it immediately" setting
- 🌟Andy [:rgbcmy]: Autoplayed next video should also be PIP
- konyhéa: "Escape" key should collapse the expanded on hover sidebar launcher even if hover is still active.
- Pranjali Srivastava:
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Fixed long-standing regression on the autocomplete and datalist popups for extension inline options pages on about:addons (introduced in Firefox 68 by Bug 1532724, fix shipping in Firefox 152) - Bug 1595158
WebExtensions Framework
- Fixed access to web-accessible resources declared with <all_urls> from sandboxed documents (null-principal URLs), restoring extension redirects from the context-menu search flow, starting in Firefox 152 - Bug 2033905
WebExtension APIs
- Added exhaustive test coverage for tabs.move() against additional edge cases related to split-view tabs - Bug 2029092
DevTools
- Andreas Farre improved the Session History tab in the Application panel (still behind devtools.application.sessionHistory.enabled)
- Julian Descottes [:jdescottes] fixed the most frequent DevTools crash we were observing in Telemetry, adding a guard against IDBTransaction errors when retrieving breakpoints in the Debugger (#2030260)
- Nicolas Chevobbe [:nchevobbe] fixed the image preview tooltip for relative URLs images in constructed stylesheet (#2035503)
- Julian Descottes [:jdescottes] reduced the overhead we had because of network requests monitoring by only decoding response content when the user actually want to see the response (#2026228)
WebDriver
- Amin Amir cleaned up an incorrect variable assignment in our browsingContext module.
- Logan Rosen updated stale references and broken links in our documentation about Marionette.
- Sameem improved the Marionette and WebDriver BiDi screenshot commands to enforce maximum allowed dimensions.
- Leo McArdle fixed the regression in the "log.entryAdded" event, which lacked an error message in the "text" field for the messages of type "error".
- Henrik Skupin fixed an issue in Marionette where WebDriver:Navigate and WebDriver:Refresh did not handle errors when the underlying navigation failed.
- Henrik Skupin improved geckodriver to detect an early Firefox exit during startup on Android, avoiding up to 60 seconds of unnecessary connection attempts.
- Henrik Skupin updated the geckodriver CI build job to produce a universal macOS binary supporting both x64 and aarch64.
Lint, Docs and Workflow
- Sylvestre ported some linters (e.g. file-whitespace, test-manifest-toml, license, file-perm, rejected-words & more) to Rust to help improve the runtime of the code review bot.
- Dale has been working on migration to moz-src for customkeys, dom/quota and odom/geolocation
New Tab Page
- We did our first region-specific trainhop on May 11th (just 15% of the US), and turned on HNT Nova (and sometimes Widgets) for those clients to get some advance-data of its behaviour in the wild! A note that HNT Nova gets turned on for everybody when Firefox 151 ships on May 19th.
- We'll be launching a similar experiment in the DE, probably on May 12th, also at 15% population.
- Most of the team is heads down building out a sports-tracking widget, attempting to get that ready in time to be generally available for the upcoming World Cup event.
- Dre landed a new world clock widget, which is currently off by default, but pretty snazzy!

Search and Urlbar
- Nova (URL Bar Design Refresh)
- Drew and Daisuke continued their work on Nova styling for the Address bar (input and view).
- Search and Suggest
- Drew finalized two bugs for World Cup and sports suggestions, which were landed and uplifted: one to update the localization string for scheduled games and another to show both teams' icons in suggestions. Drew also landed and uplifted a fix for rich search suggestion icons being forced into a square aspect ratio.
- Standard8 updated Ecosia favicons to the latest branding, including QA testing and publishing.
- Settings Redesign (SRD)
- Stephanie landed a test to ensure search suggestion settings are hidden when quicksuggest is disabled, as well as a patch to resolve TypeScript issues in search.mjs, and is adding test coverage to confirm removed search engines are not displayed in the default engines dropdown.
- General URL Bar and Component Updates
- Daisuke landed implementation of the context menu on URL bar results, and a fix to show the loading URL in the URL bar when starting up with a homepage.
- Marco is working on several tasks, including a PDF download / focus stealing issue and allowing arrays to be bound in Sqlite.sys.mjs. Marco also worked on fixes related to Places, such as avoiding replacing the favicons database if it is not corrupt.
- Standard8 finalized the URL bar test manifest split. Standard8 also upgraded us to TypeScript 6.
- Moritz landed a fix for URL bar abandonment telemetry being recorded when clicking an engine in the unified search button popup (Bug 2032973), which was also uplifted. Moritz also simplified search mode switcher item activation in tests, and made it so that the unified search button popup closes when installing an open search engine.
- Daisuke landed implementation of the context menu on URL bar results, and a fix to show the loading URL in the URL bar when starting up with a homepage.
Smart Window

- assistant rendering feedback up/down 2032994 and markdown table 2027029
- nova styling blur 2027877 and suggestions 2026823
- accessibility screen reader 2028676 and keyboard focus 2037565
- optimize conversation starters extra requests 2030005 and caching 2033430
Storybook/Reusable Components/Acorn Design System
- Nova token updates occasionally, focused on SRD
UX Fundamentals
- Added support for the "SEC_ERROR_CA_CERT_INVALID" certificate error to the Felt Privacy error pages. - 2035942
Settings Redesign
- Settings redesign is being tested and will hopefully go out in Firefox 152!
03 Jun 2026 6:27pm GMT
This Week In Rust: This Week in Rust 654
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @thisweekinrust.bsky.social on Bluesky or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
Updates from Rust Community
Official
Project/Tooling Updates
- One year of Roto, the compiled scripting language for Rust
- xa11y: cross-platform desktop automation via native accessibility APIs
- halloy 2026.7 - now supports IRCv3 reply, redact, metadata, bot mode and more!
- Building a Native Markdown Previewer for AI-Generated Docs with Rust and WebView
- BPF in the agentic era
Observations/Thoughts
- Nine Ways to Do Inheritance in Rust, a Language Without Inheritance
- Async Rust: deep dive into cooperative scheduling and Tokio's architecture
Rust Walkthroughs
- ZK snarks for Rust developers: R1CS vs Plonkish vs AIR
- Learn Rust Closures By Building a Tiny Rule-Based Linter
- Learn Bevy States, Timers, and Grid Movement by Building Snake
- [video] RustCurious lesson 8: Generics and Monomorphization
Research
Crate of the Week
This week's crate is remyx, a framework for building TUIs on top of Ratatui.
Thanks to Manuel Garcia de la Vega for the self-suggestion!
Please submit your suggestions and votes for next week!
Calls for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization.
If you are a feature implementer and would like your RFC to appear in this list, add a call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
No calls for testing were issued this week by Rust, Cargo, Rustup or Rust language RFCs.
Let us know if you would like your feature to be tracked as a part of this list.
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
- MD Preview - Package MD Preview for Homebrew Cask
- OpenSlate - Test Health Check Endpoint
- OpenSlate - Test Login Endpoint
- OpenSlate - Test Notes CRUD Endpoint
- OpenSlate - Test Search Endpoint
- OpenSlate - Test Preference Endpoint
If you are a Rust project owner and are looking for contributors, please submit tasks here or through a PR to TWiR or by reaching out on Bluesky or Mastodon!
CFP - Events
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
- Scientific Computing in Rust 2026| 2026-06-05 | Virtual | 2026-07-08 - 2026-07-10
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on Bluesky or Mastodon!
Updates from the Rust Project
500 pull requests were merged in the last week
Compiler
Library
- constify Iterator-related methods and functions
- move
IoSliceandIoSliceMuttocore::io - specialize Clone of array IntoIter
- stabilize
Path::is_empty - stop needing an alloca for
catch_unwind
Cargo
diag: Add the'cargo::default'groupdiag: Report summaries forunused_deps- add
--output-format=jsonto cargo doc as an unstable option - add edition for scripts anytime we mutate the manifest
Rustdoc
- avoid ICE when rendering body-less type consts
- correctly propagate cfgs for glob reexports
- deterministic sorting for
doc_cfgbadges - fix ICE on delegated async functions
- optimize impl sorting
- separate the caches for synthetic auto trait & blanket impls
Clippy
- add
unused_async_trait_impllint - add new lint:
for_unbounded_range - added new lint for
map_or(..., identity) redundant_pattern_match: improve suggestions- faster
has_arg - fold all early lint passes into one statically-combined pass
- fold all late lint passes into one statically-combined pass
- memoize
first_node_in_macrofor consecutive queries - skip disabled off-by-default doc reparses
Rust-Analyzer
- always use crates from sysroot in proc-macro-srv
- enable salsa feature for syntax-bridge
- also consider library features internal
- do not fill both
drop()andpin_drop()in the "fill missing members" assist - fix extract variable in token tree replace range
- port block and loop inference from rustc
- try to improve completion ranking
- use add deref in assign instead add
&mutfor value - kill proc-macro-srv processes on shutdown
- remove direct use of make constructor with editor make
- remove make from rename and prettify macro expansion
Rust Compiler Performance Triage
This week we saw nice wins across the board thanks to merging several compiler queries together (#155678), and also substantial improvements in doc performance thanks to doing less work when sorting trait impls (#157179).
Triage done by @Kobzol. Revision range: 783eb8c8..4804ad7e
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.3% | [0.1%, 0.7%] | 14 |
| Regressions ❌ (secondary) |
0.4% | [0.1%, 0.9%] | 39 |
| Improvements ✅ (primary) |
-0.9% | [-6.8%, -0.2%] | 111 |
| Improvements ✅ (secondary) |
-1.1% | [-2.9%, -0.1%] | 53 |
| All ❌✅ (primary) | -0.8% | [-6.8%, 0.7%] | 125 |
3 Regressions, 1 Improvement, 2 Mixed; 4 of them in rollups 35 artifact comparisons made in total
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
Tracking Issues & PRs
- Tracking Issue for
strip_circumfix - Tracking issue for CommandExt::show_window
- Tracking Issue for
path_set_times - Tracking Issue for
nonzero_from_str_radix - Tracking Issue for LoongArch CRC Intrinsics
- Tracking Issue for
Vec::from_fn - Add
Step::forward/backward_overflowingto enable RangeInclusive loop optimizations - Stabilize
core::range::{legacy, RangeFull, RangeTo} - Tracking Issue for box_as_ptr
- Tracking Issue for explicit-endian String::from_utf16
- Reduce
unreachable-codechurn aftertodo!() - make repr_transparent_non_zst_fields a hard error
- Tracking Issue for algebraic floating point methods
- riscv: promote d, e, and f target_features to CfgStableToggleUnstable
- Tracking Issue for
PathBuf::into_string
- Desugar async blocks in HIR instead of MIR
- Test new solver and polonius alpha on CI
- Add
-Zllvm-target-feature target*modifier* to directly set LLVM-level target features, and deprecate doing that with-Ctarget-feature - Set requirements for windows-gnu
- Create a new Tier 3 target:
powerpc64le-unknown-none - Add flag to pass MSRV/
package.rust-versionfor use by lints - Optimize
repr(Rust)enums by omitting tags in more cases involving uninhabited variants. - Promote tier 3 riscv32 ESP-IDF targets to tier 2
- Proposal for Adapt Stack Protector for Rust
No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference or Leadership Council. Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
New and Updated RFCs
Upcoming Events
Rusty Events between 2026-06-03 - 2026-07-01 🦀
Virtual
- 2026-06-03 | Virtual (Indianapolis, IN, US) | Indy Rust
- 2026-06-04 | Virtual (Berlin, DE) | Rust Berlin
- 2026-06-04 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 2026-06-04 | Virtual (Tel Aviv-yafo, IL) | Code Mavens 🦀 - 🐍 - 🐪
- 2026-06-06 | Virtual (Kampala, UG) | Rust Circle Meetup
- 2026-06-07 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-08 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
- 2026-06-09 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-09 | Virtual (London, UK) | Women in Rust
- 2026-06-10 | Virtual (Girona, ES) | Rust Girona
- 2026-06-16 | Virtual (Washington, DC, US) | Rust DC
- 2026-06-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-06-17 | Virtual (Girona, ES) | Rust Girona
- 2026-06-18 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-06-18 | Virtual (Berlin, DE) | Rust Berlin
- 2026-06-21 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-23 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- 2026-06-23 | Virtual (London, UK) | Women in Rust
- 2026-07-01 | Virtual (Indianapolis, IN, US) | Indy Rust
Africa
- 2026-06-09 | Johannesburg, ZA | Johannesburg Rust Meetup
Europe
- 2026-06-03 | Dublin, IE | Rust Dublin
- 2026-06-03 | Girona, ES | Rust Girona
- 2026-06-10 | München, DE | Rust Munich
- 2026-06-11 | Switzerland, CH | PostTenebrasLab
- 2026-06-12 - 2026-06-14 | Kraków, PL | Rustmeet
- 2026-06-16 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- 2026-06-16 | Milano, IT | Rust Language Milan
- 2026-06-18 | Aarhus, DK | Rust Aarhus
- 2026-06-23 | Paris, FR | Rust Paris
- 2026-06-25 | Berlin, DE | Rust Berlin
North America
- 2026-06-04 | Chicago, IL, US | Chicago Rust Meetup
- 2026-06-04 | Saint Louis, MO, US | STL Rust
- 2026-06-06 | Boston, MA, US | Boston Rust Meetup
- 2026-06-11 | Lehi, UT, US | Utah Rust
- 2026-06-11 | Mountain View, CA, US | Hacker Dojo
- 2026-06-11 | San Diego, CA, US | San Diego Rust
- 2026-06-16 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-06-16 | San Francisco, CA, US | San Francisco Rust Study Group
- 2026-06-17 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- 2026-06-18 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- 2026-06-24 | Austin, TX, US | Rust ATX
- 2026-06-24 | Los Angeles, CA, US | Rust Los Angeles
- 2026-06-25 | Atlanta, GA, US | Rust Atlanta
- 2026-06-26 | New York, NY, US | Rust NYC
Oceania
- 2026-06-25 | Melbourne, AU | Rust Melbourne
South America
- 2026-06-18 | Florianópolis, BR | Rust SC
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
If memory safety bugs were Waldo (Wally): finding them in C programs is a "Where's Waldo?" game, and Rust's
unsafesimplifies it to "Is this Waldo?"
Thanks to Moy2010 for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by:
- nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- mariannegoldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilist
Email list hosting is sponsored by The Rust Foundation
03 Jun 2026 4:00am GMT
02 Jun 2026
Planet Mozilla
The Rust Programming Language Blog: Launching the Rust Foundation Maintainers Fund
If you want to financially support the development of Rust, please consider donating to the Rust Foundation Maintainers Fund.
A few months ago, the Rust Foundation announced the Rust Foundation Maintainers Fund (RFMF). Since then, the Rust Project has been closely cooperating with the Rust Foundation to determine how exactly this fund will be used to support Rust maintainers. This resulted in the acceptance of RFC #3931, which established the Funding team and the Maintainer in Residence program.
The primary goal of the Funding team is to ensure that maintainers who work on Rust and its toolchain will be properly supported. We will talk to Rust Project members to figure out their funding situation, meet Rust team leads to learn about their maintenance needs, approach companies to find opportunities for them to invest into Rust by supporting Rust maintainers, coordinate various funding efforts and ensure that the beneficial effects of funded maintenance are visibly promoted, with the help of the Content team.
Maintainer in Residence is a new program dedicated to financially supporting existing Rust Project maintainers1. Each Maintainer in Residence will be funded to maintain one or more critical parts of Rust, such as the compiler, the standard library, Cargo, Clippy or one of many other projects that the Rust Project develops and maintains. The funded work will include activities such as performing large-scale refactorings, code reviews, unblocking new features, issue triaging, mentoring other contributors and more, and will be split between priorities guided by the teams they are supporting and priorities of their own choosing within the Project. Where applicable, Maintainers in Residence are also encouraged to propose, champion, and drive forward Rust Project Goals.
The goal of this program is to provide stable and long-term funding so that maintainers can focus on important work that ensures the long-term health of Rust. The funding team will select Maintainers in Residence based on funding availability and maintenance needs within the Rust Project, and help ensure that they are successful. We expect that this will usually be a (near) full-time position, but that will depend on the nature of the work and the area of maintenance.
This program extends our existing support for Rust maintainers, such as the program management program and the compiler-ops program. An important development is that we now have a centralized mechanism for gathering donations from both individuals and companies, and a dedicated team that will help direct those funds to specific maintainers. You can find more details about the funding team and the Maintainer in Residence program in the RFC.
We expect to hire the first Maintainer in Residence in the upcoming months and announce it on this blog, so stay tuned!
How to contribute funds
If you are an individual who wants to help Rust succeed and thrive, you can donate to the RFMF through GitHub Sponsors2. Companies who would like to invest in better maintenance of Rust can also donate through GitHub Sponsors or they can contact the Rust Foundation directly.
The important thing is that all proceeds from this fund will be directly used to support Rust Project maintainers. We currently expect that to happen primarily through the Maintainer in Residence program, but it can also be done in the form of smaller-scale grants or other mechanisms, as determined by the Funding team. We will figure this out on the go, as this is also quite new for us.
We really appreciate each donation, however small, because with more money we can hire more maintainers to ensure that we can continue to develop Rust and that important improvements are not blocked on maintenance tasks. This is especially important at this time, where Rust is starting to get used more and more in the industry in various application areas, which increases the need for sustained maintenance. The importance of multiple funding sources is underscored by an unfortunate trend we currently observe, where key Rust maintainers are losing their funding for Rust work due to budget shifts. The Rust Foundation Maintainers Fund is designed to provide stable funding for Rust maintainers that is less dependent on sudden shifts in the job market and the IT industry.
As with most things, there is no one-size-fits-all solution, so there are multiple ways to support Rust financially. The RustNL Maintainers Team recently hired several Rust Project maintainers. Previously, we wrote about how you can support specific individuals working on Rust. And there are also Rust Project Goals in search of funding. We welcome all efforts that can help support Rust Project maintainers, who often do work that is near invisible and thankless, while at the same time incredibly important and necessary, on a volunteer basis.
Thank you for considering sponsoring the development and maintenance of Rust! You can find more information about funding Rust on our Funding page.
-
This program was inspired by the Developer in Residence concept used by the Python Software Foundation (PSF), with which we led several helpful discussions. Thank you, PSF! ↩
-
Note that the fact that GitHub Sponsors is currently enabled on the
rustfoundationGitHub organization, and not therust-langorganization, is an implementation detail that might change in the future. All donations raised on this Sponsors page will be routed to the Rust Foundation Maintainers Fund and will be spent on directly supporting Rust Project maintainers. ↩
02 Jun 2026 12:00am GMT