MV2 to MV3 migration testing on chrome store with data migration

319 views
Skip to first unread message

Ahmed Rafi Ullah

unread,
Jul 26, 2024, 2:59:02 AMJul 26
to Chromium Extensions
Hi, I work on an extension that is MV2 and an experimental MV3 variant of it, both of them are published on the webstore. I need to test mv2 to mv3 upgrade path.

My problem is this i want to test this but without messing up my mv2 extension. I would need some users to install the mv2 extension and then let them upgrade to the mv3 version. 

These users are internal for QAing the upgrade path. Once its good to go i'll then publish mv3 build to the main mv2 extension store listing.

Is this possible ? can i have two mv2 listings of the same extension and then publish the mv3 build to the one i want to test the upgrade path on ?


Oliver Dunk

unread,
Jul 26, 2024, 3:03:08 AMJul 26
to Ahmed Rafi Ullah, Chromium Extensions
Hi Ahmed,

Publishing two versions of the same MV2 extension should be possible but you'll want to be mindful of our "Spam and Abuse" policy: https://developer.chrome.com/docs/webstore/program-policies/spam-and-abuse. If you publish the testing extension making it clear in the title and description that it is for internal testing, you should be ok. I would also suggest keeping the visibility as unlisted or private.

There are also some more local options for testing (loading the MV2 extension unpacked, replacing the files on disk with the MV3 version, and reloading) as well as the Extension Update Testing Tool but these are unlikely to be what you want if you are testing with a larger group.

Thanks,
Oliver Dunk | DevRel, Chrome Extensions | https://developer.chrome.com/ | London, GB


--
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/2cb31444-dc48-4971-bb01-39479c1c72bfn%40chromium.org.

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 1:39:20 PMJul 29
to Chromium Extensions, Oliver Dunk, Chromium Extensions, Ahmed Rafi Ullah
looks like you cannot upload mv2 extensions any more :[

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 3:19:36 PMJul 29
to Chromium Extensions, Oliver Dunk

Is there a way to do this. Without updating every users installation before going live. ?
From what i see
Use the extension update tool
Replace the extension files
Upload a separate beta extension ( this does not work for us because we have to test data migrations)

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 4:00:42 PMJul 29
to Don Schmitt, Chromium Extensions, Oliver Dunk
Is there a way to release an mv3 update to the mv2 extension and only have a few users test it, then release that mv3 to the public ? 

On Mon, Jul 29, 2024 at 3:47 PM Don Schmitt <do...@blackfishsoftware.com> wrote:
I seem to recall someone saying that it's possible to publish an MV3 extension (the beta) then change it back to MV2 with an update, can anyone comment on whether that is possible?

But yes, you should do extensive testing with the extension update testing tool, which is absolutely invaluable.  A key consideration is ensuring your MV2 extension can handle a rollback from MV3 in case you need to use the store's rollback feature.  For example, if you are using localStorage in MV2 today, but chrome.storage in your MV3 version, then a rollback may present you with some challenges.




Patrick Kettner

unread,
Jul 29, 2024, 4:04:42 PMJul 29
to Ahmed Rafi Ullah, Don Schmitt, Chromium Extensions, Oliver Dunk
Hi Ahmed!
Yes - the trusted testers feature should work for that case.

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 4:41:52 PMJul 29
to Chromium Extensions, Patrick Kettner, Don Schmitt, Chromium Extensions, Oliver Dunk, Ahmed Rafi Ullah

Would using trusted testers affect the visibiltiy of the existing mv2 extension ?

Patrick Kettner

unread,
Jul 29, 2024, 5:01:28 PMJul 29
to Ahmed Rafi Ullah, Chromium Extensions, Don Schmitt, Oliver Dunk
No. It just makes it so that the users in the trusted tester program see the update as available. Those that are not a trusted tester will see the most recent public version as what is available. 

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 5:48:18 PMJul 29
to Chromium Extensions, Patrick Kettner, Chromium Extensions, Don Schmitt, Oliver Dunk, Ahmed Rafi Ullah
Thank you for the replies everyone !

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 5:49:39 PMJul 29
to Chromium Extensions, Ahmed Rafi Ullah, Patrick Kettner, Chromium Extensions, Don Schmitt, Oliver Dunk
one more question would the testers be able to install the older mv2 and then upgrade to mv3 using the link they receive 

Patrick Kettner

unread,
Jul 29, 2024, 5:54:27 PMJul 29
to Ahmed Rafi Ullah, Chromium Extensions, Don Schmitt, Oliver Dunk
They do not receive any link. It is just installing the same extension that everyone else does. The upgrade server will expose an upgrade to them that is not available to anyone else. So if they install it now, and then you publish it to trusted testers, it will be upgraded. 

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 5:56:58 PMJul 29
to Chromium Extensions, Patrick Kettner, Chromium Extensions, Oliver Dunk, Ahmed Rafi Ullah
ah ok i understand, would it then be possible to have a way that they would be able to revert back to mv2 for testing different flows or is this a one way update meaning once updated to mv3 they cannot revert back to mv2 by reinstalling from the chrome page 

Patrick Kettner

unread,
Jul 29, 2024, 6:06:11 PMJul 29
to Ahmed Rafi Ullah, Chromium Extensions, Oliver Dunk
there is no way to revert. You would either want to use multiple test accounts to control the update rollout, use the store rollback feature, or publish a new MV2 update to your trusted testers release (you can publish an MV2 update to a MV3 extension that has previously had a MV2 version released. )

Ahmed Rafi Ullah

unread,
Jul 29, 2024, 6:13:30 PMJul 29
to Patrick Kettner, Chromium Extensions, Oliver Dunk
Is there any documentation for these that i can go over 
- "multiple test accounts to control the update rollout"
- "you can publish an MV2 update to a MV3 extension that has previously had a MV2 version released"

 

Patrick Kettner

unread,
Jul 29, 2024, 6:24:16 PMJul 29
to Ahmed Rafi Ullah, Chromium Extensions, Oliver Dunk
Just the link I already shared. 
The update system is pretty simplistic. An update is any bit of code with a version number higher than the one that is live. With temporary testers, Chrome does another check to see if that user is allowed to get an update. That’s about it, I’m more than happy to answer any questions you have privately if you didnt want to list them on this thread.  

patrick

hrg...@gmail.com

unread,
Jul 29, 2024, 6:54:44 PMJul 29
to Chromium Extensions, Patrick Kettner, Chromium Extensions, Oliver Dunk, Ahmed Rafi Ullah
 
With temporary testers, Chrome does another check to see if that user is allowed to get an update.

Is this feature documented anywhere?
I'm somewhat confused.... please correct me if I'm wrong in the following:
If the "Trusted testers" field is populated, then when an extension is updated, no user will see that update except the trusted testers.
In other words, there will be 2 versions of the same extension (same ext. ID) in the CWS, one publicly available and another one for trusted testers only.
Is that correct?

Patrick Kettner

unread,
Jul 29, 2024, 7:07:17 PMJul 29
to hrg...@gmail.com, Chromium Extensions, Oliver Dunk, Ahmed Rafi Ullah
Its documented in the link I shared

> Is that correct?

Yep!

hrg...@gmail.com

unread,
Jul 29, 2024, 9:26:25 PMJul 29
to Chromium Extensions, Patrick Kettner, Chromium Extensions, Oliver Dunk, Ahmed Rafi Ullah, hrg...@gmail.com
The link says that we must set the visibility to private. This is too confusing. There's no way to guess that this will result in 2 versions of the extension being available (one public and one private).
The natural assumption is that changing the visibility will affect the only version available in the CWS.
Please add some clarification to the docs. Thanks.

Roberto Oneto

unread,
Jul 30, 2024, 2:55:45 AMJul 30
to Chromium Extensions, hrg...@gmail.com, Patrick Kettner, Chromium Extensions, Oliver Dunk, Ahmed Rafi Ullah
Hi,
I would also have another question about the same topic.
In the documentation it says that if I want to activate some trusted tester I have to list their email addresses.
I guess they must be Gmail addresses and I imagine that these testers should be connected to their Google account to receive the update; otherwise I wonder how I do the browser to consent the download of the Update from the CWS.
It's correct?

Ahmed Rafi Ullah

unread,
Jul 30, 2024, 10:50:52 PMJul 30
to Rui Conti, Roberto Oneto, Chromium Extensions, hrg...@gmail.com, Patrick Kettner, Oliver Dunk

This is concercing that using trusted testers would require the extension to be unpublished how are we supposed to beta test mv3 ? then, please correct me if im wrong


On Tue, Jul 30, 2024, 9:33 PM Rui Conti <r...@jam.dev> wrote:
Hi Patrick. Circling back on a trusted testers feature topic — to use it on a listing that's already been published requires unpublishing the listing. I couldn't find any mentions of this rather relevant requirement in the MV3 migration documentation[0].

From skimming the web, it seems that unpublishing a listing effectively removes it from the Chrome Web Store until another draft is submitted. Which leads to my first question: Is this understanding correct? If so, it is critically disruptive, as it has been reported by folks who have mistakenly unpublished their listing[1][2].

My second question is related to a hypothetical scenario:
1. MV2 (v0.15) is currently listed 
2. MV3 (v1.0) is uploaded as a beta version 
3. MV2 (v0.15) is unpublished
  - At this point, users are prevented from finding and installing the extension.
4. MV3 (v1.0) is submitted for review
5. MV3 (v1.0) is approved

Considering that v1.0 will only trigger an update for trusted testers. Which version will users not in the trusted testers program see in the store? Is it v0.15 — the version previous to the "unpublish event" (point 3. above)?

Thank you!

--
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.

Rui Conti

unread,
Jul 31, 2024, 5:09:03 AMJul 31
to Roberto Oneto, Chromium Extensions, hrg...@gmail.com, Patrick Kettner, Oliver Dunk, Ahmed Rafi Ullah
Hi Patrick. Circling back on a trusted testers feature topic — to use it on a listing that's already been published requires unpublishing the listing. I couldn't find any mentions of this rather relevant requirement in the MV3 migration documentation[0].

From skimming the web, it seems that unpublishing a listing effectively removes it from the Chrome Web Store until another draft is submitted. Which leads to my first question: Is this understanding correct? If so, it is critically disruptive, as it has been reported by folks who have mistakenly unpublished their listing[1][2].

My second question is related to a hypothetical scenario:
1. MV2 (v0.15) is currently listed 
2. MV3 (v1.0) is uploaded as a beta version 
3. MV2 (v0.15) is unpublished
  - At this point, users are prevented from finding and installing the extension.
4. MV3 (v1.0) is submitted for review
5. MV3 (v1.0) is approved

Considering that v1.0 will only trigger an update for trusted testers. Which version will users not in the trusted testers program see in the store? Is it v0.15 — the version previous to the "unpublish event" (point 3. above)?

Thank you!

On Tue, Jul 30, 2024 at 3:56 AM Roberto Oneto <rob...@gmail.com> wrote:
--
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.

Patrick Kettner

unread,
Jul 31, 2024, 10:42:56 AMJul 31
to Ahmed Rafi Ullah, Rui Conti, Roberto Oneto, Chromium Extensions, hrg...@gmail.com, Oliver Dunk
Hey folks,
I apologize, I think I didn't read HRG's original question correctly and as a result caused confusion.

To clarify, when you change a listing to trusted testers, it will hide the listing from those that are not a part of your trusted testers program. The existing users who are not trusted testers will keep the extension, they will just not receive an update. No new users would be able to install it, as the listing wouldn't be publicly available.

@Ahmed Rafi Ullah what is it you are specifically wanting to test that wouldn't be able to be handled by updating an extension in developer mode between the versions? If you want to see what an extension does when installed from an update server, but don't have an MV2 listing on the Chrome Web Store you are comfortable with trying with Trusted Testers, another option would be to host your own update server. An example server you could build off of would be through the extension update testing tool.

patrick
Reply all
Reply to author
Forward
0 new messages