Chrome Manifest V3 is looming over us. Where do we stand?
Over four years ago, in early 2019, the Google Chrome team announced ground-shaking changes to the browser extensions platform, known as “Manifest V3.”
We’ve repeatedly discussed the potential problems these changes might cause:
- We talked about the reasons for these changes and why, in our opinion, this path was chosen and not any other
- We expressed our opinion that it’s not the end of the world, and browser extensions are not the be-all and end-all
- We explained how we at AdGuard would adapt to these changes and what threats they pose to the filter lists ecosystem
Initially, Manifest V3 was met with significant negativity by nearly everyone, from the developer community (not just ad blockers developers) to users who were fearful of the consequences of implementing a more restrictive and, frankly, raw and buggy platform.
Fortunately, the Chrome team paused the implementation of Manifest V3 until all major bugs and developer concerns are addressed. If you follow the link above, you’ll see that this moment is almost upon us. By the release of Chrome 120, all major issues are expected to be resolved, which means the integration of Manifest V3 is drawing nearer, and it’s time to discuss the current state of affairs.
Over the past few years, I have frequently been asked how Manifest V3 will affect browser extensions. I will try to structure this post as a list of answers to the most common questions on this topic.
What is your overall opinion on Manifest V3?
I’ve gone through several stages in my attitude towards the new platform. It all started, naturally, with resistance. But to the credit of the Chrome developers, I must acknowledge that their efforts have shifted my opinion. Let me outline the most important factors that influenced my perspective.
W3C Working Group
Perhaps the most significant change for me is the formation of the W3C WebExtensions Community Group, where developers from Mozilla, Safari, and Chrome, along with browser extension developers, are working on specifications for a common extensions platform that will be supported by all major browsers worldwide.
What did that change? Everything! We finally started listening to each other. Extension developers began to better understand the motivations of browser developers, and browser developers learned firsthand about our concerns. But listening is not enough; we needed to work on making improvements. And over time we’ve seen with our own eyes how browser teams are investing effort in improving the situation. In some cases, this meant simply fixing flaws, while in others, it involved major changes, such as the API for user scripts.
The W3C group is an initiative driven by the dedication of very specific individual engineers, rather than a mandate imposed from above, and I would like to express my gratitude to them.
Investment in the Extensions Platform
I have been dealing with browser extensions for over 10 years and have had the pleasure of watching all the changes that occurred with them. Let’s be honest, the extensions platform was never a priority for Chrome. For the majority of its lifespan it was being managed by just a handful of people, and in the very beginning it was really just a single person.
The situation has changed completely. I see how Chrome has invested significant resources in the platform over the last few years and has expanded the team. You can notice this by the scale and timelines of the changes being made to the platform itself. You can also see it in the scale of changes in the Chrome WebStore.
The Google team was present at the last Ad Filtering Dev Summit, and I recommend you watch their presentation to understand what I’m talking about:
So how bad is Manifest V3, really?
Let me be to the point. To put it briefly:
- Overall, things are far from terrible.
- The changes in Manifest V3 are indeed global and require a huge effort from all parties involved. Is it worth it? I think so. In the end, we get a unified cross-browser platform. Meanwhile, we, the browser extension developers, also have an influence on this platform; it’s not static and continues to change and improve over time.
- Is it bad that Chrome insists on removing certain functionality, specifically the blocking capabilities of webRequest API, which allowed ad blockers to have their own filtering engine implementations? Yes, we don’t like it, and if it were up to us, we would prefer that this change did not happen. But I am really hopeful that our collective work on the platform will be able to compensate for this problem .
What is the state of AdGuard’s preparation for Manifest V3?
A year ago, AdGuard launched the world’s first ad blocker based on Manifest V3. Here is a video from the last year’s Ad Filtering Dev Summit where I presented it to the public:
This year, we talked about our work on improving this extension and the steps our team still needs to take:
We have also already talked about the changes in our main extension and its preparation for the implementation of Manifest V3.
In short: we haven’t finished our work yet, but there is definitely light at the end of the tunnel. The MV3 blocker prototype already shows good filtering quality, which you can verify for yourself.
Is it true that ad blockers will perform much worse?
No, that’s not true. Despite losing a small part of their functionality, ad blockers will still be able to offer nearly the same quality of filtering that they demonstrated with Manifest V2.
The primary challenge in adopting Manifest V3 is the complexity of maintaining a unified ecosystem for filter lists that all ad blockers currently utilize. But we are also working on this, and I believe that in time we will be able to improve the situation on this front. Projects such as AGLint and our plugin for Visual Studio Code will enable filter lists authors to easily maintain filter lists compatible with all versions of ad blockers as these tools continue to develop.
Is it true that all ad blockers will become the same and lose the ability to compete?
This is only partially true. The fact that the “engine” that filters network requests is being implemented by the browser does indeed take away part of the identity of ad blockers.
However, ad blockers have long transcended merely blocking web requests. If we analyze the work on the filtering engine over the last few years, most of our efforts have been concentrated on expanding cosmetic filters and scriptlets, and their usage remains (and for the most part will remain in the future) unique for each ad blocker.
Even regarding the declarative rules for filtering network requests, things are not so clear-cut. The competent and high-quality conversion from the traditional filtering rules syntax (which will remain the de-facto standard) into a format supported by the browser remains a very complex engineering task. The ad blockers that cope with this task better will show better results compared to competition.
Is it true that Manifest V3 will make it more difficult to innovate?
This is, again, partially true. Let’s consider a simple scenario. The use of AI for automatic recognition and blocking of ads is often discussed in the ad blocker developer community. Without the ability to make real-time decisions about what and how to block, it will indeed be more difficult for us to implement new blocking technologies.
This does not mean that we will not be able to implement such technologies at all. We will have to invent new, more ingenious ways to introduce them. Whether we will be able to cope with this challenge remains to be seen.
Is it true that Manifest V3 will increase privacy and security of the browser?
Honestly, I wouldn’t say so. I see the advantages of MV3 in terms of unification, cross-platform compatibility, and performance, but I don’t see any advantages in terms of increasing user security, unfortunately. The amount of scam extensions in the Chrome Web Store remains high despite the fact that it has been a long time since the store stopped accepting non-MV3 extensions.
I still hold my old beliefs — the only way to improve user security is to better moderate browser extensions. If the Chrome Web Store team currently lacks the resources to clean it from scams, then, perhaps, the guidelines should be improved and the Chrome team needs to work closer with the cybersecurity community.
Perhaps in the future, with the development of the extensions platform, the situation can be slightly improved, but I have strong doubts that we can go beyond minor improvements solely through changes to the platform.
So, should we all stop worrying in the end?
Not at all! It is precisely your concern and engagement that motivates all of us to continue working. This applies to both browser extension developers and browser developers. Whatever people say and whatever contradictions we encounter along the way, our common goal is to make your life better. And without feedback from you, how can we the developers know what to do next?
And finally, if you don’t want to bother with following the ongoing developments of browser extensions, you can always switch to the premium versions of AdGuard and install one of our standalone apps: for Windows, Mac, or Android. They all operate at the network level and don’t care which browser you use to block ads and tracking.