@dynamic-labs/legacy-react-native-extension) has moved its secure-storage dependency from expo-secure-store to react-native-keychain. This is a breaking change for any app that installed the SDK directly or through its peer dependencies.
No code changes are required. The SDK manages the storage layer internally; you only need to update your dependency list and rebuild the native layer.
The legacy React Native SDK packages have been renamed with a
legacy- prefix. When you update your dependencies, use @dynamic-labs/legacy-react-native-extension (and legacy-client, legacy-react-hooks, legacy-viem-extension, etc.) instead of the unprefixed names. The installation docs already reflect these names.What changes
Migration steps
1
Replace the dependency
Remove
expo-secure-store from your project and install react-native-keychain.- npm
- yarn
- pnpm
- Expo
2
Clean and reinstall
Delete your lockfile and native build folders so the new dependency is the only secure-storage native module linked.
3
Rebuild the native layer
For Expo managed or bare workflows, regenerate and rebuild the native projects.
- Expo (managed)
- Bare React Native
- EAS Build
Verify the migration
After rebuilding, confirm that:expo-secure-storeno longer appears in your lockfile.react-native-keychainappears innode_modules.- Your app builds and the SDK initializes without a secure-storage error.