Technology

Chrome's Manifest V3 Transition: What the webRequest Removal Actually Means for Ad Blocking

Martin HollowayPublished 2w ago6 min readBased on 3 sources
Reading level
Chrome's Manifest V3 Transition: What the webRequest Removal Actually Means for Ad Blocking

Google began phasing out Manifest V2 extensions in Chrome in May 2024, formally starting the clock on a transition that has been contested — sometimes bitterly — across the browser extension ecosystem for several years. Chromium Blog confirmed the move on 30 May 2024, with Manifest V3 versions of major ad blockers — AdBlock, Adblock Plus, uBlock Origin, and AdGuard — made available concurrently.

The practical implications turn on a single API: webRequest.

What Manifest V3 Actually Changes

Under Manifest V2, extensions could intercept, inspect, and dynamically block or modify network requests in-flight using the webRequest API. This gave tools like uBlock Origin effectively unbounded filtering granularity — extensions could evaluate every outbound request against arbitrarily large, dynamically updated rulesets and act on the result before the browser committed to a connection.

Chrome's extension reference documentation makes clear that Manifest V3 removes the blocking capability of webRequest and replaces it with declarativeNetRequest. The architectural difference is not cosmetic. Under declarativeNetRequest, extensions submit static rule sets — capped in both count and complexity — to the browser, which then applies them natively without exposing individual request data to extension code. The browser becomes the enforcement layer; the extension becomes the rulebook author.

Google's stated rationale is threefold: performance (native enforcement is faster than round-tripping requests to extension JavaScript), privacy (extensions no longer see the raw URL stream of user browsing), and security (malicious extensions have less surface area for exfiltration). Each of these is a legitimate engineering concern. The trade-off is that filtering expressiveness decreases — dynamic, context-aware blocking that can react to page-level signals or apply heuristics at runtime is substantially harder to implement under the new model.

For enterprise deployments and power users running uBlock Origin in "advanced mode" — where dynamic filtering rules, per-site overrides, and procedural cosmetic filters provide genuinely fine-grained control — the gap between what MV2 allowed and what MV3 permits is measurable and real. Whether that gap is fatal to effective ad blocking, or merely requires engineering adaptation from extension developers, is a question the ecosystem has been wrestling with since the proposal was first floated in 2018.

The Filter List Constraint

One of the more concrete constraints in declarativeNetRequest is the per-extension rule limit. Manifest V3 shipped with a static ruleset cap of 30,000 rules per extension (with a subsequent increase to 330,000 across enabled static rulesets after developer feedback). Large community-maintained filter lists — EasyList alone contains well over 70,000 rules — required aggressive pruning or restructuring to fit. Extension developers have documented workarounds, including dynamic rule swapping within the permitted budget, but these approaches introduce their own latency and maintenance overhead.

The broader concern from the ad-blocking community is not that filtering becomes impossible under MV3, but that it becomes harder to maintain parity with the pace of ad-tech evolution. Advertisers and trackers iterate their circumvention techniques continuously; filter list maintainers must respond in kind. A more constrained and less flexible blocking API narrows the adaptation window.

Opera's Independent Path

In October 2024, Opera announced it would continue supporting Manifest V2 extensions and ad blocking independently of the direction taken by other browsers. Opera's Chromium-based engine gives it the technical latitude to diverge at the extension API layer without forking the rendering stack entirely. For users for whom ad-blocking fidelity is a non-negotiable, this positions Opera as an explicit refuge — at least for as long as the company maintains its MV2 commitment.

Worth flagging: Opera's announcement, made in October 2024, post-dates Google's phase-out confirmation by nearly five months. Reading it as a competitive positioning move is reasonable, but it also reflects a genuine engineering choice about extension API policy that Opera will need to sustain over successive Chromium base updates. Keeping MV2 alive is not a one-time decision; it is an ongoing maintenance commitment.

Firefox, it should be noted, has also indicated it would retain MV2 support alongside MV3, though the details of Mozilla's policy sit outside the scope of the verified facts underpinning this piece.

A Pattern the Industry Has Seen Before

There is a version of this story that has played out before, and the muscle memory is worth drawing on. When Apple introduced App Tracking Transparency in iOS 14.5, it framed the change squarely in terms of user privacy. The advertising industry pushed back hard, arguing that legitimate business models depended on cross-app tracking. Both claims were partly true. What emerged, several years on, was a reconfigured ecosystem — some players adapted, others did not survive the transition, and the net privacy outcome for users was broadly positive even if imperfect.

The Manifest V3 shift maps onto that pattern with some fidelity. Google controls the platform, has genuine privacy and performance rationales for the API changes, and is also a company whose core revenue model is adversely affected by ad blockers. These facts coexist. Observers across the extension developer community have pointed out that same coexistence, and it is an entirely appropriate lens through which to scrutinize the policy. But the outcome will likely follow a similar arc: adaptation, consolidation, and a new equilibrium that is neither as catastrophic as critics feared nor as clean as the platform vendor projected.

What Extension Developers Are Doing

The major extension vendors have shipped MV3 versions, which represents a pragmatic acknowledgment that reaching Chrome users — still the dominant browser population — requires operating within the new constraints. The quality of those MV3 implementations varies, and independent testing by filter list maintainers has documented regressions in specific blocking scenarios. These are engineering problems, and most will be addressed over successive releases, though some MV2 capabilities may not translate cleanly at all.

For enterprise IT and security teams that deploy browser extensions at scale — using uBlock Origin or similar tools to enforce content policies or reduce attack surface from malvertising — the transition warrants a deliberate review. The MV3 versions of these extensions are not drop-in equivalents for every deployment scenario. Policy rulesets should be validated against the new API behavior, and the option of alternative browsers like Firefox or Opera should be factored into fleet decisions where MV2 compatibility is operationally significant.

Where This Lands

The Manifest V3 transition is not the end of effective ad blocking in Chrome, but it is the end of a particular model of ad blocking — one where an extension had near-complete visibility into and control over the browser's network layer. What replaces it is more structured, more limited, and at least in principle, more auditable.

The net effect for most users running a mainstream MV3-compatible ad blocker will likely be marginal in day-to-day browsing. For developers maintaining sophisticated, dynamically adaptive filter sets, the constraints are real and ongoing. And for anyone unwilling to accept those constraints, Opera's October 2024 announcement has clarified that alternatives exist — provided those alternatives can sustain their commitments through the lifecycle of a fast-moving open-source browser engine.