files/en-us/mozilla/firefox/releases/48/index.md
To test the latest developer features of Firefox, install Firefox Developer Edition Firefox 48 was released on August 2, 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.
The {{HTMLElement("details")}} and {{HTMLElement("summary")}} elements have been activated by default on Nightly and Aurora (DevTools), but not on Beta or Release:
toggle event is now sent to the {{HTMLElement("details")}} element when this one is opened or closed (Firefox bug 1225412).The meta attributes now also supports the no-referrer-when-downgrade and origin-when-cross-origin values (Firefox bug 1178337).
The {{cssxref("calc", "calc()")}} has been improved to be closer to the specification:
Our experimental implementation of CSS grids has been updated:
auto if grid container size is indefinite (Firefox bug 1264607).The luminance value for {{cssxref("mask-mode")}} has been added; the auto value has been renamed to match-source, to match the spec (Firefox bug 1228354).
Interpolation of {{cssxref("clip-path")}} basic shapes in CSS animations and transitions is now supported (Firefox bug 1110460).
Support for horizontal-in-vertical (tate-chu-yoko) text has been added via the all value of the {{cssxref("text-combine-upright")}} property (Firefox bug 1097499).
Support for the experimental {{cssxref("print-color-adjust", "color-adjust")}} property has been added, allowing pages to specify that background colors and images should be printed (Firefox bug 1209273).
The {{cssxref("::first-letter")}} pseudo-element now also matches punctuation characters of type Pd that precede or immediately follow the actual first letter; this is a new requirement of CSS Pseudo-element module level 4 (Firefox bug 1260366).
Several -webkit prefixed properties and values have been added for web compatibility, behind the preference layout.css.prefixes.webkit, defaulting to false:
-webkit-background-clip (as background-clip) text value (Firefox bug 759568).-webkit-box-direction, -webkit-box-orient (Firefox bug 1262049.-webkit-inline-box is now an alias of inline-flex on the {{cssxref("display")}} property. (Firefox bug 1257661).-webkit-flex-direction, -webkit-flex-wrap, -webkit-flex-flow, -webkit-order, -webkit-flex, -webkit-flex-grow, -webkit-flex-shrink, -webkit-flex-basis, -webkit-justify-content, -webkit-align-items, -webkit-align-self and -webkit-align-content were added as aliases for the unprefixed properties and the values -webkit-flex and -webkit-inline-flex for the {{cssxref("display")}} property as aliases for the unprefixed values (Firefox bug 1274096).-webkit-box-flex, -webkit-box-ordinal-group, -webkit-box-align and -webkit-box-pack properties and -webkit-box value to {{cssxref("display")}} as aliases for modern CSS Flexbox (Firefox bug 1208635).The text value of {{cssxref("background-clip")}} is now available in all type of Firefox (and not only non-release builds) (Firefox bug 1263516).
The absolute value of {{cssxref("position")}} properties on the top layer element (Firefox bug 1236828).
Added an internal-only syntax for {{cssxref("@supports")}} to detect pref (Firefox bug 1259889).
Array.prototype[Symbol.unscopables] properties have been implemented (Firefox bug 1054759 and Firefox bug 1258163).Array[Symbol.species] getter has been implemented (Firefox bug 1165052).ArrayBuffer[Symbol.species] getter and TypedArray[Symbol.species] getter have been implemented (Firefox bug 1165053).Proxy.create and Proxy.createFunction()) has been removed. Use the standard {{jsxref("Proxy")}} object instead (Firefox bug 892903).String.prototype.contains() method has been removed (it was deprecated since version 40). Use the {{jsxref("String.prototype.includes()")}} method instead (Firefox bug 1103588).RegExp.multiline property (not {{jsxref("RegExp.prototype.multiline")}}) has been removed. Use the standard m flag instead (Firefox bug 1219757).Object.prototype.__defineGetter__() and Object.prototype.__defineSetter__() methods can no longer be called at the global scope without any object. (Firefox bug 1253016).NavigatorConcurrentHardware {{Glossary("mixin")}} has been implemented, which adds the {{domxref("Navigator.hardwareConcurrency")}} property to the {{domxref("Navigator")}} interface. This lets websites and apps get at least an approximation of how many processing cores are available to run {{domxref("Worker")}}s in (Firefox bug 1008453).Node.localName, Node.namespaceURI and Node.prefix were moved to the {{domxref("Element")}} and {{domxref("Attr")}} APIs (Firefox bug 1055776)."OSLeft" and "OSRight" are now "MetaLeft" and "MetaRight"."VolumeDown", "VolumeUp", and "VolumeMute" are now "AudioVolumeDown", "AudioVolumeUp", and "AudioVolumeMute"."IntlHash" has been removed.code values were reported as "" in earlier versions of Firefox are now reported as "Unidentified".iceRestart entry is now supported in the RTCOfferOptions code dictionary, allowing {{domxref("RTCPeerConnection.createOffer", "createOffer()")}} to be used to request ICE restarts (Firefox bug 906986).DOMApplicationsManager.getNotInstalled() method has been removed (Firefox bug 1255036).mozContact, MozContactChangeEvent, navigator.mozContacts, MozPowerManager, MozSettingsEvent (see Firefox bug 1043562, Firefox bug 1256414, and Firefox bug 1256046).maplike interface: in addition to {{domxref("RTCStatsReport.forEach()", "forEach()")}}, {{domxref("RTCStatsReport.get()", "get()")}}, and {{domxref("RTCStatsReport.has()", "has()")}}, the methods {{domxref("RTCStatsReport.entries", "entries()")}}, {{domxref("RTCStatsReport.values", "values()")}}, {{domxref("RTCStatsReport.keys()", "keys()")}}, as well as the {{domxref("RTCStatsReport.size", "size")}} getter have been implemented (Firefox bug 906986)."Dead" for dead key presses which don't generate text in other situations.-moz-bool-pref() CSS {{CSSxRef("@supports")}} function to allow hiding portions of chrome stylesheets behind boolean preferences. (Firefox bug 1259889)