Firefox 87 for developers
This article provides information about the changes in Firefox 87 that will affect developers. Firefox 87 was released on March 23, 2021.
Note: See also In March, we see Firefox 87 on Mozilla Hacks.
Changes for web developers
Developer Tools
-
Developers can now use the Page Inspector to simulate
prefers-color-scheme
media queries, without having to change the operating system to light or dark mode (Firefox bug 1679408 and Firefox bug 1692272). -
Developers can now use the Page Inspector to toggle the
:target
pseudo-class for the currently selected element in addition to the pseudo-classes that were previously supported::hover
,:active
and:focus
,:focus-within
,:focus-visible
, and:visited
(Firefox bug 1689899). -
Firefox 87 sees a number of Page Inspector improvements and bug fixes related to inactive CSS rules:
- The
table-layout
property is now marked as inactive for non-table elements (Firefox bug 1551571). - The
scroll-padding
properties (shorthand and longhand) are now marked as inactive for non-scrollable elements (Firefox bug 1551577). - The
text-overflow
property was previously incorrectly marked as inactive for someoverflow
values (Firefox bug 1671457).
- The
HTML
No changes.
CSS
- Some languages have digraphs that are always capitalized together, for example
IJ
in Dutch. The::first-letter
pseudo-element now respects these digraphs and treats them as a single unit (Firefox bug 92176). - The
<link>
element is no longer matched by:link
,:visited
, or:any-link
. This aligns the behavior in Firefox to existing behavior in Chrome and to a recent spec change (Firefox bug 1687538).
Removals
-
The following Firefox-specific theme-related media features have been disabled for use in web pages (Firefox bug 787521):
-moz-mac-graphite-theme
-moz-mac-lion-theme
-moz-maemo-classic
-moz-windows-classic
-moz-windows-compositor
-moz-windows-default-theme
-moz-windows-theme
-moz-scrollbar-end-backward
-moz-scrollbar-end-forward
-moz-scrollbar-start-backward
-moz-scrollbar-start-forward
-moz-scrollbar-thumb-proportional
-moz-menubar-drag
-
The non-standard values of
caption-side
(left
,right
,top-outside
, andbottom-outside
) have been removed and placed behind thelayout.css.caption-side-non-standard.enabled
flag (Firefox bug 1688695).
JavaScript
No changes.
HTTP
- Some enterprise authentication services require that TLS client certificates be sent in CORS preflight requests. Users of these services can enable this (non-specification compliant) behavior using the
network.cors_preflight.allow_client_cert
preference (Firefox bug 1511151). - The default
Referrer-Policy
has been changed tostrict-origin-when-cross-origin
(fromno-referrer-when-downgrade
), reducing the risk of leaking referrer information in cross-origin requests (Firefox bug 1589074). Content-Length
has been added to the list of CORS-safelisted response headers (Firefox bug 1460299).
Security
No changes.
APIs
DOM
- The
beforeinput
event andgetTargetRanges()
method are now enabled by default. They allow web apps to override text edit behavior before the browser modifies the DOM tree, and provide more control over input events to improve performance. The globalbeforeinput
event is sent to an<input>
element — or any element whosecontenteditable
attribute is set totrue
— immediately before the element's value changes. ThegetTargetRanges()
method of theInputEvent
interface returns an array of static ranges that will be affected by a change to the DOM if the input event is not canceled.
WebDriver conformance (Marionette)
- The work of rewriting Marionette to support Fission (site-isolation) has been finished, so the old Marionette implementation has been removed. The
marionette.actors.enabled
preference, which toggled between the new and old implementations, has therefore also been removed (Firefox bug 1669172). - WebDriver commands following a call to
WebDriver:SwitchToFrame
will no longer fail with a "no such window" error if the frame's content hasn't yet finished loading (Firefox bug 1691348). - After a cross-group page navigation, accessing a previously-retrieved element will now always raise a "stale element" error; there is no longer a chance that this action will lead to a "no such element" error (Firefox bug 1690308).
Addon:Uninstall
now raises anunknown error
when the id of the add-on to uninstall is unknown (Firefox bug 1693022).
Changes for add-on developers
- nativeMessaging is now an optional permission (Firefox bug 1630415).
- Added support for querying and setting color management related features with
browserSettings.colorManagement
(Firefox bug 1719688) and (Firefox bug 1714428).
Older versions
- Firefox 86 for developers
- Firefox 85 for developers
- Firefox 84 for developers
- Firefox 83 for developers
- Firefox 82 for developers
- Firefox 81 for developers
- Firefox 80 for developers
- Firefox 79 for developers
- Firefox 78 for developers
- Firefox 77 for developers
- Firefox 76 for developers
- Firefox 75 for developers
- Firefox 74 for developers
- Firefox 73 for developers
- Firefox 72 for developers
- Firefox 71 for developers
- Firefox 70 for developers
- Firefox 69 for developers
- Firefox 68 for developers
- Firefox 67 for developers
- Firefox 66 for developers
- Firefox 65 for developers
- Firefox 64 for developers
- Firefox 63 for developers
- Firefox 62 for developers
- Firefox 61 for developers
- Firefox 60 for developers
- Firefox 59 for developers
- Firefox 58 for developers
- Firefox 57 for developers
- Firefox 56 for developers