Collapsed tab group hover preview is going live in Firefox 145!
Caption: A collapsed Firefox tab group is hovered, showing a dropdown listing three tabs in a group labeled “Firefox stuff!” The results include “Download Firefox for Desktop — from Mozilla,” “Firefox browser features — Firefox” (currently open), and “Firefox - Wikipedia.”
Nicolas Chevobbe added a feature that collapses unreferenced CSS variables declarations in the Rules view (#1719461)
The Firefox Developer Tools Style Rules view showing a list of CSS rules applied from multiple stylesheets, including activity-stream.css, tokens-brand.css, and tokens-shared.css. Each rule is shown with its selector, and links to the line numbers in their respective stylesheets. Some rules include expandable boxes with messages similar to “Show 45 unused custom CSS properties,” indicating detection of unused variables or properties.
Alexandre Poirot [:ochameau] added a setting to enable automatic pretty printing in the Debugger (#1994128)
Caption: The Firefox Developer Tools Debugger settings menu is expanded. The settings gear icon is selected, displaying options such as “Disable JavaScript,” “Inline Variable Preview,” “Wrap Lines,” “Source Maps,” “Hide Ignored Sources,” “Ignore Known Third-party Scripts,” “Show paused overlay,” and “Automatic pretty printing,” with several options checked, and the last one hovered. A tooltip at the bottom says, “All sources in the debugger will be automatically pretty printed.”
Improved performance on pages making heavy usage of CSS variables
Caption: A table comparing performance improvements in selecting the body element across four websites. The table has three columns: “Before (ms),” “After (ms),” and “%.” For hh.ru, the time improved from 3000 ms to 400 ms (−86.67%). For pinterest, 640 ms to 140 ms (−78.13%). For bulma, 820 ms to 250 ms (−69.51%). For youtube, 250 ms to 100 ms (−60%). All percentage improvements are shown in bold. The header row is shaded blue, and the first column cells are shaded green.
Jared H added a "copy this profile" button to the app menu (bug 1992199)
Caption: The Firefox profile management menu with three options: “New profile” with a plus icon, “Copy this profile” with a duplicate icon (hovered), and “Manage profiles.”
Khalid AlHaddad
Kyler Riggs [:kylr]
Alex Stout
Khalid AlHaddad
Jim Gong
Mason Abbruzzese
PhuongNam
Thomas J Faughnan Jr
Mingyuan Zhao [:MagentaManifold]
Fixed an issue that was preventing dynamic import from resolving moz-extensions ES modules when called from content scripts attached to sandboxed sub frames - Bug 1988419
Thanks to Yoshi Cheng-Hao Huang from the Spidermonkey Team for looking into and fixing this issue hitting dynamic imports usage from content scripts
As a followup to the work to improve the extensions button panel’s empty states, starting from Nightly 146 Firefox Desktop will be showing a message bar notice in both the extensions button panel and about:addons to highlight to the users when Firefox is running in Troubleshoot mode (also known as Safe mode) and all add-ons are expected to be disabled, along with a “Learn more link” pointing the user to the SUMO page describing Troubleshoot mode in more details - Bug 1992983 / Bug 1994074 / Bug 1727828
Caption: Firefox Extensions panel showing a message stating, “All extensions have been disabled by Troubleshoot Mode.” Below the message is an illustration of a fox peeking through a cityscape made of puzzle pieces. A message beneath the image says, “You have extensions installed, but not enabled. Select ‘Manage extensions’ to manage them in settings.” A “Manage extensions” link is displayed at the bottom.
gopi made the Rule view format grid-template-areas even when the value is invalid (#1940198)
Caption: Side-by-side CSS code blocks showing a change in the grid-template-areas property for the body selector. The top block shows the "before" version with the grid-template-areas line struck through and a warning icon, indicating an issue. The "after" version below shows the same grid-template-areas split across multiple lines for improved readability and formatting, with the warning icon still present.
Emilio Cobos Álvarez fixed an issue where editing constructed Rule in the shadow DOM would make them disappear (#1986702)
Nicolas Chevobbe fixed a bug that would render erroneous data in the var() tooltip for variables defined in :host rule on shared stylesheet (#1995943)
Julian Descottes improved inspector reload time when shadow DOM element was selected (#1986704)
Hubert Boma Manilla fixed an issue where we could have duplicated inline preview when paused in the Debugger (#1994114)
Nicolas Chevobbe [:nchevobbe] exposed devtools.inspector.showAllAnonymousContent in the settings panel (#1995333)
A section of Firefox Developer Tools settings under “Inspector.” Under “Inspector,” a new option “Show Browser Shadow DOM” is checked and highlighted, with a note saying “(reloads the page).”
Khalid added a dedicated switch_to_parent_frame method to the WebDriver Classic Python client, and renamed the existing switch_frame method to switch_to_frame for consistency with the WebDriver specification.
Julian updated the network.getData command to return response bodies for requests using the data: scheme.
Julian fixed a bug where different requests would reuse the same id, which could lead to unexpected behaviours when using commands targeting specific requests (e.g. network.provideResponse, network.getData etc…).
Sasha updated the reset behaviour of "emulation.setLocaleOverride" and "emulation.setTimezoneOverride" commands to align with the spec changes. With this update, when calling these command to reset the override for e.g. a browsing context, only this override will be reset and if there is an override set for a user context, related to this browsing context, this override will be applied instead.
ESLint
We are working on rolling out automatically fixable JSDoc rules across the whole tree. The aim being to reduce the amount of disabled rules in roll-outs, and make it simpler for enabling JSDDoc rules on new areas.
jsdoc/no-bad-blocks has now been enabled.
jsdoc comments are required to have two stars at the start, this will raise an issue if it looks like it should be a jsdoc comment (e.g. has an @ symbol) but only one star.
jsdoc/multiline-blocks has also been enabled.
This is being used mainly for layout consistency of multi-line comments, so that the text of the comment does not start on the first line, nor ends on the last line. This also helps with automatically fixing other rules.
StyleLint
More rules have been enabled - background-color tokens, space tokens, text-color tokens, box-shadow tokens
A new rule has been added to prevent using browser/ css files in toolkit/
We’ve disabled the IE migrator by default now, since IE (the separate browser, not the compatibility mode) stopped being supported by Microsoft in 2022. We will let this ride to release, and then begin the work of removing support entirely.
To help users migrate their data off of Windows 10, we’ve revived the Backup effort, and have landed a number of fixes:
Restores now preserve the user’s default profile if it was default pre‑backup, and the prior profile is renamed to old-[profile name] for clarity. This prevents unexpected startup profiles after a restore and makes rollback obvious in Profile Manager.
The restore file picker (restore modal and about:welcome restore) now opens at the detected backup location, cutting navigation friction and errors.
The primary CTA label in about:preferences updates correctly (“Manage backup” → “Turn off backup”) immediately after enabling, aligning UI state with functionality.
The “Backup now” button is hidden until backup is enabled, avoiding a dead‑end action and guiding users through the correct setup sequence.
Enterprise policy prefs were added for fxbackup, enabling admins on Windows/macOS/Linux to enforce/lock backup availability and behavior for managed users.
Error and warning banners in about:preferences were updated to match spec for clearer state and failure messaging.
The backup HTML archive support link now points to the correct documentation.
Copy updates clarify what cookie data is included in backups, improving user expectations and privacy transparency.
We successfully train-hopped New Tab version 145.1.20251009.134757 to 100% of the release channel on October 20th!
New Tab defaults and freshness: DiscoveryStream cache now expires when browser.newtabpage.activity-stream.discoverystream.sections.enabled changes, so toggling layouts updates content immediately. First‑run shows far fewer placeholders, improving perceived load. Startup correctness improves by keying the about:home startup cache on the newtab add-on version.
Accessibility, keyboard, and RTL: Fixed a broken focus order where Settings jumped ahead of Weather. For Windows High Contrast Mode, story cards no longer disappear on hover and get clearer visuals. RTL locales now get intuitive reversed arrow-key navigation across story cards.
Weather opt-in and reach: Opt-in flow now surfaces “Enable current location” and adds a “Detect my location” context-menu action; availability expands to more regions, reducing setup friction and increasing coverage.
Visual polish and correctness: Standardized opacity plus hover/blur effects make story cards feel more responsive; made sure the search bar stays vertically centered while scrolling. Medium refined cards now show longer publisher names without affecting small cards.
Wallpaper and language fixes: Missing custom wallpaper thumbnails now load reliably, and a friendly error state appears if Remote Settings wallpapers fail. The language switcher no longer lists add-on locales, restoring expected language selection.
Marker tooltips now have a ‘filter’ button to quickly filter the marker chart to similar markers:
Caption: The Firefox Profiler marker chart showing a very dense cluster of test markers across many test files, mostly labeled in green. A tooltip is open for the marker test_nimbus_newtabTrainhopAddon.js, indicating that the test ran for 14.2 seconds with status: FAIL. The corresponding row is highlighted in orange, and a filter icon appears next to the tooltip with the option to "Only show test_nimbus_newtabTrainhopAddon.js markers.” The bottom timeline includes thread activity with diamond and block-shaped markers.
Link to the profile in the screenshot: https://share.firefox.dev/42kDTuf (and after filtering: https://share.firefox.dev/4gQHPsx)
This is a resource usage profile of an xpcshell test job. To see them, select a test job in treeherder and press ‘g’.
Profiles is rolling out to all non-win10 users in 144, looking healthy so far
Niklas refactored the BackupService to support using it to copy profiles (bug 1992203)
Jared H added per-profile desktop shortcuts on Windows (bug 1958955), available via a toggle on the about:editprofile page
Dave fixed an intermittent test crash in debug builds (bug 1994849) caused by a race between deleting a directory and attempting to open a lock file. nsProfileLock::LockWithFcntl now returns a warning instead of an error in this case.
New Features
We are working on enabling better search suggestions in the address bar (link to blog post).
Mandy has rolled out Perplexity as a new engine to all users
Google Lens is being rolled out to users in 144 with additional in-product demoing.
Address Bar
Daisuke has implemented a prototype for flight status suggestions @ 1990951 + 1994317
Dale has been working on enabling the unified trust panel @ 1992940 + 1979713
Dale introduced Option + Up / Down as a keyboard shortcut to open the unified search panel @ 1962200
Moritz removed the code for “Add a keyword for this search” as it was deprecated functionality @ 1995002
Search
Mandy and Drew have been working on releasing the visual search + messaging @ 1995645
<moz-message-bar> now supports arbitrary content with slot=”message” elements
Ideally this is still something short, like a message as opposed to inputs, etc
<moz-message-bar><span slot=”message” data-l10n-id=”my-message”><a data-l10n-name=”link”></a></span></moz-message-bar>
Note: if you’re using Lit, @click listeners etc set on Fluent elements (data-l10n-name) won’t work, you’ll need to attach it to the data-l10n-id element or another parent
General triage
[jaws] SnazzyBot for generating status updates
[florian] The default timeout of xpcshell tests is now 30s (used to be 5 minutes)
If you want to find out how long your xpcshell test typically takes, you can do so on https://fqueze.github.io/aretestsfastyet/xpcshell-timings.html
This information, including all of the previous updates, are fully available in this doc: https://docs.google.com/a/mozilla.com/document/d/1u9YH3ULNRYg6G-fN-Udkvfkcvg0alJfzi_zIAfFNkL8/edit?usp=sharing
Also note that we’re really just synthesising and humanising the stuff that's on the Wiki, which is freely available from here: https://wiki.mozilla.org/Firefox/Meeting, so check that out if you want the source material. It'll also be posted (minus the Below the Fold stuff) to the Nightly blog.
Finally, if there's a Firefox-ish team that you feel isn't being represented here, please let them know about the above meeting so we can get their updates.
Keep on rockin' the free web,
-Mike