Back to Content

Firefox 47 release notes for developers

files/en-us/mozilla/firefox/releases/47/index.md

latest10.1 KB
Original Source

To test the latest developer features of Firefox, install Firefox Developer Edition Firefox 47 was released on June 6, 2016. 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

Developer Tools

HTML

No change.

CSS

  • Support for the {{cssxref("::backdrop")}} pseudo-element has been added (Firefox bug 1064843).

  • The case-insensitive modifier i (like in [foo=bar i]) for attribute selectors has been implemented (Firefox bug 888190).

  • An experimental implementation of CSS Mask Image properties landed. For the moment, this will only be available on Nightly versions of Firefox.y: shorthand version of {{cssxref("mask")}}, as well as {{cssxref("mask-repeat")}}, {{cssxref("mask-position")}}, {{cssxref("mask-size")}} are now available (Firefox bug 686281).

  • The {{cssxref("clip-path")}} property now experimentally supports polygon(), ellipse(), and circle() on HTML elements (does not support inset() and path()), behind the pref layout.css.clip-path-shapes.enabled that defaults to false (Firefox bug 1075457). Interpolation (and therefore animation) of these values is not yet supported.

  • Our still experimental grid implementation has been updated:

    • {{cssxref("align-content")}}: normal behaves now as stretch for grid containers (Firefox bug 1237754).
    • The order of column/row values for {{cssxref('grid')}}, {{cssxref('grid-template')}}, and grid-gap properties has been swapped (Firefox bug 1251999).
  • The {{cssxref("@media/display-mode", "display-mode")}} media feature is now supported (Firefox bug 1104916).

  • The value true of {{cssxref("text-align")}} and {{cssxref("text-align-last")}} has been renamed to unsafe (Firefox bug 1250342).

JavaScript

  • The new ES2017 {{jsxref("Object.values()")}} and {{jsxref("Object.entries()")}} methods have been implemented (Firefox bug 1232639).
  • The deprecated, old Proxy API (Proxy.create and Proxy.createFunction) now presents a deprecation warning in the console and will be removed in a future version. Use the standard {{jsxref("Proxy")}} object instead (Firefox bug 892903).
  • Support for the deprecated non-standard flags argument of {{jsxref("String.prototype.match")}}/{{jsxref("String.prototype.search", "search")}}/{{jsxref("String.prototype.replace", "replace")}} has been dropped in non-release builds (Firefox bug 1245801).
  • As per the new ES2016 specification, the {{jsxref("Proxy")}} enumerate trap for for...in statements has been removed (Firefox bug 1246318).
  • The {{jsxref("Array.prototype.indexOf()")}} and {{jsxref("Array.prototype.lastIndexOf()")}} methods (and their {{jsxref("TypedArray")}} equivalents) have been updated to never return -0 as per the ECMAScript specification (Firefox bug 1242043).

Interfaces/APIs/DOM

DOM & HTML DOM

  • The property {{domxref("Document.scrollingElement")}} has been implemented behind the pref dom.document.scrollingElement.enabled that defaults to false (Firefox bug 1153322).

WebGL

No change.

IndexedDB

Service Worker and related APIs

WebRTC

  • Support for the RTCIceServer dictionary has been updated in keeping with revisions to the WebGL 1.0 specification by adding support for the credentialType property. This property is a string that specifies whether the credential is a password or a token. Currently, Firefox only supports "password".

New APIs

No change.

Others

  • {{domxref("Cache.add()")}} and {{domxref("Cache.addAll()")}} now raises a TypeError exception if the response status is not in the 200 range (Firefox bug 1244764).
  • The App installation and management APIs (navigator.mozApps.*) are no longer exposed to non-Firefox OS platforms (Firefox bug 1238576).
  • Web Crypto API methods can now use the RSA-PSS cryptographic algorithm (Firefox bug 1191936).
  • The Permissions API has had the {{domxref("Permissions.revoke()")}} method added (Firefox bug 1197461).
  • The Browser API, which extends the functionality of {{htmlelement("iframe")}}s to allow the creation of frames for displaying web content using HTML — and was previously only available in Firefox OS — is now available to desktop chrome code too (Firefox bug 1238160).
  • The Notification API's {{domxref("Notification/requestPermission_static","requestPermission()")}} method has been updated from a callback to a promised-based syntax (Firefox bug 1241278).
  • The Fullscreen API has been updated to the latest spec and unprefixed. Some methods have been renamed or have seen their capitalization changed (Firefox bug 743198). Note that this is behind the full-screen-api.unprefix.enabled preference, defaulting to false (Firefox bug 1268749).

Audio/Video

HTTP

  • The default value of the {{HTTPHeader("Accept")}} header for images is now */* instead of image/png,image/*;q=0.8,*/*;q=0.5 (Firefox bug 1249474).

Networking

No change.

Security

Changes for add-on and Mozilla developers

Interfaces

FUEL

The FUEL JavaScript library, introduced back in Firefox 3, has been removed. This library was designed to aid in add-on development and with the introduction of the Add-on SDK and, now, by WebExtensions support, is no longer useful. (Firefox bug 1090880)

XUL

No change.

JavaScript code modules

No change.

XPCOM

No change.

Other

No change.