npm / sql.js
sql.js
What changed in sql.js 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-20.
2 breaking1 deprecations2 new APIs and options1 behavior and defaults8 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initsql.js 114 changes
Breaking changes 2
Node.js users need version 18.3 or newer.
WebAssembly support is required for the default and inline builds.
Deprecations 1
Asm.js builds are deprecated but remain in the npm package and sqljs-all.zip; inline WebAssembly builds are recommended for single-file integration.
New APIs and options 2
Adds an inline WebAssembly build that embeds the binary and needs no companion .wasm file or locateFile configuration.
Adds an inline WebAssembly worker build that embeds the binary and needs no companion .wasm file or locateFile configuration.
Behavior and default changes 1
Updates SQLite from 3.49.1 to 3.54.0, which may affect available SQLite behavior.
Fixes and other changes 8
Aggregate callbacks are kept together to prevent SQL names ending in __finalize from colliding with another aggregate's internal finalizer.
Statement.getAsObject() and Database.each() preserve columns named __proto__ while returning ordinary objects.
Registrations are tracked by SQLite's ASCII case-insensitive name and argument count, allowing scalar and aggregate overloads to coexist and be replaced independently.
Allocates SQL strings on the heap, fixing failures with SQL larger than the WebAssembly stack.
Allocates SQL strings on the heap, fixing failures with SQL larger than the WebAssembly stack.
Frees statement iterator resources when a for...of loop exits early.
Embedded NUL characters are preserved when binding or reading TEXT and when passing TEXT to or from JavaScript SQL functions.
Resets the worker database after close so subsequent requests can initialize a fresh database.