📃 September 2025 release notes
Newly available
The following features are newly available:
-
content-visibility:
The
content-visibility
CSS property delays rendering an element, including layout and painting, until it is needed. -
::details-content:
The
::details-content
pseudo-element selects the expandable content of a<details>
element, excluding the<summary>
. -
<link rel="dns-prefetch">:
The
rel="dns-prefetch"
attribute for the<link>
HTML element is a hint to the browser that the page or user is likely to request resources from another domain, so the browser should preemptively resolve DNS for thehref
value's domain. -
Unsanitized HTML parsing methods:
The
Document.parseHTMLUnsafe()
static method parses HTML into a DOM tree, while thesetHTMLUnsafe()
method ofElement
andShadowRoot
parses and inserts HTML into an existing tree. No sanitization applies to these methods, so never call them with user-provided HTML strings. -
Uint8Array base64 and hex conversion:
The
Uint8Array
object methodsfromBase64()
,toBase64()
, andsetFromBase64()
convert to and from base64 strings. ThefromHex()
,toHex()
, andsetFromHex()
methods convert to and from hex strings. -
URLPattern:
The
URLPattern
API creates patterns that can be matched against URLs or URL components.
Widely available
The following features are now widely available:
-
Constructed stylesheets:
The
CSSStyleSheet
constructor creates a new stylesheet which can be shared between a document and multiple shadow roots usingadoptedStyleSheets
. -
font-synthesis-small-caps:
The
font-synthesis-small-caps
CSS property sets whether or not the browser should synthesize small caps typefaces when they're missing from the font. -
font-synthesis-style:
The
font-synthesis-style
CSS property sets whether or not the browser should synthesize italic and oblique typefaces when they're missing from the font. -
font-synthesis-weight:
The
font-synthesis-weight
CSS property sets whether or not the browser should synthesize bold typefaces when they're missing from the font. -
font-variant-alternates:
The
font-variant-alternates
CSS property, along with the@font-feature-values
at-rule, chooses when to use a font's alternate glyphs. -
Form-associated custom elements:
Custom elements may act like built-in form elements, via the the
attachInternals()
method ofHTMLElement
and theElementInternals
API. -
Import maps:
A
<script type="importmap">
HTML element provides an import map as a JSON string. An import map controls how the browser should resolve module specifiers when importing JavaScript modules. -
Media query range syntax:
The range syntax of CSS media queries allows you to use mathematical comparison operators such as
<
,>
,<=
, and>=
to define a range of values for a media query. For example,(400px < width < 1000px)
returns true if the viewport width is between 400px and 1000px. -
messageerror:
The
messageerror
event fires on a target, such as a window or worker, when an incoming message cannot be deserialized. This event can fire for many types of messages, such as cross-document messages or broadcast channel messages. -
Notifications from service workers and installed apps:
Notifications via service worker registration's
showNotification()
method, sent from installed web applications (for example, saved to the Home Screen on Safari for iOS), show a message to the user, typically using the notification system of the host operating system. -
Offscreen canvas:
The
OffscreenCanvas
API provides a canvas that can be drawn to off screen, with no dependencies on the DOM, which can be used to run heavy rendering operations inside a worker context. -
Origin private file system:
The
navigator.storage.getDirectory()
method returns aFileSystemDirectoryHandle
that is restricted to a specific origin and invisible to the user's actual file system for faster file-based applications, such as SQLite databases. -
outline:
The
outline
CSS shorthand sets the color, style, and width of a line around an element, outside of the border. -
pdfViewerEnabled:
The
navigator.pdfViewerEnabled
property is a boolean for whether the browser navigates to and shows a PDF in the browser window or downloads the PDF. - Push messages: The Push API subscribes to and receives server-initiated messages. Subscribers receive pushed messages in the background, even after periods inactive or offline.
-
requestAnimationFrame() in workers:
The
requestAnimationFrame()
method in workers schedules a function that runs before the next repaint. Together with offscreen canvas, you can animate content from a worker. -
Resource size:
The
decodedBodySize
,encodedBodySize
, andtransferSize
properties of thePerformanceResourceTiming
API reports the size of resources loaded. -
Screen orientation:
The
screen.orientation
API gets information about the orientation of the viewport, such as landscape or portrait. With this API, you can adapt an application's layout or behavior in response to changes in orientation. -
Server timing:
The
serverTiming
property of thePerformanceResourceTiming
API contains server timing information about network requests. -
Imperative slot assignment:
The
assign()
method for<slot>
elements assigns nodes to the slot, as an alternative to using theslot
andname
HTML attributes. The nodes must be children of a shadow host and the shadow root must be created with theslotAssignment
set to "manual". Also known as manual slot assignment. -
translate:
The
translate
HTML attribute marks whether an element's text should be translated. -
sin(), cos(), tan(), asin(), acos(), atan(), and atan2() (CSS):
The
sin()
,cos()
,tan()
,asin()
,acos()
,atan()
, andatan2()
CSS functions compute various trigonometric functions. - Fixed-width SIMD (WebAssembly): 128-bit SIMD (Single Instruction Multiple Data) performs one instruction on multiple units of data, when running on hardware that supports such instructions. Also known as vector instructions.
New in Chrome
The following features are now available in Chrome:
-
IndexedDB getAllRecords():
The
getAllRecords()
method ofIDBObjectStore
andIDBIndex
return records and their primary keys from an IndexedDB store or index. The records can be read in batches and in reverse order. ThegetAllRecords()
methods speed up read operations on large datasets. -
Custom highlights from point:
The
CSS.highlights.highlightsFromPoint()
method returns an array ofHighlight
objects at a specified point. - WebRTC encoded transform: The WebRTC encoded transform API allows you to modify audio and video streams in WebRTC connections. For example, it can be used for visual effects or custom codecs.
New in Chrome Android
The following features are now available in Chrome Android:
-
IndexedDB getAllRecords():
The
getAllRecords()
method ofIDBObjectStore
andIDBIndex
return records and their primary keys from an IndexedDB store or index. The records can be read in batches and in reverse order. ThegetAllRecords()
methods speed up read operations on large datasets. -
Custom highlights from point:
The
CSS.highlights.highlightsFromPoint()
method returns an array ofHighlight
objects at a specified point. - WebRTC encoded transform: The WebRTC encoded transform API allows you to modify audio and video streams in WebRTC connections. For example, it can be used for visual effects or custom codecs.
New in Edge
The following features are now available in Edge:
-
Custom highlights from point:
The
CSS.highlights.highlightsFromPoint()
method returns an array ofHighlight
objects at a specified point.
New in Safari
The following features are now available in Safari:
- Anchor positioning: Anchor positioning places an element based on the position of another element. For example, you can place a tooltip next to the content it references.
-
contrast-color():
The
contrast-color()
CSS function picks a color that has guaranteed contrast against a specified foreground or background color. -
Scoped custom element registries:
The
CustomElementRegistry()
constructor creates a new custom element registry that's separate from the globalwindow.customElements
registry. Creating more than one registry is useful for multiple custom elements that have the same tag name to coexist. -
Scroll-driven animations:
The
animation-timeline
,scroll-timeline
, andview-timeline
CSS properties advance animations based on the user's scroll position. -
text-wrap: pretty:
The
text-wrap: pretty
CSS declaration prioritizes better layout over speed when text is broken into multiple lines. -
text-wrap-style:
The
text-wrap-style
CSS property sets how lines break in text that overflows the container. It can also be set with thetext-wrap
shorthand. - Trusted types: Trusted types allow you to lock down insecure parts of the DOM API and prevent client-side cross-site scripting (XSS) attacks.
-
Web authentication signal methods:
The
signalUnknownCredential()
,signalAllAcceptedCredentials()
, andsignalCurrentUserDetails()
methods ofPublicKeyCredential
inform authenticators of the state of public key credentials, so that incorrect or revoked credentials may be updated, removed, or hidden. - WebCodecs: The WebCodecs API provides low-level access to individual video frames and chunks of audio samples, for full control over the way media is processed.
-
WebGPU:
The
navigator.gpu
API performs operations such as rendering and computation on dedicated graphics hardware (also known as a Graphics Processing Unit).
New in Safari on iOS
The following features are now available in Safari on iOS:
- Anchor positioning: Anchor positioning places an element based on the position of another element. For example, you can place a tooltip next to the content it references.
-
contrast-color():
The
contrast-color()
CSS function picks a color that has guaranteed contrast against a specified foreground or background color. -
Scoped custom element registries:
The
CustomElementRegistry()
constructor creates a new custom element registry that's separate from the globalwindow.customElements
registry. Creating more than one registry is useful for multiple custom elements that have the same tag name to coexist. -
Scroll-driven animations:
The
animation-timeline
,scroll-timeline
, andview-timeline
CSS properties advance animations based on the user's scroll position. -
text-wrap: pretty:
The
text-wrap: pretty
CSS declaration prioritizes better layout over speed when text is broken into multiple lines. -
text-wrap-style:
The
text-wrap-style
CSS property sets how lines break in text that overflows the container. It can also be set with thetext-wrap
shorthand. - Trusted types: Trusted types allow you to lock down insecure parts of the DOM API and prevent client-side cross-site scripting (XSS) attacks.
-
Web authentication signal methods:
The
signalUnknownCredential()
,signalAllAcceptedCredentials()
, andsignalCurrentUserDetails()
methods ofPublicKeyCredential
inform authenticators of the state of public key credentials, so that incorrect or revoked credentials may be updated, removed, or hidden. - WebCodecs: The WebCodecs API provides low-level access to individual video frames and chunks of audio samples, for full control over the way media is processed.
-
WebGPU:
The
navigator.gpu
API performs operations such as rendering and computation on dedicated graphics hardware (also known as a Graphics Processing Unit).