0.20.0 (2026-10-31)#
Deterministic statement disposal#
Added synchronous, idempotent Statement.close(). Node closes the native
node:sqlite statement and Bun finalizes the native bun:sqlite statement, so
callers can deterministically release schema locks before later schema changes.
get(), all(), and run() now throw after close.
Database.exec() now closes its internal one-shot statement in finally,
including when execution fails. Explicitly prepared reusable statements remain
open until their caller closes them.
Deno's current node:sqlite implementation does not expose native statement
finalization. Its portable wrapper is invalidated by close(), but the
inaccessible native handle cannot be explicitly finalized. Consumed statements
continue to permit the covered schema changes.