WebExtensions
In Firefox 114, extension widgets listed in the extensions panel can be reordered through the menu “Move up” / “Move down” context menu actions (Bug 1805924)
Support for the storage.session WebExtensions API has been introduced starting in Firefox 115 (Bug 1823713)
Picture-in-Picture
janvi restored PiP captions support for sonyliv
kpatenio added PiP captions support for TubiTV Live
Nicolas added the version number of unsupported browsers in the Inspector compatibility panel (bug)
Starting in Firefox 115, thanks to steven w it’s now possible to import form autofill entries from Chrome-based browsers.
Script to find new contributors from bug list
Gregory Pappas [:gregp]
Itiel
Mathew Hodson
Pier Angelo Vendrame
steven w imported form autofill entries from Chrome-based browsers
Fixed NativeMessaging API regression due to missing Unix-style path normalization on Windows (introduced by Bug 1772932 in Firefox 114, and fixed by Bug 1830605 in the same Nightly cycle)
Starting from Firefox 114, a deprecation warning will be logged when browser_style: true is being used for the MV3 extension manifests (Bug 1827910, Bug 1832578)
Next steps of the deprecation plan are briefly described in Bug 1827910 comment 1
Extensions Button
Itiel contributed some more cleanups to the extensions button/panel CSS (Bug 1818622), thanks Itiel!
Canadahonk made it possible to display support conditions for @import CSS rules in the Rule view (bug)
layout.css.import-supports.enabled
arai improved eager evaluation in Worker (bug)
Blackboxing in debugger was improved:
Hubert updated styling of ignored sources (bug)
He also added an option to hide blackboxed sources in the sources tree (bug)
Alex made jsTracing Ignore blackboxed sources (bug)
Speaking of tracing, stdout traces now have hyperlinks which can be opened in the Firefox debugger (bug)
Alex made stepping in the callstack more consistent when dealing generated and original sources (bug)
Alex fixed a bug in the inspector that would break markup view search when an iframe had node children, which is something uBlock does on some elements it blocks (bug)
Nicolas fixed an issue in console that would create an infinite loop in parent process on very short-lived documents (bug)
Julian made it possible to use elements as reference for an action (e.g. click on a specific element instead of a click at given viewport coordinates) (bug)
Sasha vendored puppeteer v20.1.0 (bug)
ESMified status:
browser: 68%
toolkit: 87%
Total: 81.6% (up from 75.5%)
#esmification on Matrix
Migration Document (with a walkthrough!)
The enabling of Prettier on JSON files has now landed.
Gijs has landed stylelint for css linting.
This will flag up errors in your CSS, like duplicate properties, invalid syntax, missing generic font families, etc. In some cases it can auto-fix things.
We will expand this in the next few weeks/months to cover conventions in use in Firefox (e.g. using “em” for font-size over “px”, preferring logical over physical margin/padding/border/float definitions, using “0” without a unit for sizes, etc.)
This is not a formatter like prettier, so it doesn’t currently adjust whitespace, indenting etc.
./mach lint . now works in parallel mode for faster linting. Previously only ./mach lint * would work, but that didn't pick up the top-level dot files.
Next up, is to upgrade Prettier and enable it for production HTML files.
The upgrade does change a significant number of JS files due to changes in Prettier's formatting.
We decided to put off enabling it on test files for now, due to the large amount of files affected.
Importing payment methods from Chrome has landed and bounced a few times. Currently debugging test failures on macOS.
kpatenio restored underlines for URLs as default to respect use of color accessibility criterion
niklas improved video detection for the urlbar entrypoint
emilio fixed a PiP window regression with Microsoft PowerToys layout manager / FancyZones
Hannah has added a Copy Clean context menu option to the urlbar input field, when the strip-on-share feature is enabled (stripping tracking params from the query string).
Daisuke is implementing Add-ons suggestions and their result menu in the urlbar (not enabled yet)
Drew added a Thank You message to urlbar results when the user provides feedback through the result menu, and fixed a bug with the feedback option
Dao has cleaned up Result menus Nimbus variables since the feature is being released
Drew refactored Firefox Suggest code to support more result types and settings
tgiles recently updated the existing documentation on how to create a new UI widget and the differences between UI widgets and Domain-specific widgets
hjones landed support for moz-toggle in PanelMultiView to support replacing the ETP toggle and adding a new toggle for when PiP is disabled
General Triage
Luca, jhirsch, dwalker and sfoster are this month’s Firefox / Toolkit :: General triagers!
[standard8] Shout-out to Barret for heading up and completing the OS.File removal work. OS.File has been replaced by IOUtils/PathUtils which do their I/O work off the main thread, helping to improve performance and reduce possible yank points.
[mconley] Curious about DocShells and Firefox’s process separation model? I did a talk about this last year during an episode of The Joy of Coding.
[mak] Sqlite auxiliary files (-shm, -wal, -journal) are now persisted on shutdown in Nightly and Early Beta. See firefox-dev announcement for additional details.
[mcheang] Sometime ago, I spoke about creating more visibility and bridging the gap between engineering and marketing, so we can let our users be as excited as we are about our features! 🚀 ✨
Our team tried something new and we would like to share the results of it
DEMO
Video and description the Search team made for release notes
Shoutout to James for creating this feature from idea to production
I’ll pass the mic to Chris to talk about the process, impact and results of this new process, and how your team could do this too!
[mconley] #release-notes opportunity to share our feature description in this channel too