This article provides information about the changes in Firefox 59 that will affect developers. Firefox 59 was released on March 13, 2018.
Changes for web developers
- The Network Monitor Response tab now shows a preview of the rendered HTML — if the response is HTML (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 (bug 1298370).
- The Rulers tool now includes a readout showing the current dimensions of the viewport (bug 1402633).
- In Responsive Design Mode, you can now set the screen dimensions using the cursor keys (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 (bug 1419401).
overscroll-behaviorproperty and its associated longhand properties —
overscroll-behavior-y— have been implemented (bug 951793), and it has been enabled by default on all releases (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 (bug 1427292). See Appendix B: Effects of display: contents on Unusual Elements for exactly what the specced behaviors are.
stickyis now supported on appropriate HTML table parts (e.g.
<th>elements) (bug 975644).
calc()is now supported in
calc()in media query values is now supported bug 1396057.
@documentat-rule has been limited to use only in user and UA sheets (bug 1035091).
- Implement the
font-optical-sizingproperty (bug 1435692).
EventTarget()constructor has been implemented (bug 1379688).
Response()constructor can now accept a
nullvalue for its
bodyparameter, as per spec (bug 1303025).
- The service worker Clients API can now find and communicate with windows in a separate browser process (bug 1293277) .
- Nested about:blank and about:srcdoc iframes will now inherit their parent's controlling service worker. Fixed in (bug 1293277) and (bug 1426979).
- When a service worker provides a
Response.urlvalue will not 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 (bug 1222008).
FetchEvent.respondWith()will now trigger a network error if the
"same-origin"and the provided
"cors". (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.Note: The
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.
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(bug 1363667, bug 1430213, and 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 (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 (bug 1415821.
Canvas and WebGL
- Top-level navigation to
data:URIs has been blocked 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 (bug 725490).
- Image resources loaded from different origins to the current document are no longer able to trigger HTTP authentication dialogs (bug 1423146). See HTTP auth dialog can no longer be triggered by cross-origin images for more details.
- 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 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.
Removals from the web platform
- The proprietary
<length>unit has been removed (bug 1416564).
- The proprietary
-moz-border-left-colorsproperties have been limited to usage in chrome code only (bug 1417200).
- 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 propretary
DesktopNotificationinterface have been removed, in favor of the standard Notifications API (bug 952453).
- The proprietary
window.external.addSearchEngine()method has been removed (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 (bug 1423098).
Support for the non-standard
feed: protocols has been removed from Firefox (bug 1420622).
Changes for add-on and Mozilla developers
- 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