• 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 42 for developers

Firefox 42 for developers

In This Article
  1. Changes for Web developers
    1. Developer Tools
    2. CSS
    3. HTML
    4. JavaScript
    5. Interfaces/APIs/DOM
      1. DOM & HTML DOM
      2. Service Workers
      3. Web Animations API
      4. Web Components
      5. WebGL
      6. WebRTC
      7. New APIs
      8. Miscellaneous
    6. MathML
    7. SVG
    8. Audio/Video
  2. HTTP
  3. Networking
  4. Security
  5. Changes for add-on and Mozilla developers
    1. Interfaces
      1. nsIContentPolicy
    2. XUL
    3. JavaScript code modules
    4. XPCOM
    5. Other
  6. See also
  7. Older versions
To test the latest developer features of Firefox,
install Firefox Developer Edition
Firefox 42 was released on November 3, 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:

  • Debugging Firefox for Android over Wifi
  • Firefox OS Simulator configuration in WebIDE
  • CSS filter presets

All devtools bugs fixed between Firefox 41 and Firefox 42.

CSS

  • Vertical writing-mode is now supported with rtl scripts (bug 1131451).
  • The values of caption-side are now relative to the table, and changing actual meaning according to its writing-mode value bug 1202993.
  • Non-standard properties like -moz-margin-start are now aliases of their standard counterpart (margin-inline-start, …). Previously, it was the opposite. This affects the value returned by CSSStyleDeclaration.cssText and iteration of the properties in a style ruleand iteration of the properties in a style rule, that both use the canonical form (bug 1118103).
  • The prefixed version of CSS gradients can be turned off by setting the layout.css.prefixes.gradients preference to false.
  • Several old bugs with float and margin collapsing behavior have been fixed (bug 478834, bug 538194, and bug 451791).

HTML

  • Experimental support for the referrer attribute of the <img> (bug 1166910), <iframe> (bug 1175736), <a> and <area> (bug 1174913) has been added. There is no effect by default, the network.http.enablePerElementReferrer being false by default.

JavaScript

  • The Reflect object has been implemented (bug 987514).
  • The implementation of the Proxy handler.ownKeys() trap has been updated to match the final ES2015 specification (bug 1049662).
  • Calling Map, Set, or WeakMap without new, will now throw a TypeError (bug 1083752).

Interfaces/APIs/DOM

DOM & HTML DOM

  • Images with an id are no more listed as property of the Window interface: <img id="login"> isn't accessible as window.login anymore. This behavior was introduced in Firefox 26 and has been removed to match a later change in the spec. (bug 959992)
  • MouseEvent.offsetX and MouseEvent.offsetY have been added (bug 69787).
  • The HTMLInputElement interface has been experimentally extended to handle the upload of directories (bug 1164310). These four members can be exposed by setting the dom.input.dirpicker preference to true:
    • HTMLInputElement.directory
    • HTMLInputElement.isFilesAndDirectoriesSupported
    • HTMLInputElement.getFilesAndDirectories()
    • HTMLInputElement.chooseDirectory()
  • The Directory interface has been experimentally extended (bug 1177688). The two members Directory.path and Directory.getContents can be exposed by setting the dom.input.dirpicker preference to true.
  • The HTMLMediaElement.mozSrcObject has been renamed in HTMLMediaElement.srcObject (bug 1175523).

Service Workers

  • Request.context has been removed (bug 1188062).
  • The Push API has been activated by default on Firefox for Desktop (bug 1153499), but only on the Nightly/Dev Edition/Beta channels. It is being deactivated by default in the Release channel until consumer UX and debugging features have been properly implemented (bug 1207875.) You can still activate it by enabling the dom.push.enabled pref in about:config.
  • The PushManager.hasPermission() method has been deprecated in the spec, and replaced with the PushManager.permissionState() method. Firefox has updated its implementation to reflect this (bug 1183853.)
  • Service-worker-related additions to the Notifications API have been implemented (bug 1114554), but are disabled in this release.

Web Animations API

Our experimental implementation of Web Animations API have been extended to support:

  • The AnimationPlayer.playbackRate property (bug 1127380).
  • The CSSAnimation and CSSTransition interfaces (bug 1178186).
  • The Animation.reverse() method (bug 1150808).
  • The AnimationPlaybackEvent interface has been added and cancel and finish are now fired on Animation (bug 1178664).

Web Components

Our experimental implementation of the Shadow DOM has been modified:

  • When trying to invoke Node.cloneNode() on a ShadowRoot, throws a DataCloneError exception (bug 1176757).
  • When invoking Document.importNode() with a ShadowRoot as an argument, we now throws a NotSupportedError exception (bug 1177914).
  • When invoking Document.adoptNode() with a ShadowRoot as an argument, we now throws a HierarchyRequestError exception (bug 1177991).

WebGL

  • WebGL2 WebGLTransformFeedback has been implemented (bug 1048724).
  • To obtain a WebGL2 context, HTMLCanvasElement.getContext() now takes webgl2 instead of experimental-webgl2 (bug 1187174).

WebRTC

  • The RTCICECandidatePairStats.mozPriority has been renamed to RTCICECandidatePairStats.priority (bug 1184426).

New APIs

  • The ImageBitmap interface and the createImageBitmap() method have been implemented. They are available on regular window scripts and in Web workers and allow efficient posting of images between window and worker contexts (bug 1044102).

Miscellaneous

  • The IDBCursorWithValue interface is now available in Web workers (bug 1188115).
  • Error events sent in Web workers doesn't bubble anymore (bug 1188141).
  • Media Source Extensions (MSE) has been activated for all Web sites, and no more for a white list of sites (bug 1185611).
  • The non-standard and deprecated Window.mozRequestAnimationFrame() has been removed (bug 909154). Use the standard Window.requestAnimationFrame() instead.
  • Speech synthesis (text-to-speech) has been implemented in Firefox Desktop for Windows, hidden behind the media.webspeech.synth.enabled flag in about:config (bug 1003457.) See Web Speech API for more information.

MathML

No change.

SVG

No change.

Audio/Video

No change.

HTTP

  • Firefox 41 and earlier versions were incorrectly accepting undefined or invalid pseudo-header fields in HTTP/2 responses. This is now fixed and the only pseudo-header field accepted from Firefox 42 is the :status as per the specification. Response headers containing arbitrary fields are considered malformed. (bug 1136727)

Networking

  • The CSP upgrade-insecure-requests directive has been implemented (bug 1139297).

Security

  • EV certificates with a validity greater than 39 months are now considered and handled as DV certificates (bug 1145679).

Changes for add-on and Mozilla developers

Interfaces

nsIContentPolicy

  • The TYPE_EMBED constant has been added to nsIContentPolicy to allow Gecko internals and add-on code to better differentiate different types of requests. Previously, TYPE_OBJECT was used for these cases (bug 1148030).
  • Similarly, the TYPE_SUBDOCUMENT constants has been split into TYPE_FRAME and TYPE_IFRAME (bug 1148044).

XUL

No change.

JavaScript code modules

No change.

XPCOM

No change.

Other

No change.

See also

  • Site Compatibility for Firefox 42

Older versions

  • Firefox 41 for developers
  • Firefox 40 for developers
  • Firefox 39 for developers
  • Firefox 38 for developers
  • Firefox 37 for developers
  • Firefox 36 for developers
  • 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

Document Tags and Contributors

Tags: 
  • Firefox
  • Release
  • Release Notes
 Contributors to this page: Sebastianz, fscholz, teoli, chrisdavidmills, syoichi, Jonathan_Watt, jsx, DBaron, jyavenard, kohei.yoshino, arai, Pablo_Ivan, wbamberg, AlfredoLlaquet, adria
 Last updated by: Sebastianz, Feb 7, 2017, 12:40:16 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