This page does not document every single change within the project, but does make note of significant changes or events. Newest first...
2024-04-23:
- π° Added instructions for building with the SQLite Encryption Extension.
2024-03-03:
- β Long-overdue instructions for configuring the library-level JS logging routines have been added to the cookbook.
2023-10-28:
- π The pending 3.44 release increases the limit for any single memory allocation, enabling exports of databases larger than approx. 512mb provided the local environment permits such large allocations. The new limit, 2gb, is imposed by the core library instead of the WASM-level customizations.
2023-08-28:
- β οΈThe 3.43.0 release contains a broken
sqlite3-worker1-bundler-friendly.mjs
. That's been fixed, but the canonical 3.43.0 release has that flaw. The corresponding npm release includes the corrected file. See this forum post for more details.
2023-08-24:
2023-08-12:
- π The upcoming 3.43 release deprecates
sqlite3_js_vfs_create_file()
due to a recently-discovered crash-inducing incompatibility with the core-lib. Its replacement is, for the default VFS,sqlite3_js_posix_create_file()
, and VFS-specific alternatives are listed in the cookbook.
2023-07-22:
- π The
opfs-sahpool
VFS offers an exceedingly performant VFS for OPFS support without the need for the COOP/COEP HTTP headers, but at the cost of a complete lack of multi-tab concurrency.
2023-05-28:
- π Added some documentation about configuring the Content-Security-Policy HTTP header to enable loading of WASM.
2023-04-18:
- π We now have an official npm distribution, contributed by Thomas Steiner.
2023-03-18:
- π Firefox v111, released this past week, now supports persistent databases using OPFS.
2023-03-08:
- π The build was extended to support building with the SQLite Encryption Extension.
2023-02-21:
- π sqlite 3.41 has been released and includes all of the enhancements to the JS APIs added since the 3.40 release, e.g. the bundler-friendly JS files.
2023-01-29:
- π Separate builds of JS files suitable for use with JS "bundler" tools have been added. See these docs for details.
2023-01-27:
- β οΈ ACHTUNG:οΈ Emscripten SDK 3.1.31 results in a broken build because it emits a "use strict" directive in an illegal place. 3.1.30 is known to work.
2022-12-27:
- π The commit/rollback/update/pre-update hook APIs were added.
2022-12-26:
- π The auto-extension API was added.
2022-12-25:
- π The session API was added. It has only minimal tests so far but seems to work.
2022-12-17:
- β Changes in the OPFS-over-WASMFS backend (supplied by
Emscripten) have made it incompatible with the code we have in place
to support it, so documentation references to that persistent
storage implementation have been removed for the time
being. Details: that feature used to work solely in the main thread
and was unusable from a worker thread, but now it's the
opposite. Since we already have a Worker-thread OPFS
solution, there is no pressing need to
introduce a second one, in particular when
sqlite3.wasm
built with WASMFS makes the build less portable (does not work on some ARM platforms).
2022-12-16:
- π Added sqlite3_set_authorizer() support.
2022-12-08:
- π₯³ JavaScript can now be used to implement virtual tables and their siblings, table-valued functions.
2022-12-02:
- β οΈ ACHTUNG:οΈ Emscripten SDK 3.1.27 can lead to subtly broken
sqlite3.wasm
. That version reduced the default WASM stack size from 5MB to 64KB, which silently leads to memory corruption in C code which uses more stack than that (e.g. via large function-local variables like those use by the kvvfs). When building with this version, or any later ones, it is necessary to increase the stack size using the-sSTACK_SIZE=N
emcc flag. An N value of512KB
is believed to be sufficient for this project's builds. Note thatSTACK_SIZE
is the new (since 3.1.25) name ofTOTAL_STACK
.
The canonical builds now account for this using both the above build flag and less stack space, but the initial 3.40 release does not.
2022-11-16:
- π₯³ Public beta is open as of sqlite3 3.40. We expect any number of changes and additions to the JS APIs from now until 3.41, and anticipate applying strict backwards-compatibility constraints on existing JS APIs starting at that point.