This page does not document every single change within the project, but does make note of significant changes or events. Newest first...
- 🎁 Separate builds of JS files suitable for use with JS "bundler" tools have been added. See these docs for details.
- ⚠️ 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.
- 🎁 The commit/rollback/update/pre-update hook APIs were added.
- 🎁 The auto-extension API was added.
- 🎁 The session API was added. It has only minimal tests so far but seems to work.
- ✂ 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.wasmbuilt with WASMFS makes the build less portable (does not work on some ARM platforms).
- 🔒 Added sqlite3_set_authorizer() support.
- ⚠️ 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=Nemcc flag. An N value of
512KBis believed to be sufficient for this project's builds. Note that
STACK_SIZEis the new (since 3.1.25) name of
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.
- 🥳 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.