SQLCipher 4.5.5 Release

2023-08-31 08:00:00 -0400

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

SQLCipher Core

  • Updates baseline to upstream SQLite 3.42.0
  • Does not allow key to be set again on a connection after it has been successfully used for an encryption or decryption operation to prevent accidental database corruption
  • Raises an error if a rekey operation is attempted on an unencrypted database
  • Raises an error when a key or rekey operation is passed an empty key
  • Minor improvements to constant time functions
  • Miscellaneous code and comment cleanup

SQLCipher Android

Important Deprecation Notice: We officially announced the availability of the new SQLCipher for Android API in early 2022. The new library features significantly improved performance, support for concurrent database access with connection pooling and WAL, and a simplified internal API based on the AndroidBindings project. It has been widely used in production applications and many active projects have already migrated to the new packages.

As of this release of SQLCipher, 4.5.5, the legacy SQLCipher for Android Package (android-database-sqlcipher) is officially deprecated. We have already shifted development focus almost exclusively to the new project. In addition, we are no longer distributing pre-built Community Edition packages of the legacy library via Maven Central. Developers using the Community Edition of android-database-sqlcipher are strongly encouraged to migrate to the new SQLCipher for Android sqlcipher-android project. The source code for legacy project will remain online indefinitely on GitHub for developers who wish to build the legacy library from source.

Our hope is that this Community Edition deprecation will help encourage rapid adoption of the new SQLCipher for Android package, especially as legacy developers seek to update to underlying OpenSSL 3 LTS support. Instructions for migrating from android-database-sqlcipher to sqlcipher-android may be found here.

SQLCipher Commercial and Enterprise

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

  • All SQLCipher non-FIPS packages that use the OpenSSL Cryptographic Provider are now using OpenSSL 3.0.10 LTS
  • Adds armhf (32 bit) and arm64 support to SQLCipher for Linux, SQLCipher for Linux .NET, and SQLCipher for JDBC packages
  • Adds static libraries (libsqlcipher.a) to SQLCipher for Linux package
  • Continued improvement to .NET MAUI and Xamarin in SQLCipher for iOS .NET to add support for iOS arm64 simulator
  • Updates SQLCipher for Windows System.Data.SQLite to use System.Data.SQLite 1.0.118 as baseline
  • SQLCipher for JDBC now uses xerial/sqlite-jdbc release as baseline
  • Updates SQLitePCL.raw dependencies for all .NET packages to version 2.1.5
  • Updates minimum versions in all iOS and macOS example projects to support current Xcode requirements


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.