This article provides information about the changes in Firefox 59 that will affect developers. Firefox 59 was released on March 13, 2018.
- The Network Monitor Response tab now shows a preview of the rendered HTML — if the response is HTML (Firefox bug 1353319).
- Cookie information shown in the Storage Inspector (see Cookies) now includes a sameSite column showing what the same-site status of each cookie is (Firefox bug 1298370).
- The Rulers tool now includes a readout showing the current dimensions of the viewport (Firefox bug 1402633).
- In Responsive Design Mode, you can now set the screen dimensions using the cursor keys (Firefox bug 1421663). See the Setting screen size section for more details.
- The Raw headers display in the Network Monitor Headers tab now includes the response's status code (Firefox bug 1419401).
overscroll-behaviorproperty and its associated longhand properties —
overscroll-behavior-y— have been implemented (Firefox bug 951793), and it has been enabled by default on all releases (Firefox bug 1428879).
- The behavior of "unusual elements" (elements that aren't rendered purely by CSS box concepts such as replaced elements) when given a
contentshas been updated as per spec (Firefox bug 1427292). See Appendix B: Effects of display: contents on Unusual Elements for exactly what the specified behaviors are.
stickyis now supported on appropriate HTML table parts (e.g.
<th>elements) (Firefox bug 975644).
calc()is now supported in
hsla()(Firefox bug 984021).
calc()in media query values is now supported Firefox bug 1396057.
@documentat-rule has been limited to use only in user and UA sheets (Firefox bug 1035091).
- Implement the
font-optical-sizingproperty (Firefox bug 1435692).
EventTarget()constructor has been implemented (Firefox bug 1379688).
Response()constructor can now accept a
nullvalue for its
bodyparameter, as per spec (Firefox bug 1303025).
- The service worker Clients API can now find and communicate with windows in a separate browser process (Firefox bug 1293277) .
- Nested about:blank and about:srcdoc iframes will now inherit their parent's controlling service worker. Fixed in (Firefox bug 1293277) and (Firefox bug 1426979).
- When a service worker provides a
Response.urlvalue will now be propagated to the intercepted network request as the final resolved URL. In the past the
FetchEvent.request.urlwas used for this instead. This means, for example, if a service worker intercepts a stylesheet or worker script, then the provided
Response.urlwill be used to resolve any relative
importScripts()subresource loads (Firefox bug 1222008).
FetchEvent.respondWith()will now trigger a network error if the
"same-origin"and the provided
"cors". (Firefox bug 1222008)
Media and WebRTC
MediaStreamTrack.muted, along with the events
unmuteand the corresponding event handlers,
onunmute, have been implemented. A track's
mutedstate indicates that the track is not currently able to provide media data.
mutedstate of a track isn't useful for what's typically thought of as muting and unmuting a track. Instead, use the
falsecauses the track to output only empty frames.
- Firefox 59 on Android now supports Apple's HTTPS Live Streaming (HLS) protocol for both audio and video. This non-standard protocol is being supported on mobile to improve compatibility with sites that require it for mobile streaming. There is not currently any plan to implement it on Firefox Desktop.
getSynchronizationSources()have been implemented to provide information about the sources of each RTP stream. However, a specification change occurred before release and we have disabled these by default behind the preference
media.peerconnection.rtpsourcesapi.enable(Firefox bug 1363667, Firefox bug 1430213, and Firefox bug 1433236.
RTCRtpTransceiverinterface has now been implemented, since the Firefox implementation of WebRTC now supports transceivers, with
RTCPeerConnectionand other interfaces updated to use them per the latest specification.
RTCPeerConnection.addTransceiver()method has been added. In addition, the behavior of
addTrack()has been updated to create a transceiver as required.
- Support for WebVTT regions was implemented in Firefox 58 but disabled by default. They're now available by default (Firefox bug 1415805).
- Firefox now supports WebVTT
REGIONdefinition blocks whose settings list has one setting per line instead of all of the settings being on the same line of the WebVTT file (Firefox bug 1415821.
Canvas and WebGL
- Top-level navigation to
data:URLs has been blocked Firefox bug 1401895. See Blocking Top-Level Navigations to data URLs for Firefox 59 for more details.
SAMEORIGINdirective of the
X-Frame-Optionsheader has been changed so that it checks not only the top-level IFrame is in the same origin, but all its ancestors as well (Firefox bug 725490).
- Image resources loaded from different origins to the current document are no longer able to trigger HTTP authentication dialogs (Firefox bug 1423146).
- HTTP authentication now uses
utf-8encoding for usernames and passwords (rather than
ISO-8859-1) for parity with other browsers, and to avoid potential problems as described in Firefox bug 1419658.
- Everyday the HSTS preload list is updated from Google. Normally this doesn't warrant a note, but in this release new TLDs were included, notably
.dev. While they are new TLDs developers might have used them for local development and be surprised by this change. Note that reserved TLDs should be used for local development instead.
- The non-standard method
Event.getPreventDefault()has been removed. You should instead use the
Event.defaultPreventedproperty to determine whether or not
preventDefault()was called on the
- The proprietary
DesktopNotificationinterface have been removed, in favor of the standard Notifications API (Firefox bug 952453).
- The proprietary
window.external.addSearchEngine()method has been removed (Firefox bug 862147). Also see
Window.sidebarfor more details.
- The non-standard Firefox-only
mozAutoplayEnabledhas been removed.
Support for SMIL's
accessKey feature has been removed (Firefox bug 1423098).
Support for the non-standard
feed: protocols has been removed from Firefox (Firefox bug 1420622).
- Theme updates:
- new properties:
- all color properties now support both Chrome-style arrays and CSS color values.
- new properties:
- New browser settings:
contextMenusAPI now supports a "bookmark" context.
contentScriptsAPI enables runtime registration of content scripts.
- New option in
page_actionto show page actions by default.
- New values for
- "ssb" for Secure Scuttlebutt communications
- "dat" for DATproject
- "ipfs", "ipns", "dweb" for IPFS
- Support in
cookiesAPI for first-party isolation.
- New option
- Firefox 58 for developers
- Firefox 57 for developers
- Firefox 56 for developers
- Firefox 55 for developers
- Firefox 54 for developers
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- 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