• Skip to main content
  • Select language
  • Skip to search
MDN Web Docs
  • Technologies
    • HTML
    • CSS
    • JavaScript
    • Graphics
    • HTTP
    • APIs / DOM
    • WebExtensions
    • MathML
  • References & Guides
    • Learn web development
    • Tutorials
    • References
    • Developer Guides
    • Accessibility
    • Game development
    • ...more docs
Firefox
  1. MDN
  2. Mozilla
  3. Firefox
  4. Firefox developer release notes
  5. Firefox 48 for developers

Firefox 48 for developers

In This Article
  1. Changes for Web developers
    1. Developer Tools
    2. HTML
    3. CSS
    4. JavaScript
      1. New APIs
      2. Deprecations and removals
    5. Interfaces/APIs/DOM
      1. DOM & HTML DOM
      2. Canvas 2D
      3. WebRTC
      4. Others
  2. HTTP
  3. Changes for add-on and Mozilla developers
  4. See also
  5. Older versions

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.

Changes for Web developers

Developer Tools

  • The position of elements can now be changed within the content (bug 1139187).
  • Implemented console.clear() to clear the console output (bug 659625).
  • Added HTTP log inspection to the Web Console (bug 1211525).
  • Added a Firebug theme (bug 1244054).
  • Added the DOM Inspector (bug 1201475).
  • Font inspector has been enabled by default again (bug 1280121).
  • Improved suggestions for CSS properties (bug 1168246).
  • Cookies, localstorage and sessionstorage entries are editable via double-click (bug 1231154, bug 1231179, bug 1231155).

HTML

  • The <details> and <summary> elements have been activated by default on Nightly and Aurora (DevTools), but not on Beta or Release:
    • The default style for these elements has been adapted to match the spec (bug 1258657).
    • The toggle event is now sent to the <details> element when this one is opened or closed (bug 1225412).
  • The meta attributes now also supports the no-referrer-when-downgrade and origin-when-cross-origin values (bug 1178337).

CSS

  • The calc() has been improved to be closer to the specification:
    • calc() is now supported on the line-height property (bug 594933).
    • Added support for nested CSS calc() (bug 968761).
  • Our experimental implementation of CSS grids has been updated:
    • Fragmentation for grid layout has been implemented (bug 1144096).
    • [css-grid] Percentage tracks are now treated as auto if grid container size is indefinite (bug 1264607).
    • <fieldset> now supports grid and flex layouts (bug 1230207).
  • The luminance value for mask-mode has been added; the auto value has been renamed to match-source, to match the spec (bug 1228354).
  • Interpolation of clip-path basic shapes in CSS animations and transitions is now supported (bug 1110460).
  • Support for horizontal-in-vertical (tate-chu-yoko) text has been added via the all value of the text-combine-upright property (bug 1097499).
  • Support for the experimental color-adjust property, allowing page to opt-in for printing images and background, has been added (bug 1209273).
  • The ::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 (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-text-fill-color (bug 1247777).
    • -webkit-text-stroke, -webkit-text-stroke-color, -webkit-text-stroke-width (bug 1248708).
    •  -webkit-background-clip  (as background-clip) text value (bug 759568).
    • -webkit-box-direction, -webkit-box-orient (bug 1262049.
    • The value -webkit-inline-box is now an alias of inline-flex on the display property. (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 display property as aliases for the unprefixed values (bug 1274096).
    • Added -webkit-box-flex, -webkit-box-ordinal-group, -webkit-box-align and -webkit-box-pack properties and -webkit-box value to display as aliases for modern CSS Flexbox (bug 1208635).
  • The text value of background-clip is now available in all type of Firefox (and not only non-release builds) (bug 1263516).
  • The absolute value of position propertis on the top layer element (bug 1236828).
  • Added an internal-only syntax for @supports to detect pref (bug 1259889).

JavaScript

New APIs

  • The String.prototype.padStart() and String.prototype.padEnd() methods have been implemented (bug 1260509).
  • The ES2015 Symbol.unscopables and Array.prototype[@@unscopables] properties have been implemented (bug 1054759 and bug 1258163).
  • The ES2015 Symbol.isConcatSpreadable symbol has been implemented (bug 1041586).
  • The ES2015 Array[@@species] getter has been implemented (bug 1165052).
  • The ES2015 ArrayBuffer[@@species] getter and %TypedArray%[@@species] getter have been implemented (bug 1165053).
  • The Intl.getCanonicalLocales() method of the ECMAScript Internationalization API draft has been implemented (bug 1263040).

Deprecations and removals

  • The deprecated old Proxy API (Proxy.create and Proxy.createFunction()) has been removed. Use the standard Proxy object instead (bug 892903).
  • The String.prototype.contains() method has been removed (it was deprecated since version 40). Use the String.prototype.includes() method instead (bug 1103588).
  • The non-standard RegExp.multiline property (not RegExp.prototype.multiline) has been removed. Use the standard m flag instead (bug 1219757).
  • The __defineGetter__ and __defineSetter__ methods can no longer be called at the global scope without any object. (bug 1253016).

Interfaces/APIs/DOM

DOM & HTML DOM

  • Dropped the "Moz" prefix from the CSSKeyframeRule and CSSKeyframesRule interfaces (bug 1256178).
  • The NavigatorConcurrentHardware mixin has been implemented, which adds the window.navigator.hardwareConcurrency property to the Navigator interface. This lets Web sites and apps get at least an approximation of how many processing cores are available to run Workers in (bug 1008453).
  • The Node.isSameNode() method, which was removed in Firefox 10, has returned after being added back into the specification after a lengthy absence (bug 1256299).
  • Firefox now returns proper exceptions instead of numbers when things go wrong during a call to Navigator.registerProtocolHandler().
  • Element.animate() is now activated by default (bug 1245000).
  • The two methods Element.insertAdjacentText() and Element.insertAdjacentElement() have been implemented (bug 811259).
  • Document.scrollingElement got enabled by default (bug 1265032).
  • Node.localName, Node.namespaceURI and Node.prefix were moved to the Element and Attr APIs (bug 1055776).
  • Per the latest specification, the values of KeyboardEvent.code returned for the following keys have been changed (see bug 1264150):
    • "OSLeft" and "OSRight" are now "MetaLeft" and "MetaRight".
    • "VolumeDown", "VolumeUp", and "VolumeMute" are now "AudioVolumeDown", "AudioVolumeUp", and "AudoVolumeMute".
    • "IntlHash" has been removed.
    • All keys whose code values were reported as "" in earlier versions of F9irefox are now reported as "Unidentified".

Canvas 2D

  • The CanvasRenderingContext2D.ellipse() method has been implemented (bug 910138).

WebRTC

  • The two methods MediaStream.clone() and MediaStreamTrack.clone() have been implemented (bug 1208371).
  • The iceRestart entry is now supported in the RTCOfferOptions, allowing ICE restarts and updates (bug 906986).
  • The RTCPeerConnection.createOffer() method now prefers the VP9 video codec by default; previously VP8 was preferred (bug 1242324.

Others

  • The Web Crypto API is now available in Web workers (bug 842818).
  • The CustomEvent interface is now available in Web Workers (bug 1003432).
  • The DOMApplicationsManager.getNotInstalled() method has been removed (bug 1255036).
  • Several Firefox OS APIs that were erroneously exposed to the Web have now been hidden as they should have been — mozContact, MozContactChangeEvent, navigator.mozContacts, MozPowerManager, MozSettingsEvent (see bug 1043562, bug 1256414, and bug 1256046).
  • Support for UTF-16 has been removed from TextEncoder (bug 1257877).
  • RTCStatsReport is now a true maplike interface: in addition to forEach(), get(), and has(), the methods entries(), values(), keys(), as well as the size getter have been implemented (bug 906986).
  • The Request.cache property has been added allowing to control the cache behavior (bug 1120715).
  • Handling of dead keys on Mac OS X has been changed to work the same as other platforms; they no longer fire a keypress event when no text is generated when the focused element isn't editable (when the focused element is editable, dead key causes composition events instead of keyboard events on Mac OS X). Also, like on other platforms, the value of KeyboardEvent.key is now "Dead" for dead keypresses which don't generate text in other situations.

HTTP

  • Support for the Upgrade-Insecure-Requests header has been added (bug 1243586).
  • The block-all-mixed-content CSP directive has been implemented (bug 1122236)

Changes for add-on and Mozilla developers

  • The Social Worker API has been removed.

See also

  • Site Compatibility for Firefox 48

Older versions

  • 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
  • Firefox 19 for developers
  • Firefox 18 for developers
  • Firefox 17 for developers

Document Tags and Contributors

Tags: 
  • Firefox
  • Release Notes
 Contributors to this page: Sebastianz, kdex, fscholz, Masayuki, Sheppy, myf, Chealer, iwashi, teoli, yisibl, h4writer, arai, DBaron, adria, SphinxKnight, chrisdavidmills
 Last updated by: Sebastianz, Feb 7, 2017, 12:34:04 PM
  1. Add-ons
    1. Firefox developer release notes
    2. Add-ons
    3. Add-on guidelines
    4. Add-on Manager
    5. Extensions
    6. OpenSearch plug-ins
    7. Plugins
    8. Themes
  2. Firefox internals
    1. Firefox developer release notes
    2. Mozilla project
    3. Gecko
    4. JavaScript code modules
    5. JS-ctypes
    6. MathML project
    7. MFBT
    8. Mozilla projects
    9. Preference system
    10. WebIDL bindings
    11. XPCOM
    12. XUL
  3. Building and contributing
    1. Build instructions
    2. Configuring build options
    3. How the build system works
    4. Mozilla source code
    5. Localization
    6. Mercurial
    7. Quality assurance
    8. Using Mozilla code in other projects