![Rachel Andrew](https://web.dev/images/authors/rachelandrew.jpg) Rachel Andrew Technical Writer [GitHub](https://github.com/rachelandrew) [LinkedIn](https://www.linkedin.com/in/rachelandrew) [Mastodon](https://front-end.social/@rachelandrew) [Bluesky](https://bsky.app/profile/rachelandrew.bsky.social) [Homepage](https://rachelandrew.co.uk)

<br />


Published: August 5, 2025

<br />

Chrome 139 is rolling out now, and this post shares some of the key features
from the release. Read the full [Chrome 139 release notes](https://developer.chrome.com/release-notes/139.md.txt).

Highlights from this release:

- On-device speech recognition comes to the [Web Speech API](https://developer.chrome.com/blog/new-in-chrome-139.md.txt#on-device-web-speech-api).
- Create squircles with [corner shaping](https://developer.chrome.com/blog/new-in-chrome-139.md.txt#corner-shaping).
- Try out [custom functions](https://developer.chrome.com/blog/new-in-chrome-139.md.txt#custom-functions) in CSS.

## On-device Web Speech API

Adds on-device speech recognition support to the
[Web Speech API](https://developer.mozilla.org/docs/Web/API/Web_Speech_API).

Websites can query the availability of on-device speech recognition for specific languages, prompt users to install the necessary resources for on-device speech recognition, and choose between on-device or cloud-based speech recognition as needed. This addition means that websites can ensure
that audio and transcribed speech are not sent to a third-party service for
processing.

## CSS corner shaping

You can now style corners in CSS, on top of the existing `border-radius` by specifying the shape or curvature of the corner. This lets you create shapes like squircles, notches, and scoops, and animate between them. Learn more in
[this post from Amit Sheen](https://frontendmasters.com/blog/understanding-css-corner-shape-and-the-power-of-the-superellipse/).

## CSS custom functions

Custom functions are similar to custom properties, but instead of returning a single, fixed value, they return values based on other custom properties, parameters, and conditionals.

CSS functions are defined using the `@function` rule,
and are part of the [CSS Custom Functions and Mixins](https://drafts.csswg.org/css-mixins-1/) specification.

```css
@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}
```

## And more

Of course there's plenty more:

- You can now let sites that control multiple subdomains and top level domains be presented as a single web app with the `"scope_extensions"` web app manifest field.
- Chrome now recognizes all valid JSON MIME types as defined by the WHATWG mimesniff specification.
- The `request-close` invoker command brings the functionality of the `requestClose()` JavaScript event to the declarative invoker commands API.

## Further reading

This covers only some key highlights. Check the following links for additional
changes in Chrome 139.

- [Release notes for Chrome 139](https://developer.chrome.com/release-notes/139.md.txt).
- [What's new in Chrome DevTools (139)](https://developer.chrome.com/blog/new-in-devtools-139.md.txt).
- [ChromeStatus.com updates for Chrome
  139](https://chromestatus.com/features#milestone%3D139).
- [Chrome release calendar](https://chromiumdash.appspot.com/schedule).

## Subscribe

To stay up to date, [subscribe](https://goo.gl/6FP1a5) to the [Chrome Developers
YouTube channel](https://www.youtube.com/user/ChromeDevelopers/), and you'll get
an email notification whenever we launch a new video. Or follow us on X or
LinkedIn for new articles and blog posts.

As soon as Chrome 140 is released, we'll be right here to tell you what's new in
Chrome!