Firefox 52 was released on March 7, 2017. This article lists key changes that are useful not only for web developers, but also Firefox and Gecko developers as well as add-on developers.

Changes for Web developers

All devtools bugs fixed between Firefox 51 and Firefox 52.

HTML

The rel="noopener" Link type has been implemented (see bug 1222516).

CSS

New features

CSS Grids

CSS Grids are implemented.

Changes and removals

JavaScript

New features

Changes and removals

WebAssembly

Support for WebAssembly has been added to Gecko.

DOM

Changes and removals

Service Workers and Fetch

The Headers.getAll() method has been removed, and Headers.get() now retrieves all values of the specified header, not just the first one (see bug 1278275). This is in accordance with the latest Fetch API spec updates.

Web Audio API

The ConstantSourceNode interface has been added; it represents an audio source which always outputs a stream of samples which all have the same value. See Controlling multiple parameters with ConstantSourceNode for an example showing how this can be used to simplify some complex audio flows.

WebRTC

When an ICE connection is temporarily disrupted, the RTCPeerConnection.iceConnectionState property now gets set to "disconnected" ; this indicates a transitory failure that may resolve itself shortly, with the connection returning to the "connected" state afterward (bug 852665).

property now gets set to ; this indicates a transitory failure that may resolve itself shortly, with the connection returning to the state afterward (bug 852665). The MediaDevices.ondevicechange event handler and corresponding devicechange event, which were implemented but disabled by default on Mac only in Firefox 51, have been implemented on Windows and Linux and are now enabled by default on all platforms.

event handler and corresponding event, which were implemented but disabled by default on Mac only in Firefox 51, have been implemented on Windows and Linux and are now enabled by default on all platforms. The MediaStream.active property is now supported. This read-only Boolean property indicates whether or not at least one track on the stream is currently playing.

property is now supported. This read-only Boolean property indicates whether or not at least one track on the stream is currently playing. Prior to Firefox 52, the MediaStreamTrack.stop() method could only stop local tracks (that is, tracks obtained through getUserMedia() ). Now a variety of tracks can be stopped, including those on a MediaStream associated with a WebRTC connection, Web Audio API stream, or CanvasCaptureMediaStream .

method could only stop local tracks (that is, tracks obtained through ). Now a variety of tracks can be stopped, including those on a associated with a WebRTC connection, Web Audio API stream, or . Previously, changing a TextTrack 's mode repeatedly during a single pass through the Firefox event loop would result in multiple change events being delivered to the TextTrackList specified by the parent media element's textTracks property. Now these changes are consolidated into one event (bug 882674).

Audio/Video/Media

The MediaError objects specified in HTMLMediaElement.error when an error occurs handling an <audio> or <video> element now include a message property, which provides a specific description of the error which occurred. This string offers details particular to this exact error occurrence, offering insight into why things went wrong (bug 1299072). This field has been included in Firefox nightly builds since Firefox 51, but is now available in all builds, up to and including release.

Other APIs

HTTP

SVG

SVG documents are now represented using the XMLDocument interface instead of SVGDocument. This is a change made in the SVG 2 specification.

Security

When login pages (i.e those containing an <input type="password"> field) are created so that they would be submitted insecurely, Firefox displays an in-context warning message below the password field to warn users (bug 1319119). Autofill is also disabled on insecure login forms (bug 1217152). See Insecure passwords for more details.

field) are created so that they would be submitted insecurely, Firefox displays an in-context warning message below the password field to warn users (bug 1319119). Autofill is also disabled on insecure login forms (bug 1217152). See Insecure passwords for more details. Support for SHA-1 SSL certificates has been removed; navigating to a secure page that uses a SHA-1 certificate will now result in an Untrusted Connection error (bug 1330043).

Plugins

All NPAPI plugin support except Flash has been dropped (see Plug-in support has been dropped other than Flash for more details). Flash usage is also set to be phased out in the future.

Changes for add-on and Mozilla developers

WebExtensions

New APIs:

Interfaces

nsIDroppedLinkHandler.dropLinks method and nsIDroppedLinkItem interface have been added to handle dropping multiple items (bug 92737).

XUL

See also

Older versions