Skip to content

SQLite3 Multiple Ciphers 1.3.2 (based on SQLite 3.35.5)

Choose a tag to compare
@utelle utelle released this 14 May 18:23

Changes since previous release

  • Added configuration parameter mc_legacy_wal (issue #40)
  • Fix issue #39: Corrupted WAL journal due to referencing the wrong codec


  • SQLite3 binaries for Windows (SQLite3 shell and DLLs) can be found as separate downloads with resp. without enabled ICU support in variants for 32-bit and 64-bit Windows.
  • Additionally, a source code amalgamation is provided. That is, a single C source file and a single C header file.

⚠️ Important Information when operating SQLite in WAL journal mode ⚠️

To allow concurrent use of SQLite databases in WAL journal mode with legacy encryption implementations like System.Data.SQLite or SQLCipher a new WAL journal encryption implementation was introduced in SQLite Multiple Ciphers version 1.3.0.

Unfortunately, WAL journals left behind by versions <= 1.2.5 are not compatible with this new implementation. To be able to access WAL journals created by prior versions, the configuration parameter mc_legacy_wal was introduced. If the parameter is set to 1, then the prior WAL journal encryption mode is used. The default of this parameter can be set at compile time by setting the symbol SQLITE3MC_LEGACY_WAL accordingly, but the actual value can also be set at runtime using the pragma or the URI parameter mc_legacy_wal.

In principle, operating generally in WAL legacy mode is possible, but it is strongly recommended to use the WAL legacy mode only to recover WAL journals left behind by prior versions without data loss.