A practical preflight checklist for Manifest V3 extension releases
Description and use
Preflight checklist for MV3 extensions: compare manifests, enumerate surfaces, verify content script settings, test the packaged build, and document each check’s purpose.
Problem
Extensions can work in development but fail after packaging due to unnoticed changes in permissions, host patterns, content scripts, or browser surfaces.
Outcome
The checklist and MV3 Replay tool reduce release failures by systematically verifying manifest changes, surfaces, and script execution contexts before uploading extensions.
Workflow
- 1. Compare the packaged manifests of the last shipped version and the new build, checking required/optional permissions and host access.
- 2. Enumerate every browser surface (popup, options page, side panel, background service worker, content scripts, commands, externally connectable pages, declarative network rules, web-accessible resources) and add checks for any changes.
- 3. For each content script, compare match patterns, excluded matches, frames, execution world, and run timing to detect behavioral changes.
- 4. Test the packaged build by reloading it and exercising a path through each changed surface.
- 5. Record the rationale for each check, linking it to the specific release change to keep the checklist focused.
Evidence
I am building MV3 Replay. Its first piece is intentionally limited: a local command-line preflight check that reads an unpacked MV3 extension, lists its important surfaces, and compares two packaged versions.
At minimum, reload the packaged extension and exercise one path through each changed surface.
- Record date: 2026-09-07T18:59:49.635Z