- Firefox 89 introduces a fresh new look and feel!
- Floating tabs!
- Streamlined menus!
- New icons!
- Better dark mode support!
- Improved context menus on Mac and Windows
- Improved perceived startup performance on Windows
- Native context menus and rubberbanding/overscroll on macOS
- Refreshed modals dialogs and notification bars!
- More details in these release notes and in this early review from laptopmag
- Non-native form controls are slated to ride out in Firefox 89 as well
- This lays the groundwork for improving the sandboxing of the content processes by shutting off access to native OS widget drawing routines
- (Experimental, and en-US Nightly only) Users will now get unit conversions directly in the URL bar! Users can type “5 lbs to kg” and see a copy/paste friendly result instantaneously.
Friends of the Firefox team
For contributions from April 20 2021 to May 4 2021, inclusive.
Fixed more than one bug
- Falguni Islam
- kaira [:anshukaira]
- Kajal Sah
- Luz De La Rosa
- Richa Sharma
- Sebastian Zartner [:sebo]
New contributors (🌟 = first patch)
- kaira [:anshukaira] added some CSS polish to an about:logins import error dialog, and removed some unused assets from the Screenshots code
- 🌟 Ava Katushka made Firefox more consistent in how it chooses default filenames for saved images
- 🌟 Vaidehi
- Claudia Batista [:claubatista] landed a patch to make it possible to fallback to some built-in support pages when access to SUMO is not available
- Kajal Sah
- 🌟 Lebar improved some of our internal Places database access code
- Luz De La Rosa fixed some visual glitches in our panels as part of the retheme effort
- 🌟 Richa Sharma added initial support for isolating WebExtension access to particular containers. See the “WebExtensions Framework” update for more details.
- ryedu.09 fixed a visual glitch in about:preferences
- 🌟 Samuel Grasse-Haroldsen made it so that we render an appropriate message in about:addons when there are no add-ons to manage, rather than an empty list.
- Dawit got rid of some unused Screenshots code
Add-ons / Web Extensions
Addon Manager & about:addons
- Starting from Firefox 90, when no extensions are installed our about:addons page will show to the users a nicer message to explicitly direct them to addons.mozilla.org instead of an empty list of installed extensions (Bug 1561538) – Thanks to Samuel Grasse-Haroldsen for fixing this polishing issue.
- As part of the ongoing work to get rid of OS.File usage, Barret unveiled and fixed some races in AddonManager and XPIDatabase jsm (Bug 1702116)
- Fixed a macOS specific issue in the “Manager Extension Shortcuts” about:addons view, which was preventing this view from detecting some of the conflicting shortcuts (Bug 1565854)
- Starting from Firefox 90, we now avoid ChromeUtils.idleDispatch on urgent blocking webRequest events, which made both us and perfherder quite happy \o/ (Bug 1587058)
- We expect this to be also a user perceived improvement (e.g. this was an known issue with high refresh monitors, e.g. see Bug 1560090)
- As part of the past round of Outreachy projects, our contributor Richa Sharma worked on a project aiming to allow Firefox users to restrict which extensions are allowed or not allowed to run in certain Firefox containers. The initial set of changes needed to adapt our internals have been landed in Firefox 90 (but we aware that the feature is still locked behind prefs, the effort to complete adapting all the WebExtensions features and APIs is still ongoing and there isn’t yet any Firefox UI to manage these restrictions):
- Meta bug: Bug 1683056 – [META] Users control over add-ons in Container tabs
- Set of bugs landed in Firefox 90: Bug 1683058 (tabs API), Bug 1690736 (webNavigation API), Bug 1692813 (proxy API), Bug 1697764 (webRequest API)
- Experimental prefs:
- extensions.userContextIsolation.enabled (boolean),
- extensions.userContextIsolation.defaults.restricted (JSON stringify array of userContext Ids)
- extensions.userContextIsolation.EXTID.restricted (JSON stringify array of userContext Ids)
- As part of our ongoing work on introducing in Firefox support for extensions using the new “manifest_version 3”, we have introduced support for some new annotations to our JSONSchema parser (and started to use these new properties to introduce the differences between the API and manifest properties available based on the extensions manifest_version):
- Fixed a use-after-free issue on shutdown in MatchPattern::Init identified through grizzly fuzzy testing (Bug 1699298)
- Fixed a bug in DataTransferList, which was preventing web pages to access a drag and dropped file list if an extension content script was able to access it first (Bug 1707214)
- Nicolas Chevobbe applied the needed changes to ensure that the devtools.inspectedWindow.reload method is Fission compatible also when an extension does pass to it the userAgent option (Bug 1706098)
- Neil has been working on reviving the tab unloader for when users are hitting memory limits
- It’s smarter this time though, and should hopefully make better choices on which tabs to unload.
- Currently disabled by default, but Nightly users can test it by setting `browser.tabs.unloadOnLowMemory` to `true`
- New users now get initial focus on about:welcome instead of the address bar based on experiment results. This was uplifted to Beta 89 and Release 88.
- Import screen on about:welcome opens up migration wizard based on the browser used to download Firefox as well as showing the other browser’s name on the button.
- Remotely deployed an infobar to remind new users two times to set Firefox as the default browser after 5 weeks and 10 weeks.
- Removed theme screens for both new user about:welcome and upgrade onboarding.
- dthayer updated the skeleton UI to match proton styles, turned it off for non-default densities, and ensured we show the skeleton UI when restarting firefox
- The skeleton UI is set to ride the trains to release!
- Barret remove OS.File usage from XPIDatabase.jsm
- Florian fixed a bug where the notificationbar stack lazy getter was called every time a tab closed
- Florian added Worker.postMessage, “Image load”, and “Image paint” profiler markers
- Florian wrote a patch to update the about:processes table in a more efficient way
- Florian ensured mochitest profiling works for accessibility tests and tests triggering customizationchange events.
- Try mach test <path to mochitest> –profiler
- mconley dug into a few minor performance regressions related to Proton
- Stacks now include the category color of each stack frame (in tooltips, marker table, sidebar)
- Fixed a bug where the dot markers appear in the wrong places.
Search and Navigation
- Lots of polish fixes to Proton address bar (and search bar)
- The Search Mode chiclet can now be closed also when the address bar is unfocused – Bug 1701901
- Address bar results action text (for example “Switch to tab”, or “Search with Engine”) won’t be pushed out of the visible area by long titles anymore – Bug 1707839
- Double dots in domain-looking strings will now be corrected – Bug 1580881
Kajal, Falguni, Dawit, and Kaira have been working on removing server side code from screenshots