Highlights
- Firefox 155 just released! That’s the first release that went through the full 2-week release cycle process.
- The WebExtensions team added a new backgrounds_area theme property so themes can explicitly control whether background images apply to the whole window or only the top toolbars
- Thanks to Emilio for the new theme property to control background image placement!
- This is targeting Firefox 156, and developer documentation will be added to MDN soon.
- The multi-context address bar for New Tab has been enabled in Nightly!

-
- There are a number of known bugs to address before this can ride. We’re tentatively aiming to have this release sometime in Q4.
- Notice an issue with it? File a bug here!
- Volunteer contributor Andrew fixed a white flash for the New Tab page on startup for users that have dark mode enabled by default.
- The DevTools team has made it possible to inspect and edit stylesheets from within the JavaScript Debugger pane.

-
- The feature can also be enabled from the experimental section in the devtools settings panel, or by setting devtools.debugger.features.stylesheets-in-debugger to true in about:config.
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- :Benjamin Peterson
- ExplodingJoysticks
- Gopalarathnam Venkatesan
- Khalid AlHaddad
- Lukáš Lipinský
- Chris Van Linden
New contributors (🌟 = first patch)
- 🌟 Amadi: Update comments that point at the removed openUILinkIn function
- 🌟 dchen705: Remove unnecessary module import in browser/components/urlbar/tests/browser/head.js
- Ekerin Agboola: Remove old documentation related to the removed SEARCH_SUGGESTIONS_LATENCY_MS histogram
- ExplodingJoysticks:
- Gopalarathnam Venkatesan:
- 🌟 Andrew: White flash on startup caused by abouthome_cache storing incompatible startup frame
- 🌟 Kana: browser_privatebrowsing_resetPBM.js awaits an array instead of Promise.all, so the tab-close wait does nothing
Project Updates
Add-ons / Web Extensions
- As part of Nova about:addons work:
- Restyled the Extensions panel empty states to match the Figma specs, including a new illustration for the disabled add-ons and private browsing states – Bug 2058450
- Fixed a jiggle effect when scrolling through theme previews in about:addons – Bug 2059917
- Added spacing between message bars and their sibling elements in the about:addons page (empty state promo, theme appearance mode control) – Bug 2066436
- Set focus on the extension permissions prompt dialog so keyboard users can reach it – Bug 2059855
- Removed activeAddons/activeTheme/activeGMPlugins from the legacy telemetry environment, now collected only through Glean – Bug 2055613
DevTools
- Nicolas Chevobbe [:nchevobbe] fixed an issue in the inspector to stop showing the HTML editor for nodes (e.g text or whitespace nodes) which should not be editable when F2 is pressed. (#2064213)
- Sebastian Zartner [:sebo] updated the documentation for the Rules view to include details around the @media emulation panel added some weeks back. (#2063851)

- Chris Van Linden fixed an styling issue in debugger editor file search bar where the button hover background overlapped the focus outline (#2063466)
- Nicolas Chevobbe [:nchevobbe] fixed an a11y issue where the keyboard focused sliders in the fonts panel did not have the correct contrast against the background. This allows keyboard users to easily see which control currently has focus. (#2062576)
- Hubert Boma Manilla (:bomsy) added telemetry to track the usage of styles sheets shown in the debugger (#2060500)
WebDriver
- Khalid AlHaddad improved Marionette and Remote Agent to quit Firefox with a custom error code when they failed to start their server.
- Khalid AlHaddad updated the moz:debugging module to properly handle nested pauses.
- Sameem updated the handling of user contexts to clean up the settings set per a user context (e.g., proxy settings or accepting of insecure certificates) also when a user context is removed outside of WebDriver BiDi.
- Henrik Skupin updated the WebDriver:GetElementTagName command to return the element’s qualified name.
- Henrik Skupin improved the Perform Actions command in both Marionette and WebDriver Bidi to dispatch intermediate events at more precise intervals when duration is greater than 0.
- Alexandra Borovova updated the “browsingContext.startScreencast” command to handle a screencast file creation on operating systems that don’t have a dedicated download folder.
Lint, Docs and Workflow
- The TypeScript linter has been promoted to tier-2.
- There is no automation for the core type updates yet.
- However, several areas have been working on support, hence the promotion to tier 2.
- Until we get the automation in place, we will not be ready for wider roll-out, as it will be more likely that core patches will break the TypeScript reporting.
New Tab Page
- Developer experience improvement: it’s no longer necessary to create the WebPack bundles when updating New Tab JSX / SCSS files. This occurs automatically during the ./mach build [faster] step. Thanks to Nathan Barrett for his work there!
- Mike Kaply made it so that New Tab Settings honor Locked Preferences in policy by making the New Tab settings UI read and respect policy-locked preferences and disabling corresponding controls so managed/enterprise users cannot override locked prefs from the settings surface.
- Mike Conley landed a patch to address potential shutdown hangs / crashes when newtab trainhop XPIs are in the midst of being downloaded during a shutdown.
- Irene Ni made it so that we always show an add shortcut button for New Tab shortcuts when hovering the outside edge of the shortcuts area

- Irene Ni fixed some <hr> seperators that were leaking out of some containers by scoping the HR rules to the briefing-card container.
- Reem Hamoui added missing alt text/ARIA labels to the New Tab Page weather widget, restoring screen‑reader semantics for weather images in the NTP widgets.
- Jack Brown added scroll100 and scroll250 boolean metrics to the newtab ping to capture 100px/250px scroll‑depth thresholds for analytics—this is a telemetry/schema change with no UI impact.
- Scott Downe created the ‘spaces’ content layout variant for the New Tab Page, introducing an alternate DOM/CSS layout for Spaces that changes tile/content rendering and is gated by the Spaces rollout flag/pref.
- A Stocks widget is in-flight, starting with the US market

-
- Nina Pypchenko [:nina-py] added a Markets/Watchlist dropdown to the Stocks widget on New Tab so users can switch views in-place; the dropdown selection is persisted in the widget state.
- Nina Pypchenko [:nina-py] let users add default tickers to their Stocks Watchlist so new or reset users see a curated set of tickers and the add-flow now persists defaults to the watchlist storage.
- Nina Pypchenko [:nina-py] added a small size to the Stocks New Tab widget, introducing a compact 1×1 Stocks tile in the Firefox New Tab Page layout so users on narrow windows or dense NTP configurations can keep Stocks visible without consuming medium/large slots.
- Nina Pypchenko [:nina-py] updated the Stocks widget feed to fetch data for individual stock tickers, changing the widget network layer to per-ticker requests so added symbols get independent, timely updates and per-symbol errors are surfaced instead of breaking the entire feed.
- Nina Pypchenko [:nina-py] added ticker search to find and add individual stocks, adding a search/lookup UI and add flow that calls the ticker lookup API and updates widget state/local storage so users can search, add, and immediately see new symbols on their New Tab Page.
- Bryan Olsson added a plural selector to the Fluent string newtab-stocks-watchlist-full in the New Tab Page localization so the Stocks widget shows correct singular/plural wording for watchlist sizes across locales, fixing grammar that could confuse users when their watchlist count changes and touching the NTP stocks string bundle used by all localized builds.
- We’ve also started rolling out an experimental Privacy widget

-
- Reem Hamoui changed the Privacy widget copy color to grey in the New Tab Page so the “Nightly blocks trackers as you browse. You will see them here.” text displays with correct muted contrast (2063205).
- Reem Hamoui restored the ETP OFF state rendering in the New Tab Page privacy widget so the widget shows the actual ETP OFF status instead of misleading ‘blocks trackers’ copy for users who disable ETP (2063525).
- Reem Hamoui applied UX fixes to the New Tab Page privacy widget to correct alignment, labels, and click-targets so users see and interact with the widget reliably and accessibility attributes behave as expected.
- Reem Hamoui fixed the blocked-tracker count not updating after opening a new tab by ensuring the tally is recomputed on tab open (cache invalidation + UI binding refresh), restoring accurate tracker numbers in the widget.
- We’ve also started tinkering with some new layout variants
- Here’s one such layout (widget column on left):

-
- Irene Ni updated SectionsLayoutFeed’s 7-double-row-2-ad fallback to match Remote Settings so feed layout and ad fallback counts align with remote config, reducing layout mismatches and incorrect ad placements in feeds using the fallback (2063684).
- Irene Ni implemented a carousel card type for the New Tab feed, adding slide-based card rendering and navigation hooks so users get swipeable/rotating cards in the carousel component.
- Irene Ni deduped impressions for a carousel slide that cycles back into view, preventing duplicate impression pings when a slide reappears and improving the accuracy of telemetry/ad metrics.
- Dre cleaned up orphaned wallpapers in the wallpaper service to remove broken entries and reduce wasted storage so users no longer see missing background tiles.
- Dre uploaded new wallpaper assets to match updated margins so backgrounds render without cropping or misalignment under the new NTP layout.
- Nina Pypchenko [:nina-py] fixed wallpaper attribution rendering in the Nova New Tab flow by adjusting the Nova-specific NTP component’s conditional rendering (CSS/JS) so the attribution node is not skipped when the nova feature is enabled, restoring photographer/credit metadata on New Tab pages for users on Nova-enabled desktop builds and preventing missing attribution UX.
- We’re in early days in building out the infrastructure for a Recent Searches widget
- Nina Pypchenko [:nina-py] added a blank widget scaffold to the New Tab Page widget registry for the Search team (bug 2065011), creating a no-op/placeholder widget registration hook so the Search team can iterate on experiments without changing current NTP visuals — no immediate visible impact for end-users until the widget is populated.
- Dão Gottwald fixed an unscoped panel-item::part(button) rule that stripped the icon slot from panel-items it didn’t own, restoring missing icons in New Tab panels and preventing blank/empty buttons in the UI.
- Maxx Crawford added support for auto-minimized the New Tab widgets section after a short delay, closing expanded widgets automatically to reduce visual clutter and accidental persistent open state.
- Irene Ni implemented the Topic Navigation Strip V1 in the New Tab Page, adding a horizontal topic-nav UI in the New Tab (top-sites/topics area) that improves discoverability and lets users switch topic feeds faster.
Picture-in-Picture
- Pier Angelo Vendrame made the document PiP video size spoofable under resist fingerprinting.
- Lukáš Lipinský fixed WebVTT tracks failing to display after opening a PiP window.
Search and Urlbar
Nova UI refresh
- Drew and Daisuke continued polishing the urlbar experience in Nova.
- Bug 2067360, Bug 2063170, Bug 2063167, Bug 2063127
Suggest
- Drew fixed alignment of the explanation text on various result types. Bug 2063460
- Drew enabled more providers (like Wikipedia) for DE, FR, IT regions. Bug 2064557
- Drew updated important dates suggestions for 2027 in DE, FR, GB, IT and US regions. Bug 2064437
- Dao fixed a regression with the result menu being empty on certain results. Bug 2066758
Adaptive autofill
- James is analyzing results of experiments and working with Product to let the feature ride to Release in the near future.
Quick actions
- Dale improved the Open Firefox Labs action. Bug 2063849
- Dale improved styling of disabled actions. Bug 2056488
Multi Context Address Bar
- Dao and Moritz made great progress with having the urlbar code work in different contexts, including across processes.
- Dao migrated some text input context menus (address bar, search bar, Thunderbird compose subject) onto a single shared menu with a new custom-item API, allowing removal of the legacy moz-input-box component.See EditContextMenu for documentation and usage. Bug 2064369.
- Dharma started refactoring the urlbar code to use extended classes. Bug 2064728
- New tab search bar has been enabled in Nightly! Bug 2062212
- The uipc variant of urlbar tests is now tier1, failures will be backed out.
Other notable Address Bar fixes
- Dao made tabbing from the urlbar field focus the search field, if present on the toolbar, instead of the search button inside it. Bug 2009628
- Daisuke addressed an issue where an autofilled URL was ignored just after launching Firefox. Bug 2057763
- Moritz fixed a regression causing undo to no longer work in the urlbar. Bug 2061633
- Moritz fixed a regression with the placeholder text in the urlbar showing garbled characters. Bug 2063779
Search
- Mark added support for POST search engines to the contextual actions in the urlbar. Bug 2064047
- Caleb fixed an accessibility issue in the add search engine dialog. Bug 2041438
Places
- Caleb fixed a bug where moving a group of folders could move some bookmarks out of their parent folder. Bug 2044707
No comments yet
Post a comment