📃 March 2025 release notes
Newly available
The following features are newly available:
-
ClipboardItem.supports():
The
ClipboardItem.supports()
static method checks if the browser supports writing data types such as "image/svg+xml" or other custom formats to the system clipboard. -
contenteditable="plaintext-only":
The
contenteditable="plaintext-only"
global HTML attribute allows the user to edit the content of an element, but prevents rich-text formatting. -
Intl.DurationFormat:
The
Intl.DurationFormat
API creates a locale-aware formatter that turns an object representing a duration (such as days, hours, and minutes) into a string. -
Screen wake lock:
The
navigator.wakeLock.request("screen")
API prevents the device's screen from dimming or being turned off.
Widely available
The following features are now widely available:
-
Inline-size containment:
The
contain: inline-size
CSS declaration prevents the element's inline dimension from being set by the element's contents. This permits the browser to avoid slower layout calculations. -
Forced colors:
The
forced-colors
CSS @media rule detects when a user has chosen to use a forced colors mode, also known as high-contrast mode, and theforced-color-adjust
CSS property sets whether forced colors apply to an element. -
:modal:
The
:modal
pseudo-class selects elements that put other elements into a non-interactive state, such as a fullscreen element or a<dialog>
element used withshowModal()
. -
Motion path:
The
offset
CSS property animates an element along a defined motion path. -
overflow: clip:
The
overflow: clip
CSS declaration clips an element's overflowing content to the box that's defined by theoverflow-clip-margin
property. Unlikeoverflow: hidden
, it allows you to hide overflow on one axis while keeping overflow on the other axis visible. -
overscroll-behavior:
The
overscroll-behavior
CSS property disables default scrolling behaviors when the edges of a scrolling area are reached. -
Permissions:
The
navigator.permissions
API checks whether a permission, such as access to geolocation data, has been granted. -
resolution media query:
The
resolution
CSS media query sets styles based on the pixel density, or how many pixels a device uses to display a single CSS pixel. -
text-align-last:
The
text-align-last
CSS property sets the alignment of the last line of text before a forced line break.
New in Chrome
The following features are now available in Chrome:
-
Customizable <select>:
The
<select>
element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
:has-slotted:
The
:has-slotted
CSS pseudo-class matches<slot>
elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements. -
Error.isError():
The
Error.isError()
static method checks whether a value is anError
object. -
<meta name="application-title">:
The
name="application-title"
attribute for the<meta>
HTML element sets an installed web application's title bar text. -
dialog.requestClose():
The
requestClose()
method of a<dialog>
HTML element closes the dialog, firing acancel
event first, which listeners can use to prevent the dialog from closing. This differs from theclose()
method, which only fires the non-cancelableclose
event. -
Shared storage locks:
The
withLock
option toset()
,append()
,delete()
,clear()
, andbatchUpdate()
methods of thesharedStorage
API prevents duplicate reporting from cross-site race conditions.
New in Chrome Android
The following features are now available in Chrome Android:
-
Customizable <select>:
The
<select>
element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
:has-slotted:
The
:has-slotted
CSS pseudo-class matches<slot>
elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements. -
Error.isError():
The
Error.isError()
static method checks whether a value is anError
object. -
<meta name="application-title">:
The
name="application-title"
attribute for the<meta>
HTML element sets an installed web application's title bar text. -
dialog.requestClose():
The
requestClose()
method of a<dialog>
HTML element closes the dialog, firing acancel
event first, which listeners can use to prevent the dialog from closing. This differs from theclose()
method, which only fires the non-cancelableclose
event. -
Shared storage locks:
The
withLock
option toset()
,append()
,delete()
,clear()
, andbatchUpdate()
methods of thesharedStorage
API prevents duplicate reporting from cross-site race conditions.
New in Edge
The following features are now available in Edge:
-
Customizable <select>:
The
<select>
element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
:has-slotted:
The
:has-slotted
CSS pseudo-class matches<slot>
elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements. -
Error.isError():
The
Error.isError()
static method checks whether a value is anError
object. -
<meta name="application-title">:
The
name="application-title"
attribute for the<meta>
HTML element sets an installed web application's title bar text. -
dialog.requestClose():
The
requestClose()
method of a<dialog>
HTML element closes the dialog, firing acancel
event first, which listeners can use to prevent the dialog from closing. This differs from theclose()
method, which only fires the non-cancelableclose
event. -
Shared storage locks:
The
withLock
option toset()
,append()
,delete()
,clear()
, andbatchUpdate()
methods of thesharedStorage
API prevents duplicate reporting from cross-site race conditions.
New in Firefox
The following features are now available in Firefox:
-
autocorrect:
The
autocorrect
global HTML attribute controls whether to automatically correct spelling or punctuation errors for user input. -
:has-slotted:
The
:has-slotted
CSS pseudo-class matches<slot>
elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements. -
Single color stop gradients:
A single color stop can be provided to the
linear-gradient()
,radial-gradient()
, andconic-gradient()
CSS functions, and their repeating counterparts, to create a solid color background.
New in Firefox for Android
The following features are now available in Firefox for Android:
-
autocorrect:
The
autocorrect
global HTML attribute controls whether to automatically correct spelling or punctuation errors for user input. -
:has-slotted:
The
:has-slotted
CSS pseudo-class matches<slot>
elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements. -
Single color stop gradients:
A single color stop can be provided to the
linear-gradient()
,radial-gradient()
, andconic-gradient()
CSS functions, and their repeating counterparts, to create a solid color background.
New in Safari
The following features are now available in Safari:
-
Atomics.pause():
The
Atomics.pause()
static method gives a hint to the CPU that the code calling the method is in a short-duration wait for shared memory, known as spinning or a spinlock. -
::details-content:
The
::details-content
pseudo-element selects the expandable content of a<details>
element, excluding the<summary>
. -
font-width:
The
font-width
CSS property selects a font face from a font family based on width, either by a keyword such ascondensed
or a percentage. - Partitioned cookies: Partitioned cookies allow you to opt a cookie into partitioned storage, with a separate cookie jar per top-level site. Also known as Cookies Having Independent Partitioned State or CHIPS.
-
dialog.requestClose():
The
requestClose()
method of a<dialog>
HTML element closes the dialog, firing acancel
event first, which listeners can use to prevent the dialog from closing. This differs from theclose()
method, which only fires the non-cancelableclose
event. -
text-autospace:
The
text-autospace
CSS property sets whether and how to insert spaces in inter-script text (such as when mixing Latin and Chinese characters) and around punctuation. -
Exception references with exnref (WebAssembly):
When caught, an exception is reified into an exception reference, a value of the new type
exnref
.
New in Safari on iOS
The following features are now available in Safari on iOS:
-
Atomics.pause():
The
Atomics.pause()
static method gives a hint to the CPU that the code calling the method is in a short-duration wait for shared memory, known as spinning or a spinlock. -
::details-content:
The
::details-content
pseudo-element selects the expandable content of a<details>
element, excluding the<summary>
. - Partitioned cookies: Partitioned cookies allow you to opt a cookie into partitioned storage, with a separate cookie jar per top-level site. Also known as Cookies Having Independent Partitioned State or CHIPS.
-
dialog.requestClose():
The
requestClose()
method of a<dialog>
HTML element closes the dialog, firing acancel
event first, which listeners can use to prevent the dialog from closing. This differs from theclose()
method, which only fires the non-cancelableclose
event. -
Exception references with exnref (WebAssembly):
When caught, an exception is reified into an exception reference, a value of the new type
exnref
.