All notable changes to this project will be documented in this file.
4.0.1 - 2018-12-17
- Based on upstream SQLite 3.26.0 (addresses SQLite “Magellan” issue)
- Adds PRAGMA cipher_compatibility and cipher_default_compatibility which take automatcially configure appropriate compatibility settings for the specified SQLCipher major version number
- Filters attach statements with KEY parameters from readline history
- Fixes crash in command line shell with empty input (i.e. ^D)
- Fixes warnings when compiled with strict-prototypes
4.0.0 - 2018-11-30
- Default page size for databases increased to 4096 bytes (up from 1024) *
- Default PBKDF2 iterations increased to 256,000 (up from 64,000) *
- Default KDF algorithm is now PBKDF2-HMAC-SHA512 (from PBKDF2-HMAC-SHA1) *
- Default HMAC algorithm is now HMAC-SHA512 (from HMAC-SHA1) *
- PRAGMA cipher is now disabled and no longer supported (after multi-year deprecation) *
- PRAGMA rekey_cipher is now disabled and no longer supported *
- PRAGMA rekey_kdf_iter is now disabled and no longer supported *
- By default all memory allocated internally by SQLite before the memory is wiped before it is freed
- PRAGMA cipher_memory_security: allows full memory wiping to be disabled for performance when the feature is not required
- PRAGMA cipher_kdf_algorithm, cipher_default_kdf_algorithm to control KDF algorithm selection between PBKDF2-HMAC-SHA1, PBKDF2-HMAC-SHA256 and PBKDF2-HMAC-SHA512
- PRAGMA cipher_hmac_algorithm, cipher_default_hmac_algorithm to control HMAC algorithm selection between HMAC-SHA1, HMAC-SHA256 and PBKDF2-HMAC-SHA512
- Based on upstream SQLite 3.25.2
- When compiled with readline support, PRAGMA key and rekey lines will no longer be saved to history
- Adds second optional parameter to sqlcipher_export to specify source database to support bidirectional exports
- Fixes compatibility with LibreSSL 2.7.0+
- Fixes compatibility with OpenSSL 1.1.x
- Simplified and improved performance for PRAGMA cipher_migrate when migrating older database versions
- Refactoring of SQLCipher tests into separate files by test type
- PRAGMA cipher_plaintext_header_size and cipher_default_plaintext_header_size: allocates a portion of the database header which will not be encrypted to allow identification as a SQLite database
- PRAGMA cipher_salt: retrieve or set the salt value for the database
- Adds Podspec for using tagged versions of SQLCipher
- Define SQLCIPHER_PROFILE_USE_FOPEN for WinXP support
- Improved error handling for cryptographic providers
- Improved memory handling for PRAGMA commands that return values
- Improved version reporting to assist with identification of distribution
- Major rewrite and simplification of internal codec and pager extension
- Fixes compilation with --disable-amalgamation
- Removes sqlcipher.xcodeproj build support
3.4.2 - 2017-12-21
- Added support for building with LibreSSL
- Merge upstream SQLite 3.20.1
- Text strings for
SQLITE_ERROR
andSQLITE_NOTADB
changed to match upstream SQLite - Remove static modifier for codec password functions
- Page alignment for
mlock
- Fix segfault in
sqlcipher_cipher_ctx_cmp
during rekey operation - Fix
sqlcipher_export
andcipher_migrate
when tracing API in use - Validate codec page size when setting
- Guard OpenSSL initialization and cleanup routines
- Allow additional linker options to be passed via command line for Windows platforms
3.4.1 - 2016-12-28
- Added support for OpenSSL 1.1.0
- Merged upstream SQLite 3.15.2
3.4.0 - 2016-04-05
- Added
PRAGMA cipher_provider_version
- Merged upstream SQLite 3.11.0
- Deprecated
PRAGMA cipher
command
3.3.1 - 2015-07-13
- Merge upstream SQLite 3.8.10.2
- Fixed segfault when provided an invalid cipher name
- Check for codec context when performing
PRAGMA cipher_store_pass
- Remove extraneous null check in
PRAGMA cipher_migrate
3.3.0 - 2015-03-25
- Added FIPS API calls within the OpenSSL crypto provider
PRAGMA cipher_default_page_size
- support for attaching non-default page sizes
- Merged upstream SQLite 3.8.8.3
3.2.0 - 2014-09-30
- Added
PRAGMA cipher_store_pass
- Merged upstream SQLite 3.8.6
- Renmed README to README.md
3.1.0 - 2014-04-23
- Added
PRAGMA cipher_profile
- Merged upstream SQLite 3.8.4.3
3.0.1 - 2013-12-06
- Added
PRAGMA cipher_add_random
to source external entropy
- Fix
PRAGMA cipher_migrate
to handle passphrases longer than 64 characters & raw keys - Improvements to the libtomcrypt provider
3.0.0 - 2013-11-05
- Added
PRAGMA cipher_migrate
to migrate older database file formats
- Merged upstream SQLite 3.8.0.2
- Remove usage of VirtualLock/Unlock on WinRT and Windows Phone
- Ignore HMAC read during Btree file copy
- Fix lib naming for pkg-config
- Use _v2 version of
sqlite3_key
andsqlite3_rekey
- Update xcodeproj file
- Change KDF iteration length from 4,000 to 64,000