📃 April 2025 release notes
Newly available
The following features are newly available:
-
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. - Float16Array: Float16Array is a typed array of 16-bit floating point numbers.
-
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.
Widely available
The following features are now widely available:
-
Grid animation:
Grid animation allows you to animate the
grid-template-columns
andgrid-template-rows
CSS properties. -
ic unit:
The
ic
CSS length unit corresponds to the width of CJK ideographic characters.
New in Chrome
The following features are now available in Chrome:
-
fetchLater:
The
fetchLater()
method requests a deferred fetch sent at an unknown time. The browser chooses a reliable time to send the request, ideally when the document is unloaded, and ignores the response. This API is useful for sending beacons to a server without expecting a particular response. -
Invoker commands:
The
command
andcommandfor
attributes for the<button>
HTML element dispatch an action to an element when the button is invoked (by click or keystroke), as a declarative alternative toaddEventListener()
calls oronclick
attribute handlers. -
Observable:
The
when()
method on a event target returns anObservable
object, which provides a declarative API for subscribing to and operating on events. It's an alternative toaddEventListener()
callbacks. -
print-color-adjust:
The
print-color-adjust
CSS property sets whether styles of printed pages should be adjusted to use less ink, in cases such as light text on a dark background. -
RegExp.escape():
The
RegExp.escape()
static method takes a string and replaces any characters that are potentially special characters of a regular expression with equivalent escape sequences. For example,RegExp.escape("[abc]")
returns"\\[abc\\]"
. -
Scroll markers:
A scroll container can be navigated by activating
::scroll-marker
pseudo-elements which appear in a generated::scroll-marker-group
pseudo-element, either before or after the scroll container.
New in Chrome Android
The following features are now available in Chrome Android:
-
fetchLater:
The
fetchLater()
method requests a deferred fetch sent at an unknown time. The browser chooses a reliable time to send the request, ideally when the document is unloaded, and ignores the response. This API is useful for sending beacons to a server without expecting a particular response. -
Invoker commands:
The
command
andcommandfor
attributes for the<button>
HTML element dispatch an action to an element when the button is invoked (by click or keystroke), as a declarative alternative toaddEventListener()
calls oronclick
attribute handlers. -
Observable:
The
when()
method on a event target returns anObservable
object, which provides a declarative API for subscribing to and operating on events. It's an alternative toaddEventListener()
callbacks. -
print-color-adjust:
The
print-color-adjust
CSS property sets whether styles of printed pages should be adjusted to use less ink, in cases such as light text on a dark background. -
RegExp.escape():
The
RegExp.escape()
static method takes a string and replaces any characters that are potentially special characters of a regular expression with equivalent escape sequences. For example,RegExp.escape("[abc]")
returns"\\[abc\\]"
.
New in Edge
The following features are now available in Edge:
-
fetchLater:
The
fetchLater()
method requests a deferred fetch sent at an unknown time. The browser chooses a reliable time to send the request, ideally when the document is unloaded, and ignores the response. This API is useful for sending beacons to a server without expecting a particular response. -
Invoker commands:
The
command
andcommandfor
attributes for the<button>
HTML element dispatch an action to an element when the button is invoked (by click or keystroke), as a declarative alternative toaddEventListener()
calls oronclick
attribute handlers. -
Observable:
The
when()
method on a event target returns anObservable
object, which provides a declarative API for subscribing to and operating on events. It's an alternative toaddEventListener()
callbacks. -
Scroll markers:
A scroll container can be navigated by activating
::scroll-marker
pseudo-elements which appear in a generated::scroll-marker-group
pseudo-element, either before or after the scroll container.
New in Firefox
The following features are now available in Firefox:
-
Hyphenate limit chars:
The
hyphenate-limit-chars
CSS property sets the number of characters in a word before it is hyphenated and the minimum number of characters on either side of the hyphen. -
Error.isError():
The
Error.isError()
static method checks whether a value is anError
object. -
Math.sumPrecise():
The
Math.sumPrecise()
static method returns the sum of an iterable of numbers. It avoids the precision loss of intermediate partial sums, as found usingreduce()
or a loop to add together an array of values.
New in Firefox for Android
The following features are now available in Firefox for Android:
-
Hyphenate limit chars:
The
hyphenate-limit-chars
CSS property sets the number of characters in a word before it is hyphenated and the minimum number of characters on either side of the hyphen. -
Error.isError():
The
Error.isError()
static method checks whether a value is anError
object. -
Math.sumPrecise():
The
Math.sumPrecise()
static method returns the sum of an iterable of numbers. It avoids the precision loss of intermediate partial sums, as found usingreduce()
or a loop to add together an array of values.