šŸ’”[Idea] Support publishing both MV2 and MV3 version for the same extension at the same time

376 views
Skip to first unread message

Jackie Han

unread,
Feb 24, 2021, 3:56:44 AM2/24/21
to Chromium Extensions
An idea occurred to me just now when I was in the shower.Ā Current, Chrome Web Store allows publishing Manifest V2 OR Manifest V3 for one extension, but not both atĀ the same time.Ā Because migration from MV2 to MV3 is a breaking change in architecture, developers and users are facing the problem of how to smooth the upgrade.Ā Developers need to choose between the latest technology and users, for example, many developers may have to wait until 98% of browser users have upgraded to Chrome 88 before releasing MV3 extensions.Ā Developers definitely want a smooth transition plan, rather than making choices.

On App Store and Play Store, developers can publish different architecture materials, like x86, x64, ARM/M1, for one application at the same time.Ā In this way, within a few years, developers and users can achieve a smooth upgrade. Inspired by this, my idea is let CWSĀ support publishing BOTH MV2 AND MV3 version for the same extension at the same time.Ā For example, if the user use a new version browser and there is a MV3 version extension published by developer, browser installs the MV3 version extension, or installs MV2 version extension.Ā 

What do you think?

--
Jackie Han

wOxxOm

unread,
Feb 24, 2021, 7:01:15 AM2/24/21
to Chromium Extensions, Jackie Han
That's a nice idea but I doubt it'll be implemented, not only because chromium developers struggle with fixing evenĀ the functional bugs in time and the documentation server still serves the same semi-broken content, but also because Chrome's paradigm has always been to support only the most recent stable version. Current stable version of Chrome already implements MV3 so in accordance with the paradigm there is no need to support browsers that don't implement MV3. In a year or so, once the internal MV2 code is removed from Chrome, I wouldn't be surprised if all MV2 extensions are either removed from the web store as well or at least disabled and hidden from users.

Simeon Vincent

unread,
Feb 24, 2021, 1:39:59 PM2/24/21
to Chromium Extensions, wOxxOm, Jackie Han
I like the idea in abstract, but one major drawback to this approach is having to maintain two different extensions at the same time. A major component of our migration strategy has been to enable developers to adopt parts of MV3 in their MV2 extensions. For example, it's possible to use a background service workers in an MV2 extension. If we had more time and resources, I'd personally have been inclined to lean harder into that approach.Ā 

More abstractly, we have some significant technical limitations. In addition to the point wOxxOm raised about Chrome only supporting the most recent stable version, the extension platform and Chrome Web Store are built on the assumption that there's on a single version of an extension. I'd love to see Chrome & Chrome Web Store gain support for features like different release channels for an extension, but something like that would require a major overhaul of both systems. I'm ever optimistic about this kind of thing, though, so I'll keep doing what I canĀ šŸ¤ž

Cheers,

Simeon - @dotproto
Chrome Extensions DevRel

guest271314

unread,
Feb 24, 2021, 10:01:32 PM2/24/21
to Chromium Extensions, Simeon Vincent, wOxxOm, Jackie Han
I am aware of the fact that democracy, particularly direct democracy, is a radical concept contrary to top-down hierarchy corporate structure, still I am curious as to what developers in the field have to say about MV3Ā https://developer.chrome.com/docs/extensions/mv3/intro/mv3-overview/ compared to non-MV3 extension overview?

Is feedback from developers in the field re ServiceWorker, MV3, et al. changes moot, given the top-down decisions have already been made?

Does MV3 structure and implementation meet the requirements of users in the field? Yes or no?

Does MV3 structure and implementation meet the requirements of Chrome Extension source code authors? Yes or no?

Jackie Han

unread,
Feb 24, 2021, 11:56:18 PM2/24/21
to guest271314, Chromium Extensions, Simeon Vincent, wOxxOm
Yes, every decision or approach has its cost. The cost of MV3 design is a lot of incompatible changes and creating a new version of extension. The cost of a smooth upgrade is to maintain two versions(MV2 and MV3) in a period of time, and need the support of Chrome and CWS.Ā If the cost is too high toĀ adopt, it can be solved by time (wait until most users upgrade to Chrome version X).

guest271314 <guest...@gmail.com> äŗŽ2021幓2月25旄周四 äøŠåˆ11:01å†™é“ļ¼š


--
Jackie Han

Jon Howard

unread,
Mar 1, 2021, 5:17:18 AM3/1/21
to Chromium Extensions, Jackie Han, Chromium Extensions, Simeon Vincent, wOxxOm, guest...@gmail.com
This is related to a question I was going to raise publishing an MV3 extension.
We're now getting close to releasing a major update (read rewrite from scratch) to our current MV2 extension which is fully MV3 compliant.

I've put the "minimum_chrome_version": "88" key in my manifest file and I want to check that this is enough to make sure that existing users (and any new users) who are running chrome 87 and below will continue to be served the legacy mv2 version and only be offered an update if and when they update to Chrome 88 or above.

Thanks

Jon...
Reply all
Reply to author
Forward
0 new messages