# Google Chrome 140 - Product: Google Chrome (https://whatsnew.fyi/product/google-chrome) - Vendor: Google - Date: 2025-09-02 - Version: 140 - Original notes: https://developer.chrome.com/release-notes/140 - Permalink: https://whatsnew.fyi/product/google-chrome/releases/140 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — CSS typed arithmetic lets you write expressions such as calc(10em / 1px) to convert typed values into untyped ones and reuse them for number accepting properties - **added** — CSS caret-animation property with auto and manual values to control caret blinking behavior - **added** — highlightsFromPoint API to detect which highlights exist at a specific point within a document - **added** — ScrollIntoViewOptions container option to perform scrollIntoView operations that only scroll the nearest ancestor scroll container - **added** — View transitions now inherit additional animation properties: animation-timing-function, animation-iteration-count, animation-direction, and animation-play-state - **added** — View transition pseudos now inherit animation-delay property through the view transition pseudo tree - **added** — Nested view transitions groups to generate a nested pseudo-element tree instead of a flat one - **added** — CSS scroll-target-group property to specify whether an element is a scroll marker group container - **added** — Support for font-variation-settings descriptor in @font-face rule using string-based syntax - **added** — Ability to use counter() and counters() in alt text of content property for improved accessibility - **changed** — overscroll-behavior now propagates from the root element instead of the body element to comply with CSS specification Stable release date: September 2nd, 2025 Unless otherwise noted, the following changes apply to Chrome 140 stable channel release for Android, ChromeOS, Linux, macOS, and Windows. ##### CSS ###### CSS typed arithmetic Typed arithmetic lets you write expressions in CSS such as calc(10em / 1px) or calc(20% / 0.5em * 1px). This is useful in, for example, typography, as it lets you convert a typed value into an untyped one and reuse it for number accepting properties. Another use case is to multiply the unitless value by another type. For example, you can now cast from pixels to degrees. Tracking bug #40768696 | ChromeStatus.com entry | Spec ###### CSS caret-animation property Chromium supports animation of the caret-color property. However, when animated, the caret's default blinking behavior interferes with the animation. The CSS caret-animation property 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. Tracking bug #329301988 | ChromeStatus.com entry | Spec ###### highlightsFromPoint API The highlightsFromPoint API lets developers interact with custom highlights. It detects which highlights exist at a specific point within a document. This interactivity is valuable for complex web features where multiple highlights may overlap or exist within shadow DOM. By providing precise point-based highlight detection, the API empowers developers to manage dynamic interactions with custom highlights more effectively. For example, developers can respond to user clicks or hover events on highlighted regions to trigger custom tooltips, context menus, or other interactive features. Tracking bug #365046212 | ChromeStatus.com entry | Spec ###### ScrollIntoView container option The ScrollIntoViewOptions container option allows developers to perform a scrollIntoView operation that only scrolls the nearest ancestor scroll container. For example, the following snippet only scrolls the scroll container of target to bring target into view, but won't scroll all of the scroll containers to the viewport: target.scrollIntoView({container: 'nearest'}); ChromeStatus.com entry | Spec ###### View transitions: Inherit more animation properties Adds more animation properties to inherit through the view transition pseudo tree: - animation-timing-function - animation-iteration-count - animation-direction - animation-play-state Tracking bug #427741151 | ChromeStatus.com entry | Spec ###### View transition pseudos inherit animation-delay. In addition to the previous update, the animation-delay property is now inherited through the view transition pseudo tree. ChromeStatus.com entry | Spec ###### Nested view transitions groups This feature allows view transitions to generate a nested pseudo-element tree rather than a flat one. This allows the view transition to appear more in line with its original elements and visual intent. It enables clipping, nested 3D transforms, and proper application of effects like opacity, masking, and filters. Tracking bug #399431227 | ChromeStatus.com entry | Spec ###### Propagate viewport overscroll-behavior from root This change propagates overscroll-behavior from the root instead of the body. The CSS working group resolved not to propagate properties from the to the viewport. Instead, properties of the viewport propagate from the root () element. As such, overscroll-behavior should propagate from the root element. However, Chrome has had a longstanding issue: it propagates overscroll-behavior from the rather than the root. This behavior is not interoperable with other browsers. This change makes Chrome comply with the specification and become interoperable with other implementations. Tracking bug #41453796 | ChromeStatus.com entry | Spec ###### CSS counter() and counters() in alt _[Truncated at 4000 characters — full notes: https://developer.chrome.com/release-notes/140]_