01 Oct 2026

feedPlanet Mozilla

The Mozilla Blog: Under the Hood: Prompt tuning Shake to Summarize for recipes

Following the rollout of Firefox's Shake to Summarize feature to Android devices this May, we wanted to take a closer look at the modeling work behind the feature. In a previous blog post, we discussed our model selection process. Now that Shake to Summarize has been available on both iOS and Android for a few months, we wanted to take it a step further and outline our approach to prompt development.

This is the story of a Shake to Summarize use case that required a little extra prompt tuning: online recipes.

Framing the Problem

The first step in developing a useful prompt is clearly describing what you want the LLM to do. LLMs thrive on specificity, so the more sharply you can define your task, the better your results are likely to be.

This is especially important when using smaller LLMs (like we are here), since these little models are not as good at reading between the lines and intuiting unstated intentions as their more powerful cousins are.

For this application, we were looking to create summaries. On the face of it, this seems pretty straightforward. However, as we iterated on prompts, we quickly discovered that what constitutes a "good" summary depends largely on what one is summarizing.

For example, a useful summary of a novel should provide us with a quick overview of the plot without getting into too many specific details; we wouldn't expect the summary to contain anything from the text verbatim.

In contrast, a summary of a recipe website should include the recipe essentially as written. If the recipe says "cook lovingly" we might be OK with shortening it to "cook," but if it calls for 4 cups of vegetable broth, a Tbsp of oregano and a tsp of thyme, we want these details relayed to us exactly. Merely stating, "this recipe calls for some broth and some spices" would not be adequate.

Forming the Prompt

From here, it became clear that we wanted not just one "summarize" instruction, but a whole set of instructions - one for each category of webpage that we wished to summarize. We worked with the product team to compile a list of article types that we were targeting for this feature. For each article type, we then gave a brief description of what a good summary would look like:

Recipe - Ingredients as written, along with the key steps, time required, and any tips given by the author or commenters

News - Only the important details: what happened, when, and what would be the likely consequences to the reader

How-to - Start with the required materials, skills, tools, etc., along with the main steps and any specific warnings called out by the author

Review - Highlight the bottom line rating. If it is a product review, include the pros and cons, the price, and who the target audience is.

Research - Key finding and level of confidence the researchers have in their results as well as the projected real-world impact.

Opinion - The main argument, along with any key evidence cited in support

We then wrapped this list in some general instructions to ground the model in the task and came up with our initial prompt (formatted for readability) [source]:

You are a Content Summarizer. You create mobile-optimized summaries by first understanding what users actually need from each type of content.

Process:

Step 1: Identify and Adapt.

Step 2: Based on content type, prioritize:

Recipe - Servings, Total time, Ingredients list, Key steps, Tips.

News - What happened, when, where.

How-to - Total time, Materials, Key steps, Warnings.

Review - Bottom line rating, price.

Opinion - Main arguments, Key evidence.

Personal Blog - Author, main points.

Fiction - Author, summary of plot.

All other content types - Provide a brief summary of no more than 6 sentences.

Step 3: Format for mobile using concise language and paragraphs with 3 sentences maximum.

Bold critical details (numbers, warnings, key terms).

We Foxfooded the above prompt and found that it mostly worked pretty well. The summaries the model produced were concise, accurate, and informative.

The only exception was recipes.

We found that, when the prompt above was used for recipes, the model tended to summarize too much - often leaving out key ingredients, or in some cases, leaving out the recipe entirely.

For example, when asked to summarize a lentil soup recipe the model returned:

The webpage provides a detailed recipe for a vegan lentil soup, which the author claims is the best they've ever made. The soup is made with pantry staples like lentils, diced tomatoes, vegetable broth, and spices (cumin, curry powder, thyme), along with fresh vegetables (onion, carrots, garlic) and greens (kale or collard greens). A key step is blending a portion of the soup to create a creamy texture without dairy.

The summary is accurate, so far as it goes, but it isn't exactly useful. If our goal is to have the summary be a quick way to access the recipe itself, without having to read through the narrative preamble, this wouldn't cut it.

Focusing the Prompt

To address this problem, we needed to be more explicit with the instructions we gave the model when summarizing recipes: we needed to tell it which information we were interested in and which it could safely discard.

Although we could have added this extra guidance directly to the prompt above, doing so risked causing the model to over-index on the recipe formatting and ignore the other article types. Instead, we developed a separate prompt which contained only the recipe instructions and directed recipe summarization requests to use it, rather than the general one [source].

To perform this routing, we used the structured data embedded in each webpage. While this categorization could have been handled by another model pass, metadata from the webpage itself allowed us to quickly and deterministically identify the page categories without additional inference overhead. To capture cases where this data is either missing or inaccurate, we also maintain some lightweight recipe guidance in the general prompt.

After this change, the summary returned by the model for the above recipe became much more usable (shortened for brevity):

Servings: 6

Total Time: 50 minutes

Prep Time: 10 minutes

Cook Time: 40 minutes

🥕 Ingredients

📋 Instructions

  1. Warm the olive oil in a large Dutch oven or pot over medium heat.
  2. Add the chopped onion and carrot, cooking until the onion softens and turns translucent, about 5 minutes.
  3. …

⭐ Tips

🥗 Nutrition


With this change in place, we ran a quick test over a curated set of recipe sites and found that the new system was more than twice as likely to return a complete and accurate summary than our previous one. Success!

The system was now working as expected: summaries were useful and recipes were complete.

Reflections

From this experience we learned that the model produced the best results when it was told explicitly what we wanted it to do. When the instructions were vague or left too much up to the model, performance suffered.

To this end, we found that framing this problem as a routing problem - where the specific kinds of articles are routed to specific prompts - worked well. Since the task of summarization is not monolithic, our summarization pipeline should not be either.

Even though our current approach has only a single category-specific prompt, we hypothesize that the system would see further gains by using dedicated prompts for other page types as well.

More broadly, this experience reinforced an important lesson for us: improving AI systems is not solely about building larger or more capable models. Some of the biggest gains come from reducing ambiguity, narrowing the task, and designing systems that help the model succeed. Within the right harness, smaller, open source models can deliver great value.

While building more capable models continues to advance the field, our experience shows that thoughtful system design and solid engineering still matter.

The post Under the Hood: Prompt tuning Shake to Summarize for recipes appeared first on The Mozilla Blog.

01 Oct 2026 4:00pm GMT

The Rust Programming Language Blog: Announcing Rust 1.99.0

The Rust team is happy to announce a new version of Rust, 1.99.0. Rust is a programming language empowering everyone to build reliable and efficient software.

If you have a previous version of Rust installed via rustup, you can get 1.99.0 with:

$ rustup update stable

If you don't have it already, you can get rustup from the appropriate page on our website, and check out the detailed release notes for 1.99.0.

If you'd like to help us out by testing future releases, you might consider updating locally to use the beta channel (rustup default beta) or the nightly channel (rustup default nightly). Please report any bugs you might come across!

What's in 1.99.0 stable

extern "C" variadics

Rust 1.99.0 stabilizes defining C-ABI variadic functions with "C" and "C-unwind" ABIs. Variadic functions defined this way use a variable argument list (...) and accept an arbitrary number of arguments. Rust could already call externally-defined variadic functions (e.g., libc::printf). With Rust 1.99, these functions can now be written in Rust itself:

/// SAFETY: must be called with (at least) 2 i32 arguments.
unsafe extern "C" fn sum(mut args: ...) -> i32 {
    // SAFETY: guaranteed by the caller.
    let a = unsafe { args.next_arg::<i32>() };
    let b = unsafe { args.next_arg::<i32>() };
    a + b
}

fn foo() -> i32 {
    unsafe { sum(0i32, 2i32) }
}

The type of ... is VaList, which is ABI-compatible with the C va_list type across targets. What types can be read from a VaList is guarded by the VaArgSafe trait.

For more details on c-variadic functions, see the Reference. This release also stabilizes support for defining naked variadic functions with non-"C" ABIs, which must be written via inline assembly.

Layout information from raw pointers

This release settles the safety requirements for retrieving the size and alignment on raw pointers to both Sized (trivially safe, already possible on stable) and non-Sized types.

This is done by stabilizing three functions:

Recommend against round-trip unleaking after Box::leak

While there are no changes to the language semantics in Rust 1.99, we have updated the documentation on Box::leak to recommend against patterns that later deallocate that memory. This was done because such code was found to have problematic interactions with current and future potential compiler optimizations, and is especially problematic with the upcoming stabilization of custom allocators. Instead, Box::into_non_null or Box::into_raw should be preferred.

This guidance also applies to other leak functions in the standard library.

Stabilized APIs

Other changes

Check out everything that changed in Rust, Cargo, and Clippy.

Contributors to 1.99.0

Many people came together to create Rust 1.99.0. We couldn't have done it without all of you. Thanks!

01 Oct 2026 12:00am GMT

30 Sep 2026

feedPlanet Mozilla

About:Community: A fresh Firefox and MozFest count down

Hi Mozillian,

In this edition, we're exploring the new Firefox design, Mozilla's recent partnership with Mistral to expand choice in AI-powered browsing, and several ways to get involved with MozFest. You can join a livestream about the value of bringing open-source communities together in person, volunteer at MozFest in Barcelona, or take part in the latest privacy discussion from the Firefox community on Reddit.

Read on for the latest updates and opportunities to participate!

More modern. More flexible. Still Firefox.

Firefox 157 introduces a new Firefox design with updated colors, icons and themes that make the browser feel more modern while preserving the familiar Firefox experience. The release also brings back Compact Mode and adds easier theme selection, new wallpapers and more ways to customize the New Tab page. Underneath the new look, Firefox remains independent and open source, with built-in privacy protections and controls that let you decide how your browser works, including how AI features appear.

Learn more

Mozilla and Mistral partner to expand AI choice

Mozilla and Mistral have announced a partnership aimed at increasing competition and preserving user choice in AI-powered browsing. As part of the collaboration, the open-source Mistral Small 4 model is coming to Firefox Smart Window Beta as a new option for users in the US and Canada. Smart Window Beta is also expanding to France with official French-language support, with additional European markets planned. Users can continue choosing from multiple AI models, reinforcing Firefox's commitment to avoiding lock-in and keeping the web open to different technologies and providers.

Learn more

Does open source need IRL? The case for MozFest

Is showing up in person important for open source? Join the Owners Not Renters livestream on Tuesday, September 29, to hear the story behind MozFest and explore why gathering in person still matters for open-source communities ahead of MozFest, taking place October 28-30 in Barcelona. Kali Villarosa (MoFo), Seher Shafiq (MoFo) and Brian Behlendorf (co-founded Apache) will join host Marcus Rein for an open conversation, followed by a live Q&A. Bring your questions and your hot takes!

Watch and participate

MozFest call for Volunteers

From 28-30 October 2026, the Mozilla Foundation will host the Mozilla Festival in Barcelona, bringing together people from diverse fields to explore how we can work collectively to "re-wild" the web. To help bring the Festival to life, we're building a team of volunteers. By joining, you'll help deliver a major event in support of Mozilla's mission while also having opportunities to participate in sessions throughout the three-day Festival.

Sign up to volunteer

From the Reddit Community

Privacy conversations are going mainstream, and Firefox has been at this for 20+ years. In light of a recent video making the rounds about the importance of privacy, the Firefox Team shared a rundown of built-in privacy features (ad blocking, tracking protection, encrypted sync, a free VPN, and more). Jump in at r/firefox and share your own privacy tips and configs!

Join the discussion


P.S.

Enjoyed these updates? Subscribe to the Mozilla Community Newsletter and get the latest updates delivered straight to your inbox.

30 Sep 2026 5:01pm GMT

This Week In Rust: This Week in Rust 671

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

Newsletters
Observations/Thoughts
Rust Walkthroughs
Miscellaneous

Crate of the Week

This week's crate is ying-profiler, a native Rust sampling memory profiler.

Thanks to Evan Chan 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.

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

546 pull requests were merged in the last week

Compiler
Library
Cargo
Rustdoc
Clippy
Rust-Analyzer
Rust Compiler Performance Triage

This week was fairly positive. We had no pure regressions, and most of the results came from a few architectural improvements with mixed or mostly positive impact. Some improvements also come from addressing previously triaged regression caused by missing no_alias annotation for references in closures.

The biggest improvement this week is in rustdoc, from tackling quadratic behaviour when generating sidebar links. This was reported by a user, but the effect didn't show up in our benchmarks, so we added a special stress test for it.

Triage done by @panstromek. Revision range: 3670d253..c1070d69

Summary:

(instructions:u) mean range count
Regressions ❌
(primary)
0.6% [0.2%, 0.8%] 8
Regressions ❌
(secondary)
1.4% [0.1%, 5.8%] 30
Improvements ✅
(primary)
-0.6% [-1.7%, -0.2%] 192
Improvements ✅
(secondary)
-1.5% [-82.5%, -0.1%] 101
All ❌✅ (primary) -0.6% [-1.7%, 0.8%] 200

0 Regressions, 2 Improvements, 6 Mixed; 3 of them in rollups 26 artifact comparisons made in total

Full report here

Approved RFCs

Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation 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

Rust

Rust RFCs

Cargo

Compiler Team (MCPs only)

No Items entered Final Comment Period this week for Language Team, Language Reference, Leadership Council or Unsafe Code Guidelines. 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-09-30 - 2026-10-28 🦀

Virtual
Asia
Europe
North America
South America

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

The community is obnoxiously helpful. I asked a simple question on the Rust community Discord server. What is the best way to read a file in Rust? I expected a straightforward response. Instead, I got back a 2,000-word essay on the inner workings of IO, buffering, error handling, and ownership, plus links to four different blog posts and three different approaches depending on file size, and a working code example.

...

The Rust community has weaponized education against me. I'm now a better engineer than I was yesterday against my will.

- tris on youtube

Thanks to MusicalNinjaDad for the suggestion!

Please submit quotes and vote for next week!

This Week in Rust is edited by:

Email list hosting is sponsored by The Rust Foundation

Discuss on r/rust

30 Sep 2026 4:00am GMT

29 Sep 2026

feedPlanet Mozilla

Mozilla Addons Blog: Nova is here: what changes for your Firefox theme

On September 29, Firefox 157 shipped Nova, the biggest refresh of the Firefox interface since Proton back in 2021. The browser frame is cleaner, the sidebar plays a bigger role, and vertical tabs are a first-class layout. Your theme continues to load, and most color and image properties work as they did before.

What does change is where those colors and images display, how some of them look next to each other, and a handful of properties that no longer have a visible effect. Most themes will look fine. Some, especially themes built around a background image, look different enough that you will want to take a look.

This post walks through what changed compared with the Proton interface, what to check in your theme, and what is still being worked on. If you only have five minutes, jump to the checklist.

What changed in the browser frame

The toolbar and sidebar now sit flush with the window edges, with no gaps between them.

For your theme, this means your frame color and background image have less empty space around them, and the edges where the toolbar, sidebar, and page meet are more visible.

Area Proton Nova (Firefox 157)
Toolbar and sidebar Flush with the window, no gaps or floating borders Same as before
Horizontal tabs Theme background applied to the tab strip Same as before
Vertical tabs Tab bar color on the tab strip Tab bar color also shows on the toolbar
Sidebar Separate panel Shares the theme background with the toolbar area

colors, accents and tabs

Accent color. The default Firefox theme uses Nova's purple accent. Every other theme, including yours, uses the operating system's accent color for buttons and other accented controls. Themes cannot set the accent color through the manifest, and is why your theme cannot show the purple you see in the default theme.

Focus and link colors. Firefox still applies its own blue and cyan to focus rings and some links when a theme other than the default is active.

The selected tab. Proton always drew a shadow under the selected tab, which helped it stand out even when a theme did not style it. Nova removes that shadow. If your theme relies on it, the selected tab can blend into the tab strip. Set the selected tab colors, with tab_selected and tab_line, so the selected tab stands out.

Button hover colors. Your button_background_hover and button_background_active colors also apply to buttons on the tab strip, and for buttons that sit on your frame background with vertical tabs. A solid color picked to match the toolbar can almost disappear there. Semi-transparent colors, for example rgba(0, 0, 0, 0.15) for hover and rgba(0, 0, 0, 0.3) for pressed, work on both backgrounds.

Sidebar and vertical tabs

Properties that changed or no longer work

Some theme properties behave differently in Nova. Your theme still loads if it uses them; they just have no visible effect, or style something different.

Property In Nova
ntp_text No longer styles the new tab page search box
popup_text No longer styles the address bar dropdown; other popups still use it
sidebar_highlight No visible effect; the default highlight color is used
sidebar_highlight_text No visible effect
toolbar_bottom_separator Acts as a separator next to or below the toolbar and around the page

The theme manifest reference on MDN is being updated with these changes.

Themes with background images

Themes using images are where you are most likely to see a difference. Your image can now show behind the sidebar and vertical tabs, and an image designed for a wide, short toolbar rarely looks good stretched or tiled down a vertical panel. In our testing of popular themes, the image themes that look off in the sidebar mostly did before Nova too. We did test a number of themes but we invite you to do your own testing. Nova makes the sidebar more visible, so the issues are easier to notice.

You can now choose where your images go with the backgrounds_area property, available from Firefox 156:

If your image was made for the toolbar only, "top_toolbars" with a frame color that suits the image is usually the quickest fix.

Also set a toolbar color, even a semi-transparent one. Without it, notification bars that appear above the page sit directly on your image and can be hard to read.

New Gradient Support

Nova's color themes use gradients, and you can too. The Nova theme manifests are the best working example; look at how they set colors for each surface, including the sidebar. backgrounds_area applies to gradients the same way it applies to images. Older versions of Firefox ignore color properties they don't recognize, so your theme still loads there; if you use a feature older versions reject, set strict_min_version in your manifest.

Checklist: what to check in your theme

Install your theme in Firefox 157 and look at it in each of these states:

  1. Horizontal tabs and vertical tabs.
  2. Sidebar closed, open, and expanded on hover. Also toggle "Customize sidebar" while the sidebar is open or expanded.
  3. Compact density, if your users are likely to use it (under settings -> appearance density(.
  4. A private window.
  5. Light and dark system settings, since the accent follows the operating system.
  6. Hover over the buttons on the tab strip.

Then, if something looks off:

What we are still working on

Nova will evolve after launch. Firefox 158 ships on October 13 with the expand-on-hover sidebar fix. We are also working on these, with no release date yet:

We will post again when these land.

For users who prefer the old look

Some of your users may miss Proton. From September 29, Mozilla is featuring a Firefox Proton theme in the Add-ons Manager for anyone who wants the previous look. It is a normal theme, so users can switch between it and yours at any time.

Resources

Questions?

We want your theme to look its best in Nova. If something looks wrong and the checklist does not fix it, tell us on Discourse and include a link to your theme and a screenshot. Those reports help us find the cases that need a Firefox fix rather than a theme change.

Thank you for making Firefox look like you and like your users.

The post Nova is here: what changes for your Firefox theme appeared first on Mozilla Add-ons Community Blog.

29 Sep 2026 3:34pm GMT

The Mozilla Blog: More modern. More flexible. Still Firefox.

What comes to mind when you think of Firefox? Is it our best-in-class privacy features and ad blocking capabilities? Our partnerships with Wrexham, NVIDIA or Mistral? Or maybe our adorable mascot Kit?

If you've been following Firefox this year, you've seen us add new ways to get things done while giving you more choice over how you browse. That includes browsing two pages side by side, adding an extra layer of privacy with built-in VPN, blocking trackers for smoother scrolling and faster load times, and deciding how AI shows up in Firefox.

For the past few months, many of you have also been trying out our new Firefox design in Nightly and sharing your thoughts with us as we continued to refine the experience.

Today, we're rolling out that design with FX 157 to everyone using Firefox across desktop and mobile devices. Firefox has done a lot of growing over the last year; now it looks the part.

A more modern Firefox

When we first shared our plans to design Firefox for the future, we said we wanted Firefox to feel "current, but not generic. Warm, but still precise."

That design ethos now carries across all of Firefox. We've refreshed the colors, icons and themes throughout the browser, from the tabs and toolbars you use every day to your New Tab page, Private Browsing experience and more, with no cost to your browser performance.

This shared design language across desktop and mobile gives Firefox a consistent foundation for new features and experiences, while keeping the personality that makes Firefox unique.

Make Firefox yours

We've added more choices for how Firefox looks and works, including the return of a feature many of you asked for:

Compact Mode is back. As people started trying the new design, we heard from many of you who wanted to fit more into your browser window. Compact Mode reduces the size of your tabs and toolbar to give more of your screen to the web, with an auto-compact option for smaller screens.

Find your look. A new theme picker makes it easier to explore different looks for Firefox, with new themes and wallpapers to choose from.

Set up New Tab your way. Choose what you want to see on your homepage. Now, you have a dedicated space to pin and organize shortcuts so sites you use all the time stay put.

Refined, not reinvented

Themes and wallpapers may change over time, but the things that made people choose Firefox in the first place are still the same. We're still independent and open source, with privacy protections built into the browser and controls that put you in charge of how Firefox works for you.

This carries through everything we build, from the height of your toolbars and what belongs on your New Tab page to which AI features show up in your browser, which model you choose and what context you want it to have.

Today's Firefox is a renewal, grounded in the same principles that have shaped it from the beginning, with a new design built to carry Firefox forward.

For those who have come with us on this journey, thank you for helping us shape the future of Firefox.

If you've been away on hiatus, welcome back. Try the latest Firefox and let us know what you think.

The post More modern. More flexible. Still Firefox. appeared first on The Mozilla Blog.

29 Sep 2026 1:00pm GMT

28 Sep 2026

feedPlanet Mozilla

Firefox Nightly: Shoutout to More Layouts – These Weeks in Firefox: Issue 210

Highlights

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons
WebExtension APIs

DevTools

External contributions
Team/Project Update

WebDriver

Fluent

Lint, Docs and Workflow

Information Management/Sidebar

New Tab Page

Picture-in-Picture

Search and Urlbar

Address Bar
Search
Places

Tests

28 Sep 2026 7:31pm GMT

25 Sep 2026

feedPlanet Mozilla

Firefox Tooling Announcements: MozPhab 2.21.0 Released

Bugs resolved in Moz-Phab 2.21.0:

Discuss these changes in #engineering-workflow on Slack or #Conduit Matrix.

1 post - 1 participant

Read full topic

25 Sep 2026 6:18pm GMT

24 Sep 2026

feedPlanet Mozilla

The Mozilla Blog: Classic, Private, or Smart? Choose the right Firefox window for every task

We spend a lot of time browsing online. Whether you are researching for work, planning a trip, paying your bills, or scrolling through social media, your browser is there for it all.

While all these tasks are very different in nature, a lot of people still tend to stick to the same window type for all their use cases. But what if there was a different way to browse?

You may have noticed Firefox now has three window options for desktop. On top of the Classic and Private windows you've known for years, a third choice has been rolling out in beta: Smart Window. This optional AI-powered browsing experience is built to move your work forward and help finish what you started online.

Following the recent addition of several new Smart Window capabilities, we thought now would be the perfect time for a breakdown of what each of our three window options actually does, and when to use them.

Classic: Timeless and tailored to you

Classic Window is still the most customizable option of the three. While Private and Smart windows share many of the same features and capabilities as Classic, a Classic Window offers the widest range of Firefox's standard personalization options. It gives you the broadest canvas for tailoring Firefox to the way you browse.

What makes it Classic:

When to use it:

Classic is your home base. It's the best place to start customizing around your browsing needs, whether that means an extension setup specifically tailored to your workflow, a special theme that matches your style, or just the familiar Firefox experience you created over years of tweaking to your personal taste. While many customizations are also available on Private and Smart window, Classic offers the most extensive line-up of optional browser features, extensions, and aesthetics to personalize your setup.

Classic is the right move for general browsing like scrolling through social media, conducting a quick Google search, or reading online articles. It's also the best place to start if you are looking to build your browser around you.

Private Window: Browse with greater peace of mind

Private Window stays true to its name and number one priority: it's designed to limit the information associated with your browser session. When a Private Window is closed, Firefox doesn't retain session information, such as what you searched for, the sites you visited, or the cookies they set.

What makes it Private:

When to use it:

A Private Window is recommended when you don't want activity from a browsing session sitting in your history, such as shopping for a gift. It's also helpful when browsing on a shared device, ensuring your history, logins, and cookies will not be saved for the next person.

You may not need a Private Window every time you open your browser, but it's always there for you when you do.

Smart Window: Firefox's privacy-first, AI-powered browsing experience to help get stuff done

Smart Window is Firefox's newest window type, currently rolling out in Beta to users in the U.S., Canada, and France. Think of it as a Classic Firefox window with a built-in AI assistant layered on top - one that you can choose to have utilize your open tabs, recent browsing, and the page in front of you, so it can help you do more without switching contexts - all with the privacy and security you expect from Firefox.

What makes it Smart:

When to use it:

Smart Window shines when you need a little extra help finishing what you started. Its ability to work with the context you choose to share can help you make progress on ongoing tasks that may require more than one session, like trip or event planning, comparison price shopping, or conducting research for work or personal reasons.

And with Smart Window's optional memories, which learn your patterns and preferences over time (with your permission), Smart Window gets more useful the more you use it, keeping you from having to spell everything out from scratch each time.

Selecting the right window for the job

None of these windows is "better" than the others, they're built for different moments.

The good news is you are never locked into one. Firefox lets you move between all three depending on what you're doing, so you can choose the window that fits each task.

You can access Classic and Private windows at any time from the Firefox menu. As for Smart Window, it remains in beta, with current availability to people in the U.S., Canada, and France.

To try Smart Window, visit https://www.firefox.com/smart-window. Or, if it's not available in your region yet, you can sign up to be notified when it is.

The post Classic, Private, or Smart? Choose the right Firefox window for every task appeared first on The Mozilla Blog.

24 Sep 2026 5:00pm GMT

23 Sep 2026

feedPlanet Mozilla

Thunderbird Blog: Thunderbird Monthly Development Digest: September 2026

Greetings once more from the Thunderbird development team!

As the Northern hemisphere summer comes to an end and a slew of PTO, company holidays and projects have wrapped up, what better time to share progress and next steps on the work the Thunderbird Desktop Engineering team has on their plates!?

Exchange support moving well

The powerhouse Exchange engineering team had some great momentum over the summer and completed their work on implementation of the Graph protocol to support email accounts - well in advance of their deadline. They have since moved on to start work to support Exchange calendars using the Graph protocol which is a significant milestone given that our calendar code hasn't had significant changes for some time.

While some team members are now juggling multiple projects, good progress has been made to wrestle the foundations into place, with calendar discovery and persistence in place, along with display of calendar items. Following a brief hiatus to focus on other priorities, the team is once again back into gear.

Keep track of our Graph API Calendar implementation here.

Account Setup & Authentication

Since I last wrote, many of the account setup and account authentication improvements have landed (mostly in versions 156 & 157), unlocking some important security use cases which are becoming more frequently requested and mandated by organizations and legislation around the world.

While diving into the code is an enjoyable adventure, the newly-minted articles devoted to the topic of Oauth customization might be a better starting point for most:
Knowledge Base - Custom OAuth for Thunderbird

UI overhauls - why just one?!

The front end engineering team has completed the rebuild of our account setup manual configuration flows to include new protocol options and security customizations, so it is time to pick up where we left off on our Calendar UI rebuild.

The majority of the front end team is now either focused on Calendar Event data write operations stemming from the Event Read dialog (delete event, RSVPs, Reminders) - or beginning the largest part of the journey, which is the implementation of a new Calendar Create/Edit dialog, along with REDUX-based state management, a new WYSIWYG editor and more reusable components such as date pickers.

Follow the Calendar Event Create/Edit work here

While that work is underway, why not weave in some more improvements?!

After some extensive user research and testing, our design team has begun work to improve the Settings UI, starting with some updates to humanize and homogenize the various options, headings and guidance provided in that area of the application.

Read more about that journey here

Contributions are on the rise! Some AI guidance…

In the past few months, we've seen a wonderful increase in contributions from community members - partially thanks to our move away from Mercurial to a more familiar Git-based workflow - and partially thanks to many LLMs doing a great job of interpreting our public codebase and making it far more accessible. Or it could be that our team is just such a friendly bunch that we've attracted a great group of people willing to support.

Whatever the reason, we're happy to see new names. faces and ideas in our chats and review queue!!

Having said that…We've reached the point where the velocity of work is beginning to pile up and clog our review queue - so I felt it might be time to share some guidance to make the process easier for both external contributors and the internal review team. Bear in mind that while we use AI workflows in several areas, our goal is to preserve a codebase which can be maintained by humans. We're working on a policy that may word some of these points better, but from the past few months of my experience here's what I see as being helpful:

  1. Keep patches to a digestible size and understandable complexity - Contributions should save more development time than it takes to review. If the patch contribution creates heavy work for maintainers, it will be deprioritized - so the best approach is to break the work up into pieces that can be understood more easily and discussed together. Bear in mind that many cloud-based models aren't primarily designed to be frugal with token usage so it's easy for patches to grow (much) larger than they actually need to be to solve the problem. Be specific with prompts to minimize the surface area of changes so they are reviewable.
  2. Humanize or write comments (within code and throughout the code review process) by hand - While we've become accustomed to interacting with a variety of automated systems in our daily lives, a good chunk of the joy involved in our work is to share knowledge with each other and refine the code so that it can be reused and understood by humans.
  3. Be wary of license infringement - much of our work is under the MPL license and we must all take care not to introduce refactored code that originally came from licensed software which can be rewritten and translated using LLM, then relabelled under our licence.
  4. Be transparent - it will often help to share prompts and your model when submitting code for review. Refining all aspects of our workflow is important, and we can all benefit from a collective evolution of skills and prompts that improve over time with input from the team and community.
  5. We encourage contact with a member of the team to discuss approach and architecture in advance of spending time and tokens on a patch. Some areas of the codebase are already slated for redevelopment and it's not always obvious what is underway and planned. Having a quick conversation to say "Hey, I'm thinking about working on this" is a great start to landing something that spends less time in review and uses less tokens, energy & the world's natural resources.
  6. Of course if none of these guidelines are followed, we'll still be very happy to receive help from the wider community - the process may just take longer and be a bit less pleasant.

Enterprise

As parts of the world turn their infrastructure priorities toward digital sovereignty, we've seen an increase in interest from governments, institutions and organizations around the world who are looking to either improve their existing FOSS-based infrastructure or deploy for the first time. That has resulted in some focused efforts throughout Q3 to improve our Enterprise security and policy framework to bring it in line with the strides that the Firefox engineering team has made, and also roll out more Thunderbird-specific administrative mechanisms that allow granular control over end user configurations. Read more about your options and follow the work below:

Thunderbird Enterprise Policies and Relevant Preferences

Thunderbird Enterprise PoC Work Items

Maintenance, Upstream adaptations, Recent Features and Fixes

Waves of changes from upstream Firefox have continually kept the team on their toes throughout July & August, but the small but mighty gang have kept Daily builds largely intact each day. In addition, the team and contributor community have continued landing a series of reliability, stability, and usability improvements across the application. Recent highlights include:

If you would like to see new features as they land, and help us find some early bugs, you can try running daily and check the pushlog to see what has recently landed. This assistance is immensely helpful for catching problems early.

-

Toby Pilling

Senior Manager, Desktop Engineering

The post Thunderbird Monthly Development Digest: September 2026 appeared first on The Thunderbird Blog.

23 Sep 2026 10:35pm GMT

Firefox Tooling Announcements: MozPhab 2.20.0 Released

Bugs resolved in Moz-Phab 2.20.0:

Discuss these changes in #engineering-workflow on Slack or #Conduit Matrix.

1 post - 1 participant

Read full topic

23 Sep 2026 4:45pm GMT

This Week In Rust: This Week in Rust 670

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
Foundation
Project/Tooling Updates
Observations/Thoughts
Rust Walkthroughs

Crate of the Week

This week's crate is fastlogging-rs, a fast logger which supports 8 different programming languages.

Thanks to brmmm3 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.

RFCs
Rust
Rustup

If you are a feature implementer and would like your RFC to appear on the above list, add the new 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.

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.

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

618 pull requests were merged in the last week

Compiler
Library
Cargo
Rustdoc
Clippy
Rust-Analyzer
Rust Compiler Performance Triage
Approved RFCs

Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation 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

Rust

Cargo

Compiler Team (MCPs only)

Leadership Council

No Items entered Final Comment Period this week for Rust RFCs, Language Team, Language Reference or Unsafe Code Guidelines. 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-09-23 - 2026-10-21 🦀

Virtual
Asia
Europe
North America
Oceania
South America

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

operational pedantics

- Clar Fon on rust zulip

Thanks to Jules Bertholet for the suggestion!

Please submit quotes and vote for next week!

This Week in Rust is edited by:

Email list hosting is sponsored by The Rust Foundation

Discuss on r/rust

23 Sep 2026 4:00am GMT

22 Sep 2026

feedPlanet Mozilla

Firefox Tooling Announcements: Happy BMO Push Day! (20260922.1)

Github Link

The following changes have been pushed to bugzilla.mozilla.org:

Thanks to Kohei for his work on the newly revised Guided Bug Entry form! If you want to check it out yourself, then click on the Switch to Bugzilla Helper link at the bottom of the enter bug product selection page. Normally users without canconfirm permissions will see the Guided Bug page by default which a large percentage of our Bugzilla users.

Discuss these changes in the BMO Matrix Room

1 post - 1 participant

Read full topic

22 Sep 2026 10:25pm GMT

Firefox Tooling Announcements: Firefox Profiler Deployment (September 22, 2026)

The latest version of the Firefox Profiler is now live! Check out the full changelog below to see what's changed:

Highlights:

Other Changes:

Big thanks to our amazing localizers for making this release possible:

Find out more about the Firefox Profiler on profiler.firefox.com! If you have any questions, join the discussion on our Matrix channel!

1 post - 1 participant

Read full topic

22 Sep 2026 4:42pm GMT

Firefox Tooling Announcements: Firefox DevTools MCP 0.10.4 released

Firefox DevTools MCP (firefox-devtools-mcp) 0.10.4 is out on npm.

Changes

This release only contains additional hooks and configuration files to register Firefox DevTools MCP on various third-party aggregators, as well as a new task to automatically register the mcp on https://registry.modelcontextprotocol.io/ on release.

Full changelog: Release v0.10.4 · mozilla/firefox-devtools-mcp · GitHub
Repository and issues: GitHub - mozilla/firefox-devtools-mcp: Model Context Protocol server for Firefox DevTools - enables AI assistants to inspect and control Firefox browser through WebDriver BiDi · GitHub
Public chatroom: https://chat.mozilla.org/#/room/#firefox-devtools-mcp:mozilla.org

1 post - 1 participant

Read full topic

22 Sep 2026 12:43pm GMT

The Rust Programming Language Blog: Announcing a Maintainer in Residence: Scott Schafer for the Cargo team

At the end of August, we announced our first Maintainers in Residence, Rust Project contributors who are funded for their upstream contributions and maintenance work from the Rust Foundation Maintainers Fund (RFMF). Since then, the Rust Leadership Council has dedicated more funds from its Project Priorities budget to RFMF, and together with AWS also providing additional funds, this allowed us to open a new full-time Maintainer in Residence (MiR) position to support the Cargo team. We would like to thank the Rust Leadership Council, AWS, and also the Rust Foundation for providing us with this opportunity! If you would like to help us hire more maintainers to improve Rust, consider donating to RFMF.

This post explains why we chose to support the Cargo team specifically, and introduces Scott Schafer, the new Cargo Maintainer in Residence.

Why Cargo?

The new MiR full-time position is dedicated to helping with the maintenance of Cargo, our build system and package manager. The Cargo project is deeply involved in many new Rust features, improvements, and Project Goals. Combined with its cross-cutting nature, where it has to support many different use-cases and integrate with several other tools, it takes a lot of work just to keep up with its maintenance needs, let alone support so many feature requests and proposed changes.

Because of that, the Cargo team has sometimes struggled with meeting its maintenance demands. You might remember that for several years, it actually held a feature freeze, to reduce Cargo's internal tech debt, perform necessary refactorings, go through the issue and pull request backlog, and come up with scalable internal development and design processes, so that they could eventually go back to even thinking about adding new features.

Recently, some changes occurred within the team, which made it more difficult for them to meet their maintenance baseline. Some members of the team left, while others lost their dedicated funding for working on Cargo maintenance and had to scale down their involvement. The Funding team thus considered it very important to support this team, given that we had an opportunity to do so. And thus we decided to hire a full-time maintainer to work on Cargo for (at least) the next 12 months.

Even though we know that a single full-time maintainer will not completely solve the maintenance struggles of the Cargo team, we hope that it will improve the situation, and provide a bit of a relief for the team.

Introducing Scott Schafer

We are very happy to welcome Scott Schafer (@muscraft) into the Maintainer in Residence role! Scott has joined the Cargo team three years ago, and apart from working on Cargo, he is also the lead of the Rust Docker team, which prepares official Docker images for every Rust version.

Apart from working on general maintenance of Cargo, Scott has implemented Cargo's Workspace inheritance feature, and has also spearheaded a complex multi-year effort to switch the rendering of diagnostics in the Rust compiler to use the annotate-snippets crate. This effort has been completed in the Rust 1.93.0 release. Thanks to it, the same diagnostics interface can now be shared between the compiler and Cargo (and also other tools), which amongst other things unblocked further development of the Cargo linting system, which has now been stabilized and will ship in the Rust 1.100.0 release.

Everyone we talked about was very excited about Scott becoming a Cargo Maintainer in Residence, and we share that feeling. We wish Scott all the best in his new role, and we are very happy that we can support his maintenance work.

Here is what Scott thinks about it:

I am incredibly excited to work on Cargo full-time! There have been so many things that I wish I could've worked on over the years, that I will now be able to get to. I hope that my efforts will bring Cargo into a more maintainable state.

Conclusion

We are incredibly happy that we keep getting more funds for the Rust Foundation Maintainers Fund, which allows us to support Rust Project contributors. The funding team will be working with the supported maintainers, and also the funders, to ensure that they are all happy with the arrangement, so that we can secure stable funding for Rust maintenance for years to come.

If you would like to help us support more Rust maintainers, consider donating to RFMF!

22 Sep 2026 12:00am GMT