Skip to content

Releases: sqlcipher/sqlcipher

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

v4.10.0

Choose a tag to compare

@sjlombardo sjlombardo released this 04 Aug 20:05
  • Updates baseline to SQLite 3.50.4 (this version of upstream SQLite address several potential security issues)
  • Allows compile time override of default log level via SQLCIPHER_LOG_LEVEL_DEFAULT macro
  • Fixes issue building with -fstanitize=address on macOS
  • Fixes detection of CommonCrypto version on macOS
  • Improves CommonCrypto version detection on iOS
  • Introduces support for Swift Package Manager via SQLCipher.swift

v4.9.0

Choose a tag to compare

@sjlombardo sjlombardo released this 15 May 18:38
  • Updates baseline to upstream SQLite 3.49.2 - Updates the SQLite baseline to SQLite 3.49.2 to address a security issue in the upstream SQLite library.
  • Removes use of static mutex in sqlcipher_extra_shutdown() - Fixes a small resource leak related to library cleanup when compiling with SQLITE_OMIT_AUTOINIT defined.

Additional Context: The SQLite 3.49.2 update fixes a bug that could allow someone with access to run arbitrary CREATE TABLE statements to trigger a memory error and process crash. The issue was introduced along with NOT NULL optimizations in SQLite 3.40.0 and subsequently incorporated into SQLCipher 4.5.4.

v4.8.0

Choose a tag to compare

@sjlombardo sjlombardo released this 28 Apr 14:05
  • Fixes regression in PRAGMA cipher_migrate where an error would be thrown when migrating a current-version database
  • Adds selective locking in critical sections of the library for shared cache connections (Note: use of shared cache is still strongly discouraged)
  • Standardizes initial private heap size to 48KB to ensure mlock under constrained limits
  • Removes changes to windows working set sizes
  • Improvements to logging of memory stats and other cleanup