v148 · PWA · Web APIs
PWA origin migration
A new manifest field lets developers migrate an installed Progressive Web App from one same-site origin to another — preserving user trust, permissions, and the installed app identity — without forcing users to uninstall and reinstall.
concepts
-
Manifest Config Explorer
Side-by-side manifest and association-file builder for the
migrate_to/migrate_fromhandshake, including same-site andallow_migrationvalidation. -
Migration Timeline
Step-by-step animated walkthrough of what happens when a user with the app installed visits the old origin after migration is declared: browser detection, service worker handoff, and identity transfer.
-
Origin Validator
Enter a source and destination origin to check whether the pair meets the same-site requirement. Valid pairs generate ready-to-paste
migrate_to,migrate_from, and association-file snippets. -
Service Worker Bridge
A visual inventory of 6 SW migration items (Cache API, Background Sync, Push Subscription, Notification Permission, IndexedDB, PWA Install) with click-to-expand transfer mechanisms. An animated 3-step migration simulation shows the old SW intercepting navigation, transferring the cache via postMessage, and the new SW receiving the handoff.
-
Data Preservation Sim
Animated simulation showing which PWA data types survive the manifest migration handshake automatically, which require manual application or service worker handoff code, and which need a reset or re-authentication plan.
why it shipped
Installed PWAs bind their identity — permissions, home screen placement, session data — tightly to their web origin. When a company rebrands, restructures domains, or migrates infrastructure, this binding became a painful break: the old app had to be abandoned and users nudged to reinstall from scratch. PWA origin migration introduces a manifest-level declaration on the old origin that points to the new one, plus a corresponding declaration on the new origin confirming the relationship. Chrome 150 uses this mutual claim to transfer the installed app's identity transparently, letting users continue using the app without noticing any change.