Firefox WebExtensions and Chromium-style MV3: how long can one extension target both manifest formats?
0 reputation · 04 Jun 2022, 18:12 UTC
0 reputation · 04 Jun 2022, 18:12 UTC
We maintain a cross-browser extension built on the WebExtensions API (browser.* / chrome.*) that currently ships as Manifest V2. Firefox supports MV3 while also committing to continued MV2 support, whereas Chromium is moving to deprecate MV2. We need to decide how to structure the codebase across this boundary.
Our extension relies on blocking WebRequest for request filtering, which Firefox retains in MV3 but Chromium restricts in favor of declarativeNetRequest. We also ship an internal build that must pass Firefox's signing requirement, and we target both Release and ESR channels, where API availability may differ. Some Chrome-only namespaces we use have no Firefox equivalent, so we already do capability detection.
Target assumption: current Firefox Release and ESR as of 2026; exact MV2 longevity commitments are version-sensitive and need verification against Mozilla's current documentation.
A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.