Highlights
- Profile Management is rolling out as an experiment in Firefox 138
- Notice any issues? Help us out by filing a bug report!
- Do you have any suggestions for improvements or feedback on the feature? Join us on Mozilla Connect!
- In today’s release of Firefox 138, users should be able to drag tab groups around in their toolbar (vertical or horizontal!)
- Our WebExtensions team has followed-up their work for introducing “tab groups” related feature to the existing tabs API (uplifted to Firefox 138), further work to introduce support for the tabGroups WebExtensions API namespace has been prioritized and landed in Nightly 139!
- Our DevTools team keeps improving the Debugger experience:
- Holger Benl [:hbenl] refactored and redesigned the Debugger “Directory Root” feature. Reset root directory is now always visible when a directory root is set and it is scoped to the domain where it was set
- Alexandre Poirot [:ochameau] added an icon to show the exact location where the Debugger paused
- Holger Benl [:hbenl] refactored and redesigned the Debugger “Directory Root” feature. Reset root directory is now always visible when a directory root is set and it is scoped to the domain where it was set
Friends of the Firefox team
Resolved bugs (excluding employees)
Volunteers that fixed more than one bug
- Gautam Panakkal
- Harold Camacho
- Julian Gaibler
New contributors (🌟 = first patch)
- Brian Ouyang: Bug 1955567 – Fix spacing of search bar in overflow menu in customize mode
- Chris Shiohama: Bug 1920146 – Fixed sorting of duration column in network monitor
- Gautam Panakkal: Bug 1895516 – Align ‘x’ button in ‘Import history…’ banner with right edge of card’s inner padding
- Harold Camacho
- Bug 1323331 – Improve reader mode code dealing with detected language/direction
- Bug 1824630 – TabStateCache documentation/function signatures are misleading
- Jason Jones: Bug 1960383 – Remove vestigial logic related to `browser.translations.panelShown`
- John McCann [:johnm]: Bug 1952307 – Use hasAttribute instead of getAttribute in restoreWindowFeatures
- Abdelaziz Mokhnache: Bug 1953454 – Extract shared helper to compute the title of File, Url and Path columns
- Ricardo Delgado Gomez: Bug 1960409 – Add mozMessageBar.ftl localization link to about:translations
Project Updates
Accessibility
- James Teh [:Jamie] has flipped the UIA pref patches which would provide a native UIA support for many assistive technologies on Windows (in addition to IA2), for instance the Win-own Narrator (speech-to-text software) would be able to better catch Accessibility tree from Firefox (Meta bug 762769):
- When getting a report on an assistive technology (i.e. JAWS screen reader) not working properly with Firefox, try to toggle the `accessibility.uia.enable` to 1 and 0 to find out if the UIA or IA2 are to blame
Add-ons / Web Extensions
Add-ons Manager & about:addons
- Colorways built-in themes cleanup has been completed in Firefox 139 and all the expired Colorways built-in themes have been removed from mozilla-central
- Most of the clients have been migrated to AMO hosted themes 2 years ago, the subset of clients that have not been able to migrate automatically to the AMO themes are being notified about how to reach the Colorways themes hosted on AMO (with a notification box shown at browser startup and/or a message bar shown in about:addons). They will also be switched automatically to the default theme.
- Deprecated app-system-default XPIProvider location has been removed (followup to migrating all system add-ons into the omni jar)
WebExtensions Framework
- Implemented browser.test changes required for WPT, as part of the WECG (WebExtensions Community Group) initiative to support WPT tests WebExtensions API across browser vendors
- In support to TypeScript-based type-checking initiative, we have migrated all toolkit/extensions internals to use the new type-preserving XPCOMUtils.declareLazy
- Internal refactoring related to userScripts/contentScripts internals in support of the sync-about-blank work
WebExtension APIs
- As part of the work to streamline how extension developers implement user data consent experiences (see blog post), initial support for data collection permissions has landed in Nightly 139 (gated behind the “extensions.dataCollectionPermissions.enabled” pref – which is enabled by default in Nightly builds) and will be refined further in Nightly 140 – Bug 1954524, Bug 1955942, Bug 1957729, Bug 1954522, Bug 1954525, Bug 1955990, Bug 1956472, Bug 1959534, Bug 1959999, Bug 1960831, Bug 1960882, Bug 1960917, Bug 1961136, Bug 1961173
DevTools
- Artem Manushenkov made the Netmonitor filter buttons persist across sessions (#1835264)
- Chris Shiohama fixed an issue in the Netmonitor where sorting by duration wouldn’t work when new requests were added in the list (#1920146)
- Abdelaziz Mokhnache cleaned up a Netmonitor helper (#1953454)
- Eemeli Aro [:eemeli] migrated the Netmonitor waterfall tooltip string to Intl.ListFormat and removed the localized string we were using for that before (#1961874)
- Hubert Boma Manilla (:bomsy) fixed performance regression in the Debugger, especially for files with long lines (#1946026, #1962500)
- Nicolas Chevobbe [:nchevobbe] added support for Inherited properties from element-backed pseudo elements (e.g. ::details-content (MDN) , still behind layout.css.details-content.enabled)(#1953807, #1959940)
WebDriver BiDi
- Julian fixed an issue with the network.responseCompleted event which was no longer emitted for some requests (such as the 101 upgrade request created for a WebSocket connection).
- Henrik has removed the fallback code for processing actions in the content process, which has not been used by default since the Firefox 135 release, with no further regressions reported. This change also removes the remote.events.async.enabled preference.
- Henrik has disabled the background QoS manager on macOS and the IPC priority manager on other platforms for all Remote Protocols. Newly opened background tabs were receiving the lowest priority, leading to significant delays in automation under heavy system load. Once the underlying bug is resolved, we may reconsider enabling these features again.
- Sasha improved validation of geolocation coordinates for “emulation.setGeolocationOverride” command.
- Julian fixed a performance regression for data-URIs, which were triggering unnecessary IPC even if WebDriver BiDi or DevTools was not involved.
Lint, Docs and Workflow
- hjones has made the stylelint-plugin-mozilla tests run in CI
- standard8 fixed ./mach lint –setup to not warn about running the linters
Migration Improvements
- We discovered last week that Chrome on Windows is using Application Bound Encryption for various data stores, which is great for protecting those data stores from malware, but also means that it’s very difficult for us to import things like credentials and payment methods automatically from those local data stores.
- The current workaround is to use the same approach we use for Safari, and guide the user through exporting Chrome passwords to a CSV file, and importing that CSV file. We have some WIP patches up to add support for this in the migration wizard, but are exploring other options as well.
- Thanks to the Credential Management team for their help with the analysis!
New Tab Page
- Maxx has built out a New Tab inline message to let users know about our mobile browsers as well. We’ll be experimenting with this message in the coming months.
- Train-hopping:
- Today’s release of Firefox 138 goes out with New Tab packaged as a built-in add-on! Functionally, there is no difference, but will mean that we can update New Tab more rapidly in certain situations.
- Punam added support for runtime-registered Glean pings and metrics for Firefox 139. This, coupled with our support for pulling in strings to our XPI, give us the ability to not be locked to a particular train for Glean or string changes.
- Our current plan is to do a pilot train-hop to the Beta channel in the back-half of May, to “run water through the pipes”
Profile Management
- On track for a Nimbus-driven rollout in 138, starting at 0.5% but may go larger
- Sorry, we broke profiles in 139 Nightly last Wed/Thurs
- Bug 1962531 – Profiles lost when the startup profile selector is enabled
- If you updated and restarted and lost your profile group, you got stung by this bug.
- We paused updates Friday until the fix landed (thanks Mossop!), so if you haven’t seen the bug by now, you won’t see it.
- Your data is not lost! We’ve just accidentally broken the link between your default profile and the profile group database.
- For help – join us in #fx-profile-eng on Matrix and we’ll help you get reconnected (also blog post coming with details for a self-service fix)
- So what happened that caused the bug? A huge refactoring landed that split the profiles feature toggle from the cross-profile shared database, and we missed the edge case where we startup into the profile selector window. See the bug 1953884 and its parent metabug 1953861 for details.
Search and Navigation
- Daisuke enabled weather for Firefox Suggest by default – 1961069
- Daisuke added getFaviconForPage to nsIFaviconService – 1915762
- Dale added “save page” as at term one can use to see the “Save page as PDF” Quick Actions button – 1953492
- Dale also added “manage” keyword to see quick actions related to managing settings – 1953486
- Moritz landed a couple patches related to telemetry – 1788088, 1915252
- Mark expanded search config with a new record type to allow easy retrieval of all locales used in search config – 1962432
Storybook/Reusable Components/Acorn Design System
- Metrics updates
- Stuart added new tracking of Design Tokens usage arewedesigntokensyet
- Hanna added support for automatic tracking of new components to recomp-metrics
- More design system components show code examples in Figma now
- Acorn newsletter went out last Wednesday Web preview (images are currently broken 😞)
Tab Groups
- Firefox 138, released 29 April 2025:
- Rolled out to 95% of users worldwide
- You can now drag and drop entire tab groups in the tab strip
- tabs Web Extension API additions to support tab groups (see also the Add-ons / Web Extensions section)
- Planned for Firefox 139, now in Beta, releasing 27 May 2025:
- Enabled by default worldwide
- tabGroups Web Extension API additions to support tab groups (see also the Add-ons / Web Extensions section)
No comments yet
Post a comment