Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Manifest V3 for Chrome #1934

Open
mknicely-atlassian opened this issue Oct 13, 2023 · 14 comments
Open

[Feature] Manifest V3 for Chrome #1934

mknicely-atlassian opened this issue Oct 13, 2023 · 14 comments

Comments

@mknicely-atlassian
Copy link

Motivation
Chrome has deprecated support for Manifest V2. I'm in a corporate environment so we've been able to use it this year but that ends in 2023. When Chrome drops Manifest V2 support Violentmonkey won't work anymore. Side note, MS Edge won't run Manifest V2 extensions anymore starting January, 2024.

Proposed Solution
Modify the project to use a V3 manifest, completely replacing V2.

https://developer.chrome.com/docs/extensions/migrating/
https://extensionworkshop.com/documentation/develop/manifest-v3-migration-guide/
https://blogs.windows.com/msedgedev/2022/12/05/manifest-v3-and-microsoft-edge-add-ons/

Use Cases
When a browser does not support Manifest V2, Violentmonkey can still be installed and used.

@tophf

This comment was marked as outdated.

@tophf tophf closed this as completed Oct 13, 2023
@mknicely-atlassian

This comment was marked as outdated.

@tophf
Copy link
Member

tophf commented Oct 31, 2023

The userScripts API is ready for testing in Canary so I'll start migrating. It should improve/simplify performance for many scripts, but the API has a few nasty limitations such as the lack of tld, regexps in @include, no smart blacklist. It means I'll have to come up with possibly complicated workarounds...

@arash2060
Copy link

arash2060 commented Feb 20, 2024

@tophf what's the latest on this? Is V3 workable?

It looks like they have announced June 24 for V2 deprecation https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline

@tophf
Copy link
Member

tophf commented Feb 20, 2024

Nothing's changed, it's just as bad. We'll use the new API eventually though.

I'm also waiting for them to remove the highly problematic requirement to enable developer mode in chrome://extensions page for every user of the extension. As long as it's present I'm reluctant to work on the new API and I'm even prepared to use the ExtensionManifestV2Availability policy locally myself and promote it until Chrome implements a proper solution.

@tophf tophf pinned this issue Feb 20, 2024
@tophf tophf reopened this Feb 20, 2024
@arjpar
Copy link

arjpar commented Apr 4, 2024

I believe that Manifest v3 is possible. There are userscript managers for Safari that use MV3. I'm certain there will be a sacrifice in the power of userscripts, though.

@arash2060
Copy link

arash2060 commented Apr 5, 2024 via email

@arjpar
Copy link

arjpar commented May 5, 2024

@tophf MV2 will become disabled in pre-stable versions of Chrome (Dev, Canary, Beta) in June 2024. In Chromium 127 MV2 will be disabled. Current version is 124. 127 will come in 3 September 2024, so there's 4 months left to transition. This thread has a lot of info (which as I just checked, you have contributed to). Additionally Tampermonkey Beta has switched to MV3.

@tophf
Copy link
Member

tophf commented May 6, 2024

I'm not sure we should update our stable extension because MV3 breaks some things and there's no good substitute yet, we should probably suggest the users to enable the policy to prolong ManifestV2 as shown here for Windows, we should probably describe examples for all platforms somewhere.

As for beta, I don't know. Maybe. I was planning to do it anyway this month.

@arjpar
Copy link

arjpar commented May 6, 2024

@tophf Why not have one extension that is MV3 and one that is MV2, like uBlock Origin & uBlock Origin Lite? How much functionality is lost in MV3?

@tophf
Copy link
Member

tophf commented May 6, 2024

I've listed some issues I remembered in Tampermonkey thread.

@cyfung1031
Copy link
Contributor

cyfung1031 commented May 6, 2024

@tophf Why not have one extension that is MV3 and one that is MV2, like uBlock Origin & uBlock Origin Lite? How much functionality is lost in MV3?

Based on TM MV3 Beta, even the GM_setValue GM_getValue can be reserved without changes.
It looks like no functionality loss in the current MV3 spec can be achievable, just except the webRequest related issues to be confirmed.

@cyfung1031
Copy link
Contributor

I have seen the frequent updates for VM.
Can you just frozen the current beta version to 2.19.0 and then focus on the MV3 version?

I don't think the minor updates in the current VM 2.18.x is necessary. They are just minor UI issues. It should become a stable version.

@tophf
Copy link
Member

tophf commented May 6, 2024

The problem with GM_getValue is different and it doesn't affect everyone. There are other problems I've listed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants