---
title: Firefox 37 for developers
slug: Mozilla/Firefox/Releases/37
tags:
- Firefox
- NeedsTranslation
- Release Notes
- TopicStub
translation_of: Mozilla/Firefox/Releases/37
---
{{FirefoxSidebar}}
Firefox 37 was released on March 31st, 2015. 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
Highlights:
All devtools bugs fixed between Firefox 36 and Firefox 37.
CSS
- {{cssxref("display")}}
:
contents
is now activated by default ({{bug(1102374)}} and {{bug(1105369)}}).
- CSS multi-column layout is now working on element with {{cssxref("display")}}
:
table-caption
({{bug(1109571)}}).
- Relative positioning ({{cssxref("position")}}
:
relative
) of table cells has been implemented ({{bug(35168)}}).
- The quirks mode behavior of {{cssxref("empty-cells")}} has been removed: it now defaults to
show
like in standard mode ({{bug(1020400)}}).
HTML
- The value
<a rel="noreferrer">
now also works when the link is opened in new tab ({{bug(1031264)}}).
- The
'.'
followed by the extension is now allowed in <input accept>
: when used, a file selector filters with this given extension to be proposed to the user ({{bug(826176)}}).
JavaScript
- The {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}} and {{jsxref("WeakSet")}} constructors now ignore null iterable ({{bug(1092538)}}).
- The {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}} and {{jsxref("WeakSet")}} constructors now supports monkey-patched
prototype.set
or prototype.add
({{bug(804279)}}).
- The Non-standard {{jsxref("String.quote","String.prototype.quote()")}} method has been removed ({{bug(1103181)}}).
- The {{jsxref("RegExp.prototype.flags")}} property has been implemented ({{bug(1108467)}}).
- Several {{jsxref("Array")}} methods have been implemented for typed arrays as well:
- The {{jsxref("TypedArray.every", "every()")}} and {{jsxref("TypedArray.some", "some()")}} methods ({{bug(1116390)}}).
- The {{jsxref("TypedArray.find", "find()")}} and {{jsxref("TypedArray.findIndex", "findIndex()")}} methods ({{bug(1078975)}}).
- The {{jsxref("TypedArray.fill", "fill()")}} method ({{bug(1113722)}}).
- The {{jsxref("TypedArray.indexOf", "indexOf()")}} and {{jsxref("TypedArray.lastIndexOf", "lastIndexOf()")}} methods ({{bug(1107601)}}).
- The {{jsxref("TypedArray.join", "join()")}} method ({{bug(1115817)}}).
- The {{jsxref("TypedArray.reduce", "reduce()")}} and {{jsxref("TypedArray.reduceRight", "reduceRight()")}} methods ({{bug(1117350)}}).
- The {{jsxref("TypedArray.reverse", "reverse()")}} method ({{bug(1111516)}}).
- The {{jsxref("TypedArray.keys", "keys()")}}, {{jsxref("TypedArray.values", "values()")}}, and {{jsxref("TypedArray.entries", "entries()")}} methods ({{bug(1119217)}}).
- ES6 Proxy {{jsxref("Global_Objects/Proxy/handler/enumerate", "enumerate")}} trap is implemented ({{bug(783829)}}).
- The
configurable
attribute of the {{jsxref("Function.length")}} property is now true
per the ES6 specification ({{bug(911142)}}).
- The development of ParallelJS (PJS) has been discontinued due to the limited future prospects, little attention and code complexity. The experimental implementation that had been enabled only on the Nightly channel, including the
Array.prototype.mapPar
, filterPar
and reducePar
methods, has been completely removed.
Interfaces/APIs/DOM
- The {{domxref("StereoPannerNode")}} Web Audio node has been implemented ({{bug(1100349)}}).
- The {{jsxref("Promise")}}-based version of {{domxref("OfflineAudioContext")}} is now available ({{bug(1087944)}}).
- The experimental, not activated by default, implementation of Service Workers progresses: {{domxref("ServiceWorkerGlobalScope.update()")}} has been implemented {{bug(1065366)}}.
- The IndexedDB API can now be used in Web workers ({{bug(701634)}}).
- Our experimental implementation of WebGL 2.0 is going forward!
- The {{domxref("WebGL2RenderingContext.getBufferSubData()")}} method has been implemented to provide access to Buffer Objects ({{bug(1048731)}}).
- Some key names of
KeyboardEvent.key
are changed for conforming the latest DOM Level 3 Events spec. See the tables of KeyboardEvent.key values in MDN. The green cells are new values. And purple values are still ustable. Be careful if you use them (meta bug for these changes is {{bug(900372)}}).
- The {{domxref("Console")}} interface is now working on {{domxref("ServiceWorker")}} and {{domxref("SharedWorker")}}. It was previously available but not working ({{bug(1058644)}}).
MathML
No change.
SVG
- SVG2's
<marker orient="auto-start-reverse">
has been implemented ({{bug(1107584)}}).
Audio/Video
No change.
Networking
- WebSockets now supports the
permessage
compression method, if the server does support it ({{bug(792831)}}).
Security
- The usage of weak protocols or ciphers, like SSL 3.0 and RC4, are now logged in the console, to warn sites that are using it ({{bug(1092835)}}).
- The CSP 1.1
referrer
directive is now supported ({{bug(965727)}}).
Changes for add-on and Mozilla developers
Add-on SDK
No change.
XUL
No change.
See also
Older versions
{{Firefox_for_developers('36')}}