Highlights
- Firefox 130 goes out today! Check out some interesting opt-in early features in Firefox Labs!
- Puppeteer v23 released with official Firefox support, using Webdriver BiDi. Read our announcement on hacks, as well as the Chrome DevTools’ blog post.
- Marco fixed a regression bug where the Mobile Bookmarks folder was no longer visible in the bookmarks menus – Bug 1913976
- Amy, Maxx, Scott and Nathan have been working on some new layout variants for New Tab that we aim to experiment with in the next few releases. (Meta bug)
- Try it in Nightly: (Set either of these prefs to True)
- browser.newtabpage.activity-stream.newtabLayouts.variant-a
- browser.newtabpage.activity-stream.newtabLayouts.variant-b
- browser.newtabpage.activity-stream.newtabLayouts.variant-a
- Try it in Nightly: (Set either of these prefs to True)
- Mandy has implemented autofill for intuitive restrict keywords (e.g. typing @bookmarks instead of *) – Bug 1912045
- You must set browser.urlbar.searchRestrictKeywords.featureGate to true in about:config for this for now.
Friends of the Firefox team
Resolved bugs (excluding employees)
Script to find new contributors from bug list
Volunteers that fixed more than one bug
- Gregory Pappas [:gregp]
- Irene Ni
- Nipun Shukla
- Robert Holdsworth
- Tim Williams
New contributors (🌟 = first patch)
- 🌟 Anthony Mclamb updated moz-card constructor to set expanded to false
- 🌟c8ef fixed typo in multiple files
- Daniele Ferla added telemetry probes for PiP auto-trigger feature
- Malte Jürgens updated privacy and security settings when MOZ_DATA_REPORTING is disabled
- Nipun Shukla added LAF unlocking and check for pinning status using new APIs, implemented private browser pinning using new Windows taskbar APIs, modified liteFirewall plugin to prevent crashes upon catching error, fixed perma MinGW failure due to missing mozilla namespace, and prevented Windows pinning notification from being shown twice.
- 🌟 Robert Holdsworth replaced BrowserTestUtils.waitForCondition with TestUtils.waitForCondition in browser_bug822367.js and renamed “Moz Button” Storybook story to “Button”
- Sergey Galich [:serg] simplified l10n in toolkit/components/satchel/
- 🌟 shubhampharande8 updated clear history ‘today’ to ‘since midnight’
- 🌟 Stefan Richter updated when openerTabId changed via tabs.update()
- 🌟 superstuff updated middle clicking email address now opens account page in new tab
- Dan added emitEventForBrowsingContext method to a base RootBiDiModule class
- Tim Williams updated favicon not reseting when changing tab to about:newtab with newtab to Blank Page and moved onViewToolbarsPopupShowing and ToolbarContextMenu out of browser.js
- wildbydesign changed nsAppRunner to respect MOZ_FORCE_DISABLE_E10S if MOZILLA_OFFICIAL is not set
- 🌟 Yanis Lagha changed delete from history button to trash icon
Project Updates
Add-ons / Web Extensions
WebExtensions Framework
- As part of follow ups to the Manifest V3 improvements, the extensions button setWhenClicked/setAlwaysOn context menu items have been fixed to account for the extension host permissions listed in the manifest and the ones already granted – Bug 1905146
- We fixed a regression with the unlimitedStorage permission being revoked for extensions when users cleared recent history – Bug 1907732
- Thanks to Gregory Pappas, the internals used by the tabs’s captureTab/captureVisibleTab API methods have been migrated to use OffscreenCanvas (and migrated away from using an hidden window) – Bug 1914102
WebExtension APIs
- Fixed openedTabId for notified through tabs.onUpdated API event when changes through tabs.update API method – Bug 1409262
- Fixed downloads.download API method throwing on folder names that contains a dot and a space – Bug 1903780
- NOTE: this fix has been landed in Nightly 131, but it has been also uplifted to Firefox 130 and Firefox ESRs 128 and 115.
- Fixed webRequest issues related to ChannelWrapper cached attributes missing to be invalidated on HTTP redirects (Bug 1909081, Bug 1909270)
- Introduced quota enforcement to storage.session API – Bug 1908925
- NOTE: currently enforced by default in Nightly >= 131, planning to let it ride the 134 train (tracked by Bug 1915688 – Enforce storage.session quota on release).
Addon Manager & about:addons
- Fixed enable/disabled state of the new sidebar extension context menu items (adjusted based on the addon permissions and Firefox prefs) – Bug 1910581
DevTools
DevTools Toolbox
- Gregory Pappas is reducing usage of hidden windows in the codebase, which we were using in a few places in DevTools (#1914107, #1546738, #1914101, #1915014)
- Mathew Hodson added a link to MDN in Netmonitor for the Priority header (#1894758)
- Emilio fixed an issue that was preventing users to modify CSS declarations in the Inspector for stylesheet imported into a layer (#1912996)
- Nicolas tweaked the styling of focused element and inputs in the markup view so it’s less confusing (#1907803)
- Nicolas made a few changes to improve custom properties in the Inspector
- We’re now displaying the computed value of custom properties in the tooltip when it differs from the declaration value (#1626234), and made the different values displayed in the tooltip more colorful (#1912006)
- And since we now have the computed values, it’s easy to show color swatches for CSS variables, even when the variable depends on other variables (#1630950)
- We also display the computed value in the input autocomplete (#1911524)
- Nicolas fixed a crash in the Rules view that was happening when the page was using a particular declaration value (e.g. (max-width: 10px)) (#1915353)
- Julian made it possible to change css values with mouse scroll when hovering a numeric value in the input (#1801545)
- Julian fixed an annoying issue that forced users to disconnect and reconnect the device when remote debugging Android WebExtensions (#1856481)
- Still in WebExtension land, Julian got rid of a bug where breakpoints could still be triggered after being deleted (#1908095)
- Alex Thayer Implemented a native backend for the JS tracer which will make tracing much faster (#1906719)
- Alexandre made it possible to show function arguments in tracer popup previews (#1909548)
- Hubert is on the last stretch to migrate the Debugger to CodeMirror 6 (#1898204, #1897755, #1914654)
- Julian fixed a couple issues in the Inspector node picker: picking a video would play/pause said video (#1913263), and also, the NodePicker randomly stopped working after cancelled navigation from about:newtab (#1914863)
WebDriver BiDi
- External:
- Gatlin Newhouse updated mozrunner to search for DevEdition when running on macos (#1909999)
- Dan implemented 2 enhancements for our WebDriver BiDi codebase:
- Updates:
- Julian updated the vendored version of Puppeteer to v23.1.0, which is one of the first releases to officially support Firefox. This should also fix a nasty side effect which could wipe your files when running ./mach puppeteer-test (#1912239 and 1911968)
- Geckodriver 0.35.0 was released with support for Permissions, a flag to enable the crash reporter, and improvements for the unhandledPromptBehavior capability. (#1871543, blog post)
- James fixed a bug with input.KeyDownAction and input.keyUpAction which would unexpectedly accept multiple characters (#1910352)
- Sasha updated the browsingContext.navigate command to properly fail with “unknown error” when the navigation failed (#1905083)
- Sasha fixed a bug where WebDriver BiDi session.new would return an invalid value for the default unhandledPromptBehavior capability. (#1909455)
- Julian added support to all the remaining arguments for network.continueResponse, which can now update cookies, headers, statusCode and reasonPhrase of a real network response intercepted in the responseStarted phase (which roughly corresponds to the http-on-examine-response notification) (#1913737 + #1853887)
Fluent
- We’re over 50% Fluent now, beating out .properties!
Lint, Docs and Workflow
- Updated eslint-plugin-jsdoc, which has also enforced some extra formatting around jsdoc comments.
- Document generation is getting some updates.
- Errors and Critical issues are now being raised as errors (previously they weren’t being considered).
- More warnings will now be “fatal”, all the existing instances of those warnings have been eliminated. They’ll now be listed in as a specific failure rather than being hidden in the list of general warnings.
- Some of the warnings that were being output by the generate CI task have now been resolved, which should make it clearer when trying to understand the failures.
Migration Improvements
- fchasen is working on a new messaging experiment to help encourage people to create accounts to help facilitate device migration / data transfer. QA has come back green, and we expect to begin enrollment soon!
New Tab Page
- Scott (:thecount) is working on a plan to transition us off the two separate endpoints that provide firesponsored stories and top sites to New Tab to a single end-point.
- A new mechanism to let users specify the kinds of stories they are interested in with “thumbs up” / “thumbs down” feedback is being experimented with. We’ll be studying this during the Firefox 130 cycle.
- We’re (slowly) rolling out a new endpoint for recommended stories to New Tab, powered by Merino. The goal is to eventually allow us to better serve specific content topics that users will be able to choose. This is early days, and still being experimented with – but the new endpoint will make things much simpler for us.
Privacy & Security
- Bug 490753 – Clarify the “Today” duration in the clear recent history dialog Shubham Parandha fixed this bug, an outside contributor!
- We’ve made the switch to remote settings from shavar for ETP lists (riding the trains for fx131)! Bug 1912109 – Enable remote settings for etp lists in release
Profile Management
- (Note: to avoid potentially breaking the world for nightly users, this work is currently behind the MOZ_SELECTABLE_PROFILES build flag and the browser.profiles.enabled pref.)
- Mossop removed the –no-remote command line argument and MOZ_NO_REMOTE environment variable, so that the remoting server will always be enabled in a running instance of Firefox (bug 1906260)
- Mossop updated the remoting service to support sending command lines after startup (bug 1892400). We’ll use this to broadcast updates across concurrently running instances whenever one of them updates the profile group’s shared SQLite datastore.
- Niklas landed a change to update the default Firefox profile to the last used (last app focused) profile if multiple profiles in a group are running at the same time (bug 1893710)
- Jared added support for launching selectable profiles (or any unmanaged profiles not in profiles.ini) using the –profile command line option (bug 1910716). This enables launching selectable profiles from UI clicks.
- Jared updated the startup sequence to allow starting into new the profile selector window (bug 1893667)
Search and Navigation
- Scotch Bonnet redesign
- James improved support for persisting search terms when the feature is enabled – Bug 1901871, Bug 1909301
- Karandeep implemented updating the unified button icon when the default search engine changes – Bug 1906054
- James fixed a bug causing 2 search engine chiclets to show in the address bar at the same time – Bug 1911777
- Dale has restored Actions search mode (“> ”) – Bug 1907147
- Daisuke fixed alignment of the dedicated search button with results – Bug 1908924
- Daisuke fixed search settings not opening in a foreground tab – Bug 1913197
- Search
- Moritz added support for SHIFT+Enter/Click on search engines in the legacy search bar to open the initial search engine page – Bug 1907034
- Other relevant fixes
- Henri Sivonen has restored functionality of the `network.IDN_show_punycode` pref that affects URLs shown in the address bar – Bug 1913022
Hai Nguyen wrote on