You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Prepare options** - `db.prepare(sql, options)` now accepts per-statement options: `readBigInts`, `returnArrays`, `allowBareNamedParameters`, `allowUnknownNamedParameters` to override database-level defaults.**Note:** This is a Node.js v25+ feature; `node:sqlite` on v24 and earlier silently ignores these options.
18
-
-**StatementColumnMetadata type** -`stmt.columns()` now returns richer metadata including `column`, `database`, `table`, and `type` properties alongside `name`
19
-
-**SQLite 3.51.2** - Updated embedded SQLite from 3.51.1 to 3.51.2
11
+
-**`enhance()` function**: Adds better-sqlite3-style `.pragma()` and `.transaction()` methods to any compatible database instance
12
+
-**`isEnhanced()` type guard**: Check if a database has enhanced methods
13
+
-**Transaction helper**: Automatic BEGIN/COMMIT/ROLLBACK with savepoint support for nested transactions
14
+
-**Pragma convenience method**: Simple API for reading and setting SQLite pragmas with `simple` option
15
+
-**Node.js test sync script**: `npm run sync:tests` downloads and adapts upstream Node.js SQLite tests
-**Prepare options**: `db.prepare(sql, options)` now accepts per-statement options (`readBigInts`, `returnArrays`, `allowBareNamedParameters`, `allowUnknownNamedParameters`) to override database-level defaults. This is a Node.js v25+ feature; `node:sqlite` on v24 and earlier silently ignores these options.
18
+
-**StatementColumnMetadata type**:`stmt.columns()` now returns richer metadata including `column`, `database`, `table`, and `type` properties alongside `name`
19
+
-**SQLite 3.51.2**: Updated from 3.51.1
20
20
21
21
### Changed
22
22
@@ -30,10 +30,10 @@ API compatible with `node:sqlite` from Node.js v25.6.1.
30
30
31
31
### Fixed
32
32
33
-
-**Alpine Linux / musl stability** - Resolved native crashes on Alpine Linux by removing N-API reference cleanup from destructors that could corrupt V8 JIT state
34
-
-**Session lifecycle management** - Fixed use-after-free, double-free, and mutex deadlock issues when databases are garbage collected before their sessions
35
-
-**Worker thread stability** - Added proper cleanup hooks and exception handling for worker thread termination
36
-
-**Callback error preservation** - `applyChangeset()` now correctly preserves the original error message when JavaScript callbacks throw
33
+
-**Alpine Linux / musl stability**: Fixed native crashes by removing N-API reference cleanup from destructors that corrupted V8 JIT state
34
+
-**Session lifecycle management**: Fixed use-after-free, double-free, and mutex deadlock when databases are garbage collected before their sessions
35
+
-**Worker thread stability**: Added cleanup hooks and exception handling for worker thread termination
36
+
-**Callback error preservation**: `applyChangeset()` now preserves the original error message when JavaScript callbacks throw
37
37
-`createTagStore()` now throws errors with `code: 'ERR_INVALID_STATE'` property when database is closed, matching Node.js error format
38
38
39
39
## [0.3.0] (2025-12-16)
@@ -65,11 +65,11 @@ API compatible with `node:sqlite` from Node.js v25.6.1.
65
65
-**Defensive mode**: `enableDefensive()` method to prevent SQL from deliberately corrupting the database
0 commit comments