📅 September 2026 release notes
Newly available
The following features are newly available:
-
alpha():
The
alpha()CSS function computes a relative color value by adjusting the opacity of an origin color. -
Asynchronously iterable streams:
Asynchronous iteration of a stream allows you to use
for await … ofloops to iterate through a stream's incoming data. -
autocorrect:
The
autocorrectglobal HTML attribute controls whether to automatically correct spelling or punctuation errors for user input. -
light-dark() image values:
The
light-dark()CSS function accepts, in addition to colors, two<image>values, such as a gradient or URL, and uses one depending on the current color scheme. -
overflow-anchor:
The
overflow-anchorCSS property sets an element as a possible scroll anchor, reducing unintended scrolling when document changes occur above the current scrollport. This is enabled by default where supported. -
progress():
The
progress()CSS function returns a ratio for the relative position of one value between two other values, clamped between 0 and 1. You can use it to interpolate a value for other calculations. -
Top-level await:
The
awaitkeyword, when used at the top level of a module (outside of an async function), delays parent module execution until after a promise fulfills. - JavaScript promise integration (WebAssembly): The JavaScript promise integration (JSPI) suspends a WebAssembly module when it calls a JavaScript method that returns a promise. The module resumes when the promise is resolved. You can use this to call asynchronous Web APIs from synchronous WebAssembly.
Widely available
The following features are now widely available:
-
Array grouping:
The
Object.groupBy()andMap.groupBy()static methods group values of arrays and iterables based on a function that returns a key for each value. -
checkVisibility():
The
checkVisibility()method checks if an element is potentially visible, with optional parameters for the kinds of visibility to check. For example, it checks whether the element has the styledisplay: none, but can also check forvisibility: hidden. -
Promise.withResolvers():
The
Promise.withResolvers()static method is an alternative to thePromise()constructor that returns both the promise and resolution functions. You can use this to accessresolveandrejectoutside the scope of the executor function. -
Transferable ArrayBuffer:
The
transfer()andtransferToFixedLength()methods ofArrayBuffermove a buffer from one context to another (for example, to a worker). -
Extended constant expressions (WebAssembly):
The
i32.add,i32.sub,i32.mul,i64.add,i64.sub, andi64.muloperations extend constant expressions to include arithmetic.
New in Chrome
The following features are now available in Chrome:
-
Iterator join():
The
join()method of anIteratorobject returns a string concatenation of all the iterator's items, separated by commas or a given separator string. It's similar to thejoin()method of arrays.
New in Chrome Android
The following features are now available in Chrome Android:
-
Iterator join():
The
join()method of anIteratorobject returns a string concatenation of all the iterator's items, separated by commas or a given separator string. It's similar to thejoin()method of arrays.
New in Edge
The following features are now available in Edge:
-
Iterator join():
The
join()method of anIteratorobject returns a string concatenation of all the iterator's items, separated by commas or a given separator string. It's similar to thejoin()method of arrays.
New in Firefox
The following features are now available in Firefox:
-
attr():
The
attr()CSS function, in the context of any property, returns the value of an attribute of an HTML element, with the option to return it as a specific type or unit. You can set a default value for missing or invalid attributes.
New in Firefox for Android
The following features are now available in Firefox for Android:
-
attr():
The
attr()CSS function, in the context of any property, returns the value of an attribute of an HTML element, with the option to return it as a specific type or unit. You can set a default value for missing or invalid attributes.
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.
-
ariaNotify():
The
ariaNotify()method ofElementandDocumentrequests assistive technology software, if activated, to announce a message to the user. This can help make dynamic content changes more accessible to users. -
Customizable <select>:
The
<select>element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
ReadableStream.from():
The
ReadableStream.from()static method converts an iterable or async iterable object, such as an array or async generator function, into a readable stream. -
Service workers static routing:
The service worker install event's
addRoutesmethod declares resource paths that should either be fetched from the network or the cache, to bypass the service worker and improve performance. -
stretch:
The
stretchCSS keyword expands a box as needed to fit its contents until the maximum size is reached, without preserving the content's preferred aspect ratio. -
text-autospace:
The
text-autospaceCSS property sets whether and how to insert spaces in inter-script text (such as when mixing Latin and Chinese characters) and around punctuation. -
WebOTP:
The
OTPCredentialAPI represents a one-time-password (OTP).
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.
-
ariaNotify():
The
ariaNotify()method ofElementandDocumentrequests assistive technology software, if activated, to announce a message to the user. This can help make dynamic content changes more accessible to users. -
Customizable <select>:
The
<select>element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS. -
ReadableStream.from():
The
ReadableStream.from()static method converts an iterable or async iterable object, such as an array or async generator function, into a readable stream. -
Service workers static routing:
The service worker install event's
addRoutesmethod declares resource paths that should either be fetched from the network or the cache, to bypass the service worker and improve performance. -
stretch:
The
stretchCSS keyword expands a box as needed to fit its contents until the maximum size is reached, without preserving the content's preferred aspect ratio. -
text-autospace:
The
text-autospaceCSS property sets whether and how to insert spaces in inter-script text (such as when mixing Latin and Chinese characters) and around punctuation. -
WebOTP:
The
OTPCredentialAPI represents a one-time-password (OTP).