Blog: The transition of Chrome extensions to Manifest V3

1,670 views
Skip to first unread message

Simeon Vincent

unread,
Sep 23, 2021, 1:34:43 PM9/23/21
to Chromium Extensions
Greetings extension devs,

Today the Chrome extensions team just published a blog post announcing the Manifest V2 deprecation timeline. From the blog post:

There are two key dates for the phase-out:
    • January 17, 2022: New Manifest V2 extensions will no longer be accepted by the Chrome Web Store. Developers may still push updates to existing Manifest V2 extensions, but no new Manifest V2 items may be submitted.
    • January 2023: The Chrome browser will no longer run Manifest V2 extensions. Developers may no longer push updates to existing Manifest V2 extensions.
The full timeline, including enterprise-related information, is available on the Manifest V2 support timeline page. That  page will be kept up to date with relevant changes or modifications to the sunset process.

I'm looking forward to continuing further improving our migration resources and extension developer guidance. If you have any suggestions on how we can help you and other developers navigate this transition, please let us know!

Simeon - @dotproto
Chrome Extensions DevRel

Cuyler Stuwe

unread,
Sep 23, 2021, 1:37:09 PM9/23/21
to Simeon Vincent, Chromium Extensions
Now I feel like an idiot for insisting on starting MV3 dev in earnest at our company (given that the last timeline guidance suggested MV2 would be totally dead in Jan 2022).

But this is a good outcome altogether, because MV3 definitely needs a lot of work in order to be feasible without a lot of hacky workarounds that upset users.

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/CAFY0HLPUwDSK6Ef_uS%3DhaF73_dKOLd5g0anPUPOE-LTcBZia%3Dw%40mail.gmail.com.

Simeon Vincent

unread,
Sep 23, 2021, 1:44:48 PM9/23/21
to Chromium Extensions, salem...@gmail.com, Chromium Extensions, Simeon Vincent
I'm sorry our earlier guidance wasn't more clear. I tried to emphasize that developers would have at least a year to transition and that Manifest V2 would stop working at the earliest in January 2022. Unfortunately, I didn't bold and italics those caveats as I did here, so I think a lot of folks ended up getting the wrong message.

Simeon - @dotproto
Chrome Extensions DevRel

On Thursday, September 23, 2021 at 10:37:09 AM UTC-7 salem...@gmail.com wrote:
Now I feel like an idiot for insisting on starting MV3 dev in earnest at our company (given that the last timeline guidance suggested MV2 would be totally dead in Jan 2022).

But this is a good outcome altogether, because MV3 definitely needs a lot of work in order to be feasible without a lot of hacky workarounds that upset users.

On Thu, Sep 23, 2021 at 10:34 AM Simeon Vincent <sim...@chromium.org> wrote:
Greetings extension devs,

Today the Chrome extensions team just published a blog post announcing the Manifest V2 deprecation timeline. From the blog post:

There are two key dates for the phase-out:
    • January 17, 2022: New Manifest V2 extensions will no longer be accepted by the Chrome Web Store. Developers may still push updates to existing Manifest V2 extensions, but no new Manifest V2 items may be submitted.
    • January 2023: The Chrome browser will no longer run Manifest V2 extensions. Developers may no longer push updates to existing Manifest V2 extensions.
The full timeline, including enterprise-related information, is available on the Manifest V2 support timeline page. That  page will be kept up to date with relevant changes or modifications to the sunset process.

I'm looking forward to continuing further improving our migration resources and extension developer guidance. If you have any suggestions on how we can help you and other developers navigate this transition, please let us know!

Simeon - @dotproto
Chrome Extensions DevRel

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extensions+unsub...@chromium.org.

Cuyler Stuwe

unread,
Sep 23, 2021, 1:49:05 PM9/23/21
to Simeon Vincent, Chromium Extensions
Well, right.

For those of us who work in companies where a browser extension is an important part of a product portfolio, our only option is to target the “earliest possible deprecation” for a stable release.

We can’t risk being caught on our heels if the rug is suddenly pulled out from under us, and so our only option really was to start development against a platform that isn’t really ready yet. 🤷‍♂️

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.

Gildas

unread,
Sep 23, 2021, 2:02:06 PM9/23/21
to Chromium Extensions, salem...@gmail.com, Chromium Extensions, Simeon Vincent
When will it no longer be possible to manually load MV2 extensions in developer mode? Also in January 2023?

Deco

unread,
Sep 23, 2021, 2:10:59 PM9/23/21
to Gildas, Chromium Extensions, salem...@gmail.com, Simeon Vincent
Yes, locally running manifest versions is dependent on the Chrome browser being able to run it - when this ceases in January 2023 this will also end.

Thanks,
Deco

Simeon Vincent

unread,
Sep 23, 2021, 2:21:30 PM9/23/21
to Chromium Extensions, decklin...@gmail.com, Chromium Extensions, salem...@gmail.com, Simeon Vincent, Gildas
Ugh, I just realized that both the published a blog post and Manifest V2 support timeline links in my first post contain typos in the link URLs. Sorry about that, everyone. You think I'd know how to spell "developer" by now…

Simeon - @dotproto
Chrome Extensions DevRel

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extensions+unsub...@chromium.org.

Gildas

unread,
Sep 23, 2021, 2:35:32 PM9/23/21
to Chromium Extensions, Simeon Vincent, decklin...@gmail.com, Chromium Extensions, salem...@gmail.com, Gildas
Manifest V3 implementation still seems quite buggy, cf. https://bugs.chromium.org/p/chromium/issues/list?q=manifest%20v3&can=2. When can we hope these bugs will be fixed, especially the regressions? For example, I don't see how I can re-implement features depending on the DOM API in the background script with MV3. As it is, I'm going to announce the death of my extensions to my users in January 2023 because of Manifest V3 on Chrome. Can you confirm that the probability of seeing these regressions fixed is pretty close to zero?

Adi Bhaskar

unread,
Sep 24, 2021, 5:03:12 AM9/24/21
to Chromium Extensions, Simeon Vincent
Thanks for the update, Simeon & team. 

I'm fairly certain that MV3 is not yet ready for use in my extensions, but having a clear public timeline is a massive help for planning work.

Jackie Han

unread,
Sep 24, 2021, 8:46:11 AM9/24/21
to Simeon Vincent, Chromium Extensions, salem...@gmail.com
and that Manifest V2 would stop working at the earliest in January 2022.  - Simeon

Another typo, I think, it should be January 2023.

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/ad9f7253-c1b6-41af-b5b1-aa34c241b89bn%40chromium.org.

hrg...@gmail.com

unread,
Sep 24, 2021, 9:22:15 AM9/24/21
to Chromium Extensions, Adi Bhaskar, Simeon Vincent
Quick reminder of missing features in MV3:
  1. User scripts as content scripts (to be run in the context of a web page)
  2. User scripts as extension scripts (to be run in the context of an extension's sandboxed page)
  3. Speech to text (voice-commands extensions)
  4. Play audio in the background (Extensions that produce audible cues in response to events and stuff)
  5. Ability to set HTTP headers when using fetch() from an extension page
  6. Native messaging is buggy or broken altogether.
  7. Converting text of a given font into an image (i.e. load a font and draw the text into a canvas)
  8. HTML parsing and manipulation, CSS parsing and manipulation, XML parsing and manipulation

Those are the ones I can remember from the top of my head right now. The list is much longer of course.
I welcome everybody to add to the list any functionality that exists in MV2 that's still not present or broken in MV3.
MV2 will be dead in 15 months and it's unlikely that MV3 will support this whole list in that period or even a significant part of the list, but at least we'll be aware of what's missing by keeping the list complete and updated.


Alexei Miagkov

unread,
Sep 24, 2021, 9:55:25 AM9/24/21
to hrg...@gmail.com, Chromium Extensions, Adi Bhaskar, Simeon Vincent
The W3C WebExtensions Community Group issue tracker is also a good place for raising these issues.

For example, here is a list of problems with Service Worker-based extensions: https://github.com/w3c/webextensions/issues/72

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.

PhistucK

unread,
Sep 24, 2021, 1:07:57 PM9/24/21
to Jackie Han, Simeon Vincent, Chromium Extensions, salem...@gmail.com
That was not a typo because he was referring to an earlier confusing communication about the topic, but "at the earliest" might have been better written as "not before" (less confusing for me, anyway).

PhistucK


Jackie Han

unread,
Sep 24, 2021, 2:30:00 PM9/24/21
to PhistucK, Simeon Vincent, Chromium Extensions, salem...@gmail.com
Thanks PhistucK. Now I understand what Simeon was talking about:

While there is not an exact date for removing support for Manifest V2 extensions, developers can expect the migration period to last at least a year from when Manifest V3 lands in the stable channel.

Some people inferred from the above statement that V2 would no longer be supported in January 2022. So Simeon clarified that this was misunderstood today. And he announced that it will happen in January 2023.

Cuyler Stuwe

unread,
Sep 24, 2021, 2:39:05 PM9/24/21
to Jackie Han, Chromium Extensions, PhistucK, Simeon Vincent
Yeah. My point is that if a business expected that development of a new extension would take 6 months, then they would have needed to start development back around June. They would not have had the foresight to predict a clearer updated future timeline, and would need to guarantee that their paying customers would continue to have a product available.

PhistucK

unread,
Sep 24, 2021, 2:56:03 PM9/24/21
to Cuyler Stuwe, Jackie Han, Chromium Extensions, Simeon Vincent
If you decided to create a new extension that provides critical revenue/part of the customer journey since manifest version 3 went stable, I think either a clear migration path to 3 (maybe even writing both of the versions in parallel) or simply starting from scratch with 3 should have been done.

PhistucK

hrg...@gmail.com

unread,
Sep 24, 2021, 6:50:15 PM9/24/21
to Chromium Extensions, Alex, Chromium Extensions, Adi Bhaskar, Simeon Vincent, hrg...@gmail.com
On Friday, September 24, 2021 at 10:55:25 AM UTC-3 Alex wrote:
The W3C WebExtensions Community Group issue tracker is also a good place for raising these issues.

For example, here is a list of problems with Service Worker-based extensions: https://github.com/w3c/webextensions/issues/72

The countless issues of replacing the background page with a service worker have been raised for almost 3 years. There's no point in keep raising them; the Extensions team is well aware of them.
The solution to all those problems is simple: don't remove the background page. It's a terrible design decision.
This has been said in all manner of ways, but Google's priorities are completely misaligned with those of the developers. And they have never revealed their priorities to begin with so that at least we could understand the nonsense behind that decision.

Some of us suspect the obvious. i.e. an order came from management that said something like "Find a way to reduce the amount human resources allocated to the extensions platform". And they came up with MV3 in response.

Some of the changes in MV3 make sense at least in principle, such as declarativeNetRequest or disallowing remote code execution. But removing the background page doesn't make sense at all, not even in principle. Their best justification is that they will save some RAM, but they have never acknowledged at what cost (reloading the SW again and again for every event the extension is listening as well as a massive reduction in functionality).
They have wasted so much time in trying to compensate the lack of functionality of a SW by adding patches here and there and they keep running into more and more problems. At some point a member of their team even questions this never-ending need to keep fixing a SW's lack of access to Web APIs (common sense?).

All we can do now is to "brace for impact" by having a list of functionality that doesn't exist in MV3 so we can cope with it somehow.

SoerenM

unread,
Sep 28, 2021, 7:39:31 AM9/28/21
to Chromium Extensions, hrg...@gmail.com, Alex, Chromium Extensions, Adi Bhaskar, Simeon Vincent
Couldn't have said it any better - spot on summary!
For the extension i'm maintaining this currently means that MV3 is probably EOL - at least in the Google/Chrome world...
It has quite a big startup foodprint and a bunch of config/stat data to maintain and on top of it the events it listens for and then executes REST API calls for are time critical. So having to basically "boot up" from scratch for every event/request is complete and utter nonsense!
(as an "old timer" this reminds me again why a lot of web based tech/UI feels as sluggish as sitting again in front of an 80386 - lol/sigh)

I hope alternative browsers will still support MV2 but this has forced me trying to move the extension into a standalone app.
As a one man team this whole process (plus dealing with spontaneous take downs and reinstantiations etc and all the other usual Chrome Extension/Store shenannigans) has been quite the ordeal.
I don't have millions of users but a happy and loyal core user base.. I was hopeful for quite a while to make it work (on this platform) but honestly... I'm now looking forward to closing the Chrome extension chapter!

Maybe for a transition period it's feasable to point users to the then-latest MV2 compatible Chrome/Chromium and they disable auto-update?
Of course then probably have to load the extension unpacked... maybe possible to provide a Chromium-with-unpacked-extension bundle in that case?
Reply all
Reply to author
Forward
0 new messages