SQLCipher 4.11.0 Release

2025-10-08 08:00:00 -0400

We’re pleased to announce the immediate availability of SQLCipher 4.11.0. This release includes a number of enhancements, platform improvements, and important deprecation notices.

SQLCipher Core

  • Converts log output to UTF-16 when writing to stdout or stderr on Windows
  • Fixes check for __has_feature to resolve issue with older compilers that don’t support it
  • Replaces fortuna seeding mechanism for libtomcrypt with rng_get_bytes() to fix deadlock
  • Fixes issues with scope, includes, and macros to support non-amalgamated builds (--disable-amalgamation)
  • Fixes miscellaneous compiler warnings, arguments to provider free_ctx, and return values from sqlcipher_printf
  • Updates SQLCipher for Android to use sqlite3_close_v2() (instead of sqlite3_close()) for improved resource cleanup and finalization
  • Lowers the platform version requirements for SQLCipher.swift
  • Removes CocoaPods support (SQLCipher.podspec.json)

Important Deprecation Notice: LibTomCrypt and NSS providers are now deprecated and will be removed in the next version. Applications using these providers should plan to migrate to alternative crypto providers.

Important Note: Applications upgrading from versions of SQLCipher 4.6.1 or earlier should be aware that this version of SQLCipher incorporates several potential breaking changes from SQLCipher 4.7.0. Please carefully review the 4.7.0 release notes before upgrading.

SQLCipher Commercial and Enterprise

  • Enables SQLITE_ENABLE_UPDATE_DELETE_LIMIT, allowing use of LIMIT clauses on non-query statements
  • Adds support for a System.Data.SQLite 2.x compatibility package in SQLCipher for .NET on Windows, macOS, and Linux
  • Adds support for SQLitePCLRaw 3.x to all SQLCipher .NET packages
  • Expands supported versions of tvOS and watchOS
  • Updates all OpenSSL packages to use an optimized version of OpenSSL 3.5.4 (LTS)
  • Updates all Windows build packages to use the latest VS2022 tooling
  • Eliminates packaging of libfipscnf.so from SQLCipher Android FIPS packages for better interoperability

IMPORTANT: Upgrade Note for .NET

The integration library used for most .NET SQLCipher integrations, SQLitePCLRaw, has recently undergone a major update to version 3.x. The new version makes some substantial structural changes. In order to provide support for both the 2.x and 3.x series we have made corresponding changes to the SQLCipher for .NET packages to remove explicit 2.x dependencies.

Most existing projects using SQLCipher for .NET will have a dependency on SQLitePCLRaw 2.x, for example via a transitive dependency from Microsoft.Data.SQLite.Core, Microsoft.EntityFrameworkCore.Sqlite.Core, or sqlite-net-base. Because SQLCipher packages no longer include this dependency directly, these projects will now need to be updated to add an explicit dependency on the SQLitePCLRaw.bundle_zetetic package. Without this dependency, applications will fail to compile with the error:

error CS0234: The type or namespace name 'Batteries_V2' does not exist in the namespace 'SQLitePCL' (are you missing an assembly reference?)

To resolve this, add the following package reference to your project:

<PackageReference Include="SQLitePCLRaw.bundle_zetetic" Version="2.1.11" />

Once this dependency is added, no other code changes will be necessary for projects continuing to use SQLitePCLRaw 2.x.

Projects wishing to upgrade to SQLitePCLRaw 3.x early will find updated integration instructions in the documentation.

FIPS 140-3 Dual Release

Like with 4.10.0, this release uses a dual release strategy for SQLCipher Enterprise FIPS. SQLCipher 4.11.0 packages with the new FIPS 140-3 validated cryptographic module are available on the “Prerelease” tab of the Customer Downloads fulfillment site, while packages with the FIPS 140-2 module remain available on the “Release” tab. This is the second dual release, allowing organizations to test and validate the new module alongside existing deployments. Don’t forget to update your license code when upgrading.

Future releases of SQLCipher Enterprise FIPS will exclusively use the FIPS 140-3 module. The FIPS 140-2 module will be discontinued.

Upgrading and Availability

SQLCipher 4.11.0 is available for download now. We strongly recommend testing your applications thoroughly with the new version before deploying to production.

Commercial and Enterprise - On-demand access to new releases of SQLCipher packages are available to all licensees with an active CipherCare support subscription from the Customer Downloads fulfillment site. Subscribers 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. Commercial and Enterprise edition upgrades require a new license code from the SQLCipher fulfillment site for each version. Don’t forget to change the license code in your application(s) when you upgrade.

Community Edition - SQLCipher Community Edition source code is available on GitHub, via AAR packaging for Android, and Swift Package Manager for Apple platforms.

For feedback and questions, please visit our Community Forum or private support channels. Thank you for using SQLCipher!