Firefox 84 has been released today on December 15, 2020, and as always, we are here to introduce you with the latest features and improvements to help you befriend your browser. We have also installed it to our browser cloud, so you can already start testing your apps in this new Firefox version.

Firefox 84 About Dialog

Try Browserling on Firefox 84 now!

New Introductions in Firefox 84

  • Native macOS Support: Firefox 84 has brought the native support for macOS, which is built with Silicon CPU. This major update from Firefox 83 makes its browser operations faster and puts less load on the CPU. Mozilla claims that the Firefox launches 2.5 times faster with this update as compared to the Firefox 83.
  • WebRender Support Extended in Windows: The WebRender Support has been extended to macOS Big Sur, Windows devices running Intel Gen 6 CPU and Windows 7 and 8 running systems. WebRender makes the rendering of the web page faster and smoother.
  • Linux Gets Improved Performance: The Linux operating system's shared memory allocation techniques have been improved. This brings out a faster Firefox in Linux and lowers the load on the CPUs.
  • Support for Adobe Flash: Mozilla has announced that Firefox 84 release will be the final release that supports Adobe Flash.

Developer's Corner

The following section demonstrates the changes that affect web developer's work.

Developer Tools Changes

  • Keyboard tab order is now displayed on the web page for better accessibility. Key tab order is a way to navigate through the page with the help of tab when conventional mouse and keyboards do not work.

CSS Changes

  • Support for ::not pseudo class has been added.

JavaScript Changes

  • The argument fractionalSecondDigits (the number of digits used to represent the fraction of a second) has been added to be used from Firefox 84.

Security Changes

  • The localhost URLs will refer to the loopback ip address (127.0.0.1), increasing the overall security of the connection.

API Inclusions

  • The PerformancePaintTiming interface of the Paint Timing API has been included.
  • The browsingData.remove() API supports the removal of a subset of data types by cookieStoreId.

Media Changes

  • If the number of tracks being recorded changes, an InvalidModificationError is thrown from the MediaRecorder.start().

WebDriver Conformance (Marionette)

  • The Chrome scope support for WebDriver:PerformActions and WebDriver:ReleaseActions has been added.
  • The new Fission-compatible API has been enabled by default from the release of Firefox 84.
  • Method WebDriver:SwitchToWindow has been fixed to always switch back to the top-browsing context.
  • Browser context checks for WebDriver:SwitchToParentFrame has been improved.

Network Panel Changes

  • Unexpected crashes can now be handled through the network panel. Useful debugging details can also be rendered.

Removals In Firefox

The following section describes the features removed in the latest Firefox 84 release.

  • The proprietary property values for -moz-default-appearance has been removed. The developer can use scrollbar-small values instead.
  • The application cache has been removed. The developers can use the Service Worker API instead.
  • The "title" parameter from the Navigator.registerProtocolHandler() method has been removed. The only accepted parameters in the same method are now scheme and url.

Firefox 84 For Android Updates and New Features

The following section explains the new features in the Firefox 84 Android version. There might be some updates that are similar to the native app updates and hence to avoid duplication, those have not been mentioned here.

New Introduction in Firefox 84 for Android

  • Grid view now supports side by side tabs.
  • Downloaded files can be deleted from within the application.
  • WebRender rolls out to more of our users on Android, those on the Mali-G GPU series, bringing smoother animation and scrolling to the majority of our Android users.

Security Improvements in Firefox 84

  • CVE-2020-16042: Operations on a BigInt could have caused uninitialized memory to be exposed.
  • CVE-2020-26971: Heap buffer overflow in WebGL.
  • CVE-2020-26972: Use-After-Free in WebGL.
  • CVE-2020-26973: CSS Sanitizer performed the incorrect sanitization.
  • CVE-2020-26974: Incorrect cast of StyleGenericFlexBasis resulted in a heap use-after-free.
  • CVE-2020-26975: Malicious applications on Android could have induced Firefox for Android into sending arbitrary attacker-specified headers.
  • CVE-2020-26976: HTTPS pages could have been intercepted by a registered service worker when they should not have been.
  • CVE-2020-26977: URL spoofing via an unresponsive port in Firefox for Android.
  • CVE-2020-26978: Internal network hosts could have been probed by a malicious webpage.
  • CVE-2020-26979: When entering an address in the address or search bars, a website could have redirected the user before they were navigated to the intended URLs.
  • CVE-2020-35111: The proxy.onRequest API did not catch view-source URLs.
  • CVE-2020-35112: Opening an extension-less download may have inadvertently launched an executable instead.
  • CVE-2020-35113: Memory safety bugs fixed in Firefox 84 and Firefox ESR 78.6.
  • CVE-2020-35114: Memory safety bugs fixed in Firefox 84.

Note: The security improvements and developer's corner updates are similar to the ones mentioned in the desktop section.

Have fun cross-browser testing in Firefox 84!