Mozilla released Firefox 53 today and we just installed it in our browser cloud. You can now cross-browser test your webapps and js in Firefox 53!
Try Firefox 53 in Browserling now!
Firefox 53 New Features
- Two new compact themes available in Firefox, dark and light, based on the Firefox developer edition's theme.
- Windows 7+ users on 64-bit OS can select 32-bit or 64-bit versions in the stub installer.
- Lightweight themes are now applied in private browsing windows.
- Reader Mode now displays estimated reading time for the page.
- Improved graphics stability for Windows users with the addition of compositor process separation called quantum compositor.
Firefox 53 Changes
- Windows XP and Vista are no longer supported. XP and Vista users running Firefox 52 will continue to receive security updates on Firefox ESR 52.
- 32-bit Mac OS X is no longer supported. 32-bit Mac OS X users can switch to Firefox ESR 52 to continue receiving security updates.
- Ended Firefox Linux support for processors older than Pentium 4 and AMD Opteron.
- The last few characters of shortened tab titles fade out instead of being replaced by ellipses to keep more of the title visible.
- Updated the design of site permission requests to make them harder to miss and easier to understand.
- Updates for Mac OS X are smaller in size compared to updates for Firefox 52.
- Support for WebM video with alpha, which allows playing videos with transparent backgrounds.
- New visual design for audio and video controls.
Firefox 53 Developer Tool Changes
- Avoid scrolling latency on highlighters given by APZ.
- Added option to copy the full CSS path of an element.
- Devtools support for css-color-4.
- Markup view: add a visual hint between opening and closing tags of a collapsed node.
Firefox 53 DOM Changes
- Fixed: The
HTMLHyperLinkElementUtilsproperties previously returned the wrong parts of the URL.
URLSearchParams()constructor now accepts a
USVStringor sequence of
USVStringsas an init object.
Selection.setBaseAndExtent()method of the Selection API is now implemented.
- The "fakepath" addition to
valueshas been implemented in Gecko, giving it parity with other browsers.
Node.getRootNode()has been implemented, replacing the deprecated
- Own properties of
PluginArrayobjects are no longer enumerable.
- Named properties of
MimeTypeArrayobjects are no longer enumerable.
- The Permissions API now has a new permission name available —
persistent-storage— as used when making a
Performance.timeOriginproperty has been implemented.
Firefox 53 CSS Changes
mask-*longhand properties (see CSS Masks) are all supported and available by default.
- Implemented the
<length>values, and is now animatable.
mask-mode:luminancedoesn't work on gradient masks.
- [css-grid] FR Unit in
grid-template-rowsnot filling viewport.
- flex items aren't sorted according to "order", if they're separated by an abspos sibling.
- Enable mask longhands on SVG elements.
- [css-grid] Fixed:
normaldoesn't work on
clip-path: circle()with large reference box and percentage radius does not render correctly is no longer removed.
- The availability of the
displaywas controlled through the
layout.css.display-contents.enabledpref. In Firefox 53 this pref has been removed altogether, so the value will always be available and can no longer be disabled.
-mozprefixed variant of
-mozprefixed version of
-mozprefixed variant of
- The proprietary
-moz-samplesizemedia fragment (added to aid in delivery of downsampled images to low memory Firefox OS devices) has been removed.
- ECMAScript 2015 semantics for the
Function.nameproperties have been implemented.
- ECMAScript 2015 semantics for closing iterators have been implemented.
- The Template Literal Revision proposal that lifts escape sequence restrictions on tagged template literals has been implemented.
- The non-standard String generics now present a deprecation warning in the console.
- The static
TypedArrayobjects was changed from 3 to 0.
SharedArrayBuffercan now be used in
- In earlier versions of the specification,
SharedArrayBufferobjects needed to be explicitly transferred during structured cloning. In the new specification they aren't transferable objects anymore and thus must not be in the transfer list. The new behavior used to present a console warning only, but will now throw an error.
ArrayBufferlength is now limited to
Number.MAX_SAFE_INTEGER(>= 2 ** 53).
Error.prototypeand other native error object prototypes like
RangeError.prototypeetc. are now ordinary objects instead of proper Error objects. (In particular,
Object.prototype.toString.call(Error.prototype) is now
"[object Object]"instead of
- The non-standard
ArrayBuffer.slice()method has been removed (but the standardized version
Firefox 53 Workers and Service Workers Changes
- The Network Information API is now available in workers.
- Server-sent events can now be used from workers.
- ExtendableEvent.waitUntil() can now be called asynchronously.
Firefox 53 Events Changes
- CSS Transitions: The
transitioncancelevents have been implemented.
CompositionEventconstructor has been implemented.
MouseEvent.clientYhave been implemented.
auxclickevent and corresponding
GlobalEventHandlers.onauxclickhandler have been implemented.
- The t
ransitioncancelevent is now fired after a transition is cancelled.
Firefox 53 WebGL Changes
- The WEBGL_compressed_texture_astc WebGL extension has been implemented.
- The WEBGL_debug_renderer_info WebGL extension is now enabled by default.
Firefox 53 HTTP and Networking Changes
- Support for Next Protocol Negotiation (NPN) has been removed in favor of Application-Layer Protocol Negotiation (ALPN).
- The Large-Allocation HTTP header is now available by default, and no longer hidden behind a pref.
- Gecko now has a pref available in
about:configto allow users to set their default Referrer-Policy.
Firefox 53 WebGL Changes
WEBGL_compressed_texture_astcWebGL extension has been implemented.
WEBGL_debug_renderer_infoWebGL extension is now enabled by default.
Firefox 53 Audio, Video and Media Changes
- Beginning in Firefox 53 for Android, decoding of media is handled out-of-process for improved performance on multi-core systems.
HTMLMediaElement.play()method, used to begin playback of media in any media element, now returns a
Promisewhich is fulfilled when playback begins and is rejected if an error occurs.
AudioScheduledSourceNodeinterface has been added and the
OscillatorNodeinterfaces are now based on it.
- All the different audio node types have had constructors added to them.
createAnswer()now return a
Promisethat returns an object conforming to the dictionary
RTCSessionDescriptionInitinstead of returning an
- Similarly, the
setRemoteDescription()now accept as input an object conforming to the dictionary
RTCPeerConnection.addIceCandidate()now accepts as input an object conforming to the
- DTMF support is now enabled by default using
Firefox 53 SVG Changes
- Partly implemented
Firefox 53 WebExtensions Changes
- New API:
- New API:
- New API:
- Improved API:
tabcontext types in
cssOrigin, enabling you to insert user style sheets.
Firefox 53 security fixes
- CVE-2017-5465: Out-of-bounds read in ConvolvePixel.
- CVE-2017-5436: Out-of-bounds write with malicious font in Graphite 2.
- CVE-2017-5466: Origin confusion when reloading isolated data:text/html URL.
- CVE-2017-5439: Use-after-free in nsTArray Length() during XSLT processing.
- CVE-2017-5445: Uninitialized values used while parsing application/http-index-format content.
- CVE-2017-5442: Use-after-free during style changes.
- CVE-2017-5443: Out-of-bounds write during BinHex decoding.
- CVE-2017-5464: Memory corruption with accessibility and DOM manipulation.
- CVE-2017-5448: Out-of-bounds write in ClearKeyDecryptor.
- CVE-2017-5438: Use-after-free in nsAutoPtr during XSLT processing.
- CVE-2017-5468: Incorrect ownership model for Private Browsing information.
- CVE-2017-5446: Out-of-bounds read when HTTP/2 DATA frames are sent with incorrect data.
- CVE-2017-5460: Use-after-free in frame selection.
- CVE-2017-5452: Addressbar spoofing during scrolling with editable content on Firefox for Android.
- CVE-2017-5449: Crash during bidirectional unicode manipulation with animation.
- CVE-2017-5463: Addressbar spoofing through reader view on Firefox for Android.
- CVE-2017-5469: Potential Buffer overflow in flex-generated code.
- CVE-2017-5432: Use-after-free in text input selection.
- CVE-2017-5434: Use-after-free during focus handling.
- CVE-2017-5435: Use-after-free during transaction processing in the editor.
- CVE-2017-5461: Out-of-bounds write in Base64 encoding in NSS.
- CVE-2017-5455: Sandbox escape through internal feed reader APIs.
- CVE-2017-5430: Memory safety bugs fixed in Firefox 53 and Firefox ESR 52.1.
- CVE-2017-5453: HTML injection into RSS Reader feed preview page through TITLE element.
- CVE-2017-5433: Use-after-free in SMIL animation functions.
- CVE-2017-5462: DRBG flaw in NSS.
- CVE-2017-5467: Memory corruption when drawing Skia content.
- CVE-2017-5456: Sandbox escape allowing local file system access.
- CVE-2017-5444: Buffer overflow while parsing application/http-index-format content.
- CVE-2017-5447: Out-of-bounds read during glyph processing.
- CVE-2017-5429: Memory safety bugs fixed in Firefox 53, Firefox ESR 45.9, and Firefox ESR 52.1.
- CVE-2017-5440: Use-after-free in txExecutionState destructor during XSLT processing.
- CVE-2016-10196: Vulnerabilities in Libevent library.
- CVE-2017-5454: Sandbox escape allowing file system read access through file picker.
- CVE-2017-5441: Use-after-free with selection during scroll events.
- CVE-2017-5459: Buffer overflow in WebGL.
- CVE-2017-5451: Addressbar spoofing with onblur event.
Happy cross-browser testing in Firefox 53!
Email this blog post to your friends or yourself!
Enter a URL to test, choose platform, browser and version, and you'll get a live interactive browser in 5 seconds!