08 Jul 2026
Planet Mozilla
The Mozilla Blog: Wrexham AFC and Firefox announce a multi-year, front-of-kit partnership

We don't put our name on much. So when we do, it means something.
Starting with the 2026/27 season, Firefox is Wrexham AFC's Official Web Browser Partner and front-of-kit sponsor on the men's and women's teams.
More than 160 years old and nearly lost for good, the football club was saved by the community that loved it and has been climbing ever since. Wrexham AFC built something real by doing things their own way and staying close to the community that carries them.
That's a story we recognize. Firefox has spent more than 20 years as the browser people choose - not the one they're handed. Backed by a nonprofit, we've never had to answer to shareholders, just to the people who use us. Two challengers, never the default, both here because our communities showed up for us.
Our partnership debuts this weekend on the new away kit, when Wrexham travels to Kraków for their opening pre-season fixture. And this is just the start: Expect content, product integrations and fan moments all season long.
"Both Wrexham AFC and Firefox are challenger brands that built passionate global communities by doing things differently and staying true to who they are," Mozilla CMO John Solomon said. "Firefox has approached the internet with that same philosophy - building it as it should be, with people at the center."
"We are thrilled to welcome Firefox as our new front-of-kit partner," said Rob Mac and Ryan Reynolds, co-chairmen of Wrexham AFC. "We love an underdog story and both Wrexham and Firefox know the feeling of having to battle giants. It takes inventiveness, relentlessness and a pristine browsing history. So let's effing go…"
Football needs Wrexham. The internet needs Firefox.
For more information on our partnership and upcoming 2026/27 season, follow @wrexham_afc on social media. Click here to download the independent browser that puts you first.
About Mozilla and Firefox
Mozilla is a global nonprofit backed technology organization that builds products, invests in startups, and advances policy to keep the internet open, fair, and worthy of trust. Firefox is the independent browser from Mozilla, known for strong tracking protection, open source code, and a focus on user choice, privacy and security.
About Wrexham AFC
Wrexham Association Football Club is based in Wrexham, North Wales, and after an historic, record-breaking three consecutive promotions are competing in the EFL Championship, the second tier of the English football league pyramid. Formed in 1864, they are the oldest Club in Wales and the third oldest professional team in the world. Wrexham have won the Welsh Cup a record 23 times and beaten some of the biggest clubs in the game in the English FA Cup and UEFA European Cup Winners Cup. The Racecourse Ground, home to Wrexham AFC, is the world's oldest international stadium that continues to host international games.
Wrexham AFC is owned by Rob Mac and Ryan Reynolds. The goal of the owners is to grow the team and establish Wrexham AFC as a Premier League club in front of increased attendances, and in an improved stadium, while making a positive difference to the wider community in Wrexham. For more information, please visit wrexhamafc.co.uk or follow @wrexham_afc.

Take control of your internet
Download FirefoxThe post Wrexham AFC and Firefox announce a multi-year, front-of-kit partnership appeared first on The Mozilla Blog.
08 Jul 2026 1:00pm GMT
This Week In Rust: This Week in Rust 659
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
Newsletters
Project/Tooling Updates
- copper-rs v1.0.0: the open source deterministic robotics OS is now stable.
- Rayfish: Your own private network. No servers, no setup.
- rama v0.3.0 - network service framework ready to be used by the wider Rust community
- kache 0.9.0: supply-chain hardening + read-only CI cache
- GuardianDB - PostgreSQL and P2P/Local-First Together
- Nectar: a Rust-like language that compiles your whole web app to WebAssembly
- logdrain: Fast, Embeddable Log-Template Mining in Rust
- sheathe: Packaging the World's Video in Pure Rust
- wickra: streaming-first technical indicators
- Xcelerator Solver v0.1.0 -- deterministic symbolic regression
- dlt-tui 1.1.0 - a fast TUI viewer for automotive DLT (AUTOSAR Diagnostic Log and Trace) files
- RSSH v0.2.11 - terminal workflows, safer SSH key import, and observable AI ops
- k8s-scale-app-rs: Scale or Restart a Kubernetes Deployment from a CronJob
- M-vis v0.5.0-rc1 update
- FlareDB: An Apache Beam Native Streaming Database built in Rust
- mqtt-typed-client 0.2: a type-safe async MQTT client on rumqttc
- RootAsRole: v4.0.0 Major release, secure execution, new logo
- A Cross-Platform Rust UI Framework via Qt's Bridging Technology
- Jam Programming Language
- Sōzu 2.1.0: UDP load balancing for the programmable edge
- b0nker: a minimal container runtime written in Rust
Observations/Thoughts
- [video] Rust Berlin Meetup 25/06/2026 Livestream
- [video] How do you rewrite C/C++ projects to Rust? - JetBrains interview with Luca Palmieri, Mainmatter
- Investigating why RustCrypto is slow: Deep dive into SIMD instructions and hardware acceleration
- bool as u32
- A Rust-to-Lean Verification Pipeline with AI Provers: An Experience Report
- Work In Progress Rust
- [video] OpenAI just spent $600k on Rust
- [audio] Rising Academies with Dylan Brown - Rust in Production Podcast
Rust Walkthroughs
- [series] Bevy Tutorial: Build Your First 3D Editor - Create a 3D Space on an Infinite Grid
- Learn Axum Basics and Routing by Building a URL Shortener
- [series] Rama 101.1: HTTPS clients and layers of abstraction
Miscellaneous
Crate of the Week
This week's crate is apis-saltans, a Zigbee implementation including a coordinator API.
Thanks to Richard Neumann 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.
* Protocol - Extend bit-exactness tests to f64 reconstruction targets
* Dofigen - No image tag replacement flag for the generate command
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.
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
598 pull requests were merged in the last week
Compiler
- enable eager
param_envnorm in new solver - lint on
core::ffi::c_voidas a return type - polish some macro parsing code
- resolve: no allocation in
resolve_ident_in(_local)_module_* - simplify option-iterator flattening in the compiler
- stabilize
#[my_macro] mod foo;(part ofproc_macro_hygiene)
Library
- add
std::io::cursor::WriteThroughCursor - implement
Box::as_non_null() - implement
DoubleEndedIterator::next_chunk_back - implement
IntoIteratorfor[&[mut]] Box<[T; N], A> - implement
ptr::{read,write}_unalignedviarepr(packed) - move
SizeHintandIoHandletocore::io - move
std::io::Seektocore::io - optimize
ArrayChunks::try_rfoldwithDoubleEndedIterator::next_chunk_back - stabilize
feature(atomic_from_mut)
Cargo
bindeps: register transitive artifact targets- avoid cloning parsed TOML manifest in
ManifestErrorContext - avoid extra clone of parsed TOML manifest
- remove unneeded cloning when parsing package index
- change HashMaps and HashSets in Cargo to use Fxhasher
- do not pass lint rustflags when
--cap-lints=allowis set - fixed
Compilation::deps_outputonly taking the last dep - pre-allocate a few vectors
- stabilize
build-dirlayout v2 - use a set when checking visited workspace members
Rustdoc
- fix crash when trying to inline foreign item which cannot have attributes
- show use-site paths for unevaluated const array lengths
Clippy
chunks_exact_to_as_chunks: Don't report expressions with const parameterschunks_exact_to_as_chunks: Don't report expressions with type paramsmissing_trait_methods: MSRV/unstable awarenessvec_init_then_push: don't lint pushes from a macro expansioninline_modules: ignorecfg(test)modules in test buildsmatch_same_arms: keep arm-level expectations working under an outer allowunnecessary_operation: avoid bad!suggestionsunnecessary_unwrap_unchecked: don't trigger inside the_uncheckedfn- add required parentheses when the
needless_boolsuggestion is an operand - fix ICE when resolving local in
unnecessary_unwrap_unchecked - fix
infinite_loopfalse positive inside gen blocks - fix
manual_c_str_literalssuggestion when the trailing backslash is escaped - fix
strlen_on_c_stringsincorrect suggestion logic - fix
suspicious_operation_groupingsduplications - lint bit width
- optimize
Msrv::meetscalls - bail out of unicode lint scans when the snippet is pure ASCII
- skip the HIR parent walk in
is_in_test_functionwhen there are no test items - place generated impl block after the existing impl block
- refactor
StringAddlint pass - refactor
suspicious_xor_used_as_pow - remove
lower_tyinuninhabited_reference - respect the configured MSRV in
manual_is_variant_and'smap() == Some(_)rewrite - rewrite
mut_mut - rewrite
redundant_elseas a late pass - rewrite
tuple_array_conversions
Rust-Analyzer
- SCIP: exclude leading/trailing trivia in definition ranges
- SCIP: remove dead
inlay_hintsfield feat(ide-diagnostics): add diagnostics for invalid union patterns (E0784)internal(query-group-macro): remove the arity test- add tree top method to Syntax node
- add handler for E0627
- supports multi arms for
replace_match_with_if_let - fix UB in
smol_str borsh_non_utf8test cases - fix generic param for
generate_default_from_enum_variant walkthrough_create_projectfile not packaged- assertion failure on closure with unbound function
- avoid panic in
convert_tuple_struct_to_named_structon nested pattern usage - configuration syntax for nvim-lsp
- correct resolution to value when it shares the same name with type
- exclude impls on the error type from impl enumeration
- fix crash on
extract_variablewhen selecting unresolved macro call - fix crash on completion inside macros
- fix handling of params of coroutine fns
- handle more cases of cfgs in expr store lowering
- no generate with default assoc item
- panics in
unwrap_return_type,remove_underscore, andpromote_local_to_const - hoist attribute qualifier segment collection
- reduce parser joint-token allocation
- project-model: don't pass metadata extra args to sysroot
- project-model: introduce cargo.configPath
- provide startup time to ready log point and associated benchmark
Rust Compiler Performance Triage
This week was dominated by wild swings in benchmarks of the new-solver, which is not enabled by default, yet. Apart from that, we got a very few notable changes, only one unexpected speedup from a bugfix in rustdoc.
Triage done by @panstromek. Revision range: 7dc2c162..3659db0d
Summary:
| (instructions:u) | mean | range | count |
|---|---|---|---|
| Regressions ❌ (primary) |
0.2% | [0.2%, 0.2%] | 3 |
| Regressions ❌ (secondary) |
162.1% | [0.2%, 1116.3%] | 20 |
| Improvements ✅ (primary) |
-1.4% | [-8.4%, -0.1%] | 7 |
| Improvements ✅ (secondary) |
-1.1% | [-8.4%, -0.1%] | 11 |
| All ❌✅ (primary) | -0.9% | [-8.4%, 0.2%] | 10 |
1 Regression, 1 Improvement, 4 Mixed; 3 of them in rollups 17 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
- Lint against invalid POSIX symbol definitions
- Document NonNull layout guarantees
- Tracking Issue for
slice_split_once
No Items entered Final Comment Period this week for Cargo, Language Team, Leadership Council, Rust RFCs or Unsafe Code Guidelines.
New and Updated RFCs
Upcoming Events
Rusty Events between 2026-07-08 - 2026-08-05 🦀
Virtual
- 2026-07-08 | Virtual (Cardiff, GB) | Rust and C++ Cardiff
- Operating Systems Book Club: Introduction + Processes
- 2026-07-08 | Virtual (Girona, ES) | Rust Girona
- Sessió setmanal de codificació / Weekly coding session
- 2026-07-09 | Virtual (Nürnberg, DE) | Rust Nuremberg
- Rust Nürnberg online
- 2026-07-14 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Second Tuesday
- 2026-07-15 | Virtual (Girona, ES) | Rust Girona
- Sessió setmanal de codificació / Weekly coding session
- 2026-07-15 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- Jiff
- 2026-07-16 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- July, 2026 SRUG (Seattle Rust User Group) Meetup
- 2026-07-16 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2026-07-19 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Deep Learning: Third Sunday
- 2026-07-21 | Virtual (London, UK) | Women in Rust
- Lunch & Learn: Learning Rust as First Programming Language
- 2026-07-21 | Virtual (Washington, DC, US) | Rust DC
- Mid-month Rustful
- 2026-07-22 | Virtual (Girona, ES) | Rust Girona
- Sessió setmanal de codificació / Weekly coding session
- 2026-07-28 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Fourth Tuesday
- 2026-07-29 | Virtual (Girona, ES) | Rust Girona
- Sessió setmanal de codificació / Weekly coding session
- 2026-07-30 | Virtual (Berlin, DE) | Rust Berlin
- Rust Hack and Learn
- 2026-08-02 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
- Rust Deep Learning: First Sunday
- 2026-08-04 | Virtual (London, GB) | Women in Rust
- 👋 Community Catch Up
- 2026-07-29 | Virtual (Girona, ES) | Rust Girona
- Sessió setmanal de codificació / Weekly coding session
- 2026-08-05 | Virtual (Indianapolis, IN, US) | Indy Rust
- Indy.rs - with Social Distancing
Asia
- 2026-07-18 | Bangalore, IN | Rust Bangalore
- July 2026 Rustacean Meetup
Africa:
- 2026-07-14 | Johannesburg, ZA | Johannesburg Rust Meetup
- Debugging a production grade Open Source Rust crate
Europe
- 2026-07-08 | Dublin, IE | Rust Dublin
- Join us live and INPERSON for Rust 262
- 2026-07-09 | Berlin, DE | Rust Berlin
- Rust Berlin on location 🏳️🌈 - Edition 015
- 2026-07-09 | Frankfurt, DE | Rust Rhein-Main
- Building Cross Platform Applications with Ply
- 2026-07-09 | Switzerland, CH | PostTenebrasLab
- Rust Meetup Geneva
- 2026-07-15 | Dortmund, DE | Rust Dortmund
- Teach and Hack at Projektspeicher
- 2026-07-21 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
- Supercharge Rust funcs with implicit arguments and context-generic programming
- 2026-07-23 | Berlin, DE | Rust Berlin
- Rust Berlin Talks: The next generation
- 2026-07-23 | London, UK | London Rust Project Group
- Rama modular service framework for Rust
- 2026-07-23 | Paris, FR | Rust Paris
- Rust meetup #87
- 2026-07-30 | Manchester, GB | Rust Manchester
- Rust Manchester July Code Night
North America
- 2026-07-09 | Lehi, UT, US | Utah Rust
- Utah Rust July Meetup
- 2026-07-09 | Mountain View, CA, US | Hacker Dojo
- RUST MEETUP at HACKER DOJO
- 2026-07-11 | Boston, MA, US | Boston Rust Meetup
- MIT Rust Lunch, July 11
- 2026-07-15 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
- Jiff
- 2026-07-16 | Hybrid (Seattle, WA, US) | Seattle Rust User Group
- July, 2026 SRUG (Seattle Rust User Group) Meetup
- 2026-07-18 | Boston, MA, US | Boston Rust Meetup
- North End Rust Lunch, July 18
- 2026-07-21 | San Francisco, CA, US | San Francisco Rust Study Group
- Rust Hacking in Person
- 2026-07-22 | Austin, TX, US | Rust ATX
- Rust Lunch - Fareground
- 2026-07-22 | Los Angeles, CA, US | Rust Los Angeles
- Rust LA: Rust in Distributed Systems with Flight Science!
- 2026-07-25 | Boston, MA, US | Boston Rust Meetup
- Porter Square Rust Lunch, July 25
- 2026-07-25 | Brooklyn, NY, US | Flower
- BOG-A-THON 2
- 2026-07-30 | Atlanta, GA, US | Rust Atlanta
- Rust-Atl
- 2026-08-01 | Boston, MA, US | Boston Rust Meetup
- Chinatown Rust Lunch, Aug 1
- 2026-08-04 | Boston, MA, US | Boston Rust Meetup
- Evening Boston Rust Meetup at Red Hat, Aug 4
Oceania
- 2026-07-09 | Brisbane City, QL, AU | Rust Brisbane
- Rust Brisbane • July 2026
- 2026-07-21 | Barton, AU | Canberra Rust User Group
- July Meetup
- 2026-07-23 | Perth, AU | Rust Perth Meetup Group
- Rust Perth: July Meetup!
- 2026-07-30 | Melbourne, AU | Rust Melbourne
- Rust Melbourne July 2026
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 a ptr is dereferenced in a forest and nobody hears it, is it sound?
Thanks to Cerber-Ursi 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
08 Jul 2026 4:00am GMT
07 Jul 2026
Planet Mozilla
Thunderbird Blog: Desktop settings research: what we learned from your feedback

A few weeks ago, we conducted hour-long conversations with 10 of our users to dig deep into how you manage your preferences and configurations in Thunderbird desktop. While this specific research cycle focused on the desktop experience, our ultimate goal is a holistic strategy that ensures our mobile settings feel like a natural extension of your workspace.
Here is a quick look at what we discovered, what you valued, and how your feedback is actively shaping our design roadmap.

What you told us
You are incredibly passionate about customization, and appreciate Thunderbird's robust functionality. Overall, a common thread that stood out was that most of you want to set up your space once and then make small tweaks to your preferences, you want it to look modern, and navigate effortlessly without running into issues with technical jargon.
Here are the key themes that emerged from our conversations:
- Ecosystem trust: Your commitment to Thunderbird is rooted in a deep trust for open-source software, the Mozilla brand, absolute transparency, and reliability.
- Set and forget: You customize extensively during your initial setup, followed only by minor tweaks to get your workspace just right.
- Clutter & noise: There is a strong desire to reduce workspace clutter and the cognitive "noise" within dense configuration menus.
- Search to navigate: While deep navigation menus can feel hard to find your way through, an in-app search function is your go-to for finding what you need quickly.
- The "inbox as a to-do list" workflow: Many of you don't just read mail, you actively treat your unread inbox as a task list or interactive to-do queue.
- Terminology barriers: Even for advanced users, many settings feel overly technical, which causes hesitation when you're trying to explore your options.

Improvements we want to make
We don't want to just make minor fixes, we want to design a better workflow. Based on your feedback, here are the core design actions that will be driving our next phase focusing on general and account settings:
- Demystify the language: We are planning to replace confusing technical terminology with plain, clear language, so you always know exactly what each function does.
- Streamline information architecture: We are regrouping settings into logical, task-oriented categories to make manual navigation smooth and intuitive.
- Bring context to privacy & security: Instead of a flat list of checkboxes, we want to add clear explanations around data security and defaults so you can make confident, informed decisions.
- Functionality meets modern UI: Thunderbird's robust functionality is its superpower, but a dated interface shouldn't be a barrier to entry for newer users.
- Accessibility update: Based on a community member's recent audit, we are also taking this opportunity to improve the overall accessibility of the settings experience.
What's next?
We are hitting the ground running with these insights. Right now, our team is actively:
- Finalizing our project scope to directly incorporate these research findings.
- Mapping out and proposing a streamlined information architecture for settings.
- Designing this layout holistically so that desktop preferences and mobile configurations
A massive thank you to everyone who offered their time and feedback for this study! We look forward to sharing more with you soon.
Let us know your thoughts in the comments below!
The post Desktop settings research: what we learned from your feedback appeared first on The Thunderbird Blog.
07 Jul 2026 6:56pm GMT