Stable and beta browser channels picked up a set of new platform features during September 2026. The list below covers what shipped in that window.
Stable releases
September 2026 marks the first month of bi-weekly Chrome and Firefox releases. The following versions shipped to stable: Chrome 153, Chrome 154, Firefox 155, Firefox 156, Firefox 157, and Safari 27. A substantial number of features reached Baseline Newly available.
CSS functions and keywords reaching Baseline
Firefox 155 ships the progress() CSS math function, making it Baseline Newly available. It returns a <number> for the position of one calculation between a start value and an end value, clamped between 0 and 1 by default—useful for fluid sizing, opacity, or colors driven by container or viewport dimensions. Firefox 155 and Safari 27 additionally support the no-clamp keyword, which lets the result fall below 0 or rise above 1.
.card {
opacity: progress(100vw, 320px, 1200px);
}
alpha(), the relative color function from CSS Color 5, lands in both Firefox 155 and Safari 27. It takes an origin color and returns that color with an adjusted alpha channel, leaving the color channels and color space intact.
.overlay {
background-color: alpha(var(--brand-color) / 50%);
}
With Chrome 151, Firefox 155, and Safari 27 all supporting alpha(), the function is now Baseline Newly available.
Safari 27 adds revert-rule, a CSS-wide keyword with distinct cascade semantics: where revert rolls back to the user or user-agent origin and revert-layer rolls back to a previous cascade layer, revert-rule restores a property's value to what it would have been had the current style rule not applied. Chrome, Firefox, and Safari 27 now all support it, and it is Baseline Newly available.
Also in Safari 27: light-dark() accepts <image> values. The function previously took only <color> values; it can now switch between two images—url() images or CSS gradients among them—according to the active light or dark color-scheme. Support across Chrome, Firefox, and Safari 27 makes this Baseline Newly available.
Layout and font handling
Safari 27 enables scroll anchoring and supports the overflow-anchor property. Scroll anchoring compensates for DOM changes above the visible viewport that would otherwise shift content while a user reads or interacts. Elements can opt out of acting as anchor nodes with overflow-anchor: none. Safari 27 joins Chrome and Firefox, so scroll anchoring is Baseline Newly available.
CSS Fonts 4 made font-width the canonical name for selecting normal, condensed, or expanded faces, keeping font-stretch as a legacy alias. Firefox 155 adds the font-width property, the font-width @font-face descriptor, and CSSStyleDeclaration.fontWidth. Chrome 154 adds the @font-face descriptor and the width property on FontFace objects. With existing Safari support, font-width is now Baseline Newly available.
Safari 27 supports the auto keyword in the sizes attribute on <img> elements using loading="lazy". When sizes="auto" is set—or a sizes list begins with auto—the browser picks the most suitable source from srcset based on the image's rendered layout width. Chrome, Firefox, and Safari 27 support it, making sizes="auto" Baseline Newly available.
Safari 27 adopts customizable <select> menus via appearance: base-select and the <selectedcontent> element, joining Chrome. Opting a <select> and its ::picker(select) pseudo-element into appearance: base-select switches the control to a stylable base appearance, enabling rich HTML inside <option> elements and custom styling for the button and drop-down picker.
Streams, events, and cookies
Safari 27 brings several ReadableStream updates:
- Async iteration over streams with
for await...ofloops andReadableStream.prototype.values(). - Transferring streams between contexts via
postMessage(). - The
ReadableStream.from()static method for building a stream from an iterable or async iterable, also supported in Firefox.
Async iterable streams and transferable ReadableStream objects are now Baseline Newly available.
Safari 27 adds the animation property to both AnimationEvent and TransitionEvent. It returns the Animation object tied to the CSS animation or transition event, so listeners can inspect or control the animation directly. Chrome, Firefox, and Safari 27 support it, making it Baseline Newly available.
cookieStore.set() in Safari 27 accepts the maxAge option, which expresses a cookie's lifetime as a duration in seconds instead of an absolute expires timestamp. Chrome, Firefox, and Safari 27 support it, so maxAge is Baseline Newly available.
Chrome 153 additions
Chrome 153 introduces the <camera> and <microphone> HTML capability elements. Built on the <usermedia> element, they provide dedicated, user-activated declarative controls for requesting single-capability video or audio capture access, without script-initiated permission prompts on page load.
Chrome 153 also adds Iterator.prototype.join() plus joint iteration through Iterator.zip() and Iterator.zipKeyed().
Firefox 155 additions
Firefox 155 implements Promise.allKeyed() and Promise.allSettledKeyed(), which take a dictionary object of promises and resolve to an object with the same keys.
The same release expands WebTransport:
- Application-level protocol negotiation through the
protocolsoption in theWebTransport()constructor and theWebTransport.protocolproperty. Chrome, Safari, and Firefox 155 support it, makingWebTransport.protocolBaseline Newly available. createSendGroup(),draining,exportKeyingMaterial(), andWebTransportDatagramDuplexStream.createWritable().
Service Worker Static Routing API in Safari 27
Safari 27 supports the Service Worker Static Routing API via InstallEvent.addRoutes(). A service worker can register declarative routing rules at install time, letting matching requests skip service worker startup and fetch straight from the network or cache—improving navigation performance.
Beta previews
Beta channels expose what will land in the next stable release, which makes them useful for catching feature additions or removals that could affect a site before general availability. The betas published this month are Chrome 155, Chrome 156, Firefox 158, and Safari 27.2.
Chrome 155 and 156
Chrome 155 beta ships CSS margin-trim, symbols(), and text-decoration-skip-spaces. It also adds JPEG XL decoding for image/jxl, text module imports via import ... with { type: "text" }, and issuance support for the Digital Credentials API.
Chrome 156 beta covers a wider set of CSS additions: the random() function, corner shorthand properties, single-axis scroll containers, scroll-snap-type: pair, the image-animation property with its :animated-image pseudo-class, and media element state pseudo-classes (:playing, :paused, :seeking, :buffering, :stalled, :muted, :volume-locked). The release also brings deferred module evaluation through import defer, plus the HTML <install> element and the Web Install API.
Safari 27.2
Safari 27.2 beta enables safe and unsafe overflow alignment when used with normal, extends safe alignment to fixed-position boxes and ::picker(select) elements, and renames flow-tolerance to fit-tolerance for display: grid-lanes.



