Back to feed
Dev.to
Dev.to
6/24/2026
Migrating to Manifest V3: what actually broke, what we saved, and what we gained

Migrating to Manifest V3: what actually broke, what we saved, and what we gained

Short summary

Manifest V3 forces a fundamental architectural shift: persistent background scripts become ephemeral Service Workers that Chrome can terminate at any time, requiring all state to persist via chrome.storage. Key practical changes include replacing setInterval with chrome.alarms (1-minute minimum), using IndexedDB for large datasets (>10MB), and embracing DOM APIs over innerHTML for security. The tradeoff is stricter security (no eval, no remote script loading) in exchange for reduced malicious extension potential.

  • Service Workers are ephemeral; use chrome.storage for persistent state instead of variables
  • Replace setInterval with chrome.alarms (1-minute minimum); use popup setInterval for real-time UI updates
  • Use IndexedDB for storage >10MB; switch from innerHTML to safe DOM APIs to prevent XSS

Generated with AI, which can make mistakes.

Is this a good recommendation for you?

Comments

Failed to load comments. Please try again.

Explore more