Source: news.google.com
It’s been four weeks since the release of Google Chrome 105, which means it’s time for the next major version of the browser to be available. Chrome 106 isn’t as significant an update as its predecessor in terms of new APIs and functionality, but it still packs some cool capabilities and will land later today.
We’ll start with depreciations this time, of which there are three. The persistent quota type is deprecated in the requestFileSystem() method because it adds unnecessary complexity to the code, which is especially undesirable due to its low usage. HTTP/2 push streams will suffer the same fate, as Chrome will no longer receive, store in memory, or use streams sent by this setting. Similarly, Chrome 106 will also stop supporting non-ASCII characters in cookie domain name attributes, according to the latest standardization in the RFC 6265bis specification.
In terms of new features, one major enhancement is Bring Your Own Buffer (BYOB) support on SerialPort. This is how Google describes it:
Developers can detect support for BYOB readers by calling getReader({ mode: ‘byob’ }) since older implementations will raise a TypeError when the new parameter is passed. BYOB (or “bring your own buffer”) readers allow the developer to specify the buffer from which data is read instead of having the stream allocate a new buffer for each chunk. In addition to potentially reducing memory pressure, this allows the developer to control the amount of data that is received, since the stream cannot return more than there is space in the provided buffer. The ability to read a particular amount of data from a port makes this API more familiar to developers used to programming against the Windows and POSIX APIs for serial devices, which operate on the same “bring your own buffer” principle.
BYOB readers allow developers to specify the buffer from which data is read instead of having the stream allocate a buffer for each shard. In addition to possibly reducing memory pressure, this allows the script to control the amount of data that is received in a chunk, since the stream cannot return more than there is space in the provided buffer. The ability to read a particular amount of data from a port has been a frequently requested feature by developers accustomed to programming against the Windows and POSIX APIs for serial devices, which operate on the same “bring your own buffer” principle. The current API, by contrast, requires developers to code defensively against additional unwanted data instead of only reading what they are ready to process.
Apart from this, the CSS property of the unprefixed hyphen character property is now stable and will ship with Chrome 106. The “-webkit-hyphenate-character” property will be deprecated at an unspecified later date.
Another key improvement in Chrome 106 is support for v3 of the Intl.NumberFormat API. This version has the following new features:
- Add 3 new functions to format the number range: formatRange / formatRangeToParts / selectRange
- Pool enumeration
- New rounding/precision options
- rounding priority
- Interpret strings as decimals
- rounding modes
- sign screen negative
Also, a tail callback was introduced for audio and video interfaces in WebCodecs. It allows developers to find out if the queue size has decreased on the encode and decode interfaces instead of setting up a timing function to randomly check for the same.
Also, the CSS unit of length “ic” is now supported. This is used to express length “relative to the advanced measure of the water ideogram” for Japanese and Chinese fonts and is already present in Safari and Firefox. In the future, CORS will be applied in the prefetching and loading of subresources through the Signed HTTP Exchange.
There are also some experimental features in this version of Chrome. There are two developer tests stuck behind flags. The first is to upgrade asynchronous methods in the File System Access API to synchronous methods. This will improve performance and add consistency to the API. Second, Google will proceed with Phase 5 of its user agent reduction plan. The idea is to improve privacy while reducing the chances of errors when parsing a complex User-Agent string.
Similarly, two capabilities have also entered Origin testing. Anonymous iframes offer a way to load documents into external iframes via ephemeral contexts. Since it is a generalization of Cross-Origin-Embedder-Policy (COEP), it removes the requirement for third-party COEP-compliant iframes as a prerequisite for embedding into a COEP page. This test will continue until Chrome 108.
A popup API is now also offered through Origin testing, which allows developers to display interactive transient UI elements on top of web apps. It is similar to the “dialog” element, but has new features such as light dismiss behavior, popup interaction handling, animation, event support, and modeless mode.
Chrome 106 will begin rolling out later today. If Chrome doesn’t automatically update to version 106 throughout the day, go to Help > About Google Chrome to activate the update once it is available. Next up is Chrome 107, which is coming to the Beta channel on September 29 and coming to Stable on October 25.
Read More at news.google.com