files/en-us/mozilla/firefox/releases/68/index.md
This article provides information about the changes in Firefox 68 that will affect developers. Firefox 68 was released on July 9, 2019.
Shift + Ctrl + F (Windows or Linux) or Shift + Cmd + F (macOS) (Firefox bug 1320325).letter-spacing (Firefox bug 1536237).devtools.aboutdebugging.showSystemAddons to devtools.aboutdebugging.showHiddenAddons (Firefox bug 1544372).disabled attribute again, albeit with different behavior. When disabled is set on a <link> element along with rel="stylesheet", the referenced stylesheet is not loaded during page load, and will be loaded on demand when the disabled attribute is changed to false or removed (Firefox bug 1281135).<meta http-equiv="set-cookie"> is no longer supported (Firefox bug 1457503).CSS Scroll Snapping has been updated to the latest version of the specification (Firefox bug 1312163) and (Firefox bug 1544136), this includes:
scroll-padding property (Firefox bug 1373832)scroll-margin property (Firefox bug 1373833)The {{CSSxRef("line-clamp", "-webkit-line-clamp")}} property has been implemented for compatibility with other browsers (Firefox bug 866102).
Support has been added for the {{CSSxRef("::marker")}} pseudo-element (Firefox bug 205202) and animation for ::marker pseudos (Firefox bug 1538618)
We changed {{CSSxRef("color_value#currentcolor_keyword", "currentColor")}} to be a computed value (except for the {{cssxref("color")}} property) (Firefox bug 760345).
Support has been fixed for the ch length unit so it now matches the spec (fallback for no '0' glyph, vertical metrics) (Firefox bug 282126)
The {{CSSxRef("counter-set")}} property has been implemented. (Firefox bug 1518201).
We now implement list numbering using a built-in "list-item" counter; this fixes list numbering bugs (Firefox bug 288704).
Selector matching and parsing support has been implemented for ::part() (Firefox bug 1545430) and (Firefox bug 1545425).
CSS Transforms are now supported in indirectly rendered things e.g., {{SVGElement("mask")}}, {{SVGElement("marker")}}, {{SVGElement("pattern")}}, {{SVGElement("clipPath")}} (Firefox bug 1323962).
While we're keeping the prefixed versions of the various gradient properties {{cssxref("gradient/linear-gradient")}}, {{cssxref("gradient/radial-gradient")}}, and {{cssxref("gradient/repeating-radial-gradient")}} available for compatibility reasons, we have revised how they're parsed so that they're handled much more like the non-prefixed versions. This means that certain existing styles won't work correctly.
In particular, the complicated syntax taking both an angle and a position will no longer work, and the to keyword in the <side-or-corner> parameter is not required for the prefixed gradient properties. You are encouraged to use the standard, non-prefixed gradient properties instead, as they're now widely supported (Firefox bug 1547939).
scroll-snap-coordinate, scroll-snap-destination, scroll-snap-type-x and scroll-snap-type-y have been removed.scroll-snap-type:mandatory will stop working.No changes.
noreferrer is now supported; if specified, the new window's content is loaded without sharing the hostname, IP address, URL, or other identifying information about the host device (Firefox bug 1527287).HTMLImageElement is now implemented. This can be used to trigger loading and decoding of an image prior to adding it to the DOM (Firefox bug 1501794).moz-chunked-arraybuffer value for {{domxref("XMLHttpRequest.responseType", "responseType")}}. Code still using it should be updated to use the Fetch API as a stream (Firefox bug 1120171).XMLHttpRequest now outputs a warning to console if you perform a synchronous request while handling an {{domxref("Window.unload_event", "unload")}}, {{domxref("Window.beforeunload_event", "beforeunload")}}, or {{domxref("Window.pagehide_event", "pagehide")}} event (Firefox bug 980902).preventScroll option specifying whether or not to block the browser from scrolling the newly-focused element into view (Firefox bug 1374045).mozPressure property has been deprecated, and will now trigger a warning in the console (Firefox bug 1165211).Due to changes in the Google Play store's policies, starting with Firefox 68 for Android, the OpenH264 codec used to handle AVC/H.264 video in WebRTC connections can no longer be downloaded and installed. Therefore, fresh installs of Firefox on Android devices no longer support AVC in WebRTC calls. If you upgrade from earlier versions of Firefox and already have the codec downloaded, it will continue to work. This does not affect other platforms. For more details, see this article on SUMO or Firefox bug 1548679.
WebRTC has been updated to recognize that a null candidate passed into the {{domxref("RTCPeerConnection/icecandidate_event", "icecandidate")}} event handler, indicating the receipt of a candidate, instead indicates that there are no further candidates coming; when this happens the ICE gathering ({{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}) state reaches complete (Firefox bug 1318167).
The {{domxref("RTCRtpReceiver")}} methods {{domxref("RTCRtpReceiver.getContributingSources", "getContributingSources()")}} and {{domxref("RTCRtpReceiver.getSynchronizationSources", "getSynchronizationSources()")}} now support video tracks; previously they only worked on audio (Firefox bug 1534466).
The Web Audio API {{domxref("MediaStreamTrackAudioSourceNode")}} interface is now supported, as is the method {{domxref("AudioContext.createMediaStreamTrackSource()")}} (Firefox bug 1324548).
{{domxref("RTCDataChannel.negotiated")}} is now implemented (Firefox bug 1529695).
The {{domxref("MediaStreamAudioSourceNode.MediaStreamAudioSourceNode", "MediaStreamAudioSourceNode()")}} constructor has been updated to match the current specification's definition that the "first audio track" in the stream is the track whose ID comes first in lexicographical order (Firefox bug 1324548).
{{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} may no longer be used from a non-secure context; attempting to do so now throws a NotAllowedError exception. Secure contexts are those loaded using HTTPS, those located using the file:/// scheme, and those loaded from localhost. For now, if you must, you can re-enable the ability to perform insecure calls to getUserMedia() by setting the preference media.getusermedia.insecure.enabled to true (Firefox bug 1335740).
[!NOTE] In the future, Firefox will also remove the {{domxref("navigator.mediaDevices")}} property on insecure contexts, preventing all access to the {{domxref("MediaDevices")}} APIs. This is already the case in Nightly builds.
XMLDocument.load() method (Firefox bug 332175).XMLDocument.async property (Firefox bug 1328138).RTCIceServer.credentialType token value has been removed (Firefox bug 1529595).executionContexts directive. This was removed due to problems with interactions between interconnections among different kinds of data at different points in the navigation process and the way the specification is designed. It has been proposed that this directive be removed from the specification for this reason, among others (Firefox bug 1548034).require-sri-for is no longer supported due to concerns about its standardization status. It was previously available only behind a preference, which was off by default (Firefox bug 1386214).WebDriver:SwitchToWindow changes the selection to a different window it now waits for its focus and activate events before returning (Firefox bug 1335085).TypeError: this.tabModal is null failure, which sometimes appeared when interacting with modal dialogs or user prompts (Firefox bug 1538782)No changes.
proxy.register() and proxy.unregister() functions have been deprecated and will be removed from Firefox 71 (Firefox bug 1545811).boolean flag, incognito, has been added to the proxy.RequestDetails. object. When true, it indicates that this was a private browsing request (Firefox bug 1545163).true or false) will be filtered out (Firefox bug 1548177).string value, cookieStoreId, representing the cookie store ID of the current context, has been added to the proxy.RequestDetails. object (Firefox bug 1545420).browser.tabs.duplicate() now resolves immediately, before the tabs are completely loaded (Firefox bug 1394376).proxyAuthorization and connectionIsolation in {{WebExtAPIRef("proxy.onRequest")}} now apply only to HTTPS proxies (Firefox bug 1549368.No changes.