Previously extensions could be background pages, with access to DOM & Web Platform apis. MV3 currently reduces them to Service Workers, able to use far far far less capabilities. This is a massive massive downgrade for Extensions, unfathomable really. A Mozillaian proposed a less limited Limited Events Page but Google has snubbed it & not discussed. https://github.com/w3c/webextensions/issues/134

Extensions are forced to use a small subset of JavaScript with no dynamic code execution. Eval() is banned. Function is banned. Embedding a scripting language inside JavaScript to circumvent this is banned. This is a mere ghost of JavaScript left over. Google claims it's to make it easier for them to insure extensions are safe & protect users, but just as much, to me, this is to protect Google from capable & competent extensions allowing users to expand their agency: now extensions have to be narrow, fixed use, specific extensions. Tools like GreaseMonkey are all dead. The web becomes no where near the hackable medium it is, all for a little convenience for Google. https://github.com/w3c/webextensions/issues/72 https://github.com/w3c/webextensions/issues/139

A lot has been said & discussed about MV3's declarativeNetRequest; this is where the visible war has raged in MV3 for a while now. I'm not a huge fan but it's also one of the more minor side-shows in this debate, to me. High impact on ad-blocking, but ultimately there's enough compromise & wiggle room here, enough possibility to make this not awful, and if things are left truly bad, there will be enormous hell to pay & this will blow up. DeclarativeNetRequest feels like a side show to how much real ruin & savagery is being wreaked by the first two issues I outlined, being wreaked upon the most powerful & interesting & defining software humanity has, that we augment ourselves with as we do software: our user agent extensions.

I generally find Google to be quite a good steward for the web & am so happy they advance so many different initiatives & capabilities. But this is something that is extremely near & dear to me. The web is different & better than all other software, to me, because it is malleable, because the user-agent gives us power. MV3 is a radical curtailing of us the users. A radical shift towards a web that we have to simply accept, as is, that we cannot bend & shape as we want. Everything happening here feels abhorrent & disgraceful.

The process also feels totally goofy. Google is simply flipping the switch next month. They built what they wanted to as a new spec, debated some about feedback, leave comments that oh yeah, we maybe do need to do something about GreaseMonkey, maybe we do need to fix some of the missing use cases, but we're going ahead with Apocalypse Now anyways. This is the most hostile use of standardizing to destroy that I have ever witnessed.

If Google is having such a hard time hosting extensions as is, they need to stop. They need to close the Google Chrome Web Store for Extensions & stop trying to moderate it. Create a 3rd party store model, let other people serve as the agents of trust. They absolutely positively cannot be allowed to come along & standardize a much much much lower powered form of extension than what we've had, purely because they've had such a (sad fiddle) hard time running an extension store. Their justifications & pleading that these amputations to us are for our own good ring so very very false to me. Google needs to give up being a regulator of this power if it's too much for them.