Dev.to
6/24/2026

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?



