Changes since previous release
- Based on SQLite version 3.53.4
- Adjusted visibility of internal functions and global data
Many functions and global data of the AEGIS and Ascon crypto algorithms were visible to the linker possibly causing name clashes. They have been made consequentlystatic. - Added 2 compile time symbols,
SQLITE3MC_USE_DISPATCH_TABLEandSQLITE3MC_API_TABLE_PREFIX- Symbol
SQLITE3MC_USE_DISPATCH_TABLEallows to effectively hide all SQLite API functions' symbols from the linker by establishing dispatch tables for calling the SQLite API functions. This avoids linker and runtime conflicts, if an application can't avoid to load multiple SQLite instances. In general, applications should avoid to load multiple instances of SQLite, because that can easily lead to database file corruption, if multiple SQLite instances access the same database file(s). However, if each SQLite instance only accesses a set of database files disjunct to each other, it is usually safe to have multiple SQLite instances in the same process. - Symbol
SQLITE3MC_API_TABLE_PREFIXallows to adjust the external names of the dispatch tables, so that even 2 instances of SQLite3MC could operate in parallel, as long as they don't access the same database file(s). If the symbol is not defined, the default prefixsqlite3mcwill be used.
- Symbol
Important
📌 The amalgamation source package including configure is still experimental. 📌
Currently, only POSIX compliant systems are supported. Support files for building on Windows are included, but will only be adapted if the need arises.
Please report any issue you may experience using the GitHub issue tracker.
❗ Please share your experiences with this source package. TIA. ❗
Notes
This release contains the following precompiled binaries:
- SQLite3 binaries for Windows (SQLite3 shell and DLLs) with resp. without enabled ICU support in variants for 32-bit and 64-bit Windows. The SQLite3 shell applications support the SQLite Archive feature,
- Source code amalgamation (amalgamation) - a single C source file and a single C header file,
- Source code amalgamation (autoconf) - a single C source file and a single C header file - including a
configurescript for POSIX compliant systems, - Precompiled SQLite Android library (see SQLite Android Bindings),
- Precompiled bundle of
sqlite3.wasmand its JavaScript APIs, ready for use in web applications (see SQLite3 WebAssembly).
Verification
Release artifacts were built by GitHub Actions and are published with GitHub Artifact Attestations for provenance verification.
The SHA256SUMS file containing the checksums of the release artifacts is additionally signed using Sigstore Cosign.
To verify the integrity and authenticity of the checksum file, install Cosign and run:
cosign verify-blob \
--certificate sqlite3mc-2.5.0-SHA256SUMS.pem \
--signature sqlite3mc-2.5.0-SHA256SUMS.sig \
--certificate-identity-regexp '^https://github.com/utelle/SQLite3MultipleCiphers/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
sqlite3mc-2.5.0-SHA256SUMS