One of the bigger changes to internet browsing this year is coming in the form of the much-discussed Manifest V3. A new manifest version allows the browser, Chrome, to restrict certain older APIs from working, changing the way the web and accompanying extensions work, and eventually changing the way the internet is experienced by users at large. After months of active discussion and feedback, Manifest V3 for Chrome extensions is now rolling out on Chrome 88 Beta, with more changes coming in the following months.

Changes in Manifest V3

Security

With Manifest V3, Google is disallowing remotely hosted code. The company claims that this mechanism gets used as an attack vector to circumvent Google's malware detection tools. In the interest of user privacy and security, this is being removed. The removal of remotely hosted code will also allow Google to review submissions to the Chrome Web Store more thoroughly and quickly.

Performance

With this new version, Google is introducing service workers as a replacement for background pages. Background pages remain active in the background and consume system resources irrespective of whether an extension is making use of it. Service workers are "ephemeral", in the sense that they are run separate from a web page, opening the door to features that don't need a web page or user interaction (like push notifications and background sync). The browser will be able to start up and close service workers as needed, allowing it to lower overall system resource utilization.

Extension APIs are also moving towards a more declarative model. Google says that the end result is better overall performance and improved privacy guarantees for a majority of extension users.

Privacy

Another big change comes in the new extensions model that makes many more permissions optional. Users will now be able to withhold sensitive permissions at install time, giving them greater visibility and control over how extensions use and share their data. Extension developers should consequently expect users to opt-in and out of permissions at any time.

Then there are changes to extensions that require passive access to web activity, like the Web Request API and the newer Declarative Net Request API. The Declarative Net Request API, in particular, has seen changes since its first announcement, and the current rollout takes into account extensive feedback from the developer community, such as support for multiple static rulesets, regular expressions within rules, declarative header modification, and more.

We’ve been very pleased with the close collaboration established between Google’s Chrome Extensions Team and our own engineering team to ensure that ad-blocking extensions will still be available after Manifest V3 takes effect.

Availability and Rollout for Manifest V3

As stated, Manifest V3 is now available to experiment with on Chrome 88 Beta, with additional features expected to follow in upcoming releases. The Chrome Web Store will start accepting Manifest V3 extensions from mid-January when Chrome 88 reaches the stable branch.

Google is not committing to an exact date for removing support for Manifest V2 extensions, a rough timeline for the migration period can be estimated to be a year from when Manifest V3 lands in the stable branch. Google will provide more details on the timeline in the coming months.