files/en-us/mozilla/firefox/releases/66/index.md
This article provides information about the changes in Firefox 66 that will affect developers. Firefox 66 was released on March 19, 2019.
file: URLs are now supported without <meta charset="utf-8"> or the UTF-8 BOM, making it easier to work on such files locally before uploading them to a server. You still need to make sure that the server sends charset=utf-8 in the Content-Type HTTP header for such files, otherwise the detection mechanism used for local files would break incremental loading in the network case (Firefox bug 1071816).x-moz-errormessage attribute has been removed from the {{HTMLElement("input")}} element (Firefox bug 1513890). You should use the constraint validation API to implement custom validation messages instead.Scroll anchoring has been implemented in Firefox Desktop (but not mobile yet), which includes the {{cssxref("overflow-anchor")}} property (Firefox bug 1305957).
We've implemented the case-sensitive attribute selector modifier, s (Firefox bug 1512386).
Several logical property shorthands have landed, along with the flow-relative border radius properties:
We implemented the {{cssxref("@media/overflow-inline", "overflow-inline")}} and {{cssxref("@media/overflow-block", "overflow-block")}} media queries (Firefox bug 1422235).
{{cssxref("grid-template-columns")}} and {{cssxref("grid-template-rows")}} are now animatable, as per the rules set out in their specs (Firefox bug 1348519).
We now support {{cssxref("calc", "calc()")}} with percentages for table cells and column widths (Firefox bug 957915).
The min-content and max-content keywords are now available unprefixed (Firefox bug 1322780). These can be set on:
No additions.
xml:base attribute (Firefox bug 903372).No changes.
charCode is 0, it will be the same as keyCode. This mirroring behavior matches other browsers and is expected to solve most associated compatibility issues, however user agent sniffing might cause further issues in some JavaScript libraries. Note that in spec terms, we've switched from the split model to the conflated model (see How to determine keyCode for keypress events in the UI Event spec).navigator.mediaDevices.getDisplayMedia(), has been added and synchronized with the specification. This method lets you capture a screen or part of a screen as a {{domxref("MediaStream")}} for manipulation or sharing (Firefox bug 1321221).mediaSource constraint now treats the values screen and window identically. Both now present a list of both screens and windows for the user to choose from (Firefox bug 1474376).RTCOutboundRtpStreamStats.qpSum has been added. This measures the total of the Quantization Parameter values for every frame sent or received on the video track. The higher this number, the more compressed the stream probably is (Firefox bug 1347070).data URL entered into the address bar by the user. For more details, see the Security section on the MediaDevices.getUserMedia() page (Firefox bug 1371741).PeerConnection.getStats() method has been removed, along with associated types (Firefox bug 1328194).*/* (Firefox bug 1417463).No changes.
No changes.
WebDriver:NewWindow has been added to support opening of a new browsing context, which can be one of either window or tab (Firefox bug 1504756).
WebDriver:SwitchToFrame now raises a no such element error if the specified element isn't part of the current browsing context (Firefox bug 1517196).
WebDriver:ExecuteScript and WebDriver:ExecuteAsyncScript no longer support the non-spec compliant scriptTimeout parameter. Instead, use WebDriver:SetTimeout or the timeouts capability to define this value (Firefox bug 1510929).
WebDriver:SetWindowRect no longer returns the window state in its response (Firefox bug 1517587).
WebDriver:TakeScreenshot now uses the {{domxref("Element.clientWidth")}} and {{domxref("Element.clientHeight")}} properties of the {{domxref("Document.documentElement")}} instead of the viewport dimensions (Firefox bug 1385706).Ctrl + B) and Library window (Ctrl + Shift + B) (Firefox bug 1419195).No changes.