New to the web platform in September

Discover some of the interesting features that have landed in stable and beta web browsers during September 2025.

Published: October 1, 2025

Stable browser releases

Chrome 140, Chrome 141, Safari 26, and Firefox 143 released to stable during September, this post takes a look at what has been a pretty exciting month for the web platform.

New CSS features in Safari 26

There's a lot to see in the latest Safari release, there's a comprehensive write-up in WebKit Features in Safari 26.0. Some top highlights for CSS include the following features.

Anchor positioning

As part of Interop 2025, Safari has shipped support for CSS anchor positioning. This lets you tether elements to an anchor, and is particularly useful when combined with popover.

Browser Support

  • Chrome: 125.
  • Edge: 125.
  • Firefox: not supported.
  • Safari: 26.

Source

text-wrap: pretty

The pretty value of text-wrap asks the browser to improve typography—for example, reducing the impact of ragged edges and typographic rivers, and preventing short last lines.

Browser Support

  • Chrome: 117.
  • Edge: 117.
  • Firefox: not supported.
  • Safari: 26.

Source

Scroll-driven animations

Safari also ships support for scroll-driven animations, letting you tie animations to how far the user has scrolled.

Browser Support

  • Chrome: 115.
  • Edge: 115.
  • Firefox: behind a flag.
  • Safari: 26.

Source

New values and functions

Safari is the first browser to add support for the contrast-color() function, giving you a way to ask the browser to select the color with the most contrast against another color.

Browser Support

  • Chrome: not supported.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: 26.

Source

The progress() math function returns a number indicating the progress between two other values.

Browser Support

  • Chrome: 138.
  • Edge: 138.
  • Firefox: not supported.
  • Safari: not supported.

The align-self and justify-self properties for absolute positioning are now supported.

Browser Support

  • Chrome: 122.
  • Edge: 122.
  • Firefox: 134.
  • Safari: not supported.

The logical properties overflow-block and overflow-inline are supported, and can be used in place of overflow-x and overflow-y.

Browser Support

  • Chrome: 135.
  • Edge: 135.
  • Firefox: 69.
  • Safari: 26.

Source

Safari also now supports margin-trim.

Browser Support

  • Chrome: not supported.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: 16.4.

Source

The ::details-content pseudo-element

Firefox 143 adds support for ::details-content, this lets you style the content of the <details> element.

Browser Support

  • Chrome: 131.
  • Edge: 131.
  • Firefox: 143.
  • Safari: 18.4.

Source

Support for styling markers created with generated content

Firefox 143 also adds support for the ::before::marker and ::after::marker selectors. These let you style a ::marker when it was created using the ::before or ::after pseudo-element.

Browser Support

  • Chrome: 135.
  • Edge: 135.
  • Firefox: not supported.
  • Safari: not supported.

Digital Credentials API

Safari 26 and Chrome 141 includes support for the Digital Credentials API. This lets websites selectively request verifiable information about the user through digital credentials such as a driver's license or a national identification card stored in a digital wallet.

Browser Support

  • Chrome: not supported.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: 26.

The URL Pattern API becomes Baseline Newly available

The URL Pattern API lets you use the URL Pattern Standard to match URLs using regular expressions. It shipped in Safari 26, and is now Baseline Newly available.

Browser Support

  • Chrome: 95.
  • Edge: 95.
  • Firefox: 142.
  • Safari: 26.

Source

Uint8Array to and from base64 and hex is now Baseline Newly available

Base64 is a common way to represent arbitrary binary data as ASCII. JavaScript has Uint8Arrays for binary data. However, it lacks a built-in mechanism to encode that data as base64, or to take base64 data and produce a corresponding Uint8Array. This feature adds the ability and methods for converting between hex strings and Uint8Arrays. With Chrome 140, it becomes Baseline Newly available.

Browser Support

  • Chrome: 140.
  • Edge: 140.
  • Firefox: 133.
  • Safari: 18.2.

Source

The caret-animation property

The CSS caret-animation property shipped in Chrome 140 and has two possible values: auto and manual. auto means browser default (blinking), and manual means the developer controls the caret animation. Additionally, users who are disturbed by or have adverse reactions to blinking or flashing visuals can disable the blinking with a user stylesheet.

Browser Support

  • Chrome: 140.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

Source

The ARIA Notify API

From Chrome 141, ariaNotify provides a JavaScript API that lets content authors tell a screen reader what to read. It improves reliability and developer control compared to ARIA live regions, allowing for announcing changes not tied to DOM updates.

IndexedDB getAllRecords() and direction option for getAll() and getAllKeys()

This feature in Chrome 141 adds the getAllRecords() method to the IndexedDB IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality lets certain read patterns be significantly faster when compared to the existing alternative of iteration with cursors.

Beta browser releases

Beta browser versions give you a preview of things that will be in the next stable version of the browser. It's a great time to test new features, or removals, that could impact your site before the world gets that release. New betas this month are Firefox 144 and Safari 26.1.

Safari 26.1 is mostly a bug fix release, with fixes to anchor positioning among other changes. Firefox 144 will ship view transitions for Single-Page Apps (SPAs). This is one of the focus areas for Interop 2025 and means that this feature becomes Baseline Newly available.

Also included in Firefox 144 is the moveBefore() method on the Element, DocumentFragment and Document interfaces. This lets you move an immediate child element of the object, before another of its child elements.