Firefox 48 for developers

There were scripting errors on this page. While those are being addressed by site editors, you can view partial content below.

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 <details> and <summary> elements have been activated by default on Nightly and Aurora (DevTools), but not on Beta or Release:
  • The meta attributes now also supports the no-referrer-when-downgrade and origin-when-cross-origin values (bug 1178337).



New APIs

Deprecations and removals



Canvas 2D


  • The two methods MediaStream.clone() and MediaStreamTrack.clone() have been implemented ({{ bug }}).
  • The iceRestart entry is now supported in the RTCOfferOptions, allowing ICE restarts and updates ({{ bug }}).
  • The RTCPeerConnection.createOffer() method now prefers the VP9 video codec by default; previously VP8 was preferred ({{ bug }}.
  • WebM/VP8 video that includes video resolution changes that has been recorded using MediaRecorder can now be played back successfully.


  • The Web Crypto API is now available in Web workers ({{ bug }}).
  • The CustomEvent interface is now available in Web Workers ({{ bug }}).
  • The DOMApplicationsManager.getNotInstalled() method has been removed ({{ bug }}).
  • 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 }}, {{ bug }}, and {{ bug }}).
  • Support for UTF-16 has been removed from TextEncoder ({{ bug }}).
  • 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 }}).
  • The Request.cache property has been added allowing to control the cache behavior ({{ bug }}).
  • 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.


Changes for add-on and Mozilla developers

See also

Older versions

Document Tags and Contributors

Last updated by: wbamberg,