UltraBlock works on Manifest version 3

UltraBlock is one of the first adblock extensions that works on the new Manifest V3 WebExtensions API. Early 2022 we started developing an ad block solution that meets the demands of the strict Manifest V3 rules. We rewrote a lot of the code and logic behind how UltraBlock works resulting in one of the best versions we’ve ever built.

What is a manifest file?

The manifest file gives the browser information about the extension. It holds information like the version, title, description and permissions the extension needs to run. One of the most discussed changes of Manifest V3 is the removal of the webRequest functionality. WebRequest provides Ad Blockers like UltraBlock functionality that is critical to write privacy and content blocking features. Manifest V3 removed WebRequest and introduced declarativeNetRequest as a replacement which has very little capabilities.

How does UltraBlock work with Manifest version 3

Most AdBlockers would contain a huge list with filters to identify ads in the HTML of a webpage. They use this list in combination with WebRequest to block ads. The browser first loads the HTML and then the ads and trackers so you would know what to block. With declarativeNetRequest that is not possible anymore.

Instead of blocking ads and trackers using an extreme long list with filters (what takes a lot of resources) UltraBlock uses a compact list with hostnames used by known ad and tracker companies to creates so called “Dynamic Rules” to block them before they get loaded. After that UltraBlock removes the areas on the website where these ads and trackers would appear.

Google Chrome and Microsoft Edge already support Manifest V3 and Mozilla expects to launch MV3 support for all users by the end of 2022. Starting in January 2023, all extensions on Manifest V2 will stop working.