v10.1.0
·
190 commits
to develop
since this release
Android
- Added
storageNamespaceoption toAndroidOptionsfor full namespace isolation across storage instances (SharedPreferences, KeyStore aliases, config/key storage). Use this instead ofsharedPreferencesNamewhen running multipleFlutterSecureStorageinstances with different cipher configurations. - Deprecated
sharedPreferencesNamein favor ofstorageNamespace, which provides complete isolation rather than data-only isolation. - Added
migrateWithBackupoption toAndroidOptionsfor crash-resistant migration. When enabled, backup copies of encrypted data are created before migration starts, allowing recovery if migration fails or the app crashes mid-migration. Works in conjunction withmigrateOnAlgorithmChange. - Made
KeyCipherAlgorithmandStorageCipherAlgorithmpublic enums.
Fixes:
- Fixed crash on biometric failure (not error).
- Fixed null safety issue in
MethodRunnerthat could cause a crash on Android. - Fixed config being overwritten on initialization.
- Fixed default Android key cipher not aligning with the Flutter default.
iOS / macOS
- Added
useSecureEnclaveoption toIOSOptionsandMacOsOptionsto store keys in the device's Secure Enclave for hardware-backed security.
Fixes:
- Fixed
kSecAttrSynchronizablebeing silently dropped when no access control flags are set. - Fixed
readAllnot returning Secure Enclave items correctly.