Skip to content

fix(deps): update dependency flutter_secure_storage to v10#684

Merged
wpfleger96 merged 1 commit into
mainfrom
renovate/flutter_secure_storage-10.x
May 23, 2026
Merged

fix(deps): update dependency flutter_secure_storage to v10#684
wpfleger96 merged 1 commit into
mainfrom
renovate/flutter_secure_storage-10.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 20, 2026

This PR contains the following updates:

Package Type Update Change Pending
flutter_secure_storage (source) dependencies major ^9.2.4^10.0.0 10.3.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

mogol/flutter_secure_storage (flutter_secure_storage)

v10.2.0

Compare Source

Android
  • Deprecated KeyCipherAlgorithm.RSA_ECB_PKCS1Padding. Existing data is automatically migrated to the default RSA_ECB_OAEPwithSHA_256andMGF1Padding when migrateOnAlgorithmChange is true.
  • Deprecated StorageCipherAlgorithm.AES_CBC_PKCS7Padding. Existing data is automatically migrated to the default AES_GCM_NoPadding when migrateOnAlgorithmChange is true.
  • Fixed Gradle space-assignment warnings in build.gradle.
iOS / macOS
  • Fixed iOS build by updating availability annotation for Secure Enclave methods from iOS 11.3 to iOS 13.0.
Windows
  • Fixed compatibility with win32 6.0.0 in flutter_secure_storage_windows 4.2.0.
    If you are on Dart >=3.10.0, this fix is applied automatically. Otherwise, pin flutter_secure_storage_windows: ^4.2.0 in your pubspec.yaml to opt in and make sure your constraint is set for minimum of Dart >=3.10.0.

v10.1.0

Compare Source

Android
  • Added storageNamespace option to AndroidOptions for full namespace isolation across storage instances (SharedPreferences, KeyStore aliases, config/key storage). Use this instead of sharedPreferencesName when running multiple FlutterSecureStorage instances with different cipher configurations.
  • Deprecated sharedPreferencesName in favor of storageNamespace, which provides complete isolation rather than data-only isolation.
  • Added migrateWithBackup option to AndroidOptions for 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 with migrateOnAlgorithmChange.
  • Made KeyCipherAlgorithm and StorageCipherAlgorithm public enums.

Fixes:

  • Fixed crash on biometric failure (not error).
  • Fixed null safety issue in MethodRunner that 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 useSecureEnclave option to IOSOptions and MacOsOptions to store keys in the device's Secure Enclave for hardware-backed security.

Fixes:

  • Fixed kSecAttrSynchronizable being silently dropped when no access control flags are set.
  • Fixed readAll not returning Secure Enclave items correctly.

v10.0.0

Compare Source

This major release brings significant security improvements, platform updates, and modernization across all supported platforms.

Android

Due to the deprecation of Jetpack Security library, the Android implementation has been largely rewritten with custom secure ciphers, enhanced biometrics support, and migration tools.

Breaking Changes:

  • AndroidOptions().encryptedSharedPreferences is now deprecated due to Jetpack Crypto package deprecation
    • Migration will automatically happen due to migrateOnAlgorithmChange: true, which can also be set to false if not wanted.
  • ResetOnError will now automatically be true, because most errors are unrecoverable due to key storage problems. It can still be disabled with resetOnError: false
  • Default key cipher changed to RSA_ECB_OAEPwithSHA_256andMGF1Padding
  • Default storage cipher changed to AES_GCM_NoPadding
  • Minimum Android SDK changed from 19 to 23
  • Target SDK updated to 36
  • Migrated from deprecated Jetpack Crypto library to custom cipher implementation (Tink doesn't support biometrics)
  • Migrated to Java Version 17

New Features:

  • New named constructors: AndroidOptions(), AndroidOptions.biometric()
  • AndroidOptions().migrateOnAlgorithmChange automatically migrates data to new ciphers when enabled
  • Improved biometric authentication with graceful degradation when device has no security setup
  • Migration tools for transitioning from deprecated encryptedSharedPreferences
  • Enhanced error handling with proper exception messages for biometric unavailability

Fixes:

  • Fixed biometric authentication on devices without security (PIN/pattern/password) - now gracefully degrades when enforceBiometrics=false
  • Fixed storage cipher and key cipher pairing validation
  • Fixed migration checks for encrypted shared preferences
  • Fixed biometric permission handling
  • Fixed exception when reading data after boot

Other Changes:

  • Updated Gradle, Kotlin, and Tink dependencies
  • Refactored custom cipher implementations for better maintainability
  • Added delete key functions for proper reset handling
  • Migrated to new analyzer and code cleanup
iOS / macOS (darwin)
  • Merged iOS and macOS implementations into unified flutter_secure_storage_darwin package
  • Added support for Swift Package Manager
  • Remove keys regardless of synchronizable state or accessibility constraints
  • Change minimum iOS version from 9 to 12
  • Change minimum macOS version to 10.14
  • Use serial queue for execution of keychain operations
  • Added privacy manifest
  • Refactored code and added missing options to IOSOptions and MacOSOptions
  • Fixed warnings with Privacy Manifest
  • Fixed delete and deleteAll when synchronizable is set
  • Fixed migration when value is saved while key already exists with different accessibility option
  • Use accessibility option for all operations
  • Migrated to new analyzer and code cleanup
Web
  • Web is now compatible with WASM
  • Updated code style and migrated to very_good_analysis
  • Add check for secure context (operations only allowed with secure context)
  • Remove dart:io to support WASM build
  • Migrated away from html to web package
  • Removed js in favor of using js-interop
  • Added useSessionStorage parameter to WebOptions for saving in session storage instead of local storage
  • Updated web dependency support to <2.0.0
  • Migrated to new analyzer and code cleanup
Windows
  • Upgrades deprecated member usage of win32
  • Migrated to win32 version 5.5.4 to support Dart 3.4 / Flutter 3.22.0
  • Migrated to new analyzer and code cleanup
  • Write encrypted data to files instead of the Windows credential system
Linux
  • Fixed whitespace deprecation warning
  • Reverted json.dump with indentations due to problems
  • Fixed search with schemas fails in cold keyrings
  • Fixed erase called on null
  • Fixed memory management issue
  • Remove and replace libjsoncpp1 dependency
  • Migrated to new analyzer and code cleanup
Platform Interface
  • Remove dart:io to support WASM build of web
  • Migrated to new analyzer and code cleanup
General Improvements
  • Listener functionality via FlutterSecureStorage().registerListener()
  • All platforms updated to support Dart SDK <4.0.0
  • Comprehensive test coverage improvements
  • Documentation updates across all platforms

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner May 20, 2026 22:35
@renovate renovate Bot force-pushed the renovate/flutter_secure_storage-10.x branch 25 times, most recently from 84c5042 to 912108f Compare May 23, 2026 17:54
@renovate renovate Bot force-pushed the renovate/flutter_secure_storage-10.x branch from 912108f to 785a1ce Compare May 23, 2026 18:00
@wpfleger96 wpfleger96 enabled auto-merge (squash) May 23, 2026 18:52
@wpfleger96 wpfleger96 merged commit e968aa6 into main May 23, 2026
16 checks passed
@wpfleger96 wpfleger96 deleted the renovate/flutter_secure_storage-10.x branch May 23, 2026 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant