To help improve Firefox performance, the backend for the storage.local API is migrating from JSON to IndexedDB. These changes will soon be enabled on Firefox Nightly and will stabilize when Firefox 63 lands in the Beta channel. If your users switch between Firefox channels using the same profile during this time, they may experience data regression in the extensions they have previously installed.
We recommend that users do not change Firefox channels between now and September 5, 2018. However, if they do and they contact you with questions about why their extensions are not behaving normally (such as losing saved options or other local data), please point them to this post for instructions on how to retrieve and re-import their extension data.
How to retrieve migrated data and re-import the extension data
about:config and check the setting for
extensions.webextensions.ExtensionStorageIDB.enabled. If it is set to
true, the extension data has been moved to the new backend and is not directly available as a single file in the file system.
If the extension data is not available after it has been moved in the new backend, follow these steps to ask Firefox to re-import the extension data:
- Look up the Extension ID by going to
- Navigate to your system profile directory
- Go to the folder called
- Go to the folder of the Extension ID you found in
- You will see a file named storage.js.migrated (or storage.js.migrated.N if the data has migrated more than once). Your data has been moved into this file.
- Uninstall the extension
- Copy the file named storage.js.migrated to a new file named storage.js in the same directory
- Open the browser console.
- Re-install the extension
- Wait for a message “Migrating storage.local data for <Extension debug name>” and “storage.local data successfully migrated to IDB Backend for <Extension debug name>” to appear in the browser console
How to address errors when re-importing migrated extension data
If you see a
QuotaExceededError in the browser console during the final step in the data retrieval and re-importing process, you may have insufficient disk space. After you free additional disk space, you maybe be able to fix this issue by following the steps outlined in the section above.
If the problem persists and the extension is using the new ExtensionStorageIDB backend, please report the issue on Bugzilla. You can see if the extension is using the ExtensionStorageIDB backend by going to
about:config and seeing if
extensions.webextensions.ExtensionStorageIDB.migrated.EXTENSION_ID is set to
Reporting issues with the storage.local API
If you are an extension developer and you encounter any issues that seem to be related to the storage.local API, please file a new issue on Bugzilla and add it as a blocker of bug 1474562 so that we can promptly investigate it.