Repository navigation
Fixed
Database.export()now keeps the existing database connection open, preserving update hooks, custom functions and aggregates, prepared statements/cursors, PRAGMAs, TEMP objects, attached databases and change counters. (#644)- Export uses SQLite's backup API to fill a single JS-owned output buffer, avoiding a database-sized WASM allocation and repeated intermediate copies. WAL-mode databases produce standalone, reopenable snapshots.
- Include generated documentation in GitHub Pages deployments. (#645)
Transaction behavior
Commit or roll back an active write transaction before calling export(). Export now throws during a write transaction instead of implicitly rolling it back. Read transactions are supported. Export does not end transactions or change savepoints, including on failure.
The exported file contains only the main database. Connection-local callbacks/settings, TEMP objects and attached databases remain usable on the original connection but are not included in the exported file.
Validation
CI covers all five WebAssembly variants, browser/worker distribution checks and the new export regressions. In the recorded same-runner comparison, exporting a 577.53 MiB database took 233 ms with 21 MiB WASM memory; a 108 MiB database also exported under an enforced 64 MiB WASM cap. Performance varies by environment.
Full changelog: v1.15.1...v1.15.2