Chrome 93 rolled out to the Stable channel last month with support for WebOTP on desktop, and deprecation of the 3DES cipher suite in Transport Layer Security (TLS). Today, Chrome 94 will be released to the general public. Since Google is shifting to a four-week release cycle instead of its previous six-week cadence, and the fact that this build comes just three weeks after Chrome 93, the feature-set this time around is relatively smaller. However, it is certainly more controversial due to the introduction of support for an idle detection API.
Chrome 94 will offer more signals to developers to understand when a user is idle. The developer-facing notification will now be triggered for global signals such as interaction with other apps instead of only the current browser window. While the reaction from web developers has obviously been positive, Mozilla has shot down the API as harmful, citing "opportunity for surveillance capitalism" and the fact that a malicious site could utilize the API to maximize the device"s compute resources without the user consenting or knowing about it. In the same vein, the development team behind WebKit - which is the browser engine for Apple"s Safari - has provided a negative stance, stating that:
That doesn"t seem like a strong enough use case for this API. For starters, there is no guarantee that the user won"t immediately come back to the device. Also, who is such a service supposed to know what other device user might be using at any given point? We"re definitely not going to let a website know all the devices a given user might be using at any given point. That"s a very serious breach of the said user"s privacy. It seems to me that such a suppression / distribution mechanism is best left for the underlying operating systems / web browsers to handle.
I"m going to stop responding to this thread at this point because none of the use cases presented either here or elsewhere are compelling, and none of the privacy or security mitigations you"ve presented here and I found elsewhere are adequate. However, not responding to this thread or future thread about this topic does not mean we"d reconsider our position. Unless a significant new development is being made in either one of the issues we"ve raised, our position will remain to object to the addition of this API unless otherwise stated regardless of whether we continue to say so in public or not.
Regardless, this API will be available for developers to utilize in Chrome 94 and will be enabled by default.
Another new developer interface included in Chrome 94 is the VirtualKeyboard API. The motivation is to give more control to web developers in terms of how they want the virtual keyboard to be placed and its shape. Currently, this is handled completely by User Agent behaviors. The feedback about this API from the Microsoft Edge team has been positive, which makes sense given that they participated in its development. However, Mozilla and Apple are yet to provide a stance.
Chrome 94 will also bring in support for a low-level WebCodecs API which will offer access to existing hardware and software media encoders and decoders. This will improve the performance of certain applications such as latency-sensitive game streaming.
AppCache is being removed from Chrome 94 too. Google says that this is a deprecated standard and is a security liability, so developers should use Service Workers instead. The feedback from developers has been mixed so far but Mozilla and Apple are in the process of removing it from their respective browsers too.
In terms of relatively smaller changes, Chrome 94 is getting a new display-capture feature policy, support for more color spaces in 2D canvases, cleanup of an API that was used by Flash, a CSS property to offer more control over how layouts interact with scrollbars, and improvements to an existing property to enhance interoperability of CSS 3D transforms.
Chrome 94 will also include a native scheduling API to allow developers to schedule tasks with three levels of priority: user-blocking, user-visible, and background. It also enables a TaskController which can be used to dynamically change these priorities of a task or cancel it altogether. The browser is also getting a sampling profiler to measure JavaScript execution time and debug performance issues. While the reaction from developers has been "strongly positive", Apple has offered a negative stance due to potential performance and security implications. Finally, Chrome 94 will also offer APIs to manipulate raw media output from camera, microphone, or screen capture. The idea is to facilitate machine learning applications so while developer feedback is positive, Mozilla and Apple have provided a negative stance.
Chrome 94 is expected to roll out later today. If it does not update to version 94 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 95 which is currently in the Beta channel with a Stable release expected on October 19. This is in line with Google"s new release cycle where Stable Chrome updates are released every four weeks.