{{ReleaseChannelInfo("51", "51", "January 2017", "Aurora")}}
Changes for Web developers
Developer Tools
No change.
HTML
No change.
CSS
- Implemented
inset()
value for {{cssxref("clip-path")}} behind the preferencelayout.css.clip-path-shapes.enabled
, defaulting tofalse
({{bug(1246762)}}). - [css-grid] Implement {{cssxref("fit-content()")}} value for <track-size> ({{bug(1281320)}}).
- [css-grid] Percentage gutters are wrong calculated on grid containers with indefinite sizes ({{bug(1279182)}}).
- [css-grid] Reject repeat() column tracks in <grid-template> when there's a grid template area string in the row part ({{bug(1282643)}}).
- [css-grid] {{cssxref("calc()")}} with negative percentage can result in negative track size ({{bug(1282418)}}).
- Implemented {{cssxref(":indeterminate")}} for <input type="radio"> ({{bug(885359)}}).
- Implemented the {{cssxref(":placeholder-shown")}} pseudo-class on
<input type="text">
({{bug(1069015)}}). - Unprefixed {{cssxref("::placeholder")}} pseudo-element ({{bug(1069012)}}).
- Fix {{cssxref(":valid")}} CSS pseudo-class doesn't match valid <form>s ({{bug(1285425)}}).
- Fix initial value for {{cssxref("mask-repeat")}} property should be
no-repeat
, but is implemented asrepeat
({{bug(1258623)}}). - The
plaintext
value of {{cssxref("unicode-bidi")}} now also works with vertical writing modes ({{bug(1302734)}}). - The
fill-box
andstroke-box
values of {{cssxref("clip-path")}} are now properly supported; previously, they wear aliases ofborder-box
({{bug(1289011)}}).
JavaScript
- The ES2015 {{jsxref("Symbol.toStringTag")}} property has been implemented ({{bug(1114580)}}).
- The ES2015 {{jsxref("TypedArray.prototype.toString()")}} and {{jsxref("TypedArray.prototype.toLocaleString()")}} methods have been implemented ({{bug(1121938)}}).
- The {{jsxref("DateTimeFormat.prototype.formatToParts()")}} method is now available ({{bug(1289340)}}).
- {{jsxref("Statements/const", "const")}} and {{jsxref("Statements/let", "let")}} are now fully ES2015-compliant ({{bug(950547)}}).
- Using {{jsxref("Statements/const", "const")}} in
for...of
loops now has a fresh binding for each iteration and no longer throws a {{jsxref("SyntaxError")}} ({{bug(1101653)}}). - The deprecated for each...in loop now presents a warning in the console ({{bug(1293205)}}). Please migrate your code to use the standardized
for...of
loop. - Generator functions can't have a label anymore and "
let
" as a label name is disallowed now ({{bug(1288459)}}). - Deprecated legacy generator functions will now throw when used in method definitions ({{bug(1199296)}}).
- The
next()
method of the iterator protocol will now throw a {{jsxref("TypeError")}} if the returned value is not an object ({{bug(1016936)}}).
Interfaces/APIs/DOM
DOM & HTML DOM
- Throttling in background tabs of timers created by {{domxref("WindowTimers.setInterval", "Window.setInterval()")}} and {{domxref("WindowTimers.setTimeout", "Window.setTimeout()")}} was changed in Firefox 50 to no longer occur if a Web Audio API {{domxref("AudioContext")}} is actively playing sound. However, this didn't resolve all scenarios in which timing-sensitive audio playback (such as music players generating individual notes using timers) could fail to work properly. For that reason, Firefox 51 no longer throttles background tabs which have an {{domxref("AudioContext")}}, even if it's not currently playing sound.
- The {{domxref("DOMImplementation.hasFeature()")}} now returns
true
in all cases ({{bug(984778)}}).
Canvas
- The non-standard
CanvasRenderingContext2D.mozFillRule
() method has been removed; the fill rule can be define by a parameter of the standard {{domxref("CanvasRenderingContext2D.fill()")}} method ({{bug(826619)}}). - The {{domxref("CanvasRenderingContext2D.imageSmoothingEnabled")}} has been unprefixed ({{bug(768072)}}).
WebGL
No change.
IndexedDB
No change.
Service Workers
No change.
WebRTC
- The {{domxref("RTCPeerConnection.removeStream()")}} method has been removed. It was deprecated back in Firefox 22, and has been throwing a NotSupportedError for a long time. You need to use {{domxref("RTCPeerConnection.removeTrack()")}} instead.
New APIs
No change.
Others
- For privacy reasons, both {{domxref("BatteryManager.chargingTime")}} and {{domxref("BatteryManager.dischargingTime")}} now round the returned value to the closest 15 minutes ({{bug(1292655)}}).
- Our implementation of Page Visibility API doesn't accept prefixed version anymore ({{bug(812701)}}).
MathML
No change.
SVG
- Added {{SVGAttr("tabindex")}} attribute ({{bug(778654)}}).
- Added {{SVGAttr("href")}} attribute obsoleting {{SVGAttr("xlink:href")}} ({{bug(1245751)}}).
- CSS Animations used in a SVG used in an {{HTMLElement("img")}} element now works again; it was an old regression ({{bug(1190881)}}).
Audio/Video
- Add FLAC support (FLAC codec) in both FLAC and Ogg containers ({{bug(1195723)}}). Supported FLAC mimetype:
audio/flac
,audio/x-flac
. For FLAC in Ogg:audio/ogg; codecs=flac
andvideo/ogg; codecs=flac
HTTP
No change.
Networking
No change.
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
- The Mozilla-specific Social API has been substantially changed (largely to remove APIs no longer used), as follows:
- The {{domxref("MozSocial")}} interface and the {{domxref("navigator.mozSocial")}} property which supports it have been removed.
- The Social Bookmarks API has been removed.
- The Social chat functionality has been removed.
- The Social Status API has been removed.
- All of the social widgets, except for the Share panel, have been removed. This includes the social sidebar, flyover panels, and so forth.
- All supporting user interface features and functionality for the removed APIs have been removed as well.
- Social service provider manifest properties supporting the removed functionality are no longer supported.
See also
Older versions
{{Firefox_for_developers(50)}}