Firefox 42 for developers
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
- Debugging Firefox for Android over Wi-Fi
- Firefox OS Simulator configuration in WebIDE
- CSS filter presets
writing-modeis now supported with rtl scripts (Firefox bug 1131451).
- The values of
caption-sideare now relative to the table, and changing actual meaning according to its
writing-modevalue Firefox bug 1202993.
- Non-standard properties like
-moz-margin-startare now aliases of their standard counterpart (
margin-inline-start, …). Previously, it was the opposite. This affects the value returned by
CSSStyleDeclaration.cssTextand iteration of the properties in a style rule, which both use the canonical form (Firefox bug 1118103).
- The prefixed version of CSS gradients can be turned off by setting the
- Several old bugs with
floatand margin collapsing behavior have been fixed (Firefox bug 478834, Firefox bug 538194, and Firefox bug 451791).
- Experimental support for the
referrerattribute of the
<img>(Firefox bug 1166910),
<iframe>(Firefox bug 1175736),
<area>(Firefox bug 1174913) has been added. There is no effect by default, the
Reflectobject has been implemented (Firefox bug 987514).
- The implementation of the
handler.ownKeys()trap has been updated to match the final ES2015 specification (Firefox bug 1049662).
new, will now throw a
TypeError(Firefox bug 1083752).
DOM & HTML DOM
- Images with an
idare no more listed as property of the
<img id="login">isn't accessible as
window.loginanymore. This behavior was introduced in Firefox 26 and has been removed to match a later change in the spec. (Firefox bug 959992)
MouseEvent.offsetYhave been added (Firefox bug 69787).
HTMLInputElementinterface has been experimentally extended to handle the upload of directories (Firefox bug 1164310). These four members can be exposed by setting the
Directoryinterface has been experimentally extended (Firefox bug 1177688). The two members
Directory.getContentscan be exposed by setting the
HTMLMediaElement.mozSrcObjecthas been renamed in
HTMLMediaElement.srcObject(Firefox bug 1175523).
Request.contexthas been removed (Firefox bug 1188062).
- The Push API has been activated by default on Firefox for Desktop (Firefox 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 (Firefox bug 1207875.) You can still activate it by enabling 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 (Firefox bug 1183853.)
- Service-worker-related additions to the Notifications API have been implemented (Firefox bug 1114554), but are disabled in this release.
Web Animations API
Our experimental implementation of Web Animations API have been extended to support:
AnimationPlayer.playbackRateproperty (Firefox bug 1127380).
CSSTransitioninterfaces (Firefox bug 1178186).
Animation.reverse()method (Firefox bug 1150808).
AnimationPlaybackEventinterface has been added and
finishare now fired on
Animation(Firefox bug 1178664).
Our experimental implementation of the Shadow DOM has been modified:
- When trying to invoke
ShadowRoot, throws a
DataCloneErrorexception (Firefox bug 1176757).
- When invoking
ShadowRootas an argument, we now throws a
DOMException(Firefox bug 1177914).
- When invoking
ShadowRootas an argument, we now throws a
DOMException(Firefox bug 1177991).
WebGLTransformFeedbackhas been implemented (Firefox bug 1048724).
- To obtain a WebGL2 context,
experimental-webgl2(Firefox bug 1187174).
RTCPeerConnection.createOffer()'s options data type,
RTCOfferOptions, has been updated to more closely match the specification. Among other changes, it is now based upon the
RTCOfferAnswerOptionsdictionary, which provides the
RTCAnswerOptionsdictionary has been added. This is the type used for the
RTCICECandidatePairStats.mozPriorityhas been renamed to
RTCICECandidatePairStats.priority(Firefox bug 1184426).
ImageBitmapinterface 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 (Firefox bug 1044102).
IDBCursorWithValueinterface is now available in Web workers (Firefox bug 1188115).
- Error events sent in Web workers doesn't bubble anymore (Firefox bug 1188141).
- Media Source Extensions (MSE) has been activated for all websites, and no more for a white list of sites (Firefox bug 1185611).
- The non-standard and deprecated
Window.mozRequestAnimationFrame()has been removed (Firefox bug 909154). Use the standard
- Speech synthesis (text-to-speech) has been implemented in Firefox Desktop for Windows, hidden behind the
about:config(Firefox bug 1003457.) See Web Speech API for more information.
- 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. (Firefox bug 1136727)
- The CSP
upgrade-insecure-requestsdirective has been implemented (Firefox bug 1139297).
- EV certificates with a validity greater than 39 months are now considered and handled as DV certificates (Firefox bug 1145679).
Changes for add-on and Mozilla developers
TYPE_EMBEDconstant has been added to
nsIContentPolicyto allow Gecko internals and add-on code to better differentiate different types of requests. Previously,
TYPE_OBJECTwas used for these cases (Firefox bug 1148030).
- Similarly, the
TYPE_SUBDOCUMENTconstants has been split into
TYPE_IFRAME(Firefox bug 1148044).
- 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