files/en-us/mozilla/firefox/releases/29/index.md
Firefox 29 was released on April 29, 2014. 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.
Major changes include:
See the Mozilla Hacks blog post for details and other smaller changes.
layout.css.variables.enabled to true if you want to play with them).layout.css.will-change.enabled must be switched to true to enable it. (Firefox bug 940842)3e1 or 10e+0, is now supported for {{cssxref("<number>")}} values and derivatives, like {{cssxref("<percentage>")}} and unit values, but not {{cssxref("<integer>")}} (Firefox bug 964529).layout.css.touch_action.enabled pref controls it. (Firefox bug 795567)<input type=color> and <input type=number> are available by default.<pre cols> has been removed, as well as the layout effect of <pre wrap>. Both effects can, and should, be achieved using CSS. (Firefox bug 949879)New ECMAScript 2015 String methods: {{jsxref("String.prototype.codePointAt()")}} and {{jsxref("String.prototype.fromCodePoint()")}} have been implemented (Firefox bug 918879).
The ECMAScript Internationalization API (ECMA-402) has been implemented and is now enabled by default in Firefox Desktop (Firefox bug 853301):
New objects in the new {{jsxref("Intl")}} object namespace:
The following methods of {{jsxref("String")}}, {{jsxref("Number")}} and {{jsxref("Date")}} have been updated to include the locales and options arguments per ECMA-402:
To match the updated ECMAScript 2015 draft specification, the {{jsxref("Map")}} and {{jsxref("Set")}} objects now treat -0 and +0 as the same when checking for key and value equality.
Promise has been enabled by default (Firefox bug 918806).
Completed generators now return an IteratorResult object instead of throwing (Firefox bug 958951).
A malformed JSON string parsed by {{jsxref("JSON.parse()")}} now yields a more detailed error message containing the line and column number that caused the parsing error. This is useful when debugging large JSON data.
The {{jsxref("ArrayBuffer.isView()")}} method has been added (Firefox bug 896105).
HTMLShadowElement interface has been implemented behind the dom.webcomponents.enabled. Flip it to true if you want to use it. (Firefox bug 887538)moz-webgl is no longer supported. Use the standard webgl value (Firefox bug 913597).Window.pkcs11 property has been removed; it was returning null since Firefox 3.0.14. (Firefox bug 964964)deep argument. Until now, if omitted, these methods acted as if the value of deep was true. But this behavior has been changed as per the latest spec, and if omitted, the methods will act as if the value was false. (Firefox bug 937461)Window._content is no longer available to Web content (Firefox bug 946564).'' will set it to the default port associated with the protocol, and 0 to 0. (Firefox bug 930450)CanvasRenderingContext2D.drawSystemFocusRing() method got renamed to {{domxref("CanvasRenderingContext2D.drawFocusIfNeeded()")}} (Firefox bug 959820).No change.
No change.
hash-source directive has been implemented. The preference security.csp.experimentalEnabled should be set to true to enable this functionality (Firefox bug 883975).nsISecurityCheckedComponent has been removed (Firefox bug 794943). Most consumers can remove nsISecurityCheckedComponent from their interface definition and they will continue to work.