SQLCipher 4.6.0 Release

2024-05-21 08:00:00 -0400

We are excited to announce that SQLCipher 4.6.0 is now available.

The most substantial change in this version relates to default logging behavior. A log feature was added into SQLCipher two years ago in version 4.5.1, and has been improved upon since then, but logging was disabled by default. Starting in 4.6.0 the default configuration will emit ERROR and WARN level log messages upon initialization. Default log output is sent to logcat for Android, Console for iOS and macOS, and stderr for all other platforms.

It is our hope that this default logging will help integrating applications more quickly identify common issues (e.g. incorrect key material) and provide improved visibility of rarer error cases. Log output at the ERROR and WARN level have been carefully reviewed to ensure that sensitive data is not exposed.

Since this represents a behavioral change in SQLCipher the minor version number has been incremented. Applications that wish to suppress log output can execute the following PRAGMA statement as the first operation in a process:

PRAGMA cipher_log_level = NONE;

Additional log configuration is possible using cipher_log and cipher_log_level PRAGMAs.

In addition to the logging changes, there are a few other updates:

SQLCipher Core

  • Fixes Apple Privacy Manifest by removing empty NSPrivacyCollectedDataType from PrivacyInfo.xcprivacy
  • Moves Swift support defines for podspec user_target_xcconfig so they only apply to the consuming project using CocoaPods
  • The baseline upstream SQLite remains on 3.45.3 for this release

SQLCipher Commercial and Enterprise

  • Improves Android FIPS examples to enable useLegacyPackaging and extractNativeLibs to ensure .so files are properly extracted
  • Fixes an issue with FIPS packages that could lead to an initialization failure for paths containing spaces
  • Fixes Apple Privacy Manifest by removing empty NSPrivacyCollectedDataType from PrivacyInfo.xcprivacy
  • Dependent packages continue to use OpenSSL 3.0.13 LTS for this release

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.