---
title: Firefox 34 for developers
slug: Mozilla/Firefox/Releases/34
tags:
- Firefox
- NeedsTranslation
- Releases
- TopicStub
translation_of: Mozilla/Firefox/Releases/34
---
{{FirefoxSidebar}}
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
Highlights:
All devtools bugs fixed between Firefox 33 and Firefox 34.
CSS
- Our experimental implementation of CSS Fonts Level 3 progresses. Newly implemented features are:
- the fallback algorithm of {{cssxref("font-variant-position")}}, creating synthetic alternates for missing glyphs, based on the subscript and superscript metrics supplied by the font ({{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 {{cssxref("font-variant")}} which is now a shorthand property.
- The longhand properties {{cssxref("font-variant-caps")}}, {{cssxref("font-variant-numeric")}}, {{cssxref("font-variant-position")}}, {{cssxref("font-variant-east-asian")}}, {{cssxref("font-variant-ligatures")}}, and {{cssxref("font-variant-alternates")}}.
- The properties {{cssxref("font-kerning")}} and {{cssxref("font-synthesis")}}
- The properties {{cssxref("font-feature-settings")}} and {{cssxref("font-language-override")}} are unprefixed. The prefixed version are still available for some time to ease transition.
- The value
auto has been added to {{cssxref("min-width")}} and {{cssxref("min-height")}} with a different behavior than the last time ({{bug(984711)}} and {{bug(1015474)}}).
- An experimental implementation, disabled by default, of the filter functional values of the {{cssxref("filter")}} property have been implemented. It is controlled by the
layout.css.filters.enabled pref ({{bug(948265)}}).
- Fixed starting of CSS transitions that start together with changes to {{cssxref("display")}}, {{cssxref("position")}}, {{cssxref("overflow")}}, and similar properties ({{bug(625289)}})
HTML
No change.
JavaScript
- The ES6 syntax for computed property names on object literals has been implemented ({{bug(924688)}}).
- The ES6 shorthand syntax for defining methods on objects has been implemented ({{bug(924672)}}).
- The ES6
Object method {{jsxref("Object.assign", "Object.assign()")}} has been implemented ({{bug(937855)}}).
- ES6 template strings and the {{jsxref("String.raw()")}} method are now supported ({{bug(1038259)}}, {{bug(1039774)}}).
- A new ES6 object {{jsxref("WeakSet")}} has been added ({{bug(792439)}}).
- ES6 Symbols (only available in the Nightly channel) have been updated to conform with recent specification changes ({{bug(1042602)}}):
- When trying to convert a symbol to a number, a
TypeError will be thrown now.
- When using loose equality,
Object(sym) == sym returns true now.
- The experimental {{jsxref("TypedArray.prototype.move()")}} method (only available in former Nightly and Aurora channels) has been replaced with the now implemented standard ES6 {{jsxref("TypedArray.prototype.copyWithin()")}} method ({{bug(1021379)}}).
- In strict mode, setting a duplicate property name in object literals will no longer throw a
SyntaxError as per ES6 specification ({{bug(1041128)}}).
- In regular expressions (including
String.replace), the matched text for a capturing group is now undefined instead of the empty string when that capturing group didn't get consulted because quantifiers prevented its exercise (see {{bug(369778)}} and this example code). Note that due to web compatibility, RegExp.$N will still return an empty string ({{bug(1053944)}}).
- The ES6 spread operator is now supported in destructuring ({{bug(933276)}}).
- Destructuring now uses iterator protocol instead of array-like protocol ({{bug(933276)}}).
- {{jsxref("Proxy.revocable()")}} has been implemented ({{bug(978279)}}).
Interfaces/APIs/DOM
- The {{domxref("Element.matches()")}} method has been added; it does what the non-standard
mozMatchesSelector() was doing ({{bug(886308)}}).
- The {{domxref("Performance.now()")}} method is now available to Web workers ({{bug(908390)}}).
- The non-standard interface
MozNamedAttrMap has been renamed to the standard {{domxref("NamedNodeMap")}} and {{domxref("Element.attributes")}} has been adapted to use it ({{bug(1055467)}}).
- The {{domxref("Path2D.addPath()")}} method has been added ({{bug(985801)}}).
- The non-standard Device Storage API is now also enabled for privileged apps installed on Android ({{bug(886627)}}).
- Web Crypto API has been enabled by default ({{bug(1074001)}}).
- The {{domxref("MediaStreamTrack.stop()")}} method has been added ({{bug(1057955)}}).
- Our experimental implementation of EME continues. The {{domxref("MediaKeySession.getUsableKeyIds()")}} method has been added ({{bug(1057171)}}).
- Regarding WebRTC:
- an experiment implementation of {{domxref("RTPSender")}} and {{domxref("RTPReceiver")}} working with {{domxref("RTCPeerConnection")}} has landed ({{bug(1032835)}}).
- application window sharing has been added to {{domxref("Navigation.getUserMedia()")}} ({{bug(1036653)}}) and {{domxref("MediaTrackConstraintSet")}} now supports
browserWindow and scrollWithPage allowing to chose the tab of a window that has to be shared without showing the tab chooser dialog ({{bug(1041700)}}).
"browser" is now an accepted value of MediaSourceEnum, used to define constraints ({{bug(1041493)}}).
- For Web Components, event retargeting is now implemented ({{bug(887541)}}).
- The {{domxref("Headers")}} interface has been implemented ({{bug(1029620)}}). It is controlled by the
dom.fetch.enabled preference which is set to false by default.
- Regarding our experimental implementation of Web Animations, the {{domxref("AnimationEffect")}} interface has been added, with the single {{domxref("AnimationEffect.name")}} property ({{bug(1045993)}}). Web Animations is not activated by default and is controlled by the
dom.animations-api.core.enabled preference.
- CSSOM View smooth scrolling methods have been added: {{domxref("Window.scroll()")}}, {{domxref("Window.scrollTo()")}}, and {{domxref("Window.scrollBy()")}} ({{bug(1022818)}}).
- The non-standard
MozSmsSegmentInfo is no more visible on the global object {{bug(916607)}}.
MathML
No change.
SVG
No change.
Audio/Video
No change.
Security and Networking
- SSLv3 is now disabled by default ({{bug(1030963)}}).
- A warning is sent to the console when a Web site use the CSS
reflected-xss directive ({{bug(1045902)}}).
Changes for add-on and Mozilla developers
- localstore.rdf has been removed ({{bug(559505)}}).
Add-on SDK
Highlights
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.
See also
Older versions
{{Firefox_for_developers('33')}}