This article provides information about the changes in Firefox 66 that will affect developers. Firefox 66 was released on March 19, 2019.
Changes for web developers
- The Window methods
confirm()now work again in Responsive Design Mode, after a period of being broken (bug 1273997).
- You can copy the output of the console to the clipboard by right-clicking and selecting "Export visible messages to clipboard" from the context menu.
- UTF-8-encoded HTML (and plain text) files loaded from
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
Content-TypeHTTP header for such files, otherwise the detection mechanism used for local files would break incremental loading in the network case (bug 1071816).
x-moz-errormessageattribute has been removed from the
<input>element (bug 1513890). You should use Constraint validation features to implement custom validation messages instead.
- Scroll anchoring has been implemented in Firefox Desktop (but not mobile yet), which includes the
overflow-anchorproperty (bug 1305957).
- We've implemented the case-sensitive attribute selector modifier,
- Several logical property shorthands have landed, along with the flow-relative border radius properties:
- We implemented the
overflow-blockmedia queries (bug 1422235).
grid-template-rowsare now animatable, as per the rules set out in their specs (bug 1348519).
- We now support
calc()with percentages for table cells and column widths (bug 957915).
max-contentkeywords are now available unprefixed (bug 1322780). These can be set on:
- Autoplaying audio will be blocked by default soon after 66 becomes the release version of Firefox (bug 1487844, see bug 1535667 for rollout details). The feature will be rolled out gradually to users until everyone has it.
HTMLSlotElement.assignedElements()method has been implemented (bug 1425685).
TextEncoder.encodeInto()method has been implemented (bug 1514664).
InputEvent.inputTypeproperty has been implemented (bug 1447239).
Event.returnValueproperties — originally proprietary IE features, then also supported across other browsers for compatibility purposes — have been re-introduced in Firefox 66, after first being added in versions 63 and 64 respectively but then removed again due to compatibility issues.
- From 66 onwards, when the
KeyboardEvent.keyCodeproperty of the
keypressevent object is 0, the value will be the same as
KeyboardEvent.charCode. Conversely, when
charCodeis 0, it will be the same as
Media, Web Audio, and WebRTC
getDisplayMedia(), available as
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
MediaStreamfor manipulation or sharing (bug 1321221).
- As a step toward eventually deprecating the Firefox-specific
getUserMedia()-based method for capturing screen and window contents, the non-standard
mediaSourceconstraint now treats the values
windowidentically. Both now present a list of both screens and windows for the user to choose from (bug 1474376).
qpSumhas been added to local outbound
RTCRTPStreamStatsobjects. 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 (bug 1347070).
- In a step along the road toward implementing support for Feature Policy in a future Firefox update,
getUserMedia()can no longer be used in situations in which there is no proper origin for the content, such as when called from a sandboxed
<iframe>or from a
dataURL entered into the address bar by the user. For more specifics and details, see Security in MediaDevices.getUserMedia() (bug 1371741).
- The legacy WebRTC
PeerConnection.getStats()method has been removed, along with associated types (bug 1328194).
WebDriver conformance (Marionette)
WebDriver:NewWindowhas been added to support opening of a new browsing context, which can be one of either window or tab (bug 1504756).
WebDriver:SwitchToFramenow raises a
no such elementerror if the specified element isn't part of the current browsing context (bug 1517196).
WebDriver:ExecuteAsyncScriptno longer support the non-spec compliant
scriptTimeoutparameter. Instead, use
timeoutscapability to define this value (bug 1510929).
- In addition, indefinite script timeouts are now supported (bug 1128997).
WebDriver:SetWindowRectno longer returns the window state in its response (bug 1517587).
WebDriver:TakeScreenshotnow uses the
Element.clientHeightproperties of the
Document.documentElementinstead of the viewport dimensions (bug 1385706).
- Various fixes have been applied to make window manipulation commands more reliable across platforms (bug 1522408, bug 1478358, bug 1489955).
Changes for add-on developers
- Extension menu items of the "bookmark"
typewill also appear in the Bookmarks sidebar (Ctrl + B) and Library window (Ctrl + Shift + B) (bug 1419195).
- Firefox 65 for developers
- Firefox 64 for developers
- Firefox 63 for developers
- Firefox 62 for developers
- Firefox 61 for developers
- Firefox 60 for developers
- Firefox 59 for developers
- 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