Firefox 116 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
dirname
attribute is now supported oninput
andtextarea
elements. This attribute allows for passing text directionality information (ltr
orrtl
) to the server during form submission (Firefox bug 675943).
CSS
- The syntax has been updated for the
offset-path
property, which is used to define the path for an element to follow. The updated syntax allows you to set a value ofnone
or 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.enabled
andlayout.css.motion-path-coord-box.enabled
preferences to be enabled, respectively. (Firefox bug 1598156) and (Firefox bug 1837305).
Accessibility (ARIA)
-
The
image
role 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.NumberFormat
supports 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.PluralRules
was updated (as part of the same set of changes asIntl.NumberFormat
) to support constructor optionsroundingIncrement
,roundingMode
,roundingPriority
andtrailingZeroDisplay
, and theselectRange()
method. (Firefox bug 1795756).
SVG
- The
q
length 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.fontBoundingBoxAscent
andTextMetrics.fontBoundingBoxDescent
properties are now supported. These metrics return, respectively, the distance above and below theCanvasRenderingContext2D.textBaseline
to 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.end
command 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.new
command. 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
network
event time origin information was renamed fromoriginTime
totimeOrigin
(Firefox bug 1836926). - The
network
eventnetwork.responseCompleted
is now correctly emitted for navigation requests involving a redirect (Firefox bug 1838238).
Marionette
- Removed support for the
moz:useNonSpecCompliantPointerOrigin
capability. 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.getUserSettings
andbrowserAction.getUserSettings
providing the user-specified settings for an extension's browser action (Firefox bug 1814905). autoDiscardable
is 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-type
property withsize
orinline-size
values (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-Authorization
header in Network Monitor (Firefox bug 1816115).
Older versions
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers
- Firefox 103 for developers
- Firefox 102 for developers
- Firefox 101 for developers
- Firefox 100 for developers
- Firefox 99 for developers
- Firefox 98 for developers
- Firefox 97 for developers
- Firefox 96 for developers
- Firefox 95 for developers
- Firefox 94 for developers
- Firefox 93 for developers
- Firefox 92 for developers
- Firefox 91 for developers
- Firefox 90 for developers
- Firefox 89 for developers
- Firefox 88 for developers
- Firefox 87 for developers
- Firefox 86 for developers
- Firefox 85 for developers