 Chrome 73 makes creating portable content easier with signed HTTP exchanges. Dynamically changing styles becomes way easier with constructable style sheets. And my favorite, support for progressive web apps is now available on Mac, bringing support for PWAs to all desktop and mobile platforms, making it easy to create installable apps delivered through the web. I'm Pete LePage. Let's dive in and see what's new for developers in Chrome 73. Progressive web apps provide an installable, app-like experience built and delivered directly via the web. In Chrome 73, we've added support for macOS, bringing support for progressive web apps to all desktop platforms, Mac, Windows, Chrome OS, and Linux, as well as mobile, simplifying the web app development process. A progressive web app is fast and reliably so, always loading and performing at the same speed, regardless of the network connection. They provide rich, engaging experiences via the modern web, and take advantages of the full capabilities of the device. Users can install your PWA from Chrome's context menu, or you can directly promote the installation experience using the before install prompt event. Once installed, a PWA integrates with the OS to behave just like a native application. Users find and launch them from the same place as their other apps. They run in their own window. They appear in the task switcher. Their icons can show notifications and badging, and so on. We want to close the capability gap between web and native to provide a solid foundation for modern applications delivered on the web. We're working to add things like new web platform capabilities that give you access to things like file system, wake lock, and more. Adding an ambient badge to the address bar to let users know that your PWA can be installed, policy installation for enterprises, and plenty more. If you're already building a mobile progressive web app, a desktop PWA is no different. In fact, if you've used responsive design, you're likely good to go already. Your single code base will work across desktop and mobile. If you're just starting out with PWA's, you'll be surprised at how easy it is to create them. Just add a manifest, an icon, a boilerplate service worker, and iterate from there. Check out the post linked below for more details and to see some of my favorite PWA's. Signed HTTP Exchanges, part of a new emerging technology called Web Packages, is now available in Chrome 73. A signed HTTP exchange makes it possible to create portable content that can be delivered by other parties, but, and this is the key aspect, retain the integrity and attribution of the original site. This decouples the origin of the content from the server that delivers it, but because it's signed, it's like it's being delivered from your server. When the browser loads this signed exchange, it can safely show your URL in the address bar because the signature in the exchange indicates the content originally came from your origin. Signed HTTP Exchanges enables faster content delivery for users, making it possible to get the benefits of a CDN without having to seek control of your certificate's private key. The AMP team is planning to use signed HTTP Exchanges on Google search result pages to improve AMP URLs and speed up clicks on search results. Check out Kenyuko's post for more details on how to get started. Constructible stylesheets, new in Chrome 73, give us a new way to create and distribute reusable styles, which is particularly important when using Shadow DOM. It's always been possible to create stylesheets using JavaScript, create a style element using document.createElement, then access its sheet property to obtain a reference to the underlying CSS stylesheet instance, then set the style. Using this method tends to lead to stylesheet bloat. Each time you want to apply a sheet to a DOM tree, it needs to be copied. Even worse, it causes a flash of unstyled content. Constructible stylesheets make it possible to define and prepare shared CSS styles then apply those styles to multiple shadow routes or the DOM easily and without duplication. Updates to a shared CSS stylesheet are applied to all routes where it's been adopted and adopting a stylesheet is fast and synchronous once the sheet's been loaded. Getting started is simple. Create a new instance of the CSS stylesheet, then use either replace or replace sync to update the stylesheet rules. Check out Jason Miller's post for more details and code samples. These are just a few of the changes in Chrome 73 for developers. Of course, there's plenty more. MatchAll is a new regular expression matching method on the string prototype and returns an array containing the complete list of matches. The link element now supports image source set and image sizes properties to correspond to source set and sizes attributes of HTML image elements. Blink's shadow blur radius implementation now matches Firefox and Safari. And Dark Mode is now supported on Mac. And Windows Support is on the way. All the details including docs and specs are in the updates post linked in the description. Be sure to check out the latest Chrome DevTools video to learn what's new in DevTools. Then click the subscribe button and you'll get an email notification whenever we launch a new video. I'm Pete LePage and as soon as Chrome 74 is released I'll be right here to tell you what's new in Chrome.