Abhinav's Blog

Manifest V2 and its implications for you

Manifest V2 is a specification that defines the structure and content of a Chrome extension's manifest file. This file, typically named manifest.json, provides essential information about the extension, including its name, version, permissions, and content scripts.

After Google announced the depreciation of Manifest V2 for Chrome extensions, the extension market was in chaos. After January 2022 Chrome web store stopped accepting any new public extensions. This is a clear warning that new extensions must be developed using Manifest V3, and existing Manifest V2 extensions will eventually be phased out. While Google has set a due date of June 2025 to totally depreciate the extensions using MV2.

Google's reasoning is that manifest v2 was not good for

  1. Security: Manifest V2's security limitations stem from its reliance on background scripts, persistent permissions, and limited control over content scripts. This made it vulnerable to malicious activity, privacy breaches, and interference with other extensions. V3 on the other hand offers improved security features such as service workers, declarative net requests, and more granular permission control. These changes help to protect user privacy and prevent malicious extensions from exploiting vulnerabilities.
  2. Performance: Background scripts, while essential for certain extension features, could sometimes impact browser performance, especially on older or resource-constrained devices. This could lead to slower page loading times and overall degradation of the user experience.While these reasoning is valid, it doesn't change the fact that it would suck for developers like us since manifest v3 does make it hard for developers to make new extensions.It would especially be a bummer if your extension is one that works with blocking network requests through scrips as some of the popular extensions that would stop working are:

Ublock Origin: Relies on non-declarative network requests. 3. Ghostery: Utilizes webRequest API for real-time request handling and filtering.

Though not all browsers would suffer from this announcement, at least not initially. These are the major browsers that are still supporting Manifest V2:

  1. Firefox: https://blog.mozilla.org/addons/2024/03/13/manifest-v3-manifest-v2-march-2024-update/
  2. brave: https://brave.com/blog/brave-shields-manifest-v3/
  3. Safari: https://www.apple.com/safari/

It is important for chrome developers to start migrating their extensions to Manifest V3 as soon as possible to avoid the disruption. Though, I am happy to say that Mozilla Firefox has committed itself to support the manifest v2 for the foreseeable future. So, it is high time to use the declarative networking API and other features of manifest v2 if your extension is stuck on chrome, but if your extension is a firefox extension, no worries, the Mozilla browser got you covered!