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
Highlights:
- Storage Inspector: a new tool enabling you to view data stored by web pages
- Performance tool: revamped Profiler UI and frame rate timeline
- Frame switching: point the developer tools at a specific iframe in the page
- console.table support
- jQuery events are visible in the Page Inspector
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
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
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 (bug 984711 and 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 (bug 948265). - Fixed starting of CSS transitions that start together with changes to
display
,position
,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).
- This includes getter and setter method names as well (bug 1048384) and can also be used with destructuring.
- The ES6 shorthand syntax for defining methods on objects has been implemented (bug 924672).
- The ES6
Object
methodObject.assign()
has been implemented (bug 937855). - ES6 template strings and the
String.raw()
method are now supported (bug 1038259, bug 1039774). - A new ES6 object
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
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 ES6TypedArray.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 nowundefined
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).
- bug 978279). (
Interfaces/APIs/DOM
- The
Element.matches()
method has been added; it does what the non-standardmozMatchesSelector()
was doing (bug 886308). - The
Performance.now()
method is now available to Web workers (bug 908390). - The non-standard interface
MozNamedAttrMap
has been renamed to the standardNamedNodeMap
andElement.attributes
has been adapted to use it (bug 1055467). - The
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
MediaStreamTrack.stop()
method has been added (bug 1057955). - Our experimental implementation of EME continues. The
MediaKeySession.getUsableKeyIds()
method has been added (bug 1057171). - Regarding WebRTC:
- an experiment implementation of
RTPSender
andRTPReceiver
working withRTCPeerConnection
has landed (bug 1032835). - application window sharing has been added to
Navigation.getUserMedia()
(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 (bug 1041700). "browser"
is now an accepted value of MediaSourceEnum, used to define constraints (bug 1041493).
- an experiment implementation of
- For Web Components, event retargeting is now implemented (bug 887541).
- The
Headers
interface has been implemented (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 (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()
(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
- 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.
See also
Older versions
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- 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
Document Tags and Contributors
Tags:
Contributors to this page:
kohei.yoshino,
phistuck,
teoli,
fscholz,
arai,
MattBrubeck,
wbamberg,
Sheppy,
P.A.,
alex_gaynor,
coliff,
DaveG,
keeler,
merih,
ziyunfei
Last updated by:
kohei.yoshino,