New to the web platform in June  |  Blog  |  web.dev

0
12


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

Published: June 30, 2025

Stable browser releases

In June 2025 Firefox 140 and
Chrome 138 became stable.
This post looks at the new features added to the web platform with these releases.

Escape < and > in attributes when serializing HTML

Both Chrome 138 and Firefox 140 include this change to prevent exploits where
HTML is serialized then injected back into the DOM.
This change is also included in the Beta for Safari 26.
Learn more about why this change was needed.

The CSS Custom Highlight API

Firefox 140 implements the
CSS Custom Highlight API.
This lets you define and style arbitrary text ranges in a document,
similar to other highlight CSS pseudo-elements such as ::grammar-error.

As well as the JavaScript API, the work includes the CSS ::highlight
pseudo-element, used to apply styles to the registered highlight.
While this feature is now broadly interoperable,
some issues with the ::highlight pseudo-element make it not quite Baseline yet.

The Cookie Store API is an asynchronous API for managing cookies, and is
supported from Firefox 140.
There’s now basic support for this API in all browsers,
however check
the compatibility chart
on MDN for information on parts that
are not yet interoperable.

Removal of mutation events

Interop 2025 contains a removal this year.
The legacy mutation events like DOMSubtreeModified, DOMNodeInserted, and
DOMNodeRemoved watch for changes to the DOM and run an event listener callback
when DOM changes occur. These mutation events were deprecated in favor of the
MutationObserver API, which is more performant and less error-prone.

Firefox 140 removes these events, which are already removed from Chrome.

CSS functions in Chrome 138

Chrome 138 includes a whole set of CSS functions,
some of these are new to the platform, others become Baseline with their
inclusion in Chrome.

The sign-related functions
abs() and
sign()
become Baseline Newly available
with Chrome 138.

New to the platform is the interpolation function—progress().

Chrome 138 also includes sibling-index() and sibling-count().
These can be used as integers in CSS property values to style elements
based on their position among its siblings,
or the total number of siblings respectively.

Built-in AI APIs for translation, language detection, and summarization

Chrome 138 includes three built-in JavaScript AI APIs. The
Translator and Language Detector APIs
let you detect the language that text is written in,
and translate that text to different languages.
They use the browser’s own internal AI model, and so do this work on-device.

The Summarizer API
summarizes text, again on-device using the browser’s internal AI model.

Support for video frame orientation in WebCodecs

Chrome 138 also adds rotation: int and flip: bool values to various
video related interfaces in WebCodecs so that developers can work with frame
sources that have orientation.

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 are
Firefox 141,
Safari 26,
and Chrome 139.

Safari 26 promises to be a feature-packed release for the browser.
For CSS it includes support for overflow-block and overflow-inline,
Scroll-driven animations, anchor positioning, the CSS progress() function,
and much more. There’s also support for the AudioEncoder and AudioDecoder APIs,
the URLPattern API, Digital Credentials API, Trusted Types, and WebAuthn Signal API.

Chrome 139 includes CSS Custom Functions, corner shaping, and the caret-animation property.
Also included is the On-device Web Speech API, Web app scope extensions,
and the request-close invoker command.

Firefox 141 adds the options.source argument for showPopover() and
togglePopover(), to establish a relationship between a popover and its invoker.
It also includes support for the CSS font-variant-emoji property.



Source link