 There's a new HTTP status code that helps browsers decide what content to preload before the page has even started to arrive. The local font access API gives web applications the ability to enumerate and use fonts installed on the user's computer. There's an easier way to implement timeouts in asynchronous APIs and there's plenty more. I'm Pete LaPage. Let's dive in and see what's new for developers in Chrome 103. One way you can improve page performance is to use resource hints. They give hints to the browser about what stuff it might need later. For example, preloading files or connecting to a different server. But the browser can't act on those hints until the server sends at least part of the page. Imagine the browser requests a page, but the server requires a few hundred milliseconds to generate it. Until the browser starts to receive that page, it just sits there and waits and waits. But if the server knows that the page will need a certain set of sub-resources, for example, a CSS file, maybe some JavaScript or a few images, it can immediately respond with a new HTTP 103 early hints status code and ask the browser to preload those sub-resources. Then once the server has generated the page, it can send it with the normal HTTP 200 response. As the page comes in, the browser has already started loading the required resources. Since this is a new HTTP status code, using it requires updates to your server. Check the updates post for more details, some of the CDNs that are already supporting HTTP 103 and how you can get started. Fonts on the web have always been a challenge, and especially so for apps that let users create their own graphics and designs. Until now, web apps could only really use web fonts. There was no way to get a list of fonts that the user has installed on their computer, and there's no way to access the full Font Table data. Critical if you need to implement your own custom text stack. The new Local Font Access API gives web applications the ability to enumerate the local fonts on the user's device and provide access to the Font Table data. To get a list of fonts installed on the device, you'll need to request permission first. Then call window.query local fonts. It returns an array of all the fonts installed on the user's device. If you're only interested in a subset of fonts, you can filter them by adding a postscript names parameter. Check out Tom's article on web.dev for complete details. In JavaScript, abort controller and abort signal are used to cancel an asynchronous call. For example, when making a fetch request, you can create an abort signal and pass it to the fetch. If you want to cancel the fetch before it returns, call abort on the abort signal. Up until now, if you wanted to abort after a specific amount of time, you'd need to wrap it in a set timeout. Thankfully, that just got easier with a new timeout static method on abort signal. It returns an abort signal object that is automatically aborted after a given number of milliseconds. What used to be a handful of lines of code is now just one. Timeout is supported in Chrome 103 and is already in Firefox and Safari. Of course, there's plenty more. The AVIF image file format is now shareable by web share. Chromium now matches Firefox by firing pop state immediately after URL changes. The order of events is now pop state, then hash change on both platforms. And element.isVisible tells you whether or not an element is visible. All the details, including links, docs and specs, are in the updates post linked in the description. Hit that subscribe button now so that you don't miss any of the latest Chrome DevTools videos, GUI challenges, HTTP 203 and more. I'm Pete LaPage and as soon as Chrome 104 is released, we'll be right here to tell you what's new in Chrome.