cross-posted from: https://lemm.ee/post/38878121
Edit: of course the below only applies to chrome and possibly chrome derivatives - FF is keeping MV2
It’ll make it a lot more likely that YouTube ads will get through because MV3 limits the block list size to a fraction of the size normally used by uBO and also disallows external/live updates to the block list, instead forcing the rules to be baked into the extension. Meaning an update to the blocking rules could take a week of extension review time to go through. I heard that the YouTube ad blocking rules can update multiple times a day so this would easily allow Google to update their ad code before approving updates to ad blockers, allowing them to always stay ahead.
So it might not outright break it, but some rules will have to be left off so it seems like it’ll be a dice roll if you get an ad where the blocking rule had to be left off to fit Google’s block list limit or the rule you have is stale because it took a couple weeks for the extension update to be approved on the extension store.
The feature of MV3 that enables these changes is that in MV3, the extension is handing over the complete blocklist to chrome, which does the blocking and gets to put limits on the blocklist. In MV2, the extension is given a direct hook to do the blocking itself, so it can have an unlimited block list size and can source the blocklist from anywhere. Think of it kind of like the difference between letting a graduation speaker speak off the cuff vs the school reviewing the speech beforehand and having their finger on the mic switch in case you wander off script. So the new system technically can be more secure and performant because the blocklist is reviewed as part of the extension and because poorly written blocker code can’t slow you down (only Google’s optimized logic is allowed to run) but it only works if they don’t impose limits lower than what effective ad blockers need (ie updating frequently like daily and allowing a large blocklist). Plus uBo is written really well for resource usage so it’s getting crippled even though it’s a shining example of an effective ad blocker.
Plus there are even more limitations like certain types of advanced rules that all I understand is just needed for certain sites that are tricky., but those rules aren’t supported in MV3. The uBo GitHub wiki has some information about this: https://github.com/uBlockOrigin/uBOL-home/wiki/Frequently-asked-questions-(FAQ)#filtering-capabilities-which-cant-be-ported-to-mv3