Mozilla’s Manifest v3 FAQ

What is Manifest v3?

Chrome versions the APIs they provide to extensions, and the current format is version 2. The Firefox WebExtensions API is nearly 100% compatible with version 2, allowing extension developers to easily target both browsers.

In November 2018, Google proposed an update to their API, which they called Manifest v3. This update includes a number of changes that are not backwards-compatible and will require extension developers to take action to remain compatible.

A number of extension developers have reached out to ask how Mozilla plans to respond to the changes proposed in v3. Following are answers to some of the frequently asked questions.

Why do these changes negatively affect content blocking extensions?

One of the proposed changes in v3 is to deprecate a very powerful API called blocking webRequest. This API gives extensions the ability to intercept all inbound and outbound traffic from the browser, and then block, redirect or modify that traffic.

In its place, Google has proposed an API called declarativeNetRequest. This API impacts the capabilities of content blocking extensions by limiting the number of rules, as well as available filters and actions. These limitations negatively impact content blockers because modern content blockers are very sophisticated and employ layers of algorithms to not only detect and block ads, but to hide from the ad networks themselves. Extensions would still be able to use webRequest but only to observe requests, not to modify or block them.

As a result, some content blocking extension developers have stated they can no longer maintain their add-on if Google decides to follow through with their plans. Those who do continue development may not be able to provide the same level of capability for their users.

Will Mozilla follow Google with these changes?

In the absence of a true standard for browser extensions, maintaining compatibility with Chrome is important for Firefox developers and users. Firefox is not, however, obligated to implement every part of v3, and our WebExtensions API already departs in several areas under v2 where we think it makes sense.

Content blocking: We have no immediate plans to remove blocking webRequest and are working with add-on developers to gain a better understanding of how they use the APIs in question to help determine how to best support them.

Background service workers: Manifest v3 proposes the implementation of service workers for background processes to improve performance. We are currently investigating the impact of this change, what it would mean for developers, and whether there is a benefit in continuing to maintain background pages.

Runtime host permissions: We are evaluating the proposal in Manifest v3 to give users more granular control over the sites they give permissions to, and investigating ways to do so without too much interruption and confusion.

Cross-origin communication: In Manifest v3, content scripts will have the same permissions as the page they are injected in. We are planning to implement this change.

Remotely hosted code: Firefox already does not allow remote code as a policy. Manifest v3 includes a proposal for additional technical enforcement measures, which we are currently evaluating and intend to also enforce.

Will my extensions continue to work in Manifest v3?

Google’s proposed changes, such as the use of service workers in the background process, are not backwards-compatible. Developers will have to adapt their add-ons to accommodate these changes.

That said, the changes Google has proposed are not yet stabilized. Therefore, it is too early to provide specific guidance on what to change and how to do so. Mozilla is waiting for more clarity and has begun investigating the effort needed to adapt.

We will provide ongoing updates about changes necessary on the add-ons blog.

What is the timeline for these changes?

Given Manifest v3 is still in the draft and design phase, it is too early to provide a specific timeline. We are currently investigating what level of effort is required to make the changes Google is proposing, and identifying where we may depart from their plans.

Later this year we will begin experimenting with the changes we feel have a high chance of being part of the final version of Manifest v3, and that we think make sense for our users. Early adopters will have a chance to test our changes in the Firefox Nightly and Beta channels.

Once Google has finalized their v3 changes and Firefox has implemented the parts that make sense for our developers and users, we will provide ample time and documentation for extension developers to adapt. We do not intend to deprecate the v2 API before we are certain that developers have a viable path forward to migrate to v3.

Keep your eyes on the add-ons blog for updates regarding Manifest v3 and some of the other work our team is up to. We welcome your feedback on our community forum.

 

28 responses

Post a comment

  1. Neil wrote on :

    I feel that if Firefox remove the content blocking capability is going to lose its remaining users and it’s going to be a shame since it’s basically the last not-webkit browser. Do you agree?

    Reply

    1. Paul wrote on :

      If you read the article, they explicitly say they have no plans to remove that…

      Reply

      1. Gronk wrote on :

        It’s the word “immediate” that makes me worry.

        Reply

      2. Max wrote on :

        Yet.
        History has shown what lengths Mozilla is willing to go to catch up to Chrome.

        Reply

        1. Kate wrote on :

          No? If this is just more whinge about WebExtensions, then let’s not forget that XUL extensions were a tremendous weight on core feature development.

          Reply

    2. Jordan wrote on :

      No. People who use Firefox do so because they understand the importance of privacy and security. If they wished to go with the “easy” route they would just use chrome, which is quite literally spyware.

      But hey, i may be wrong.

      Reply

  2. zakius wrote on :

    “Once Google has finalized their v3 changes and Firefox has implemented the parts that make sense for our developers and users, we will provide ample time and documentation for extension developers to adapt”
    just like you did with WebExtensions? oh wait, you didn’t, you still have yet to implement tons of APIs to make porting legacy extensions possible, not to mention “ample time to adapt”

    Reply

    1. stuartd wrote on :

      Sometimes you just have to let old things die.

      Reply

      1. Bobby wrote on :

        If they’re not careful the old thing that dies will be Firefox…

        Reply

      2. Rex wrote on :

        There’s a difference between letting something die and taking it out to the back to be shot in the head. That’s what Mozilla did with XUL/XPCOM – that made it actually focus on the user and customizability instead of paying lip service to the idea as they do now. Instead of this ‘death by a thousand cuts’ business, they might as well just dump Gecko for Webkit and call it a day – the way Microsoft did with Edge.

        Reply

      3. Max wrote on :

        Funny thing, Firefox is older than Chrome.

        Reply

      4. zakius wrote on :

        do you really think that we should let usability and user comfort die?

        Reply

  3. Andreas wrote on :

    “no immediate plans to remove blocking webRequest”
    You should have NO plans to remove this. Why do browser developers hate their users so much?

    Reply

    1. Mikhoul wrote on :

      Exactly but as they proved so many times Mozilla don’t care about their tiny tiny users base and devs sadly.

      They best they can do is “lip service” like they do here.

      Reply

  4. Rosmaninho wrote on :

    “no immediate plans to remove blocking webRequest”

    It would be cool if you had no plans at all!

    Reply

    1. Amarok24 wrote on :

      Exactly! Mozilla is not Google so why would they even consider following each step of Google. It’s clear that Google tries to look like a worldwide leader in technologies, but all they want is to earn more money from advertisement and they don’t want developers to block their annoying ads.

      Reply

  5. Verisimilitude wrote on :

    It’s a joke, the utter lack of stability with regards to most every aspect of the WWW. I don’t customize Firefox much, mostly because I already only use heavily-modified forks, and even then there are some add-ons I’ve added on top that aren’t supported in newer Firefox versions.

    I wonder why Mozilla seems so intent and single-minded on doing whatever Google does. Has Google privately threatened to stop funding Mozilla with the search engine purchasing if this ceases to be the case?

    At this point, why not let webkit become the only WWW browser? At least then, the monoculture will eventually collapse under its own weight, instead of this slow burning fire caused by all of two major WWW browser families being required for the increasingly complicated pseudo-standards that are continually added.

    Reply

  6. Mrglll wrote on :

    Why not a global PiHole Server in DNS format?

    Reply

  7. c654034 wrote on :

    Are we need v3? Why?

    Reply

    1. zakius wrote on :

      probably to keep porting extensions between firefox and chromium relatively simple

      Reply

  8. Anton wrote on :

    Could someone provide a link to the recent version of Manifest v3 specification or design document?

    Reply

  9. Ryan wrote on :

    “no immediate plans to remove blocking webRequest”
    When you have the plan, I will uninstall firefox.

    Reply

  10. Benoit wrote on :

    Can you clarify the wording? No “immediate plan” is pretty ambiguous and my pinky finger tells me that you probably did it to not exclude upcoming ‘Googlification’ plans.

    Reply

  11. Captain Obvious wrote on :

    Crippling important APIs so that people couldn’t block annoying ads is never going to work. There will be browser forks that don’t cripple those APIs and people will start to use those alternative browser forks instead of the “mainstream” browsers.

    Reply

  12. Maria wrote on :

    No Google , the world will be better.

    Reply

  13. JG wrote on :

    Firefox’s niche is privacy and respecting the user. Allowing users to control what requests are being made is necessary for Firefox to stay relevant in this niche. Taking away this ability will significantly hurt Firefox’s reputation.

    Reply

  14. TemporalVortex wrote on :

    “no immediate plans to remove blocking webRequest”

    I guess what this means is that I well better have immediate plans to finally cave in and switch over to the only browser out there that is TRULY about the user for the most part (and which isn’t shoving unsolicited “New Tab” spam into my face among other stupid stuff like horrible rebranding and lack of direction other than being Google’s waterboy) … the Brave Browser.

    @jonathansampson on Twitter actually posted a series of reviews about “what happens when you open a fresh install of ” just a week or two ago and Firefox didn’t exactly come out on top (though his analysis’ were a treasure trove for any filtering proxies).

    Thanks Mozilla, I was already using “Firefox” all the way back as it was still called “Phoenix”, which was even before you had to rename it to “Firebird” (and then to Firefox because checking for trademarks is obviously a hassle) … but it would seem the time has come to finally abandon the sinking ship and set course for greener pastures in the hope that even something better than Brave may pop up one day.

    Reply

  15. Stefan wrote on :

    I’m still on 52.9.x ESR (with update files and Mozilla servers blocked via HOSTS) and has no intention to downgrade to ‘Quantum’.

    Reply

Post Your Comment