- Firefox 106 went out today! Here are some blog posts talking about what is new, as well as the release notes!
- The Unified Extensions toolbar button (part of the Manifest v3 project) has been enabled by default in Nightly.
- Raphaël Ferrand added a patch to format the value of grid-template-areas in the inspector (bug)
- Emilio is burning away XUL layout! See his mailing list post here for details.
- Power profiling now works on Linux and MacOS with intel CPUs. (previously only worked on MacOS with Apple Silicon and Windows 11). Thanks Dan Robertson for the work on the Linux patch!
Friends of the Firefox team
Volunteers that fixed more than one bug
- Angel Villalobos
- Bryan Macoy
- Jonas Jenwald [:Snuffleupagus]
New contributors (🌟 = first patch)
- 🌟 Angel Villalobos converted browser/theme and browser/actors/DOMFullscreen* from JSM modules to ESMs
- Anurag Kalia made vertical writing mode (left/right) in text-emphasis-position optional
- 🌟 Chengyu Sun converted browser/actors/ClickHandler* from JSM modules to ESMs
- James Picone intercepted wheel events in tabbrowser-tabs if switchByScrolling is true so tabs also switch when it’s overflown
- Raphaël Ferrand displayed grid-template-areas value on multiple lines in rules view
- Bryan Macoy converted AboutProtections and BlockedSite from JSM modules to ESMs
- Soheil added keyboard shortcut label to listen button in reader view
Add-ons / Web Extensions
- Thanks to Nika, ExtensionPolicyService and WebExtensionPolicy have been tweaked to provide a thread-safe subset of these internals – Bug 1793995 and Bug 1794657
- Nika has also switched MatchPattern and MatchGlob to the rust regex engine – Bug 1693271
- As part of the work related to the “Unified Extensions” button
- Added origin controls informations to the panel entries – Bug 1784218
- Attention indicator on pending content scripts and ungranted host permission – Bug 1777343 / Bug 1795597
- Tweaked working of the host permissions notes localised strings – Bug 1794504
- Disable extension entry in the panel when host permissions have been already granted – Bug 1794085
- Run content scripts on action click for MV3 extension with activeTab permission – Bug 1793494
- Fixed (in Firefox 107) regression related to the WebExtensions install panel disappearing when switching between tabs – Bug 1792971 (regressed in Firefox 106 by Bug 1565751)
- Fixed NativeMessaging WebExtensions API regression introduced in 106 (fixed in 107 and fix uplifted to 106) – Bug 1791788 (regressed by Bug 1772942)
- Improved error reported when runtime.sendNativeMessage fails – Bug 1792094
- Improved error handling on the scripting.executeScript API method – Bug 1740608
- Wartmanm fixed a bug in the console autocomplete when the debugger is paused (bug)
- Zachary Svoboda made it so the JSON Viewer gets automatically focused on load, allowing to scroll in the page via the keyboard easier (bug)
- Fabien Casters fixed an issue in the Netmonitor Raw header where text selection wouldn’t persist (bug)
- Alex made the iframe we use in the Netmonitor to render HTML responses more secure, ensuring it runs in a content process (bug)
- We fixed an annoying bug in the console input where hitting the Fn key while having text selected would delete the selection (bug)
- Honza fixed half a dozen of bugs on our documentation (bug, bug, bug, bug, bug, bug)
- The debugger source tree in Browser Toolbox is now sorted thanks to Alex. The main thread will always appear first, then all processes sorted by pid, and finally workers (bug)
- Alex is also leading an effort to properly maintain our sourcemap package (https://github.com/mozilla/source-map), which a lot of people are using as it’s faster than Chrome/Safari implementations. He has promising result to make it even faster, hopefully we’ll share some numbers in the weeks to come
- James fixed handling of undefined in pointerMove and wheel actions (bug)
- Sasha added Realm support to `script.evaluate`, `script.callFunction`, and `script.disown` so you evaluate script in a given realm (bug)
- And she also enabled `script.evaluate`, `script.callFunction` and `script.disown` on release (bug).
- A new version (v0.32.0) of geckodriver was released, with better support for Firefox in Snap containers (issue)
- Julian added support for `referenceContext` parameter for the `browsingContext.create` command (bug, spec), so the new browsing context would be physically inserted after the referenced one.
- Henrik fixed a bug where local IP addresses would cause Remote Agent to start WebSocket on IPv6 instead of IPv4 (bug)
- Sasha added support for serialization of complex objects (bug)
- Finally, during the AllHands, Sasha prototyped a WebConsole UI using WebDriver BiDi (bug). This lives on https://firefox-dev.tools/bidi-webconsole-prototype/
- We are DTD free*!
- * Except for some leftovers that we need to keep around for the Firefox Translations add-on, which will hopefully update to use Fluent soon!
- .properties strings are being transitioned. Follow this metabug and this chart for progress!
- ./mach esmify now updates .eslintignore as well.
- ESMified status:
- browser: 29.1%
- toolkit: 23.0%
- The second batch of toolkit/modules (remaining modules bar 3) has just landed on autoland.
- Total: 31.1% (up from 27.5%)
- #esmification on Matrix
- Migration Document (with a walkthrough!)
Lint, Docs and Workflow
- ESLint CI jobs now run when changing .mjs files – so if you’re only changing mjs files, you’ll get the linter running on review bot.
Migration Improvements (CalState LA Project)
- The students have written up notes on how favicons are stored in Chrome, and have verified that Brave and Edge store their favicons in the same way. Thanks to Bryan Macoy, Portia Wu and Evan Liang for their research there.
- Similarly, Zach Harris has written up some notes on how favicons are stored in Internet Explorer.
- A new Opera migrator is being built by Nolan Ishii!
- We’ve filed bugs to create new Opera GX and Vivaldi importers, which will be based on the Chrome importer.
- Follow this metabug to track the students progress!
Performance Tools (aka Firefox Profiler)
- The Source View is now focusable and therefore you can copy some text out of it.