Firefox 116 release notes for developers
This article provides information about the changes in Firefox 116 that affect developers. Firefox 116 was released on August 01, 2023.
Changes for web developers
>HTML
- The
dirnameattribute is now supported oninputandtextareaelements. This attribute allows for passing text directionality information (ltrorrtl) to the server during form submission (Firefox bug 675943).
CSS
- The syntax has been updated for the
offset-pathproperty, which is used to define the path for an element to follow. The updated syntax allows you to set a value ofnoneor one of<offset-path>or<coord-box>. The new<offset-path>value can be a<ray()>, a<url>, or a<basic-shape>. The<coord-box>value has replaced the older<geometry-box>value and lets you specify the shape of the path based on the element's box model. The<basic-shape>and<coord-box>values require thelayout.css.motion-path-basic-shapes.enabledandlayout.css.motion-path-coord-box.enabledpreferences to be enabled, respectively. (Firefox bug 1598156) and (Firefox bug 1837305).
Accessibility (ARIA)
- The
imagerole is now supported as a synonym forimg. This maintains consistency with most role names which are complete words or concatenations of complete words (Firefox bug 1829269).
JavaScript
Intl.NumberFormatsupports new constructor options that control how numbers are rounded (roundingIncrement,roundingMode,roundingPriority), the strategy for displaying trailing zeros on whole numbers (trailingZeroDisplay), and whether to use grouping separators to indicate thousands, millions, and so on (useGrouping). It also supports new methodsformatRange()amdformatRangeToParts()for formatting ranges of numbers. (Firefox bug 1795756).Intl.PluralRuleswas updated (as part of the same set of changes asIntl.NumberFormat) to support constructor optionsroundingIncrement,roundingMode,roundingPriorityandtrailingZeroDisplay, and theselectRange()method. (Firefox bug 1795756).
SVG
- The
qlength unit (1q = 1/40th of 1cm) is now supported (Firefox bug 1836995).
HTTP
- Configuring a Content-Security-Policy now supports specifying external JavaScript files to be allowlisted using hashes, where previously only inline scripts could be allowlisted using a hash (Firefox bug 1409200).
APIs
DOM
- The
TextMetrics.fontBoundingBoxAscentandTextMetrics.fontBoundingBoxDescentproperties are now supported. These metrics return, respectively, the distance above and below theCanvasRenderingContext2D.textBaselineto the bounding rectangle of all the fonts used to render the text (Firefox bug 1801198).
Media, WebRTC, and Web Audio
- The Audio Output Devices API is now supported on all platforms except for Android.
This API allows web applications to redirect audio output to a permitted Bluetooth headset, speakerphone, or other device, instead of having to use the browser or underlying OS default.
Affected APIs include
MediaDevices.selectAudioOutput(),MediaDevices.enumerateDevices(),HTMLMediaElement.setSinkId(),HTMLMediaElement.sinkId, and the permission policyPermissions-Policy: speaker-selection(Firefox bug 1498512).
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- Added support for the
session.endcommand that allows users to terminate the automation session. This was previously only possible for sessions using both WebDriver Classic and WebDriver BiDi. It is now possible also for WebDriver BiDi-only sessions (Firefox bug 1829337). - Added support for capability matching for the
session.newcommand. It allows to define expectations about the target browser, such as browser name, platform name, etc. It can also be used to configure the session, for example, to specify if insecure certificates should be accepted (Firefox bug 1731730). - Shadow roots are now correctly serialized when they are the root of a returned value (Firefox bug 1836514).
- The
networkevent time origin information was renamed fromoriginTimetotimeOrigin(Firefox bug 1836926). - The
networkeventnetwork.responseCompletedis now correctly emitted for navigation requests involving a redirect (Firefox bug 1838238).
Marionette
- Removed support for the
moz:useNonSpecCompliantPointerOrigincapability. Users who still need this feature can still use the Firefox 115 ESR release as long as it is supported. Please file bugs under Remote Protocol :: Marionette if you're seeing any issue (Firefox bug 1490258). - A regression was fixed that prevented us from differentiating stale elements (DOM elements that have been seen before on the page) from unknown elements for a given browsing context (Firefox bug 1822466).
- Creating a new session should now properly wait for the initial context to be loaded (Firefox bug 1838381).
Changes for add-on developers
- The URL of a page visited when an extension is uninstalled, provided in
runtime.setUninstallURL, can now be up to 1023 characters instead of 255 (Firefox bug 1835723). - Adds
action.getUserSettingsandbrowserAction.getUserSettingsproviding the user-specified settings for an extension's browser action (Firefox bug 1814905). autoDiscardableis now supported intabs.Tab,tabs.onUpdated,tabs.update, andtabs.query(Firefox bug 1809094).
Developer Tools
- Added support for Custom Formatters (Firefox bug 1752760).
- Added "container" badges in markup view on elements with a
container-typeproperty withsizeorinline-sizevalues (Firefox bug 1789193). - Fixed an issue in the Inspector where CSS custom properties set on the Custom Element Root were not displayed (Firefox bug 1836755).
- Show if request was resolved with DNS over HTTPS in Network Monitor (Firefox bug 1810195).
- Removed
Proxy-Authorizationheader in Network Monitor (Firefox bug 1816115).