Manifest V2 Discontinued

by allsparkinfinite on 2024-11-16

Browser Extensions

Extensions are tools for web browsers (and other kinds of software as well, but we're discussing browsers today) that use the API published by the developers.

Every browser engine has its own set of exposed APIs. Extensions hosted on the Chrome Web Store can be used on any Chromium-based browser, because they all use the Blink browser engine. Similarly, all Firefox-based browsers can use extensions from the Mozilla Add-Ons site.

There are three kinds of functionality offered by extensions:

Chrome's Extension Format

Chrome's calls its extension format "Manifest", named for the manifest file that many plug-ins and libraries use to declare metadata. In this case, the manifest file would likely contain (caution: this is probably easy to verify but I am lazy and confident enough to go on speculation alone) most of the info you see on the extension page, a list of the files the extension contains, and a list of the APIs the extension wants to access. This list of APIs is used, among other things, to show a permissions dialogue box when installing the extension.

Manifest V2 was the API version used for a long time until very recently, while Manifest V3 was announced in 2018. Google announced a transition period where Manifest V2 and Manifest V3 APIs were simultaneously available, and extensions following both formats were supported, with a deadline on Manifest V2 extensions.

Why End Manifest V2

Manifest V3 brought with it a lot of changes. It overhauled and modernised the extension architecture, implemented finer API permissions for finer control, and updated some background tasks to be more performant.
In addition, it blocked the usage of remotely hosted code, and restricted the webrequest API to send only select connections through extensions. This effectively killed ad-blockers.

Most ads on webpages do not come from the same website, but from a different, advertising-specific, website. This is one of the ways ad-blockers block ads - by blocking all requests to advertiser domains. If there is no way for the user to choose to route all web requests through an extension, the user loses one weapon in their quest to avoid ads.
Another way of blocking ads is using rules to identify the elements on a page that are ads. This turns into a cat-and-mouse game between advertisers and ad-blockers. The way ad-blockers stay on top of this is by having lists published separately, that an installed extension can check regularly. With this being banned, ad-blockers will no doubt lag behind in the evolutionary race, as having an extension update approved by the Chrome Web Store is a whole process.

How To Retain Ad-Blockers

Stay on an old version of the Blink engine, which isn't practical for users or alternate browser developers.
Brave and Vivaldi have their own inbuilt ad-blocking, and Brave promised to support some popular Manifest V2 extensions.
Firefox develops its own implementation of Manifest so that Chrome extensions can be used on Firefox as well, and they will retain all Manifest V2 APIs. They have also promised not to support privacy-affecting restrictions in Manifest V3.