Check out our upcoming advanced course: Chrome Extension Mastery: Build Full-Stack Extensions with React & Node.js Learn More →
January 10, 2021

Chrome Extension Manifest v3

Chrome Extension Manifest v3

Back in November 2020, Manifest V3 was first announced to the public (referred to as MV3). This new manifest will see significant changes compared to the current manifest (MV2) and will likely have an impact on all extension makers. Although it will likely create a minor headache initially for developers, this change is a largely positive one as it aims to increase security, performance, and privacy of the extension ecosystem.

What's changing?

A full overview can be seen here, however the most noteable changes are:

  • Background pages are being removed in favor of service workers
  • Network request modification will now be done solely through the new declaritiveNetRequest API
  • You will no longer be able to use remotely hosted code (i.e. web fonts, CDNs, etc)
  • Promises will be supported more thoroughly through the Chrome APIs (this includes promise chains and async/await)

When is it changing?

The reason I figured it was an appropriate time to start writing about MV3 is that you can now experiment with it on Chrome 88 Beta. In addition to that, starting mid-January, the Chrome Web Store will start to accept MV3-based extensions once Chrome 88 is stable. It's important to note, however, that they currently have not provided an exact date to remove support for Manifest v2 extensions, but have said it will take at least a year from the point Chrome 88 is deemed stable. This means that we're roughly looking at around January 2022 if nothing major changes.

So what does that mean for ChromeExtensionKit? Nothing quite yet. Over the coming weeks and months, I will begin to migrate over to MV3 so by the time MV2 is end-of-life, the kit will have already been migrated over long before. I will also provide tutorials on how to migrate over existing extensions as easily as possible as more becomes clear.

I will continue to write posts about the topic as more is revealed, however if you're intested in reading more, some useful links are:

As always, if you have any questions, feel free to reach out!

Start your next extension project without all the boilerplate