Discover some of the interesting features that have landed in stable and beta web browsers during February 2025.
Published: February 28, 2025
Stable browser releases
In February 2025 Firefox 135 and Chrome 133 became stable. This post looks at the new features added to the web platform.
Check for WebAuthn capabilities
Firefox 135 and Chrome 133 both add support for the
PublicKeyCredential.getClientCapabilities()
static method. This lets you check if a browser supports features of the Web
Authentication API, without needing to resort to browser sniffing.
Firefox 135 also includes features from the
JSON parse with source proposal—the
JSON.parse
reviver
parameter context
argument,
JSON.isRawJSON()
, and
JSON.rawJSON()
.
The hint value of the popover attribute
Chrome 133 adds a third value for the popover
attribute,
popover="hint"
.
Hints, which are most often associated with "tooltip" type behaviors, have slightly different behaviors. It's now possible to open an unrelated hint popover while an existing stack of auto popovers stays open.
The canonical example is that a <select>
picker is open (popover="auto"
) and a hover-triggered tooltip (popover="hint"
) is shown. That action does not close the <select>
picker.
Browser Support
Read more in Popover = hint.
CSS advanced attr()
function
There's a nice collection of CSS additions in Chrome 133. This Chrome release includes the augmentation to
attr()
specified in CSS Level 5,
which allows types besides <string>
and use in all CSS properties (in addition to the existing support for the pseudo-element content).
Browser Support
Learn more in
CSS attr()
gets an upgrade.
CSS scroll state container queries
Also in Chrome 133, use container queries to style descendants of containers based on their scroll state.
The query container is either a scroll container, or an element affected by the scroll position of a scroll container. The following states can be queried:
stuck
: A sticky positioned container is stuck to one of the edges of the scroll box.snapped
: A scroll snap aligned container is currently snapped horizontally or vertically.scrollable
: Whether a scroll container can be scrolled in a queried direction.
There's also a new value for container-type
: scroll-state
that lets containers be queried.
Browser Support
Read CSS scroll-state()
to find out more.
CSS text-box
, text-box-trim
, and text-box-edge
Also in CSS for Chrome 133 are the text-box-trim
and text-box-edge
properties, along with the text-box
shorthand property,
these make finer control of vertical alignment of text possible.
Browser Support
Find out more about how this useful property works in CSS text-box-trim
.
DOM state-preserving move
Chrome 133 adds a DOM primitive (Node.prototype.moveBefore
) that lets you move elements around a DOM tree, without resetting the element's state.
When moving instead of removing and inserting, following state such as the following is preserved:
<iframe>
elements remain loaded.- The active element remains focus.
- Popovers, fullscreen, and modal dialogs remain open.
- CSS transitions and animations continue.
Browser Support
The FileSystemObserver
interface
The FileSystemObserver
interface added in Chrome 133 notifies websites of changes to the file system. Sites observe changes to files and directories, to which the user has previously granted permission, in the user's local device, or in the Bucket File System (also known as the Origin Private File System), and are notified of basic change info, such as the change type.
Browser Support
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 136, Safari 18.4, and Chrome 134. These releases bring many great features to the platform. Check out the release notes for all of the details. Here are just a few highlights.
The latest Safari beta brings a huge list of additions and improvements,
including some features that we expect to become Baseline Newly available
once this browser becomes stable. For example writing-mode: sideways-rl
and writing-mode: sideways-lr
,
the supports()
static method for ClipboardItem
, and a whole list of
things from the Iterator Helpers proposal.
Both the Safari 18.4 beta and Firefox 136 include the Cookie Store API, which should be Baseline Newly available once both browsers ship.
Firefox 136 includes the :open
and :has-slotted
pseudo-classes,
the latter is also in Chrome 134.
It also includes Intl.DurationFormat
which should then be Baseline Newly available.
Chrome 134 includes customizable <select>
elements, the CSS dynamic-range-limit
property, and light dismiss functionality for <dialog>
elements.