SQLCipher 4.5.4 Release

SQLCipher 4.5.4 is now available .

The following summarize the most substantial changes to SQLCipher core:

  • Updates baseline to use SQLite 3.41.2
  • When using an OpenSSL cryptographic provider, PRAGMA cipher_provider_version will return the version loaded at runtime instead of at compile time
  • Improves guarding against cryptographic provider initialization failure
  • A new encrypted database which is ATTACHed as the first operation after keying the main database will have the same salt as main database
  • CocoaPods minimum platform versions are now iOS 11.0, macOS 10.13, tvOS 11.0, and watchOS 7.0

The following summarize the most substantial changes to SQLCipher for Android:

  • Breaking Change: Android Database SQLite Exception classes are now used for compatibility with Android Support and Room. All SQLCipher exception classes have been removed. All Android users should adjust their code to import the appropriate exceptions from android.database.* and android.database.sqlite.* after upgrading.
  • Breaking Change: Updates android.sqlitex dependency to version 2.2.0. Integrators should adjust the dependencies block in build.gradle accordingly.
  • Breaking Change: Minimum supported SDK version updated to 21 on 32 bit platforms for compatibility with upstream SQLite changes
  • Fix issue where the use of an incorrect encryption key could be mistakenly identified as database corruption
  • All builds updated to use latest LTS version r25c

Finally, there are a large number of enhancements to the Commercial and Enterprise packages for this release:

  • Breaking Change: Android packages have been renamed to remove the -release suffix from .aar files. Integrators should adjust the dependencies block in build.gradle accordingly.
  • Improves .NET MAUI support targeting iOS and Android to avoid legacy Xamarin dependencies
  • Improves and allows multi target support for Maui and Legacy Xamarin
  • Updates NuGet packages to remove deprecated features
  • Linux packages now support distributions with older glibc versions (>=2.17) including RedHat 7 and Centos 7
  • Adds new example projects for SQLCipher for Android packages
  • Removes Windows 8.1 support from SQLCipher for Cordova (platform is no longer supported by Microsoft)
  • non-FIPS packages using OpenSSL now include 1.1.1t, except Windows UAP which uses OpenSSL 1.1.1s
  • Enables Fortify Source for OpenSSL on older Android platforms
  • Updates to sqlite-net 1.8.116 as baseline for the zetetic-sqlite-net-core package
  • Updates SQLitePCL.raw dependencies for all .NET packages to version 2.1.4
  • SQLCipher for JDBC now uses xerial/sqlite-jdbc release 3.41.2.1 as baseline