It's been four weeks since the release of Chrome 99, which means that it is time for Chrome 100 to hit the Stable channel. Apart from being an important milestone in itself, this is also a crucial update because it could potentially break some websites when parsing user-agent strings. Although Google has implemented some safeguards, it will be interesting to see what the impact of a three-digit version number. But apart from this, Chrome 100 packs tons of other changes too, and you can read about them below.
For starters, Chrome 100 is updating the way cookie strings are parsed by allowing the domain attribute to be set to an empty string. This modification will bring Chrome in line with standard specifications and also improve interoperability with Safari and Firefox, which already handle empty strings correctly.
The multi-screen window placement APIs are being enhanced to cater to modern use-cases by providing more information about secondary screens instead of being tied just to the primary display. Google says that this will unlock the following scenarios in terms of accurate window placement:
- A slideshow app presenting on a projector, while showing speaker notes on a laptop screen.
- A financial app opening a dashboard of windows across multiple monitors.
- A medical app opening images (for example, x-rays) on a high-resolution grayscale display.
- A creativity app showing secondary windows (for example, a palette) on a separate screen.
- Multi-screen layouts in gaming, signage, artistic, and other types of apps.
Another interesting feature in Chrome 100 is that sites can now use a new method to voluntarily forget a linked human interface device (HID). This means that websites using Web Bluetooth and WebUSB standards to connect to peripherals can revoke this permission if they don't need it anymore.
Chrome 100 is also introducing a Digital Goods API. This will enable web apps in the Play Store to accept digital purchases. This essentially serves as a wrapper for the Android Play Billing API and enable web apps offering digital purchases to be installable from the Play Store.
Other relatively smaller features include capability delegation so that a frame can transfer the ability to call a restricted API to a trusted subframe, enhancements to the mix-blend-mode property, better error handling for the AbortSignal object, authentication of WebTransport servers through hashes rather than relying on the Public Key Infrastructure (PKI), and a Web NFC method that enables developers to permanently make NFC tags read-only.
Finally, we also have an integration between AbortSignal and SerialPort objects, minor tweaks to WebSockets, and some compatibility changes for reduced user-agent strings.
While we are on this topic, it is important to know that Chrome 100 is the last version of the browser to support unreduced user-agent strings. Developers have until April 19, 2022 to trial this via Origin. Web developers who need more time can enroll their sites for deprecation trials available from Chrome 100 to Chrome 113 inclusive. This means that they will have until May 2023 to continue using legacy user-agent strings before having to migrate to the User-Agent Client Hints API. You can find out more details here. You can also read more about everything new in Chrome 100 DevTools here.
Chrome 100 will start rolling out in the later hours of today. If it does not update to version 100 automatically for you throughout the course of the day, head over to Help > About Google Chrome to trigger the update once it becomes available. Next up is Chrome 101 which will hit the Beta channel on March 31, and will land on Stable on April 26.