 There's a new option for sending real-time bi-directional messages between your page and the server. You can use feature detection to see what types of scripts a browser supports. JavaScript gets a little bit better. And there's plenty more. Happy New Year! I'm Pete LaPage. Let's dive in and see what's new for developers in Chrome 97. If you're using WebSockets or the WebRTC data channel API to send messages between your server and the page, there's a new option for you. WebTransports provides low-latency bi-directional client server messaging. It has lower latency than WebSockets. And unlike the RTC data channel API, which is designed for peer-to-peer messaging, the WebTransport API is specifically designed for client server messaging. It supports sending data reliably with its Streams API and unreliably with the Datagrams APIs. It supports it in WebWorkers. And because it exposes a Streams-compliant interface, it supports optimizations around back pressure. To use it, you'll need a server that supports HTTP3, which is generally easier than setting up and maintaining a WebRTC server. Open a new WebTransport instance. Wait for it to connect, and you can start sending data. Check out the article on web.dev for complete details. Today, we can use the no-module attribute to detect support for JavaScript modules in the browser. But there are several new feature proposals in the pipeline, like import maps, speculation rules, and bundle preloading. We need a way to know what a browser supports. Enter HTML script element dot supports. You can use it to determine the best script type to send to the browser. I love it when JavaScript gets easier. Array and typed array now support find last and find last index static methods. These functions are effectively the same as find and find index, but search from the end of the array instead of the beginning. For example, to find the last number larger than 10 in an array, call find last with the test function that checks if the value is greater than 10, and you're good to go. Of course, there's plenty more. New lines in form entries are now normalized in the same way as Gekko and WebKit, improving interoperability between browsers. We're standardizing client hint names by prefixing them with sec dash ch. We'll continue to support the existing versions of these hints, but you should plan for their eventual deprecation and removal. Closed detail elements are now searchable and can be linked to. These hidden elements will automatically expand when find in page, scroll to text fragment, and element fragment navigation are used. And finally, don't forget, in just a few months, we'll hit Chrome 100, a three-digit version number. Any code that checks the version number or parses the away string should be checked to make sure that it handles three digits. The fourth major version to 100 flag will change the current version number to 100 so that you can make sure everything works as expected. All the details, including links, docs, and specs are in the updates post linked in the description. Hit that subscribe button so that you don't miss any of the latest Chrome DevTools videos designing in the browser, HTTP 203, and more. I'm Pete LePage, and as soon as Chrome 98 is released, be right here to tell you what's new in Chrome.