 Improve storage management with the Storage Buckets API. There are DevTools improvements in the performance panel. Choose to preserve accuracy when copy-pacing HTML using the new Async Keyboard API on sanitize option. And there's plenty more. I'm Adriana Jara. Let's dive in and see what's known for developers in Chrome 122. The Storage Buckets API provides more granularity to better manage persistent storage. Traditionally, as the user runs out of space on their device, the data stored with APIs like IndexedDB or local storage gets lost without the user being able to intervene. A way to make a storage persistent is using the persist method of the Storage Manager interface. However, this method of requesting for a storage to be persistent is all or nothing. The core idea of the Storage Buckets API is granting sites the ability to create multiple storage buckets, where the browser may choose to delete each bucket independently of other buckets. So you can specify a vision prioritization to make sure the most valuable data isn't deleted. Each Storage Bucket can contain data associated with established storage APIs, such as IndexedDB and Cache Storage. Visit the article in the description for code samples to start using the Storage Buckets API. This version includes DevTools improvements in the performance panel. First, the timeline at the top of the performance panel. Now let's use it breadcrumbs and jump between them. To set up breadcrumbs, select a range on the timeline, hover over it, and click the corresponding milliseconds button. You can create several nested breadcrumbs in succession. To jump between some levels, click the corresponding breadcrum in the chain on top of the timeline. Also, now there are event initiators in the main track. The performance main track, by default, now shows arrows connecting initiators and the following events they cost. You can see the list of initiator event pairs included on the screen. To see the arrows, find such an event in the trace and click it. Find more DevTools updates in the article in the description. When copy pasting using the Async Libre API, the unsanitized option for the read method allows apps and websites to get unsanitized HTML. Unless sites include this property, reading HTML from the clipboard will be sanitized. By default, when reading text HTML mind types using the Async API, the sanitizer is invoked to strip out contents from the HTML markup due to security concerns and styles are in line in the resulting HTML. This leads to a large HTML payload and loss of fidelity of HTML content when read by web developers or mobile apps. You can see the difference in the output with the code on the screen. To learn more about the unsanitized option and the Async Libre API, visit the article linked in the description. And of course, there's plenty more. In CSS, container queries with unsupported features never match. Datatransfer.clearData does not affect file objects. It only deletes text type objects. With WebGL's drawing buffer storage, you can avoid an extra copy when converting rendering to the default drawing buffer pixel format and draw content that has more than 8 bits of precision. All the details, including links, docs, and specs are in the post linked in the description. Hit the subscribe button now so that you don't miss the latest Chrome DevTools video, the CSS podcast, and more. I'm Adriana Jara, and as soon as Chrome 123 is released, I'll be right here to tell you what's new in Chrome.