📃 February 2025 release notes
Widely available
The following features are now widely available:
-
Array findLast() and findLastIndex():
The
findLast()andfindLastIndex()methods of arrays and typed arrays search an array in reverse order for the first item that satisfies a test function. -
Individual transform properties:
The
translate,rotate, andscaleCSS properties apply single transformations independently, as opposed to applying multiple transformations with thetransformCSS property.
New in Chrome
The following features are now available in Chrome:
-
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. - Attribution reporting: The Attribution Reporting API measures when an ad click or view leads to a conversion, such as a purchase on an advertiser site.
-
Container scroll-state queries:
Container scroll-state queries with the
@container scroll-state(...)at-rule apply styles to an element based on the sticky positioning, snapped, and scrollable state of the container. -
moveBefore():
The
moveBefore()DOM method relocates a node while preserving its state. For example, you can move the active element without losing focus, move an animated element without resetting the animation, or move an iframe without reloading its content. -
:open:
The
:openCSS pseudo-class matches elements that have open states, like<details>,<dialog>, or<select>, based on their state. -
popover="hint":
The
popover="hint"global HTML attribute creates a popover that is subordinate to popovers with apopover="auto"attribute. You can use this to create tooltips that don't dismissautopopovers. -
scroll-initial-target:
The
scroll-initial-target: nearestCSS declaration sets the initial scroll position of its scroll container to the top of the element, much like scrolling to a URL fragment. -
text-box:
The
text-boxCSS property sets the spacing above and below text based on a font's typographic features. For example,text-box: trim-both ex alphabetictrims the top to the top of the letter x and the bottom to the bottom of most letters, without descenders. - Memory64 (WebAssembly): Instructions accept 64-bit memory indexes.
New in Chrome Android
The following features are now available in Chrome Android:
-
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. - Attribution reporting: The Attribution Reporting API measures when an ad click or view leads to a conversion, such as a purchase on an advertiser site.
-
Container scroll-state queries:
Container scroll-state queries with the
@container scroll-state(...)at-rule apply styles to an element based on the sticky positioning, snapped, and scrollable state of the container. -
moveBefore():
The
moveBefore()DOM method relocates a node while preserving its state. For example, you can move the active element without losing focus, move an animated element without resetting the animation, or move an iframe without reloading its content. -
:open:
The
:openCSS pseudo-class matches elements that have open states, like<details>,<dialog>, or<select>, based on their state. -
popover="hint":
The
popover="hint"global HTML attribute creates a popover that is subordinate to popovers with apopover="auto"attribute. You can use this to create tooltips that don't dismissautopopovers. -
scroll-initial-target:
The
scroll-initial-target: nearestCSS declaration sets the initial scroll position of its scroll container to the top of the element, much like scrolling to a URL fragment. -
text-box:
The
text-boxCSS property sets the spacing above and below text based on a font's typographic features. For example,text-box: trim-both ex alphabetictrims the top to the top of the letter x and the bottom to the bottom of most letters, without descenders. - Memory64 (WebAssembly): Instructions accept 64-bit memory indexes.
New in Edge
The following features are now available in Edge:
-
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. - Attribution reporting: The Attribution Reporting API measures when an ad click or view leads to a conversion, such as a purchase on an advertiser site.
-
Container scroll-state queries:
Container scroll-state queries with the
@container scroll-state(...)at-rule apply styles to an element based on the sticky positioning, snapped, and scrollable state of the container. -
moveBefore():
The
moveBefore()DOM method relocates a node while preserving its state. For example, you can move the active element without losing focus, move an animated element without resetting the animation, or move an iframe without reloading its content. -
:open:
The
:openCSS pseudo-class matches elements that have open states, like<details>,<dialog>, or<select>, based on their state. -
popover="hint":
The
popover="hint"global HTML attribute creates a popover that is subordinate to popovers with apopover="auto"attribute. You can use this to create tooltips that don't dismissautopopovers. -
scroll-initial-target:
The
scroll-initial-target: nearestCSS declaration sets the initial scroll position of its scroll container to the top of the element, much like scrolling to a URL fragment. -
text-box:
The
text-boxCSS property sets the spacing above and below text based on a font's typographic features. For example,text-box: trim-both ex alphabetictrims the top to the top of the letter x and the bottom to the bottom of most letters, without descenders. - Memory64 (WebAssembly): Instructions accept 64-bit memory indexes.
New in Firefox
The following features are now available in Firefox:
-
JSON source text access:
To serialize and parse JSON in a lossless way,
JSON.stringify()handlesrawJSONvalues andJSON.parse()'s reviver callback takes a source context parameter.
New in Firefox for Android
The following features are now available in Firefox for Android:
-
JSON source text access:
To serialize and parse JSON in a lossless way,
JSON.stringify()handlesrawJSONvalues andJSON.parse()'s reviver callback takes a source context parameter.