Firefox 34 for developers
Firefox 34 was released on December 1st, 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.
Changes for Web developers
Developer Tools
CSS
- Our experimental implementation of CSS Fonts Level 3 progresses. Newly implemented features are:
- the fallback algorithm of
font-variant-position
, creating synthetic alternates for missing glyphs, based on the subscript and superscript metrics supplied by the font (Firefox bug 1024804). - The
layout.css.font-features.enabled
preference has been removed, meaning the following properties have been activated by default:- The CSS Font Level 3 version of
font-variant
which is now a shorthand property. - The longhand properties
font-variant-caps
,font-variant-numeric
,font-variant-position
,font-variant-east-asian
,font-variant-ligatures
, andfont-variant-alternates
. - The properties
font-kerning
andfont-synthesis
- The properties
font-feature-settings
andfont-language-override
are unprefixed. The prefixed version are still available for some time to ease transition.
- The CSS Font Level 3 version of
- the fallback algorithm of
- The value
auto
has been added tomin-width
andmin-height
with a different behavior than the last time (Firefox bug 984711 and Firefox bug 1015474). - An experimental implementation, disabled by default, of the filter functional values of the
filter
property have been implemented. It is controlled by thelayout.css.filters.enabled
pref (Firefox bug 948265). - Fixed starting of CSS transitions that start together with changes to
display
,position
,overflow
, and similar properties (Firefox bug 625289)
HTML
No change.
JavaScript
- The ES2015 syntax for computed property names on object literals has been implemented (Firefox bug 924688).
- This includes getter and setter method names as well (Firefox bug 1048384) and can also be used with destructuring.
- The ES2015 shorthand syntax for defining methods on objects has been implemented (Firefox bug 924672).
- The ES2015
Object
methodObject.assign()
has been implemented (Firefox bug 937855). - ES2015 template strings and the
String.raw()
method are now supported (Firefox bug 1038259, Firefox bug 1039774). - A new ES2015 object
WeakSet
has been added (Firefox bug 792439). - ES2015 Symbols (only available in the Nightly channel) have been updated to conform with recent specification changes (Firefox bug 1042602):
- When trying to convert a symbol to a number, a
TypeError
will be thrown now. - When using loose equality,
Object(sym) == sym
returnstrue
now.
- When trying to convert a symbol to a number, a
- The experimental
TypedArray.prototype.move()
method (only available in former Nightly and Aurora channels) has been replaced with the now implemented standard ES2015TypedArray.prototype.copyWithin()
method (Firefox bug 1021379). - In strict mode, setting a duplicate property name in object literals will no longer throw a
SyntaxError
as per ES2015 specification (Firefox bug 1041128). - In regular expressions (including
String.replace
), the matched text for a capturing group is nowundefined
instead of the empty string when that capturing group didn't get consulted because quantifiers prevented its exercise (see Firefox bug 369778 and this example code). Note that due to web compatibility, RegExp.$N will still return an empty string (Firefox bug 1053944). - The ES2015 spread operator is now supported in destructuring (Firefox bug 933276).
- Destructuring now uses iterator protocol instead of array-like protocol (Firefox bug 933276).
Proxy.revocable()
has been implemented (Firefox bug 978279).
Interfaces/APIs/DOM
- The
Element.matches()
method has been added; it does what the non-standardmozMatchesSelector()
was doing (Firefox bug 886308). - The
Performance.now()
method is now available to Web workers (Firefox bug 908390). - The non-standard interface
MozNamedAttrMap
has been renamed to the standardNamedNodeMap
andElement.attributes
has been adapted to use it (Firefox bug 1055467). - The
Path2D.addPath()
method has been added (Firefox bug 985801). - The non-standard Device Storage API is now also enabled for privileged apps installed on Android (Firefox bug 886627).
- Web Crypto API has been enabled by default (Firefox bug 1074001).
- The
MediaStreamTrack.stop()
method has been added (Firefox bug 1057955). - Our experimental implementation of EME continues. The
MediaKeySession.getUsableKeyIds()
method has been added (Firefox bug 1057171). - Regarding WebRTC:
- an experiment implementation of
RTPSender
andRTPReceiver
working withRTCPeerConnection
has landed (Firefox bug 1032835). - application window sharing has been added to
Navigation.getUserMedia()
(Firefox bug 1036653) andMediaTrackConstraintSet
now supportsbrowserWindow
andscrollWithPage
allowing to chose the tab of a window that has to be shared without showing the tab chooser dialog (Firefox bug 1041700). "browser"
is now an accepted value of MediaSourceEnum, used to define constraints (Firefox bug 1041493).
- an experiment implementation of
- For Web Components, event retargeting is now implemented (Firefox bug 887541).
- The
Headers
interface has been implemented (Firefox bug 1029620). It is controlled by thedom.fetch.enabled
preference which is set tofalse
by default. - Regarding our experimental implementation of Web Animations, the
AnimationEffect
interface has been added, with the singleAnimationEffect.name
property (Firefox bug 1045993). Web Animations is not activated by default and is controlled by thedom.animations-api.core.enabled
preference. - CSSOM View smooth scrolling methods have been added:
Window.scroll()
,Window.scrollTo()
, andWindow.scrollBy()
(Firefox bug 1022818). - The non-standard
MozSmsSegmentInfo
is no more visible on the global object Firefox bug 916607.
MathML
No change.
SVG
No change.
Audio/Video
No change.
Security and Networking
- SSLv3 is now disabled by default (Firefox bug 1030963).
- A warning is sent to the console when a website use the CSS
reflected-xss
directive (Firefox bug 1045902).
Changes for add-on and Mozilla developers
- localstore.rdf has been removed (Firefox bug 559505).
Add-on SDK
Highlights
- New API: dev/panel enables you to extend the Firefox Developer Tools.
- jpm beta released.
"./my-file"
introduced everywhere as an alias forrequire("sdk/self").data.url("my-file")
- Added the ability to attach stylesheets to individual tabs.
Details
GitHub commits made between Firefox 33 and Firefox 34. This will not include any uplifts made after this release entered Aurora.
Bugs fixed between Firefox 33 and Firefox 34. This will not include any uplifts made after this release entered Aurora.
Older versions
- 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
- Firefox 4 for developers
- Firefox 3.6 for developers
- Firefox 3.5 for developers
- Firefox 3 for developers
- Firefox 2 for developers
- Firefox 1.5 for developers