Firefox 108 for developers
This article provides information about the changes in Firefox 108 that will affect developers. Firefox 108 was released on December 13, 2022.
Changes for web developers
HTML
- The
<source>
element supportsheight
&width
attributes when it is a child of a<picture>
element. This functionality can be configured via thedom.picture_source_dimension_attributes.enabled
preference which is now set totrue
by default (Firefox bug 1795953).
CSS
- Trigonometric functions are now enabled with the
layout.css.trig.enabled
preference set totrue
by default. This allows the use ofsin()
,cos()
,tan()
,asin()
,acos()
,atan()
, andatan2()
functions (Firefox bug 1774589, Firefox bug 1787070). - CSS
<calc-constant>
type is implemented to allow for well-known constants such aspi
ande
within math functions (Firefox bug 1682444, Firefox bug 1787070). - Container query length units are now supported via the
layout.css.container-queries.enabled
preference, which is set tofalse
by default. Setting this preference totrue
allows the use ofcqw
,cqh
,cqi
,cqb
,cqmin
, andcqmax
units of length which are relative to the size of a query container. For more information on these units, see the CSS Container Queries documentation (Firefox bug 1744231). - The
font-variant-emoji
property is now supported via thelayout.css.font-variant-emoji.enabled
preference, which is set tofalse
by default. This property allows you to set a default presentation style for displaying emojis (Firefox bug 1461589).
JavaScript
No notable changes
HTTP
Content-Security-Policy
HTTP header directivesstyle-src-elem
andstyle-src-attr
are now supported. A server can use these to specify valid sources for stylesheet<style>
elements and<link>
elements withrel="stylesheet"
, and for styles applied to individual elements, respectively (Firefox bug 1529338).Content-Security-Policy
HTTP header directivesscript-src-elem
andscript-src-attr
are now supported. A server can use these to specify valid sources for JavaScript<script>
elements, and for inline script event handlers likeonclick
, respectively (Firefox bug 1529337).Content-Security-Policy
violation reports now includeeffective-directive
andstatus-code
properties. For more information, see Violation report syntax (Firefox bug 1192684).
APIs
- Import maps are now supported. Import maps provide flexibility and additional control over how browsers resolve module specifiers when importing JavaScript modules. (Firefox bug 1795647).
Media, WebRTC, and Web Audio
- The Web MIDI API is now available in secure contexts.
Calls to
navigator.requestMIDIAccess()
will prompt users with active MIDI devices to install a Site Permission Add-On, which is required to enable the API. For more information see Firefox bug 1795025.
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- Following a change in the specification, log entry level
"warning"
was renamed to"warn"
(Firefox bug 1797115). - When using
script.evaluate
andscript.callFunction
with a sandbox name equal to an empty string, the evaluation will now be done using the default realm (Firefox bug 1793589). - Added support for the
browsingContext.domContentLoaded
event (Firefox bug 1756610).
Marionette
- Added support for the
tiltX
,tiltY
andtwist
properties of pointer actions forWebDriver:PerformActions
(Firefox bug 1793832). - Fixed a bug where
WebDriver:GetElementText
wasn't returning the element text for pretty-printed XML (Firefox bug 1794099). HTMLDocument
is no longer serialized as aWebElement
reference (Firefox bug 1793920).WebDriver:NewWindow
now opens a window with anabout:blank
tab instead ofabout:newtab
(Firefox bug 1533058).
Changes for add-on developers
- Firefox now issues a warning when an extension is installed if its version number doesn't follow the recommended format (Firefox bug 1793925).
Older versions
- 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
- Firefox 84 for developers
- Firefox 83 for developers
- Firefox 82 for developers
- Firefox 81 for developers
- Firefox 80 for developers
- Firefox 79 for developers
- Firefox 78 for developers
- Firefox 77 for developers