Jayeless.net

Manifest V3

Manifest V3 refers to the upcoming revision of Chromium’s WebExtensions API for browser extensions. The reason this revision is controversial is that as part of the revision, Google plans to deprecate an extremely powerful API used by ad blockers (along with other types of extensions) in order to effectively detect and hide from ad servers. Under Manifest V3, the webRequest API would still exist, but would only be able to observe traffic, not modify or block it. It would be replaced by a new API called declarativeNetRequest, which would be much more limited in scope. It’d mean a limit on the maximum number of content blocking rules you can have in place at once, and it’d also mean a full list of rules must exist within the extension, and can only be updated by updating the whole extension (at least as of the 2019 proposal).

Since version 57, Firefox has aimed for full compatibility with Chromium’s WebExtensions API so that extensions built for one browser should work seamlessly on the other. Mozilla has said that they will adopt most of Manifest v3 for compatibility reasons, but will maintain support for webRequest so content-blocking extensions (and any others that make use of the API) will retain their full effectiveness on Firefox.

When asked by ZDNet, Opera and Brave both said they would maintain support for the old webRequest API as well, despite both being built on top of the Chromium codebase. Vivaldi was a bit more equivocal, saying only that it was possible they would support the old API and set up a “limited” extensions repository of their own for those ones that needed APIs no longer supported by upstream Chromium. They’ve since introduced an ad blocker built into their browser directly, but it’s not as powerful as something like uBlock Origin that uses the webRequest API.

In mid-2019, it was reported that Google had made the concession that blocking with webRequest would remain doable in enterprise editions of Chrome. If the API remains usable there, then it must remain part of the codebase, in which case it is presumably easy for Chromium-based browsers like Vivaldi, Opera or Brave to just switch it back on. I wouldn’t feel confident to just assume that, though. I’d like to see more confirmation.

From January 2022 onwards, extensions must be written in line with Manifest V3 to be accepted into the Chrome Web Store. Google has said there will be a one-year transition period, so it’ll be in January 2023 that Manifest V2 extensions stop working in Chrome.

References / See Also