📃 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. - Speculation rules: Speculation rules are hints to the browser to proactively download pages in the background so they appear instantly when the user navigates to them.
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\\]"
. - Speculation rules: Speculation rules are hints to the browser to proactively download pages in the background so they appear instantly when the user navigates to them.
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.