This article provides information about the changes in Firefox 63 that will affect developers. Firefox 63 is the current Beta version of Firefox, and will ship on October 23, 2018.

Changes for web developers

Developer tools

  • The Fonts tab in the Page Inspector now includes an editor that makes it easy to view and edit the settings of the fonts on your page. See Edit fonts for details.
  • When you hover over an object in the Accessibility Inspector, the item is highlighted and its role and name will be shown in an information bar on the page (bug 1473030).
  • The command line in the Web Console is now shown immediately following the console output (bug 1136299).
  • A new icon has been added to the content in the Network Monitor to indicate when a URL belongs to a known tracker — see Security icons (bug 1333994).
  • The default value of devtools.aboutdebugging.showSystemAddons is now false, meaning that system add-ons will not be listed on the about:debugging page. You can change the settings by navigating to about:config (bug 1425347).

HTML

Removals

  • Support for the the sidebar link type (rel="sidebar") has been removed. If an anchor tag includes this attribute, it will be ignored (bug 1452645).

CSS

Removals

  • Removed offset-block-start, offset-block-end, offset-inline-start and offset-inline-end; these have been renamed to inset-*, as described above (bug 1464782).

SVG

No changes.

JavaScript

Removals

  • Experimental WebAssembly Module IndexedDB serialization support has been removed (bug 1469395).

APIs

New APIs

DOM

DOM events

  • Handling of the Alt key on the right side of the keyboard has been improved on Windows. If the user's current keyboard layout maps the Alt key to the AltGr modifier key, the value of KeyboardEvent.key is now reported as "AltGraph". This behavior matches the behavior recently introduced in Chrome (bug 900760).

Media, Web Audio, and WebRTC

  • Microphone access now works simultaneously in multiple tabs, even within the same content process (bug 1404977).
  • RTCDataChannel has been updated to support the sctp-sdp-21 data format for the data, in addition to the older sctp-sdp-05 format previously supported.
  • The ConstantSourceNode node type for Web Audio API now has a default channel count of 2 rather than 1, in order to match the specification (bug 1413283).
  • The Web Audio API interface AudioScheduledSourceNode (and by extension, all the other node types based on it) now throw the correct exception when a negative value is specified for the node start time. That error is RangeError (bug 1413284).
  • The minimum and maximum permitted values for an AudioParam object's value have been changed to the minimum negative single-precision floating-point value (-340,282,346,638,528,859,811,704,183,484,516,925,440) and the maximum positive single-precision floating-point value (+340,282,346,638,528,859,811,704,183,484,516,925,440) respectively (bug 1476695).
  • The SourceBuffer.changeType method, which allows you to change codecs during an active stream, has been enabled by default. This is part of the Media Source Extensions API (bug 1481166).
  • The AudioParam.setValueCurveAtTime() method has been updated to correctly accept an array of floating-point values to indicate the parameter's values to change to over time. Previously, it required a Float32Array (bug 1421091).
  • AudioParam.setValueCurveAtTime() has also been updated to correctly return a proper TypeError when a non-finite value is found in the values array (bug 1472095).
  • In addition, setValueCurveAtTime() has been updated to ensure that, when the parameter finishes following the specified value curve after the duration elapses, the value of the parameter is set to the last value in the list of values to curve through (bug 1308436).
  • The RTCRTPStreamStats dictionary has been renamed to RTCRtpStreamStats for consistency with other WebRTC dictionaries and the specification (bug 1480498).
  • Support for the RTCRtpStreamStats dictionary's kind property has been added (bug 1481851).
  • The RTCRtpStreamStats dictionary's isRemote property is deprecated and will be removed in Firefox 65. A warning is now output to console when this property is accessed. See this blog post on the Advancing WebRTC blog for details (bug 1393306).

Canvas and WebGL

  • A new powerPreference context attribute has been added to HTMLCanvasElement.getContext(). On macOS this allows WebGL non-performance-critical applications and applets to request the low-power GPU instead of the high-power GPU in multi-GPU systems (bug 1349799).

Removals

CSSOM

No changes.

HTTP

Security

  • Site favicons are now subject to Content Security Policy, if one is configured for the site (bug 1297156).
  • CSP script-src directive's 'report-sample' expression now recognized when generating violation reports. This directive indicates that a short sample of where the violation occurred should be included in the report. Previously, Firefox always included this sample (bug 1473218).

Plugins

No changes.

Other

  • Corrected the behavior of PerformanceObserver.observe() to simply do nothing if no valid entry types are found in the specified array of entry types to observe, or if the array is empty or missing. Previously, Firefox was incorrectly throwing a TypeError (bug 1403027).
  • In OpenSearch, Firefox now accepts application/json as a search URL type, as an alias of application/x-suggestions+json (bug 1425827).

Changes for add-on developers

API changes

Theming

  • The default text color for browserAction badges is now automatically set to black or white, to maximise contrast with the background (bug 1474110).
  • The accentcolor and textcolor properties of the theme manifest key are now optional (bug 1413144).
  • browserAction.getBadgeTextColor() and browserAction.setBadgeTextColor() enable you to get and set the text color of browser action badges (bug 1424620).
  • The theme colors key in manifest.json now supports the ntp_text property to set the text color in a new tab, and the ntp_background property to set the color of a new tab (bug 1347204).
  • Themes can now define the colors for sidebars, such as the bookmarks sidebar (bug 1418602). The relevant properties include:
    • sidebar: The background color for sidebars.
    • sidebar_text: The text color for sidebars.
    • sidebar_highlight: The background color of a selected item in a sidebar.
    • sidebar_highlight_text: The text color of a selected item in a sidebar.
  • The method management.install() allows web extensions to install and enable signed browser themes (bug 1369209).
  • The new search API enables you to retrieve the list of installed search engines and perform searches with them (bug 1352598).
  • topSites.get() now takes an options parameter enabling you to set various options for the list of sites returned (bug 1445836).

Tabs

  • tabs.onHighlighted now supports multi-select (bug 1474440).
  • tabs.update now supports changing the selection status of a tab by including highlighted: true in the updateProperties parameter (bug 1479129).
  • tabs.update supports changing the selection status of a tab without changing the focused tab (bug 1486050) by including both highlighted: true and active: false in the updateProperties parameter.
  • tabs.query now returns an array of tabs.Tab objects if multiple tabs are selected (bug 1465170).
  • The tabs.Tab property now properly reflects which tabs in a browser window are selected (highlighted) and tabs.highlight supports changing the highlighted status of multiple tabs (bug 1464862).
  • The isarticle property in the extraParameters object passed into tabs.onUpdated has been renamed to isArticle. The old name is retained but deprecated. This change was uplifted to Firefox 62 (bug 1461695).
  • The tabs.onUpdated event can be used to track when a tab is drawing the user's attention with attention property of the changeInfo object (bug 1396684).

Other

See also

Older versions

Document Tags and Contributors

Last updated by: dartraiden,