Skip to content

Commit 7ce537f

Browse files
committed
fix(docs): update README and CHANGELOG for clarity and consistency
1 parent 66486fc commit 7ce537f

File tree

2 files changed

+30
-30
lines changed

2 files changed

+30
-30
lines changed

CHANGELOG.md

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ API compatible with `node:sqlite` from Node.js v25.6.1.
88

99
### Added
1010

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 for compatibility validation
16-
- **Percentile extension** - `SQLITE_ENABLE_PERCENTILE` now enabled, adding `percentile()`, `median()`, `percentile_cont()`, `percentile_disc()` SQL functions (Node.js v25+)
17-
- **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
16+
- **Percentile extension**: `SQLITE_ENABLE_PERCENTILE` now enabled, adding `percentile()`, `median()`, `percentile_cont()`, `percentile_disc()` SQL functions (Node.js v25+)
17+
- **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
2020

2121
### Changed
2222

@@ -30,10 +30,10 @@ API compatible with `node:sqlite` from Node.js v25.6.1.
3030

3131
### Fixed
3232

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
3737
- `createTagStore()` now throws errors with `code: 'ERR_INVALID_STATE'` property when database is closed, matching Node.js error format
3838

3939
## [0.3.0] (2025-12-16)
@@ -65,11 +65,11 @@ API compatible with `node:sqlite` from Node.js v25.6.1.
6565
- **Defensive mode**: `enableDefensive()` method to prevent SQL from deliberately corrupting the database
6666
- **Statement enhancements**: `setAllowUnknownNamedParameters()` method, `finalized` property
6767
- **Type identification**: `sqlite-type` symbol property on DatabaseSync (Node.js PR #59405)
68-
- **Enhanced SQLite errors**: New properties `sqliteCode`, `sqliteExtendedCode`, `code`, `sqliteErrorString`, `systemErrno`
68+
- **SQLite error properties**: `sqliteCode`, `sqliteExtendedCode`, `code`, `sqliteErrorString`, `systemErrno`
6969
- **ARM64 prebuilds**: macOS Apple Silicon and Windows ARM64 binaries
7070
- **Tagged template literals**: `db.createTagStore()` for cached prepared statements (Node.js PR #58748)
7171
- **Authorization API**: `db.setAuthorizer()` for security callbacks (Node.js PR #59928)
72-
- **Standalone backup**: `backup(srcDb, destFile, options?)` for one-liner database backups with progress callbacks
72+
- **Standalone backup**: `backup(srcDb, destFile, options?)` for database backups with progress callbacks
7373

7474
### Fixed
7575

@@ -83,32 +83,32 @@ API compatible with `node:sqlite` from Node.js v25.6.1.
8383

8484
### Added
8585

86-
- Initial release of `@photostructure/sqlite` - standalone SQLite for Node.js 20+
87-
- Full compatibility with Node.js built-in SQLite module API
86+
- Initial release of `@photostructure/sqlite`, standalone SQLite for Node.js 20+
87+
- Compatible with Node.js built-in SQLite module API
8888
- Core SQLite operations with `DatabaseSync` and `StatementSync` classes
89-
- User-defined scalar and aggregate functions with full window function support
90-
- Database backup and restoration capabilities
89+
- User-defined scalar and aggregate functions with window function support
90+
- Database backup and restoration
9191
- SQLite sessions and changesets for change tracking
92-
- Extension loading support with automatic platform-specific file resolution
93-
- TypeScript definitions with complete type coverage
92+
- Extension loading with automatic platform-specific file resolution
93+
- TypeScript definitions
9494
- Cross-platform prebuilt binaries for Windows, macOS, and Linux (x64, ARM64)
95-
- Comprehensive test suite with 89+ tests covering all functionality
95+
- Test suite with 89+ tests
9696
- Memory safety validation with Valgrind and sanitizers
9797
- Performance benchmarking suite comparing to better-sqlite3
9898
- Automated synchronization from Node.js upstream SQLite implementation
9999
- CI/CD pipeline with security scanning and multi-platform builds
100100

101101
### Features
102102

103-
- **Synchronous API**: Fast, blocking database operations ideal for scripts and tools
104-
- **Parameter binding**: Support for all SQLite data types including BigInt
103+
- **Synchronous API**: Blocking database operations for scripts and tools
104+
- **Parameter binding**: All SQLite data types including BigInt
105105
- **Error handling**: Detailed error messages with SQLite error codes
106106
- **Resource limits**: Control memory usage and query complexity
107107
- **Safe integer handling**: JavaScript-safe integer conversion with overflow detection
108-
- **Multi-process support**: Safe concurrent access from multiple Node.js processes
109-
- **Worker thread support**: Full functionality in worker threads
110-
- **URI filename support**: Full SQLite URI syntax support for advanced database configuration
111-
- **Strict tables**: Support for SQLite's strict table mode
108+
- **Multi-process support**: Concurrent access from multiple Node.js processes
109+
- **Worker thread support**: Works in worker threads
110+
- **URI filename support**: SQLite URI syntax for advanced database configuration
111+
- **Strict tables**: SQLite strict table mode
112112
- **Double-quoted strings**: Configurable SQL syntax compatibility
113113

114114
### Platform Support

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ db.close();
3030
- 100% compatible with Node.js v25.6.1 built-in `node:sqlite` module\*
3131
- Zero dependencies - native SQLite implementation
3232
- Synchronous API - no async overhead
33-
- Performance matches leading SQLite libraries
33+
- Performance comparable to better-sqlite3
3434
- Full SQLite feature set ([details](./doc/features.md))
3535
- TypeScript support with complete type definitions
3636
- Cross-platform prebuilt binaries (Windows/macOS/Linux, x64/ARM64)
3737
- User-defined functions and aggregates
3838
- Database backups and session/changeset support
3939
- Session class exposed for advanced replication workflows
40-
- Native Symbol.dispose for improved resource management
40+
- Native `Symbol.dispose` for resource management
4141
- `enhance()` function for better-sqlite3 style `.pragma()` and `.transaction()` methods
4242
- URI filename support for advanced configuration
4343
- Worker thread safe

0 commit comments

Comments
 (0)