@@ -6,56 +6,33 @@ All notable changes to this project will be documented in this file.
66
77### Added
88
9- - ** Node.js v25 compatibility** : Synced with Node.js v25+ for latest features and API compatibility
10- - Native Symbol.dispose implementation moved from JavaScript to C++ for better performance
11- - Session class now exposed in public API for advanced replication workflows
12- - SQLite 3.51.1 with latest performance improvements and features
9+ - ** Node.js v25 API sync** : SQLite 3.51.1, native ` Symbol.dispose ` in C++, Session class exposed in public API
1310
14- - ** New database open options** :
15- - ` readBigInts ` : Return SQLite integers as JavaScript BigInt values
16- - ` returnArrays ` : Return query results as arrays instead of objects
17- - ` allowBareNamedParameters ` : Bind named parameters without prefix character
18- - ` allowUnknownNamedParameters ` : Ignore unknown named parameters instead of throwing
19- - ` defensive ` : Enable SQLite defensive mode at database open
20- - ` open ` : Control deferred database opening
11+ - ** New database open options** : ` readBigInts ` , ` returnArrays ` , ` allowBareNamedParameters ` , ` allowUnknownNamedParameters ` , ` defensive ` , ` open `
2112
22- - ** Defensive mode** : New ` defensive ` option and ` enableDefensive() ` method to prevent SQL from deliberately corrupting the database file
13+ - ** Defensive mode** : ` enableDefensive() ` method to prevent SQL from deliberately corrupting the database
2314
24- - ** Statement control** :
25- - ` setAllowUnknownNamedParameters() ` method for runtime control of parameter binding behavior
26- - ` finalized ` property to check if a statement has been finalized
15+ - ** Statement enhancements** : ` setAllowUnknownNamedParameters() ` method, ` finalized ` property
2716
28- - ** Type identification** : ` sqlite-type ` symbol property on DatabaseSync instances for reliable type checking (matches Node.js PR #59405 )
17+ - ** Type identification** : ` sqlite-type ` symbol property on DatabaseSync ( Node.js PR #59405 )
2918
30- - ** Enhanced error information** : SQLite errors now include additional diagnostic properties:
31- - ` sqliteCode ` : The primary SQLite error code (e.g., ` 14 ` for ` SQLITE_CANTOPEN ` )
32- - ` sqliteExtendedCode ` : Extended error code for more specific information
33- - ` code ` : SQLite error constant name (e.g., ` "SQLITE_CANTOPEN" ` )
34- - ` sqliteErrorString ` : Human-readable error description
35- - ` systemErrno ` : OS error number for I/O operations (when available)
19+ - ** Enhanced SQLite errors** : New properties ` sqliteCode ` , ` sqliteExtendedCode ` , ` code ` , ` sqliteErrorString ` , ` systemErrno `
3620
37- - ** Expanded ARM64 support** : Added prebuilt binaries for ARM64 architectures:
38- - macOS Apple Silicon (ARM64) with native compilation
39- - Windows ARM64 with cross-compilation support
21+ - ** ARM64 prebuilds** : macOS Apple Silicon and Windows ARM64 binaries
4022
41- - ** Tagged template literals** : ` db.createTagStore() ` for cached prepared statements via tagged template syntax (matches Node.js PR #58748 ). Benchmarks show equivalent performance to the native C++ implementation.
23+ - ** Tagged template literals** : ` db.createTagStore() ` for cached prepared statements ( Node.js PR #58748 )
4224
43- - ** Authorization API** : ` db.setAuthorizer() ` for security callbacks invoked before SQL operations (matches Node.js PR #59928 )
25+ - ** Authorization API** : ` db.setAuthorizer() ` for security callbacks ( Node.js PR #59928 )
4426
45- - ** Standalone backup function ** : ` backup(srcDb, destFile, options?) ` for one-liner database backups with progress callbacks
27+ - ** Standalone backup** : ` backup(srcDb, destFile, options?) ` for one-liner database backups with progress callbacks
4628
4729### Fixed
4830
49- - DataView and TypedArray return values now work correctly in user-defined functions
50- - Statement holds strong reference to database object, preventing use-after-free
51- - Thread-local storage for napi_env management improves stability in multi-threaded scenarios
52- - Aggregate function N-API reference cleanup is now safe during destructor
53- - User function destructor validates N-API environment before cleanup
54- - Authorizer callbacks use deferred exception handling for proper error propagation
55- - Null and empty values handled correctly in user function return value conversion
56-
57- - DataView parameter binding now works correctly (previously returned garbage data)
58- - RETURNING clause metadata handling improvements
31+ - DataView parameter binding (previously returned garbage data)
32+ - DataView and TypedArray return values in user-defined functions
33+ - RETURNING clause metadata handling
34+ - Null and empty values in user function return value conversion
35+ - Native stability: N-API reference cleanup in aggregates/destructors, thread-local napi_env storage, statement-to-database reference tracking, deferred exception handling in authorizers
5936
6037## [ 0.0.1] - 2025-06-13
6138
0 commit comments