 There are two new properties in the web app manifest. ID allows you to specify a unique ID for your PWA. And protocol handlers allows you to register your PWA as a protocol handler. There's a new origin trial that allows you to specify priority hints for downloading resources. And there's plenty more. I'm Peter Page. Let's dive in and see what's new for developers in Chrome 96. When a user installs a PWA, the browser needs a way to uniquely identify it. But until recently, the web app manifest spec didn't specify how to do that, leaving browsers to decide and leading to different implementations. In some browsers, the start URL is used, while in others, the path to the manifest file is used. That makes it impossible to change either of those two fields without breaking the install experience. Now, there's a new optional ID property that allows you to explicitly define the identifier used for your PWA. Adding the ID property to the manifest removes that dependence on the start URL or the location of the manifest and makes it possible for those fields to be updated. Support for the ID property lands in desktop Chromium-based browsers starting in 96. Support for mobile, which currently uses the manifest URL as the unique ID, should land in the first half of 2022. If you already have a PWA in production and you want to add an ID to your manifest, you'll need to use the ID that was assigned by the browser. You can find that ID in the manifest pane of the application panel in DevTools. For a brand new PWA, you can set the ID to any string value you like. But remember, you won't be able to change it in the future. So choose wisely. Check out my article on developer.chrome.com for more info. Web apps can use navigator.registerProtocolHandler to register as a protocol handler. For example, Gmail can register the Mail2 protocol so that if a user clicks on a link with the Mail2 prefix, Gmail will open, making it easy for them to send an email. Starting in Chrome 96, a PWA can register as a protocol handler as part of its installation. To do that for your PWA, add a protocol handler's property to your web app manifest. Specify the protocol that you want to handle and the URL that should be opened when the user clicks on that protocol. There are some restrictions here, and you can't just register any protocol. So check out the article on web.dev for complete details and how you can use the web plus syntax to create your own protocols. When a browser parses a web page and begins to discover and download all the resources such as images, scripts, or CSS, it assigns them a fetched priority to try and optimize the page load. Browsers are pretty good at assigning priorities, but in some cases, it might not be optimal. Priority hints are an experimental feature available as an origin trial starting in Chrome 96. The importance attribute allows you to specify the priority for resource types such as CSS, fonts, scripts, images, and more. For example, here's the Google Flights page. That big background image is the largest contentful paint, LCP. So let's see it loaded with and without priority hints. With the priority set to high on that image, the LCP drops from 2.6 seconds all the way down to 1.9 seconds. Check out optimizing resource loading with priority hints on web.dev for all the details, how to register for the origin trial, and some great examples of how you can use it to improve your rendering performance. Of course, there's plenty more. Early next year, we'll hit Chrome 100, a three-digit version number. Any code that checks the version number or parses the UA string should be checked to make sure that it handles three digits. Starting in Chrome 96, there's a new flag, force major version to 100 that will change the current version number to 100 so that you can make sure everything works as expected. And back, forward cache or BF cache is now available and stable and brings Chrome in line with both Firefox and Safari. All the details, including links, docs, and specs, are in the updates post linked in the description. Hit the Subscribe button now so that you don't miss any of the latest Chrome DevTools videos, HTTP 203, and more. I'm Pete LePage, and as soon as Chrome 97 is released, I'll be right here to tell you what's new in Chrome.