To test the latest developer features of Firefox,
 install Firefox Developer EditionFirefox 46 was released on April 26, 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
Highlights:
- Dominators view in the Memory tool
- Allocations view in the Performance tool
- One click to apply @mediarule conditions in the Style Editor
All devtools bugs fixed between Firefox 45 and Firefox 46.
HTML
- When faced with an invalid typevalue,<ul>no longer maps todecimal, but now behaves as if notypevalue were specified (bug 241719).
- The attribute patternon<input>is now treated as a regular expression with"u"(unicode) flag (bug 1227906).
CSS
- Our implementation of CSS Grids has been updated:
  - The keywords auto-fillandauto-fitare now allowed in therepeat()function (bug 1118820).
- The truevalue has been renamed tounsafe; this affects the propertiesjustify-content,align-content,justify-self,align-self,justify-itemsandalign-items(bug 1230478).
 
- The keywords 
- The properties text-emphasis,text-emphasis-style,text-emphasis-colorandtext-emphasis-positionare now enabled by defaut (bug 1231485).
- Gecko now accepts the -webkit-prefixed version of some properties; it requires to switchlayout.css.prefixes.webkittotrue(bug 1213126).
- The experimental support of the font-displaydescriptor (of@font; it requires to switchlayout.css.font-display.enabledtotrue(bug 1157064).
- Added support for @media (-webkit-transform-3d)as a media query for 3D transform support, if about:config preflayout.css.prefixes.webkitis set totrue(bug 1239799).
- linear-gradient()support for the omission of- 0degunits (bug 1239153).
- Added -webkit-filterfor web compatibility, behind the preferencelayout.css.prefixes.webkit, defaulting tofalse(bug 1236506).
- [css-align] "unsafe start" (formerly "true start") should serialize to "start" etc (bug 1230398).
JavaScript
- The ES2015 RegExp unicode (u) flag has been implemented (bug 1135377).
- The ES2015 block-level functions have been implemented (bug 1071646).
- The ES2015 TypedArray.prototype.sort()method has been implemented (bug 1121937).
- The ES2015 arguments[@@iterator]has been implemented (bug 1067049).
- The experimental EcmaScript Shared Memory API has been implemented. See the SharedArrayBufferandAtomicsobjects. To use this experimental API setjavascript.options.shared_memorytotruein about:config.
- Redeclaration of letandconstvariables now throws aSyntaxErrorinstead of aTypeErroras per the ECMAScript specification (bug 1198833).
- In Strict mode, setting properties on primitive values will now throw a TypeError(bug 603201).
- The non-standard WeakMap.prototype.clear()andWeakSet.prototype.clear()methods have been removed (bug 1101817).
- The non-standard, static RegExp.multilineproperty is now deprecated (bug 1220457).
- Built-in accessor function names now have a "get" or "set" prefix (bug 1180290, bug 1235656).
- JS1.7/JS1.8 (legacy) array comprehensions and JS1.7/JS1.8 (legacy) generator comprehensions have been removed (bug 1220564).
Interfaces/APIs/DOM
DOM & HTML DOM
- The deprecated Window.showModalDialog()method is no more available when Firefox runs in multi-process mode (e10s) (bug 1234700).
- Added support for Document.elementsFromPoint(bug 1164427).
- When a non-existent option of a <select>element is programmatically selected, instead of being incorrectly left unchanged, theselectedindexvalue is now set to-1, theselectedoptionsto an emptyHTMLCollection, andvalueto an empty string (bug 1203668).
Canvas
- The remaining parts of the experimental OffscreenCanvasAPI has been implemented; new features:OffscreenCanvas()constructor,OffscreenCanvas.toBlob(), andOffscreenCanvas.transferToImageBitmap(). To use this experimental API setgfx.offscreencanvas.enabledtotruein about:config (bug 1172796).
- The ImageBitmap.close()method is now supported (bug 1172796).
- A new ImageBitmapRenderingContextrendering context is now implemented. Use"bitmaprenderer"withOffscreenCanvas.getContext()orHTMLCanvasElement.getContext()to obtain this context. (bug 1172796).
WebGL
- The WEBGL_compressed_texture_es3extension has been implemented, allowing the use of ETC2 compressed texture formats (bug 917505). To use this extension, set the preferencewebgl.enable-draft-extensionstotruein about:config.
IndexedDB
No change.
Service Workers
- FetchEvent.requestis now non-nullable (see bug 1238213.)
- Navigator.serviceWorkerhas now been marked as SameObject (see bug 1238205.)
- ExtendableMessageEvent.portshas now been marked as SameObject (see bug 1238225.)
Fetch
- Request.modenow has a new value available,- navigate, for supporting requests generated while navigating between documents (see bug 1209081.)
WebRTC
- The RTCPeerConnection.createOffer()method now supports the VP9 video codec, although this is disabled by default. To enable it, set the preferencemedia.peerconnection.video.vp9_enabledtotrueinabout:config. When enabled, VP9 is the preferred codec; previously VP8 was preferred (bug 1242324).
New APIs
- In SVG, the SVGStyleElementinterface now implements theLinkStylemixin )bug 1239128.
Miscellaneous
- The asynchronous FileReaderis now available in Web workers (bug 901097).
- Our experimental implementation of Web Animations API has been updated:
  - AnimationEffectTimingReadOnlyand- AnimationEffectReadOnly.timinghave been implemented (bug 1214536).
 
- The Permissions API has now been enabled by default, for all release versions, not just Nightly as it previously was (bug 1221106.)
- Sanitization of WOFF fonts has been loosened a bit (bug 1244693).
MathML
No change.
SVG
No change.
Audio/Video
No change.
HTTP
No change.
Networking
- Support of RFC 7686 has been added: by default there is no attempt to resolve domain with the TLD .onion. This is controlled by the preferencenetwork.dns.blockDotOnion. Add-ons supporting Tor can swap this pref. (bug 1228457)
Security
No change.
Changes for add-on and Mozilla developers
Interfaces
No change.
XUL
No change.
JavaScript code modules
No change.
XPCOM
No change.
Other
No change.
See also
Older versions
- 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
- Firefox 16 for developers
- Firefox 15 for developers
Document Tags and Contributors
    
    Tags: 
    
  
                    
                       Contributors to this page: 
        Sebastianz, 
        kdex, 
        Sheppy, 
        teoli, 
        Dholbert, 
        evilpie, 
        fscholz, 
        chrisdavidmills, 
        mattbrundage, 
        cvrebert, 
        yisibl, 
        lth, 
        arai
                    
                    
                       Last updated by:
                      Sebastianz,