SQLCipher 4.5.4 Release

2023-04-27 08:00:00 -0400

We are pleased to announce that SQLCipher 4.5.4 is now available. It includes the following notable changes:

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

SQLCipher 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

SQLCipher Commercial and Enterprise

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

Availability

Commercial and Enterprise - On-demand access to new releases of SQLCipher packages are available to all licensees with an active support subscription from the Customer Downloads fulfillment site. Licensees will also receive a separate email notification regarding the update and can contact us at any time for private support directly from the SQLCipher development team.

Community Edition - SQLCipher Community Edition source code is available on GitHub, via AAR packaging for Android, and CocoaPods for iOS.