Firefox 55, based on Gecko 55, will ship in August 2017. This article provides information about the changes in this release that will affect developers. Nightly builds of what will become Firefox 55 are currently available on the Nightly channel. Some experimental features whose release dates are uncertain or undecided are discussed on the page Experimental features in Firefox. Some features described there may be available in Firefox 55.
Changes for Web developers
- Added filtering of network requests by column values and other properties (bug 1041895, bug 1354508, bug 1354507) and by using regular expressions (bug 1354495).
- Made it possible to show and hide columns within the Network Monitor (bug 862855).
- Added remote IP (bug 1344523), protocol (bug 1345489), scheme (bug 1356867), cookies and set cookies columns (bug 1356869) to Network Monitor.
- Elements on which
contenteditablehas been set to
<div>elements to separate different lines of text, to give Firefox parity with other modern browsers (bug 1297414). See Differences in markup generation for more details.
- Exposed the
transform-boxproperty by default (bug 1208550).
- Implemented the frames() timing function (bug 1248340).
text-justifyproperty (bug 1343512, bug 276079).
- [css-grid] fit-content unexpectedly reserves space for full clamp size in repeat() (bug 1359060).
clearlogical values —
inline-end— which were previously implemented but preffed off in release channels, are now available in all channels by default (bug 1253919).
layout.css.variables.enabledpreference has been removed completely meaning that the CSS variables feature is enabled all the time and can no longer be disabled (bug 1312328).
- Implemented the proprietary
-moz-context-propertiesproperty (bug 1058040).
Intl.Collatorobject now supports the
caseFirstoption (bug 866473).
scrollY(as well as their aliases
pageYOffset) have been updated to be subpixel precise. Instead of returning an integer, these now return a floating-point value which more accurately describes the scroll position on subpixel-precise displays (bug 1151421). If need be, you can use
Math.round()to convert them into integers.
MediaQueryList(and other related features) have been updated to match the latest spec. See bug 1354441, and also see
- Methods of the
DOMTokenListthat modify the list value now automatically trim whitespace and remove duplicate tokens (bug 869788, also see Trimming of whitespace and removal of duplicates).
- The event types supported by the
Document.createEvent()method have been updated as per the latest DOM spec (bug 1251198).
MessageEvent.originproperty value is now of type
DOMString, and the
MessageEvent.sourceproperty now takes a
MessageEventSourcevalue (which can be a
ServiceWorkerobject) (bug 1311324).
- The pinch-to-zoom gesture has now been mapped to the
wheelevent plus the + Ctrl key. This mapping was implemented to allow developers to implement simple zooming functionality using the pinch-to-zoom gesture on mobile screens/trackpads (mousewheel + Ctrl commonly zooms) (bug 1052253).
- The Selection API has been updated so that it has parity with other browsers in terms of how editing hosts are given focus when the selection moves inside or outside of them (bug 1318312). See Behavior of Selection API in terms of editing host focus changes for more details.
SelectionAPI has been updated to match some recent spec changes (bug 1359371):
- Also in the
Selection.setPosition()have been added as aliases of
Selection.collapse(), for web compat and WebKit/Blink parity reasons (bug 1359387).
StorageManager.persisted()methods of the Storage API have been implemented and exposed to
Windowcontexts (bug 1286717).
- Workers and shared workers can now be created with an identifying
nameproperty. See the
SharedWorker()constructors, and the
SharedWorkerGlobalScopeinterfaces. (bug 1364297).
setInterval()are now subject to minimum interval throttling for tracking scripts — see Throttling of tracking timeout scripts (bug 1355311).
- Messages sent to service worker contexts (e.g. as the event object of
onmessageare now represented by
MessageEventobjects, for consistency with other web messaging features. They used to be represented by
ServiceWorkerMessageEventobjects, which have now been deprecated (bug 1311324).
PushManager.subscribe()method now accepts
ArrayBuffers and Base64-encoded strings as
applicationServerKeyvalues (bug 1337348).
- When called with a set of constraints that resulted in there being no media sources available,
getUserMedia()was incorrectly returning
TypeError. This has been fixed (bug 1349480).
New API: Background Tasks API
- The Collaborative Scheduling of Background Tasks API (also known simply as the Background Tasks API or the
requestIdleCallbackAPI) is now enabled by default after being available behind a preference since Firefox 53. This API lets you schedule tasks to be executed when the browser determines that there's free time available before the next repaint occurs, so that your code can make use of that time without causing visible performance lag (bug 1314959).
GeolocationAPI is now available only to secure contexts (bug 1072859).
- The loading of mixed content is now allowed on localhost (bug 903966).
- Loading of remote JAR files has been disabled again (bug 1329336). See Security and the jar protocol for the full story.
- Flash content is now "click-to-activate" (bug 1317856). In addition, Flash and other plugins can no longer be loaded from any URL scheme except for http:// and https:// (bug 1335475).
Removals from the web platform
- Support for the
xml:baseattribute as applied to the
styleattribute has been removed in Nightly, and will be removed altogether once we have full confidence that it won't cause web compatibility issues (bug 1349024). See also xml:base for style attribute has been disabled.
- The proprietary
:-moz-bound-elementpseudo-class has been removed (bug 1350147).
UIEvent.isCharproperty has never been supported by any browser but Firefox, and there it's never been fully-implemented except on macOS. For that reason, it's been removed in Firefox 55 to align with other browsers.
- The proprietary Firefox OS Device Storage API has been removed from the platform (bug 1299500).
aShowDialogparameter of the non-standard
Window.find()method (which could be specified to open up a "Find" dialog in the browser) has been removed (bug 1348409).
SVGZoomEventsinterfaces have been removed from the SVG2 spec and Gecko, along with the
onzoom <svg>attribute (bug 1314388).
Changes for add-on and Mozilla developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers