New in Chrome 98

Here's what you need to know:

  • If you’ve tried the Auto Dark Theme origin trial, there’s a new way to opt out at a per element level.
  • There’s now support for COLRv1, an evolution of the COLRv0 font format.
  • And there's plenty more.

I'm Pete LePage. Let's dive in and see what's new for developers in Chrome 98.

Opting out of auto-dark themes on Android

In Chrome 96, we started an origin trial for Auto Dark Themes on Android.

With this feature, if your site is light themed and the user’s OS is in dark mode, the browser applies an automatically generated dark theme to your site.

If you've signed up for the origin trial, and you want to opt out of the automatically generated dark theme for a specific page, you can use a meta tag.

<meta name="color-scheme" content="only light">

Or you can opt-out by setting color-scheme: only light on the :root element.

:root {
  color-scheme: only light;

But the main advantage of this method, is that you can opt out on a per-element basis by applying a specific style to that element.

#my-element {
  color-scheme: only light;

Check out the How to opt-out of Auto Dark Theme section in Auto Dark Themes on Android for complete details.

COLRv1 font support

In Chrome 98, there’s now support for COLRv1, an evolution of the COLRv0 font format. It adds gradients, compositing and blending, and improved shape reuse for crisp and compact font files that compress well.

A color font makes visual highlights, headlines, and banners really pop out.

Headline using COLRv1 fonts

One of my favorite use cases for COLRv1 means consistent emojis across all platforms. You don't need to replace emojis with image files, because font files become smaller, and easier to include on your page.

Font file using consistent emoji

We’re working on ways to improve feature detection, since it’s not as easy as it should be yet. But this is something to keep an eye on.

Check out COLRv1 Color Gradient Vector Fonts in Chrome 98 for more details and how you can create your own fonts.

Emulate Chrome 100 in the UA string

In just a few months, we'll hit Chrome 100, a three digit version number. Any code that checks version numbers, or parses the UA string, should be checked to make sure it handles three digits.

There's a flag called #force-major-version-to-100 that will change the current version number to 100, so you can make sure everything works as expected.

Chrome flags page highlighting the new #force-major-version-to-100 option

And more!

Of course there's plenty more.

CORS preflight requests are now sent ahead of private network requests for subresources, asking for explicit permission from the target server.

There’s a new origin trial for Region Capture, an API for cropping a self-capture video track. Ideal for screen sharing in video conferencing apps so you don’t create a hall of mirror effect!

Window overlay controls had been planned for Chrome 98, but due to issues found at the last minute, did not make it in. We are still working on it, and expect to see it land in the next few releases.

Further reading

This covers only some of the key highlights. Check the links below for additional changes in Chrome 98.


To stay up to date, subscribe to Chrome Developers YouTube channel, and you'll get an email notification whenever we launch a new video.

I'm Pete LePage, and as soon as Chrome 99 is released, I'll be right here to tell you what's new in Chrome!