📃 December 2025 release notes
Newly available
The following features are newly available:
-
document.caretPositionFromPoint():
The
document.caretPositionFromPoint()method finds an insertion point, represented by a DOM node and an offset within that node, for given coordinates in the viewport. -
Event timing:
The
eventandfirst-inputperformance entries and thePerformanceEventTimingAPI measures the latency of user input events, such as mouse clicks or keypresses. They're used to calculate Interaction to Next Paint (INP), a common metric for perceived responsiveness. -
Largest contentful paint (LCP):
The
largest-contentful-paintperformance entry and theLargestContentfulPaintAPI measures the time it takes for the largest image or text to appear. Largest contentful paint (LCP) is a common metric for perceived loading times. -
@scope:
The
@scopeCSS at-rule sets the scope for a group of rules. -
scrollbar-color:
The
scrollbar-colorCSS property sets the color of the scrollbar track and thumb. -
scrollend:
The
scrollendevent fires when an element or document has finished scrolling.
Widely available
The following features are now widely available:
-
calc() keywords:
The
e,pi,infinity, andNaNkeywords represent well-defined constants accepted in CSS math functions such ascalc(). -
JavaScript modules in workers:
The
Worker()constructor accepts{ type: "module" }to load scripts that useimportandexport. Also known as ECMAScript modules or ESM in workers. -
window.print():
The
window.print()method opens the browser's print dialog.
New in Chrome
The following features are now available in Chrome:
-
Anchor position container queries:
Anchor position container queries with the
@container anchored(fallback: …)at-rule apply styles to an element based on the element's anchor position. -
font-language-override:
The
font-language-overrideCSS property sets which language-specific glyphs are displayed.
New in Chrome Android
The following features are now available in Chrome Android:
-
Anchor position container queries:
Anchor position container queries with the
@container anchored(fallback: …)at-rule apply styles to an element based on the element's anchor position. -
font-language-override:
The
font-language-overrideCSS property sets which language-specific glyphs are displayed.
New in Edge
The following features are now available in Edge:
-
Anchor position container queries:
Anchor position container queries with the
@container anchored(fallback: …)at-rule apply styles to an element based on the element's anchor position. -
font-language-override:
The
font-language-overrideCSS property sets which language-specific glyphs are displayed.
New in Firefox
The following features are now available in Firefox:
-
contrast-color():
The
contrast-color()CSS function picks a color that has guaranteed contrast against a specified foreground or background color. - Relaxed-width SIMD (WebAssembly): Relaxed SIMD (Single Instruction Multiple Data) introduces local non-determinism, where the results of the instructions may vary based on hardware support.
New in Firefox for Android
The following features are now available in Firefox for Android:
-
contrast-color():
The
contrast-color()CSS function picks a color that has guaranteed contrast against a specified foreground or background color. - Relaxed-width SIMD (WebAssembly): Relaxed SIMD (Single Instruction Multiple Data) introduces local non-determinism, where the results of the instructions may vary based on hardware support.
New in Safari
The following features are now available in Safari:
-
field-sizing:
The
field-sizingCSS property allows form controls such as<textarea>to be sized based on their content. -
Map getOrInsert():
The
getOrInsert()andgetOrInsertComputed()methods ofMapobjects get a value, setting and getting a default value if needed. -
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. -
Navigation API:
The
navigationAPI initiates, intercepts, or modifies browser navigation actions. Not to be confused with thenavigatorAPI. -
sibling-count() and sibling-index():
The
sibling-count()andsibling-index()CSS functions return integers that are useful to style elements based on their positions among siblings or on the number of siblings, for example as part of acalc()expression.
New in Safari on iOS
The following features are now available in Safari on iOS:
-
field-sizing:
The
field-sizingCSS property allows form controls such as<textarea>to be sized based on their content. -
Map getOrInsert():
The
getOrInsert()andgetOrInsertComputed()methods ofMapobjects get a value, setting and getting a default value if needed. -
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. -
Navigation API:
The
navigationAPI initiates, intercepts, or modifies browser navigation actions. Not to be confused with thenavigatorAPI. -
sibling-count() and sibling-index():
The
sibling-count()andsibling-index()CSS functions return integers that are useful to style elements based on their positions among siblings or on the number of siblings, for example as part of acalc()expression.