Releases: sqlcipher/sqlcipher
Release list
v4.17.0
- 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_MALLOCmacro 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
- 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
mlockandVirtualLockfailures at WARN level
For additional details and release notes please consult the 4.16.0 release announcement.
v4.15.0
- 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
- 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
- Updates baseline to SQLite 3.51.2
- Corrects encoding for
sqlcipher_export()function registration
v4.12.0
- Updates baseline to SQLite 3.51.1
- Adds
PRAGMA cipher_statusso applications can verify a database handle is using encryption - Improves guards against key/rekey/attach misuse
- Adds criteria for
PRAGMA cipher_migratetests - Fixes check for
__has_featuremacro 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
v4.10.0
- 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=addresson 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
- 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_AUTOINITdefined.
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
- Fixes regression in
PRAGMA cipher_migratewhere 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