📃 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.
-
JSON import attributes:
Module
import … with { type: "json" }statements load JSON data. Also known as JSON module scripts.
Widely available
The following features are now widely available:
-
Grid animation:
Grid animation allows you to animate the
grid-template-columnsandgrid-template-rowsCSS properties. -
ic unit:
The
icCSS length unit corresponds to the width of CJK ideographic characters.
New in Chrome
The following features are now available in Chrome:
-
::column:
The
::columnCSS pseudo-element represents the individual columns of a multi-column layout container. Columns can only be styled with scroll snap CSS properties and can also have a::scroll-markerpseudo-element, which scrolls to the column when activated. -
Customizable <select>:
The
<select>element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
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. -
interactivity:
The
interactivity: inertCSS declaration makes an element and its descendants inert, like when using theinertHTML attribute. Inert elements can't be focused or clicked, their text can't be selected or found using the browser's find-in-page feature. -
Invoker commands:
The
commandandcommandforattributes 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 oronclickattribute handlers. -
Observable:
The
when()method on a event target returns anObservableobject, which provides a declarative API for subscribing to and operating on events. It's an alternative toaddEventListener()callbacks. -
print-color-adjust:
The
print-color-adjustCSS 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-markerpseudo-elements which appear in a generated::scroll-marker-grouppseudo-element, either before or after the scroll container.
New in Chrome Android
The following features are now available in Chrome Android:
-
::column:
The
::columnCSS pseudo-element represents the individual columns of a multi-column layout container. Columns can only be styled with scroll snap CSS properties and can also have a::scroll-markerpseudo-element, which scrolls to the column when activated. -
Customizable <select>:
The
<select>element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
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
commandandcommandforattributes 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 oronclickattribute handlers. -
Observable:
The
when()method on a event target returns anObservableobject, which provides a declarative API for subscribing to and operating on events. It's an alternative toaddEventListener()callbacks. -
print-color-adjust:
The
print-color-adjustCSS 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:
-
::column:
The
::columnCSS pseudo-element represents the individual columns of a multi-column layout container. Columns can only be styled with scroll snap CSS properties and can also have a::scroll-markerpseudo-element, which scrolls to the column when activated. -
Customizable <select>:
The
<select>element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
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. -
interactivity:
The
interactivity: inertCSS declaration makes an element and its descendants inert, like when using theinertHTML attribute. Inert elements can't be focused or clicked, their text can't be selected or found using the browser's find-in-page feature. -
Invoker commands:
The
commandandcommandforattributes 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 oronclickattribute handlers. -
Observable:
The
when()method on a event target returns anObservableobject, 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-markerpseudo-elements which appear in a generated::scroll-marker-grouppseudo-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-charsCSS 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 anErrorobject. -
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-charsCSS 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 anErrorobject. -
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.