files/en-us/mozilla/firefox/releases/28/index.md
Firefox 28 was released on March 18, 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.
console.exception property has been added (Firefox bug 922214).More details in this post.
none value has been added to {{cssxref("font-variant-ligatures")}} (Firefox bug 913264).<input type=color> and <input type=number> have been implemented, disabled by default.ECMAScript 2015 implementation continues:
Array methods have been implemented: {{jsxref("Array.prototype.entries()")}} and {{jsxref("Array.prototype.keys()")}} (Firefox bug 894658).A bug causing that {{jsxref("Object.getOwnPropertyNames()")}} did not see unresolved properties of {{jsxref("Error")}} objects has been fixed (Firefox bug 724768).
HTMLVideoElement.canPlayType('video/webm') now reports maybe. (Firefox bug 884275).document.createDocumentFragment().getElementById() (Firefox bug 933193).new File(["foo"], "foo.txt") has been implemented. (Firefox bug 819900).CanvasRenderingContext2D.drawSystemFocusRing() and {{domxref("CanvasRenderingContext2D/drawFocusIfNeeded", "CanvasRenderingContext2D.drawCustomFocusRing()")}} have been implemented. The preference canvas.focusring.enabled must be set to true to activate both (Firefox bug 540456).willReadFrequently context attribute for 2D canvas contexts has been implemented (see {{domxref("HTMLCanvasElement.getContext()")}}) (Firefox bug 884226).NavigatorID have been implemented on {{domxref("WorkerNavigator")}} to allow their use in workers: {{domxref("Navigator.appCodeName")}}, {{domxref("Navigator.product")}}, and {{domxref("Navigator.taintEnabled")}} (Firefox bug 925847).mathvariant attribute has been added (Firefox bug 114365).No change.
SPDY/2 has been removed.DeferredTask.jsm has been changed, and the isPending(), start(), flush(), and cancel() methods have been removed (Firefox bug 940408).script-nonce directive has been implemented. The preference security.csp.experimentalEnabled should be set to true to enable this functionality (Firefox bug 855326).