To test the latest developer features of Firefox,
install Firefox Developer Edition {{ ReleaseChannelInfo("46", "46", "April 2016", "Aurora") }}
Changes for Web developers
Developer Tools
{{page('/en-US/docs/Tools/Release_notes', 'Firefox_46')}}
HTML
- When faced with an invalid
type
value, {{HTMLElement("ul")}} no longer maps todecimal
, but now behaves as if notype
value were specified ({{bug(241719)}}). - The attribute
pattern
on {{HTMLElement("input")}} is now treated as {{jsxref("RegExp", "a regular expression", "", 1)}} 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 properties {{cssxref("justify-content")}}, {{cssxref("align-content")}}, {{cssxref("justify-self")}}, {{cssxref("align-self")}}, {{cssxref("justify-items")}} and {{cssxref("align-items")}} ({{bug(1230478)}}).
- The keywords
- The properties {{cssxref("text-emphasis")}}, {{cssxref("text-emphasis-style")}}, {{cssxref("text-emphasis-color")}} and {{cssxref("text-emphasis-position")}} are now enabled by defaut ({{bug(1231485)}}).
- Gecko now accepts the
-webkit-
prefixed version of some properties ({{bug(1213126)}}). - The experimental support of the {{cssxref("@font/font-display", "font-display")}} descriptor (of {{cssxref("@font")}}; it requires to switch
layout.css.font-display.enabled
totrue
({{bug(1157064)}}). - Added support for
@media (-webkit-transform-3d)
as a media query for 3D transform support ({{bug(1239799)}}). - {{cssxref("linear-gradient()")}} support for the omission of
0deg
units ({{bug(1239153)}}). - [css-align] "unsafe start" (formerly "true start") should serialize to "start" etc ({{bug(1230398)}}).
JavaScript
- The ES2015 (ES6) {{jsxref("RegExp.prototype.unicode", "RegExp unicode (u) flag", "", 1)}} has been implemented ({{bug(1135377)}}).
- The ES2015 (ES6) block-level functions have been implemented ({{bug(1071646)}}).
- The ES2015 (ES6) {{jsxref("TypedArray.prototype.sort()")}} method has been implemented ({{bug(1121937)}}).
- The ES2015 (ES6) {{jsxref("Functions/arguments/@@iterator", "arguments[@@iterator]")}} has been implemented ({{bug(1067049)}}).
- The experimental EcmaScript Shared Memory API has been implemented. See the {{jsxref("SharedArrayBuffer")}} and {{jsxref("Atomics")}} objects. To use this experimental API set
javascript.options.shared_memory
totrue
in about:config. - Redeclaration of
let
andconst
variables now throws a {{jsxref("SyntaxError")}} instead of a {{jsxref("TypeError")}} as per the ECMAScript specification ({{bug(1198833)}}). - In Strict mode, setting properties on {{Glossary("primitive")}} values will now throw a {{jsxref("TypeError")}} ({{bug(603201)}}).
- The non-standard {{jsxref("WeakMap.prototype.clear()")}} and {{jsxref("WeakSet.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)}}).
- {{jsxref("Operators/Array_comprehensions", "JS1.7/JS1.8 (legacy) array comprehensions", "#Differences_to_the_older_JS1.7JS1.8_comprehensions", 1)}} and {{jsxref("Operators/Generator_comprehensions", "JS1.7/JS1.8 (legacy) generator comprehensions", "#Differences_to_the_older_JS1.7JS1.8_comprehensions", 1)}} have been removed ({{bug(1220564)}}).
Interfaces/APIs/DOM
DOM & HTML DOM
- The deprecated {{domxref("Window.showModalDialog()")}} method is no more available when Firefox runs in multi-process mode (e10s) ({{bug(1234700)}}).
- Added support for {{domxref("Document.elementsFromPoint")}} ({{bug(1164427)}}).
Canvas
- The remaining parts of the experimental {{domxref("OffscreenCanvas")}} API has been implemented; new features: {{domxref("OffscreenCanvas.OffscreenCanvas", "OffscreenCanvas()")}} constructor, {{domxref("OffscreenCanvas.toBlob()")}}, and {{domxref("OffscreenCanvas.transferToImageBitmap()")}}. To use this experimental API set
gfx.offscreencanvas.enabled
totrue
in about:config ({{bug(1172796)}}). - The {{domxref("ImageBitmap.close()")}} method is now supported ({{bug(1172796)}}).
- A new {{domxref("ImageBitmapRenderingContext")}} rendering context is now implemented. Use
"bitmaprenderer"
with {{domxref("OffscreenCanvas.getContext()")}} or {{domxref("HTMLCanvasElement.getContext()")}} to obtain this context. ({{bug(1172796)}}).
WebGL
- The {{domxref("WEBGL_compressed_texture_es3")}} extension has been implemented, allowing the use of ETC2 compressed texture formats ({{bug(917505)}}). To use this extension, set the preference
webgl.enable-draft-extensions
totrue
in about:config.
IndexedDB
No change.
Service Workers
- {{domxref("FetchEvent.request")}} is now non-nullable (see {{bug("1238213")}}.)
- {{domxref("Navigator.serviceWorker")}} has now been marked as SameObject (see {{bug("1238205")}}.)
- {{domxref("ExtendableMessageEvent.ports")}} has now been marked as SameObject (see {{bug("1238225")}}.)
Fetch
- {{domxref("Request.mode")}} now has a new value available,
navigate
, for supporting requests generated while navigating between documents (see {{bug("1209081")}}.)
WebRTC
No change.
New APIs
- In SVG, the {{domxref("SVGStyleElement")}} interface now implements the {{domxref("LinkStyle")}} mixin ){{bug(1239128)}}.
Miscellaneous
- The asynchronous {{domxref("FileReader")}} is now available in Web workers ({{bug(901097)}}).
- Our experimental implementation of Web Animations API has been updated:
- {{domxref("AnimationEffectTimingReadOnly")}} and {{domxref("AnimationEffectReadOnly.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_for_developers(45)}}