Highlights
- The VPN feature is rolling out to users in the United States, the United Kingdom, Germany and France! Read more about it here.
- Split View is now available for users on Firefox 149! Read more about it here.
- Improvements to tabs.move() split views support: extensions can now swap tabs within a split view, and passing a list of tabs that explicitly separates split-view members will properly unsplit the view to honor the requested ordering – Bug 2016762 / Bug 2022549
- Jeremy added the ability to copy all URLs from multi-selected tabs 1984362 – Share -> “Copy link” for multiselected tabs should copy all the tabs’ information
- Alexandre Poirot [:ochameau] improved performance of the Inspector Rules view by supporting incremental updates, making some perf test 2 times faster (#2018538)
- The Tab Notes feature is now live in Firefox 149 in Firefox Labs! We have a few tweaks and fixes coming in Firefox 150 and 151, but we’re mostly collecting feedback from users.
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Chris Vander Linden
- EJiro Oghenekome
- Keji Bakare
- konyhéa
- Noble Chinonso
- Pranjali Srivastava
- Sameeksha
New contributors (🌟 = first patch)
- 🌟Ben
- Bug 1705177 – Don’t use fixed width for Add Device Save/Cancel buttons. R?nchevobbe!
- 🌟Chidimma Okoloigwe
- Bug 1901274 – Port over tests from browser/base/content/test/sidebar to browser/components/sidebar
- Japandi
- Bug 2015071 – Do not save tab note when input contains only whitespace. R?sthompson
- 🌟DrSeed
- Bug 1982888 – Remove obsolete sidebar Nimbus var r=nsharpley,sfoster
- 🌟EJiro Oghenekome
- Bug 1910902 – Update sidebar icons and references to use collapsed versions. r=nsharpley
- Bug 1938466 – Add tests for View > Sidebar menu items and checked state. r=jsudiaman
- Bug 1952061 – Refactor sidebar state management: rename loadInitialState to loadCurrentState and update related references. r=nsharpley
- 🌟Keji Bakare
- Bug 2006572 – fix right tab name and icon shift when the Split View is selected
- Bug 2025287 – Hide “Open Link in Split View” menu option for pinned tabs.
- 🌟Hailia
- Bug 2016934 – Update copied profile header with typographic quotes r?jhirsch
- geppy
- Bug 1767617 – Rename –theme-graphs-* CSS variables r?nchevobbe
- 🌟Itoro James
- Bug 1936929 – Document the ::%shadow% and ::%document% anchor selector tokens r?nsharpley,hanna_a
- 🌟konyhéa
- Bug 1856191 – don’t restrict the sidebar width so much (better support non-English locales)
- konyhéa
- Bug 1876108 – add hairline separator between synced tabs device lists in firefox view
- Bug 1891970 – Update firefoxview breakpoint to 950px
- Bug 2014334 – add outline to tab-split-view-wrapper when used as a drag group target
- 🌟Noble Chinonso
- Bug 1945835 – Add timestamp display to synced tabs list
- Bug 1953621 – Fix command property type in SidebarStateProps from boolean to string
- Bug 2019235 – Disable Move to Start/End for split view tabs based on tab position
- Bug 2025701 – Fix mismatched closing tag in syncedtabs-tab-list.mjs itemTemplate
- Knot False
- Bug 1773932 – Remove nsIScriptableUnicodeConverter from services/common/utils.sys.mjs. r=skhamis,markh
- 🌟Pranjali Srivastava
- Bug 1874155 Remove browser.firefox-view
- Bug 2009917 – Added proper spacing
- 🌟Chukwuka Rosemary
- Bug 1846829 – Remove the max-history-rows pref used in Fx View
- 🌟Sameeksha
- Bug 2008178 – Add accessible name to ConfirmDialog using aria-labelledby. r=thecount
- Bug 2021421 – Remove redundant lazy preference getters in sidebar-pins-promo.mjs
- kofoworola shonuyi
- Bug 2019901 : Remove sidebar-ongoing-animations attribute from sidebarMain after animation reset.
- 🌟Oluwatobi
- Bug 2019936 – Remove preference configuration for the IE importer feature. r=nsharpley,kcochrane,mconley
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Fixed a long-standing issue where extension paths stored in extensions.json (and addonStartup.json.lz4) became incorrect after restoring a Firefox profile to a different location and causing all previously installed add-ons to fail to load – Bug 1429838
DevTools
- geppy renamed some of our CSS variables to be more explicit (#1767617)
- Sebastian Zartner [:sebo] move the :visited pseudo-class to element-specific section in the Inspector pseudo-class (:hov) panel (#2017985)
- Ben improved the RDM “Add Custom Device” form by making sure it worked for any kind of locale (#1705177)
- Chris Vander Linden continued his work to migrate files to use actual private fields (#2022400, #2022402, #2022403, #2022405, #2022406, #2022407)
- Dana Keeler (she/her) [:keeler] added a distinct icon to Netmonitor requests when a request uses a certificate issued by a third-party root (#2022693)
- Nicolas Chevobbe [:nchevobbe] added a <global> node on objects which are not from the top-level debugged page (it’s always visible in the browser console/browser toolbox) (#1962343)
- Nicolas Chevobbe [:nchevobbe] added possible anchor names to the autocomplete for the position-anchor property, as well as for the anchor() and anchor-size() functions (#1903278, #2023114, #2023576)
- Nicolas Chevobbe [:nchevobbe] added proper autocomplete (including things like interpolation/color space) for linear-gradient() (and repeating-linear-gradient()) (#2025761)
- Leo McArdle [:leo] fixed an issue in the Inspector Fonts panel Weight input (#1578023), and made sure we properly round displayed values (#1465026, #1578022, #2013940)
- Nicolas Chevobbe [:nchevobbe] made the animation speed drop down to be always visible in the animations panel (#1995485)
- it now impacts all the animations in the page, not only the ones in the subtree of the selected node
- Julian Descottes [:jdescottes] fixed frequent DevTools crashes by avoiding to access properties on remote proxy windows in various places (#2026134)
WebDriver
- Khalid AlHaddad refactored the WebDriver BiDi tests by moving the “wait_for_bidi_events” helper to a fixture.
- Henrik Skupin splitted fixtures and helpers for WebDriver classic and BiDi into protocol-specific folders and improved Marionette’s window manipulation logic for Wayland headless/headful jobs.
- Henrik Skupin added support for “altitudeAngle” and “azimuthAngle” in pointer actions of subtype “touch” to both Marionette and WebDriver BiDi.
- Julian Descottes fixed browsingContext.reload to properly reload iframes and simulate more accurately a user-initiated reload.
- Alexandra Borovova updated “log.entryAdded” events to include top-most frame of the stacktrace for all types of Console APIs.
- Alexandra Borovova updated the handling of shutdown requests to make sure that all active downloads are canceled before to not block the actual browser shutdown.
Lint, Docs and Workflow
- Globals handling within VS Code (and maybe other editors) has been improved to avoid caching globals when the source file for the globals has been updated.
- The main impact of this is that when changing globals in head.js files, VS Code’S ESLint reporting will see the changes when you have the test files open that use the head.js file.
New Tab Page
- Irene Ni updated the Shortcuts UI to Nova, refreshing about:newtab shortcuts with the new design system and improved focus states.
- Irene Ni made it possible to increase shortcuts row count from 8 to 10 for Nova, which will let users pin two more sites per row without scrolling.
- Hanna Alemu built the UI code for asrouter-newtab-message, enabling ASRouter-driven new tab messages controlled via remote config.
- Dre fixed some New Tab keyboard navigation bugs, restoring predictable Tab/Arrow traversal across tiles, cards, and the customization controls.
- Nathan Barrett fixed a persistence bug where Weather, Shortcuts, and Recommended Stories couldn’t be disabled after restart while New Tab was focused, ensuring section toggles reliably save and apply across restarts.
- Sameeksha added an accessible name to the ‘Delete from History’ dialog in Recent Activity, allowing screen readers to announce the dialog title and purpose.
- Maxx Crawford labeled the Detailed view menu button for accessibility, making the control discoverable to assistive tech.
- Maxx Crawford made the ‘See full forecast’ link keyboard-focusable in Detailed view, improving navigation without a mouse.
- Reem Hamoui conveyed high/low temperatures to screen readers in the Detailed view, exposing key weather info non-visually.
- Reem Hamoui added alternative text for hourly forecast graphics, enabling meaningful announcements instead of unlabeled images.
- Maxx Crawford fixed fluent-dom handling so a br element is preserved in newtab-topsites-add-shortcut-label, restoring the intended line break in the Add Shortcut label.
Search and Urlbar
- Dao and Moritz worked on follow ups and fixed several bugs related to the new search bar implementation, which shipped in Fx 149 (2026248, 2023611, 2025746, 2022159, 2022809, 2023656, 2023141)
- Mandy added a new `hasBeenUsed` attribute to search engines to enable better messaging system targeting (2024078)
- Mandy also added a new telemetry category for when search mode is activated via a feature callout (2018806)
- Drew and Daisuke are continuing their work on making Nova updates to the urlbar (2019165)
- Dale fixed two bugs related to the new Unified Trust Panel (2019928, 2013044)
- Florian used Claude to fix intermittent bugs related to urlbar and search telemetry (2009767, 2024301)
- James fixed a high frequency intermittent test failure in the urlbar code (2001962)
- Marco fixed a high frequency intermittent test failure in the places database code (1981199)
Tab Groups
DJ is adding the ability to copy all URLs from the tabs in a tab group 1984338 – Add a way to share/send/copy all tabs urls from a given tab group