• Skip to main content
  • Select language
  • Skip to search
MDN Web Docs
  • Technologies
    • HTML
    • CSS
    • JavaScript
    • Graphics
    • HTTP
    • APIs / DOM
    • WebExtensions
    • MathML
  • References & Guides
    • Learn web development
    • Tutorials
    • References
    • Developer Guides
    • Accessibility
    • Game development
    • ...more docs
Firefox
  1. MDN
  2. Mozilla
  3. Firefox
  4. Firefox developer release notes
  5. Firefox 36 for developers

Firefox 36 for developers

In This Article
  1. Changes for Web developers
    1. Developer Tools
    2. CSS
    3. HTML
    4. JavaScript
    5. Interfaces/APIs/DOM
    6. MathML
    7. SVG
    8. Audio/Video
  2. Networking
  3. Security
  4. Changes for add-on and Mozilla developers
    1. Add-on SDK
      1. Highlights
      2. Details
    2. JavaScript code modules
    3. Interfaces
      1. nsIContentPolicy
    4. XUL
    5. Other
  5. See also
  6. Older versions
Firefox 36 was released on February 24th, 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

Developer Tools

Highlights:

  • eval sources now appear in the Debugger
  • Simpler process for connecting to Firefox for Android
  • Box Model Highlighter works on remote targets
  • "Invert the call tree" option in the Profiler
  • Inspect DOM promises in the console
  • Extra "Paste" commands in the Inspector

All devtools bugs fixed between Firefox 35 and Firefox 36.

CSS

  • The will-change property has been enabled by default (bug 961871).
  • The white-space property is now working on <textarea> HTML elements (bug 82711).
  • The unicode-range descriptor is now supported by @font-face (bug 475891), but not enabled by default.
  • The properties text-decoration-color, text-decoration-line, and text-decoration-style are unprefixed (bug 825004). The prefixed version are still available for some time to ease transition (bug 1097922).
  • The text-decoration property is turned into shorthand property (bug 1039488).
  • The properties object-fit and object-position are now supported (bug 624647)
  • The contents value of the display property has been experimentally implemented. It is preffed off by default (bug 907396).
  • In Quirks mode, the :active and :hover quiver quirk has been altered to be applied less often: it is now used only on links, only if there are no pseudo-element or other pseudo-class in the element and if it isn't part of a pseudo-class element (bug 783213).
  • The isolation property has been implemented (bug 1077872).
  • CSS <gradient> now applies on the premultiplied colors, matching the spec and other browsers, and getting rid of unexpected gray colors appearing in them (bug 591600).
  • Interpolation hint syntax has been added to <gradient> (bug 1074056).
  • The scroll-behavior property has been implemented (bug 1010538).

HTML

  • Support for <meta name="referrer"> has been added (bug 704320).
  • In Firefox, <input> filters specified in the accept attribute will always be selected by default, unless there is a unknown value, that is an unknown mime type or badly formatted value in the accept attribute. Previously specified filters were only selected by default for image/*,video/* and audio/* values (bug 826185).

JavaScript

  • The ECMAScript 2015 Symbol data type has been enabled by default (was available in the Nightly channel since version 33) (bug 1066322):
    • Symbol
    • Symbol.for()
    • Symbol.keyFor()
    • Object.getOwnPropertySymbols()
  • The old placeholder string "@@iterator" has been replaced with the real ES2015 well-known symbol Symbol.iterator for the iterable interface property key (bug 918828).
  • The spec-internal abstract operation ToNumber(string) now supports binary (0b) and octal (0o) literals, this is a potentially breaking change from ES5 (bug 1079120).
    • Number("0b11") now returns 3, not NaN.
    • "0o11" == 9 now returns true, not false.
  • The const declaration is now block-scoped and requires an initializer (bug 611388). It also can not be redeclared anymore (bug 1095439).
    • {const a=1}; a; now throws a ReferenceError and does not return 1 anymore due to block-scoping.
    • const a; now throws a SyntaxError ("missing = in const declaration"): An initializer is required.
    • const a = 1; a = 2; now also throws a SyntaxError ("invalid assignment to const a").
  • The ES2016 method Array.prototype.includes has been implemented, but for now, it is only enabled in Nightly builds (bug 1069063).
  • The delete operator now triggers the "temporal dead zone" when using with let and const (bug 1074571).
  • The non-standard let blocks and let expressions are deprecated and will now log a warning in the console. Do not use them anymore, they will be removed in the future.
  • WeakMap constructor now handles optional iterable argument (bug 1092537).

Interfaces/APIs/DOM

  • The CanvasRenderingContext2D.resetTransform() method of the Canvas API has been implemented (bug 1099148).
  • ECDSA is now supported in the Web Crypto API (bug 1034854).
  • Our experimental implementation of WebGL 2.0 is going forward!
    • The WebGLQuery interface is available (bug 1048719).
    • The WebGL2RenderingContext.invalidateFrameBuffer() method has been implemented (bug 1076456).
  • The MediaDevices interface, containing the Promise-based version of getUserMedia(), has been added. It is available via Navigator.mediaDevices (bug 1033885).
  • The EME-related Navigator.requestMediaKeySystemAccess() method, and the related MediaKeySystemAccess, is now supported (bug 1095257).
  • The keyschange event is now sent when an EME-related CDM change keys in a session (bug 1081755).
  • Experimental support for virtual reality devices has landed behind the dom.vr.enabled preference, off by default (bug 1036604).
  • The function associated with RTCPeerConnection.onsignalingstatechange now receives an event as parameter, as per spec (bug 1075133).
  • The experimental implementation of Web Animations make progress: the method AnimationPlayer.play() and AnimationPlayer.pause() are now supported (bug 1070745), as well as AnimationPlayer.playState (bug 1037321).
  • The non-standard DOMRequest interface has now a then() method (bug 839838).
  • The CSSOM View scroll behavior controlling methods, Element.scroll(), Element.scrollTo(), Element.scrollBy(), and Element.scrollIntoView(), have been implemented or extended (bug 1045754 and bug 1087559).
  • Assigning to Element.innerHTML on an SVGElement now create elements in the SVG namespace (bug 886390).
  • The nsIWebBrowserPersist.saveURI() method now requires 8 arguments, in an order incompatible with previous releases.
  • Support for Media Source Extensions (MSE) is activated by default in non-build releases (Nightly and Developer Edition only) (bug 1000686). It keeps being preffed off on Beta and Release version.
 

MathML

No change.

SVG

No change.

Audio/Video

No change.

Networking

  • Support for SPDY/3 has been removed; support for SPDY/3.1 is still available (bug 1097944).

Security

  • RC4 is now considered as insecure and all UI indicators will react as such; SSLv3 has been disabled by default in Firefox 34, but the UI has been changed to help the user better understand what is happening (bug 1093595).
  • Also, RC4 is no longer offered in the initial handshake of TLS (bug 1088915).
  • The form-action directive of CSP 1.1 is now supported (bug 529697).
  • In the preferences of Firefox, The Do not track selection widget is again an on/off switch (bug 1071747).

Changes for add-on and Mozilla developers

Add-on SDK

Highlights

  • The sdk/test/httpd module was removed in Firefox 36, please use the addon-httpd npm module instead.
  • Add badges to sdk/ui buttons (bug 994280).
  • Implemented global require function to access sdk modules anywhere (bug 1070927), using:
var { require } = Cu.import("resource://gre/modules/commonjs/toolkit/require.js", {});

Details

Github commits made between Firefox 35 and Firefox 36.

JavaScript code modules

  • PromiseUtils.resolveOrTimeout is implemented (bug 1080466).
  • PromiseUtils.defer (a replacement for Promise.defer) is implemented (bug 1093021).

Interfaces

nsIContentPolicy

New constants have been added to nsIContentPolicy to allow Gecko internals and add-on code to better differentiate different types of requests. These are:

TYPE_FETCH
Indicates a content load request initiated by the GlobalFetch.fetch() method.
TYPE_IMAGESET
Indicates a request to load an <img> (with the srcset attribute or <picture> element.

XUL

No change.

Other

  • Firefox -remote command line option has been removed (bug 1080319).

See also

  • Site Compatibility for Firefox 36

Older versions

  • Firefox 35 for developers
  • Firefox 34 for developers
  • Firefox 33 for developers
  • Firefox 32 for developers
  • Firefox 31 for developers
  • Firefox 30 for developers
  • Firefox 29 for developers
  • Firefox 28 for developers
  • Firefox 27 for developers
  • Firefox 26 for developers
  • Firefox 25 for developers
  • Firefox 24 for developers
  • Firefox 23 for developers
  • Firefox 22 for developers
  • Firefox 21 for developers
  • Firefox 20 for developers
  • Firefox 19 for developers
  • Firefox 18 for developers
  • Firefox 17 for developers
  • Firefox 16 for developers
  • Firefox 15 for developers
  • Firefox 14 for developers
  • Firefox 13 for developers
  • Firefox 12 for developers
  • Firefox 11 for developers
  • Firefox 10 for developers
  • Firefox 9 for developers
  • Firefox 8 for developers
  • Firefox 7 for developers
  • Firefox 6 for developers
  • Firefox 5 for developers

Document Tags and Contributors

Tags: 
  • Firefox
 Contributors to this page: Sebastianz, kdex, kohei.yoshino, serv-inc, Sheppy, teoli, chrisdavidmills, evold, kmaglione, phistuck, MagnetMan, Havvy, Vento, fscholz, fmarier, arai, wbamberg, ziyunfei, myakura
 Last updated by: Sebastianz, Feb 7, 2017, 12:45:50 PM
  1. Add-ons
    1. Firefox developer release notes
    2. Add-ons
    3. Add-on guidelines
    4. Add-on Manager
    5. Extensions
    6. OpenSearch plug-ins
    7. Plugins
    8. Themes
  2. Firefox internals
    1. Firefox developer release notes
    2. Mozilla project
    3. Gecko
    4. JavaScript code modules
    5. JS-ctypes
    6. MathML project
    7. MFBT
    8. Mozilla projects
    9. Preference system
    10. WebIDL bindings
    11. XPCOM
    12. XUL
  3. Building and contributing
    1. Build instructions
    2. Configuring build options
    3. How the build system works
    4. Mozilla source code
    5. Localization
    6. Mercurial
    7. Quality assurance
    8. Using Mozilla code in other projects