Skip to content

Releases: sqlcipher/sqlcipher

v5.0.0-beta

v5.0.0-beta Pre-release
Pre-release

Choose a tag to compare

@sjlombardo sjlombardo released this 15 Sep 16:18

WARNING: This should only be used for beta testing at this time, not in production. It includes major functional, API, and behavioral changes that are NOT COMPATIBLE with SQLCipher 4 and earlier by default.

SQLCipher 5.0.0-beta details: https://www.zetetic.net/blog/2026/09/15/sqlcipher-5.0.0-beta/

Summary:

  • Changes architecture to use VFS shims
  • Uses AEAD Encryption with AES-256-GCM
  • Increases KDF iteration increase to 512K
  • Increase default page size to 8192 bytes
  • Adds encryption and decryption support to PRAGMA rekey
  • BREAKING CHANGES - see CHANGELOG.md and release announcement

v4.19.0

Choose a tag to compare

@sjlombardo sjlombardo released this 08 Sep 14:31
  • Reports an error if a database is opened with an invalid hexkey URI parameter
  • Includes the provider error code in KDF error messages
  • Fixes escaping of migration file names
  • Fixes escaping of database aliases in sqlcipher_export()
  • Avoids returning NULL rows from cipher_settings if allocation fails
  • Adjusts behavior for permanent error states
  • Avoids leaking a partially initialized context if an initialization error occurs
  • Fixes error reporting for failed rekey operations
  • Improves consistency of internal memory utilization tracking

This maintenance release addresses two low-risk security issues in the core library related to sqlcipher_export and the hexkey URI parameters respectively. While the practical risks are low, we recommend that applications upgrade to incorporate the fix and the other improvements in this release. For additional details and release notes please consult release announcement.

v4.18.0

Choose a tag to compare

@sjlombardo sjlombardo released this 18 Aug 15:09
  • Updates the upstream SQLite baseline to the latest patch release 3.53.4
  • Avoids allocating memory on Windows during log writes which could cause a crash on Windows under non-default log settings with PRAGMA cipher_memory_security = ON
  • Fixes "relocation truncated to fit" error for optimized GCC builds
  • Adds comments clarifying intent of crypto_openssl.c
  • Other miscellaneous fixes and general improvements

For additional details and release notes please consult the 4.18.0 release announcement.

v4.17.0

Choose a tag to compare

@sjlombardo sjlombardo released this 08 Jul 14:22
  • Update baseline to SQLite 3.53.3
  • Normalize error behavior for incorrect keys when first operation attempts to modfiy the schema
  • Improve error detection, propagation, and fix fortuna reinitialization in LibTomCrypt provider
  • Improve thread safety for debug memory counters and xoshiro state
  • Add optional SQLCIPHER_OMIT_MALLOC macro to improve testability with Address Sanitizer
  • Numerous miscellaneous fixes and general improvements

For additional details and release notes please consult the 4.17.0 release announcement.

v4.16.0

Choose a tag to compare

@sjlombardo sjlombardo released this 12 May 13:48
  • Updates the upstream SQLite baseline to the latest patch release 3.53.1
  • Fixes an allocation issue that could cause an increase in mlock warning messages (most frequently on Android)
  • Removes redundant logging of mlock and VirtualLock failures at WARN level

For additional details and release notes please consult the 4.16.0 release announcement.

v4.15.0

Choose a tag to compare

@sjlombardo sjlombardo released this 28 Apr 13:51
  • Update baseline to SQLite 3.53.0
  • Sanitize source database name passed to sqlcipher_export (reported by
    Dima Petschke from Deutsche Telekom Security GmbH)
  • Improve error handling in sqlcipher_extra_init
  • Remove const from pzErrMesg in sqlcipher_export_init (issue #590)
  • Minor code cleanups

This release includes a fix for a defensive mode bypass in sqlcipher_export. While the practical risk of the bypass is low, we recommend that applications upgrade to incorporate the fix and the other improvements in this release. For additional details and release notes please consult release announcement.

v4.14.0

Choose a tag to compare

@sjlombardo sjlombardo released this 17 Mar 13:45
  • Updates the upstream SQLite baseline to 3.51.3, which fixes a critical WAL-reset database corruption bug. Applications running SQLCipher in WAL mode are strongly advised to upgrade.
  • Reintroduces LibTomCrypt cryptographic provider support based on community feedback
  • Updates the LibTomCrypt provider with improved logging and error handling

v4.13.0

Choose a tag to compare

@sjlombardo sjlombardo released this 20 Jan 17:44
  • Updates baseline to SQLite 3.51.2
  • Corrects encoding for sqlcipher_export() function registration

v4.12.0

Choose a tag to compare

@sjlombardo sjlombardo released this 08 Dec 15:28
  • Updates baseline to SQLite 3.51.1
  • Adds PRAGMA cipher_status so applications can verify a database handle is using encryption
  • Improves guards against key/rekey/attach misuse
  • Adds criteria for PRAGMA cipher_migrate tests
  • Fixes check for __has_feature macro to separate it from use
  • Fixes CHANGELOG.md markdown formatting, typos, and inline code snippets
  • Fixes conditional in SQLCipher pragma handling
  • Removes deprecated providers for LibTomCrypt and NSS
  • Removes unnecessary shutdown and URI config changes in core tests
  • Ensures all test suite database handles are closed before delete

v4.11.0

Choose a tag to compare

@sjlombardo sjlombardo released this 08 Oct 14:10

Full Changelog: v4.10.0...v4.11.0