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
@media
rule conditions in the Style Editor
All devtools bugs fixed between Firefox 45 and Firefox 46.
HTML
- When faced with an invalid
type
value,<ul>
no longer maps todecimal
, but now behaves as if notype
value were specified (bug 241719). - The attribute
pattern
on<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-fill
andauto-fit
are now allowed in therepeat()
function (bug 1118820). - The
true
value has been renamed tounsafe
; this affects the propertiesjustify-content
,align-content
,justify-self
,align-self
,justify-items
andalign-items
(bug 1230478).
- The keywords
- The properties
text-emphasis
,text-emphasis-style
,text-emphasis-color
andtext-emphasis-position
are now enabled by defaut (bug 1231485). - Gecko now accepts the
-webkit-
prefixed version of some properties; it requires to switchlayout.css.prefixes.webkit
totrue
(bug 1213126). - The experimental support of the
font-display
descriptor (of@font
; it requires to switchlayout.css.font-display.enabled
totrue
(bug 1157064). - Added support for
@media (-webkit-transform-3d)
as a media query for 3D transform support, if about:config preflayout.css.prefixes.webkit
is set totrue
(bug 1239799). linear-gradient()
support for the omission of0deg
units (bug 1239153).- Added
-webkit-filter
for 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
SharedArrayBuffer
andAtomics
objects. To use this experimental API setjavascript.options.shared_memory
totrue
in about:config. - Redeclaration of
let
andconst
variables now throws aSyntaxError
instead of aTypeError
as 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.multiline
property 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, theselectedindex
value is now set to-1
, theselectedoptions
to an emptyHTMLCollection
, andvalue
to an empty string (bug 1203668).
Canvas
- The remaining parts of the experimental
OffscreenCanvas
API has been implemented; new features:OffscreenCanvas()
constructor,OffscreenCanvas.toBlob()
, andOffscreenCanvas.transferToImageBitmap()
. To use this experimental API setgfx.offscreencanvas.enabled
totrue
in about:config (bug 1172796). - The
ImageBitmap.close()
method is now supported (bug 1172796). - A new
ImageBitmapRenderingContext
rendering context is now implemented. Use"bitmaprenderer"
withOffscreenCanvas.getContext()
orHTMLCanvasElement.getContext()
to obtain this context. (bug 1172796).
WebGL
- The
WEBGL_compressed_texture_es3
extension has been implemented, allowing the use of ETC2 compressed texture formats (bug 917505). To use this extension, set the preferencewebgl.enable-draft-extensions
totrue
in about:config.
IndexedDB
No change.
Service Workers
FetchEvent.request
is now non-nullable (see bug 1238213.)Navigator.serviceWorker
has now been marked as SameObject (see bug 1238205.)ExtendableMessageEvent.ports
has now been marked as SameObject (see bug 1238225.)
Fetch
Request.mode
now 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_enabled
totrue
inabout:config
. When enabled, VP9 is the preferred codec; previously VP8 was preferred (bug 1242324).
New APIs
- In SVG, the
SVGStyleElement
interface now implements theLinkStyle
mixin )bug 1239128.
Miscellaneous
- The asynchronous
FileReader
is now available in Web workers (bug 901097). - Our experimental implementation of Web Animations API has been updated:
AnimationEffectTimingReadOnly
andAnimationEffectReadOnly.timing
have 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,