11 Sep 2026
Planet Mozilla
Firefox Nightly: The Need for Speed Controls – These Weeks in Firefox: Issue 208
Highlights
- Firefox 154 went out today! Lots of goodies in there for our users, including support for NVIDIA GeForce NOW
- The new 2 week release cycle is now in effect. This means that Firefox 155 is slated to hit release on September 1st!
- You can follow along at https://whattrainisitnow.com/
- As part of the Nova redesign, a "Use Linux system theme" checkbox is being shown on Linux builds for the about:addons theme picker, which will make Firefox's Nova UI use the colours of the system theme.
- Thanks to Simon Rosen for adding a new playback speed control to the PiP player. The feature can be enabled by flipping the pref media.videocontrols.picture-in-picture.playback-speed.enabled.

Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Benoit
- Chris Vander Linden
- Fede
- japandi
- Lukáš Lipinský
- Nirmal Advani
- Ruhollah Majdoddin
- Sameem [:sameembaba]
- Sebastian Zartner [:sebo]
- Zyphrenn
New contributors (🌟 = first patch)
- Aditi: Increase the maximum number of PDF.js preferences
- Fede:
- Giulio B: frameId is wrong in webRequest events triggered via importScripts
- 🌟 Gopalarathnam Venkatesan: Fix incorrect 'this' in the Sync add-on install error handler
- 🌟 Kevin Gosse: nsDataObj::QueryGetData in Firefox returns E_FAIL for formats it doesn't carry, instead of DV_E_FORMATETC per the COM contract
- 🌟 mikey gough: Remove three unused devtools.debugger.file-search-* preferences
- 🌟 Nathan Leuz: Remove unused legacy preference browser.translation.neverForLanguages
- 🌟 Priyanshu[:0xanshu]: "Forget About This Site" dialog is cut off
- 🌟 K: Disable breakpoints shortcut
- 🌟 Shawn Zivontsis: Reorder moz_origins composite unique index to UNIQUE(host, prefix)
- 🌟 Simon Rosen: Suggestion: Add speed button for Youtube in picture-in-picture(PiP) modals
- tanvi.manku: unnecessary scrollbars in edit dialogs for payments and addresses
- Zyphrenn:
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- As part of Nova about:addons work:
- Replaced the "more themes" button in the themes list view footer with a promo element when Nova is enabled - Bug 2057200
- Removed the testing XPI base url pref from ThemesList.sys.mjs - Bug 2053220
- Fixed a mismatch between the popup panel border radius applied by Nova and the border radius applied to the document.body of the WebExtensions popup page loaded into it - Bug 2057844
- Moved new strings added as part of the about:addons Nova restyling out of the locales preview - Bug 2052034
- As part of legacy telemetry cleanups for the Add-ons related telemetry, migrated addons-search-detection telemetry off the legacy telemetry mirroring path, now collected only through Glean - Bug 2055606
WebExtensions Framework
- Fixed a series of intermittent and CI-reliability test failures across the WebExtensions browser-chrome test suite - Bug 1575369 / Bug 1697626 / Bug 1699341 / Bug 1974953 / Bug 2015004 / Bug 2030542 / Bug 2062186 / Bug 2062187 / Bug 2062189 / Bug 2062191 / Bug 2062193
- Thanks to Florian Quèze for applying his work on an LLM-based system for investigating intermittent tests to investigating and fixing intermittents and perma failures across the WebExtensions test suite.
DevTools
- Ruhollah Majdoddin fixed issues in the Storage panel to make sure we're only showing relevant cookies (and their values) for the debugged tab (#1856645, #2060029, #2061166) and also did some cleanup in this area (#2061348)
- sevenwithawp added a keyboard shortcut (Ctrl+Alt+B, Cmd+Alt+B on Mac) to disable/enable breakpoints (#1642578)
- Hubert Boma Manilla (:bomsy) continues his work to display stylesheets in the Debugger (#2051029, #2051264)
- Preference: devtools.debugger.features.stylesheets-in-debugger
- Nicolas Chevobbe [:nchevobbe] added support for ::picker() rules in pseudo element section (#2042839)
- Used by customizable select (MDN)
- Preference: dom.select.customizable_select.enabled

- Nicolas Chevobbe [:nchevobbe] made CSS explainers work for substitution functions (var(), attr() and env()) (#2041622)
- Preference: devtools.inspector.css-explainers

- Julian Descottes [:jdescottes] fixed an accessibility bug in about:debugging where error message where not announced (#2056332)
WebDriver
- Sameem added the cleanup logic for subscriptions when a browsing context is destroyed.
- Nirmal Advani updated the Actions API to fire the dblclick event when performing a double-click while holding down the Ctrl key on non-macOS platforms.
- Khalid AlHaddad updated the webdriver bidi moz:debugging module to stop using enterNestedEventLoop which can avoid conflicts with the regular DevTools' debugger.
- Alexandra Borovova fixed the "browsingContext.reload" command to not fail for frames.
New Tab Page
- Big ticket items:
- Did a trainhop last week to help with the remote layouts effort
- Doing another trainhop this week to make some spacing optimizations, deploying tomorrow if all goes well
- We will be experimenting with some more layout variations over the next few months
- Example:

- We've migrated a bunch of our unit tests to Jest/RTL from the deprecated Mocha / Karma framework we've historically used.
- Joel added a WebNotifications badge to Top Sites on the New Tab Page which surfaces per-origin unread web-notification state directly on TopSites tiles by rendering a compact badge in the activity-stream/TopSites component-users can now glance at NTP tiles to see which sites have pending web notifications without changing navigation or site state (affects desktop and mobile NTP Top Sites UI). This is something we plan on experimenting with later this year.
- Similarly, Joel added a TopSites hover card with notifications which expands the to show per-site notification items and actions on hover or long-press, enabling users to read and dismiss notifications from the NTP itself rather than opening each site.
- Hanna Alemu fixed the focus outline for the "Learn how we protect your data" link in NEWTAB_PERSONALIZATION_MESSAGE, replacing the blue non-rounded ring with the standard rounded focus style via CSS so keyboard and assistive users get a consistent, discoverable focus indicator.
- Maxx Crawford added logic to show different tip messages throughout the day/week on the New Tab Page in the upcoming privacy widget, implementing time-of-day/day-of-week selection in the tip renderer so users receive context-varying tips rather than a static message, which affects the tip surface and supports time-targeted experiments.
- Irene Ni removed the New Tab daily briefing slice from the New Tab Page, so users will no longer see the daily-briefing card on new tabs and related New Tab slice prefs/registrations were cleaned up.
- Jack Brown migrated the New Tab ContextMenu/LinkMenu implementation to the panel-list component, so right-click menus and link context behavior on the New Tab now use panel-list rendering (affects keyboard navigation, theming, and menu perf).
- Irene Ni removed a root-level <hr> selector from the Weather forecast widget SCSS that leaked global divider styles into the New Tab Page layout, restoring correct dividers and preventing spacing/layout regressions on about:newtab.
- Irene Ni enabled the remote-settings-driven sections layout in Nightly, flipping the remote-settings/sections layout so Nightly users receive Discovery Stream section composition from Remote Settings.
- Irene Ni automated the New Tab Page locales update for train-hop to ensure locale bundles are refreshed on train deploys so users see corrected translations and no longer encounter stale labels after a hop.
- Reem Hamoui fixed the Crossword widget double-counting and removed broad "interaction" user_actions so telemetry and UX-triggered actions reflect a single user event and analytics driven by user_action are no longer inflated.
- Dre fixed the "Show more widgets" visibility by adjusting the widget container overflow/visibility logic so the Show more control is reliably revealed on constrained viewports, restoring widget discoverability.
- Joel fixed newtab.closed and newtab.sections_impression firing unexpectedly on the New Tab Page by gating event emission on section visibility and tab lifecycle, which stops spurious impression and close telemetry pings and improves the accuracy of NTP impression/close counts for affected users.
- Joel added a topsite display customization event to newtab ping, updating the New Tab ping schema so user topsite layout and appearance changes are emitted as topsite.display_customization events, enabling reliable capture of pin/remove/resize/customization actions in Telemetry.
- Nina Pypchenko [:nina-py] added widgets.stocks.interaction and flip it on user actions so explicit click/tap interactions with the Stocks widget now generate widgets.stocks.interaction events, improving engagement capture for the Stocks surface.
- Nina Pypchenko [:nina-py] migrated the Stocks widget telemetry to the shared useWidgetTelemetry hook, standardizing how the Stocks widget emits metrics and ping fields to match other widgets, which reduces missing/duplicate events and makes per-widget telemetry consistent across platforms.
- Irene Ni created an initial JSON dump of Remote Settings sections layouts for cold startup to prepopulate New Tab Page sections on first launch and reduce layout flash or missing tiles.
- Nina Pypchenko [:nina-py] added a persistent "New" badge to the Stocks widget until first user interaction, which improves discoverability of the Stocks card and is cleared on the user's first click/tap.
- Maxx Crawford implemented a side-by-side content layout variant for the New Tab Page feed, which introduces a new responsive layout option that changes feed column behavior and visual density on wider viewports.
- Scott Downe added support for five-column content feed layouts, which enables denser content grids for large displays by updating grid logic and responsive breakpoints and affects NTP rendering on wide screens.
- Dre added a "Celebrations" UI state to the Privacy Widget, which surfaces milestone/celebratory visuals and transient animations in the Privacy Widget when triggers are satisfied.
- Irene Ni updated the New Tab topsite context menu button to respect prefers-reduced-motion via CSS/media-query changes, so users with reduce-motion enabled no longer see the button's motion/animation.
- Scott Downe expanded New Tab's list of region and locales for content support, updating the New Tab content selection config and region→locale mappings so more users in newly-added locales receive localized tiles and recommendations on the New Tab Page.
- Irene Ni fixed the New Shortcut / Edit Shortcut prompt background being transparent with the Newtab addon installed, restoring CSS/background opacity for the edit UI so shortcut editing is readable across themes and addon combinations.
- Maxx Crawford added a dedicated trainhopConfig.widgetPrivacy payload for the Privacy widget feature, introducing a per-trainhop config payload in Discovery Stream so Privacy widget rollouts and toggles can be controlled without code deploys.
- Maxx Crawford added a layout management panel in Discovery Stream Admin, giving editors an admin UI to modify New Tab/stream layouts (reduces manual config edits and speeds layout experiments).
- Dre reduced the Privacy Widget celebration sparkles on the New Tab Page in Privacy Widget Celebration: Reduce the Sparkles by lowering particle counts and throttling animation cadence in the widget's CSS/JS animation code, reducing visual noise and a small amount of GPU/animation work for users during the celebration without changing privacy settings.
- Maxx Crawford restored the "Change size" context menu item for the side-by-side experimental New Tab layout so users with the side-by-side exp layout enabled regain the resize control in widget context menus.
- Maxx Crawford stopped the sports widget from rendering regardless of the pref so unwanted sports content no longer appears on New Tab when the pref should prevent it.
Picture-in-Picture
- Thanks to Lukáš Lipinský for adding live event caption support for ceskatelevize.cz!
- Thanks to Mike Conley for fixing play / pause issues with the PiP player on Udemy.
Search and Urlbar
- Nova: continued work on the Nova redesign, focusing on CSS fixes, tab group and container styling, and tab/address bar polish. Efforts are underway to ensure the UI integrates correctly with platform themes and high-contrast modes.
- IPC Urlbar / Multi-Context Address Bar (MCAB) on New Tab: Significant progress has been made on the IPC Urlbar implementation. The CI variant is now live and upgraded to Tier 2, allowing for better bug detection. Currently focused on making content modules content-process-safe and preparing for new tab search bar integration. Here's moz-urlbar rendering something on about:newtab for the first time:

- Post-MVP work continues on refining the new search bar that can be added to the toolbar.
- Google address bar messaging experiment relaunched.
- Search & Suggest Telemetry: Development is ongoing for search term telemetry, specifically regarding fetching results from Merino for online suggestions. Also preparing to retire legacy telemetry for certain search service metrics.
- Favicon & Places:
- Also trim www from URLs, behind pref
11 Sep 2026 5:32pm GMT
Jonathan Almeida: Perf wins from relocating MOZ_OBJDIR have a dev experience cost
This is the opposite of what I wanted to write about: relocating your MOZ_OBJDIR outside of your source directory will make your IDE faster.
In mozilla-central (the firefox monorepo), a default object files directory is created within the same source directory. This is equivalent to the build/ directory you would typically see in other projects.
While this is typically fine, I've found that Android Studio indexes many of these files and that can be slow when you're not working across all the layers in Gecko and Firefox. I ended up with these build directories that grew over time:
| Directory | Last touched | Size | Files |
|---|---|---|---|
| obj-aarch64-unknown-linux-android | 2025-11-04 | 29 G | 113,116 |
| objdir-desktop | 2025-11-04 | 19 G | 41,010 |
| objdir-frontend | 2026-09-09 | 6.3 G | 66,930 |
| obj-aarch64-apple-darwin24.5.0 | 2025-06-16 | 4 K | 1 |
That's a lot to index! I figured a way around this problem is to move the OBJDIRs out of the source directory and into something like ~/.mozbuild:
mk_add_options MOZ_OBJDIR="$HOME/.mozbuild/objdir-frontend"
While this does speed up IDE indexing, it's at the cost of developer experience, because now our generated code (e.g. FxNimbus) shows up as red symbols everywhere.
[insert sad trombone sound clip]
I'm uncertain if trimming what we index in these OBJDIRs is worth a large enough performance win, so for now I'll ensure I clean-up my stale copies which I'm not actively using.
11 Sep 2026 12:00am GMT
10 Sep 2026
Planet Mozilla
About:Community: Game on: Play, share, and help shape Mozilla
P.S. Apologies for the delay in publishing this edition on the community blog. The original newsletter was sent to subscribers on August 27.
Firefox was leveling up in August! GeForce NOW arrived on Firefox for Windows, JPEG XL support was on the way, and the Firefox + NVIDIA teams joined forces for a Reddit AMA. We also invited SUMO and Mozilla Connect contributors to share their experiences through the Mozilla Contributor Survey, which has since closed (thank you to everyone who took the time to participate!).
Read on to catch up on what you may have missed and see what the community was up to!
GeForce NOW is now available on Firefox for Windows
Firefox has joined NVIDIA GeForce NOW's supported browser lineup, making it possible to stream more than 2,000 PC games directly from Firefox on Windows. There are no downloads, installs, or hardware upgrades required! Just a Windows PC, a GeForce NOW account, and your existing game library.
Share your voice in the Mozilla Contributor Survey 2026
We're gathering feedback from SUMO and Mozilla Connect contributors to help shape the future of Mozilla's contributor community. The 2026 Contributor Survey explores what motivates you to contribute, what matters most throughout your contributor journey, and how we can improve areas such as onboarding, recognition, and the upcoming Mozilla Connect migration to SUMO. The survey takes about 10 minutes to complete and is now open until September 1, 2026, end of day UTC.
JPEG XL is coming to Firefox
Firefox plans to ship support for JPEG XL, a modern image format designed to deliver high-quality images more efficiently. With progressive rendering, images can start appearing before they have fully downloaded so it helps make pages feel faster, especially on slower connections.
From the Reddit Community
The Firefox and NVIDIA GeForce NOW teams are hosting a Reddit AMA on September 2 to celebrate GeForce NOW support on Firefox for Windows. Bring your questions about the integration, share your cloud-gaming setup, and let the teams know what else you'd love Firefox to support for online play.
P.S.
Enjoyed these updates? Subscribe to the Mozilla Community Newsletter and get the latest updates delivered straight to your inbox.
10 Sep 2026 3:05pm GMT
