 Chrome 80 has a ton of new stuff. There's support from modules and workers, optional chaining in JavaScript, new origin trials, features that have graduated from origin trial, and so much more. I'm Pete LePage. Let's dive in and see what's new for developers in Chrome 80. Module workers, a new mode for web workers with the ergonomics and performance benefits of JavaScript modules is now available. The worker constructor accepts a new type colon module option which changes the way scripts are loaded and executed to match script type equals module. Moving to JavaScript modules also enables the use of dynamic import for lazy loading code without blocking the execution of the worker. Check out Jason's post on web.dev for more details. Trying to read deeply nested properties in an object can be error prone, especially if there's a chance that something might not evaluate. Checking each value before proceeding easily turns into a deeply nested if statement or requires a try catch block. Yuck. Chrome 80 adds support for a new JavaScript feature called optional chaining. With optional chaining, if one of the properties returns a null or undefined, instead of throwing an error, the whole thing simply returns undefined. Now, instead of that deeply nested code, we can do something like this. Check out the post on the V8 blog for all the details. There are three new capabilities that graduated from origin trial to stable, allowing them to be used by any site without a token. First stop is periodic background sync. It periodically synchronizes data in the background so that when a user opens your installed PWA, they always have the freshest data. Next is the contact picker API, an on-demand API that allows users to select entries from their contact list and share limited details of those selected entries with the website. It allows users to share only what they want when they want and makes it easier for users to reach and connect with their friends and family. Finally, the get installed related apps method allows your web app to check if your native app is already installed on a user's device. One of the most common use cases is for deciding whether to promote the installation of your PWA if your native app is already installed, or you might want to disable some functionality of one app if it's already provided by the other app. There's a bunch of new origin trials that start in Chrome 80. First, how do you let users know what content you've cached in your PWA? There's a discovery problem here. Will they know to open your app, or what content is available? The Content Indexing API is a new origin trial that allows you to add URLs and metadata of offline capable content to a local index maintained by the browser and easily visible to the user. To add something to the index, I need to get the service worker registration, then call index.add and provide metadata about the content. Once the index is populated, it's surfaced by the browser and shown in a dedicated area of Chrome for Android's download page. Check out Jeff's post on web.dev for complete details. Notifications are a critical part of many applications. But push notifications are only as reliable as the network that you're connected to. While that works in most cases, it sometimes breaks. For example, if a calendar reminder notifying you of an important event doesn't come through because you're in airplane mode, you might miss that event. Notification triggers let you schedule notifications in advance so that the operating system will deliver the notification at the right time, even if there's no network connectivity or the devices and battery saver mode. To schedule a notification, call show notification on the service worker registration. In the notification options, add a show trigger property with the timestamp trigger. Then, when the time arrives, the browser will show a notification. The origin trial is planned to run through Chrome 83, so check out Tom's post on web.dev for complete details. There are a few other origin trials starting in Chrome 80, web serial, the ability for PWAs to register as file handlers and new properties for the contact picker. To see a complete list of features in origin trial or learn more, check out the updates post linked in the description. Of course, there's plenty more. You can now link directly to text fragments on a page by using hashtag colon till colon text equals something. Chrome will scroll to and highlight the first instance of that text fragment. Setting display minimal UI on a desktop PWA, adds a back and reload button to the title bar of the installed PWA, and Chrome now supports using SVG images as Fave icons. I couldn't fit all of Chrome 80's new stuff in this video, so check out the updates post linked in the description for all the details, including links, docs, specs, and more. Be sure to check out the latest Chrome DevTools video to learn what's new in DevTools. Then, don't forget to subscribe. I'm Pete LaPage and as soon as Chrome 81 is released, I'll be right here to tell you what's new in Chrome. Well, maybe not right here. I'll be over there. See you.