Trevor Burnham
01c1300dfc
sqlite: reject closing a session from a callback
...
SQLite runs "PRAGMA table_xinfo" from inside its pre-update hook, while
it is still walking the connection's session list. Deleting a session
from a callback that the PRAGMA triggers frees memory that walk is still
using. Both an authorizer callback and a 'sqlite.db.query' subscriber
reach that window, and either one segfaults.
Reject session.close() and Symbol.dispose when the connection is inside
any callback. An already-closed session stays a no-op so that disposal
remains idempotent.
Fixes: https://github.com/nodejs/node/issues/65428
Signed-off-by: Trevor Burnham <trevorburnham@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/65454
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2026-08-30 10:15:09 -07:00
Guilherme Araújo
2743045dc4
sqlite: throw on disposal of an in-use session
...
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/65449
Fixes: https://github.com/nodejs/node/issues/65447
Refs: https://github.com/nodejs/node/pull/65349
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
2026-08-28 09:26:48 +00:00
Node.js GitHub Bot
30542c362f
2026-08-26, Version 26.8.0 (Current)
...
Notable changes:
benchmark:
* (SEMVER-MINOR) add --analyze mode to compare.js (James M Snell) https://github.com/nodejs/node/pull/65416
crypto:
* update root certificates to NSS 3.126 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/65495
* (SEMVER-MINOR) enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) https://github.com/nodejs/node/pull/63411
diagnostics_channel:
* mark TracingChannel as stable (Abdelrahman Awad) https://github.com/nodejs/node/pull/64525
lib,src:
* (SEMVER-MINOR) improve histogram implementation (James M Snell) https://github.com/nodejs/node/pull/65024
net:
* (SEMVER-MINOR) improve performance of net.BlockList (James M Snell) https://github.com/nodejs/node/pull/64974
perf_hooks:
* (SEMVER-MINOR) add statistical hypothesis testing to histogram (James M Snell) https://github.com/nodejs/node/pull/65416
repl:
* add basic syntax highlighting (Aviv Keller) https://github.com/nodejs/node/pull/64591
sqlite:
* (SEMVER-MINOR) add StatementSync.prototype.close() (Guilherme Araújo) https://github.com/nodejs/node/pull/64232
* (SEMVER-MINOR) add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) https://github.com/nodejs/node/pull/64232
util:
* (SEMVER-MINOR) add non-throwing MIMEType.parse (James M Snell) https://github.com/nodejs/node/pull/64965
zlib:
* (SEMVER-MINOR) add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) https://github.com/nodejs/node/pull/64339
PR-URL: https://github.com/nodejs/node/pull/65551
2026-08-26 16:23:36 +02:00
Trivikram Kamat
c2543d9301
sqlite: reject busy statement finalization in authorizer
...
An iterator can leave a statement active between sqlite3_step() calls.
Finalizing that statement from an authorizer callback can release its
locks and change the outcome of the statement being authorized.
Reject close() and Symbol.dispose when the statement is busy and the
connection is in an authorizer callback. Continue allowing idle
statements to be finalized.
Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com >
Assisted-by: codex:gpt-5.6-sol
PR-URL: https://github.com/nodejs/node/pull/65369
Fixes: https://github.com/nodejs/node/issues/65368
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2026-08-21 03:30:10 +00:00
Trivikram Kamat
d6bbf5799f
sqlite: prevent reentrant session.close()
...
Reject session.close() while generating a changeset or patchset.
Closing the session at that point frees it while SQLite is still
using it, causing a use-after-free.
Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com >
Assisted-by: codex:gpt-5.6-sol
PR-URL: https://github.com/nodejs/node/pull/65349
Fixes: https://github.com/nodejs/node/issues/65347
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2026-08-19 06:42:46 +00:00
Guilherme Araújo
c7b962c222
sqlite: add diagnostic channel
...
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/62241
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2026-08-15 19:42:37 +00:00
greenhead
91aaf05a25
doc: fix SQLite changeset constant descriptions
...
Signed-off-by: greenhead <shren0812@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/65265
Refs: https://www.sqlite.org/session/c_changeset_abort.html
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2026-08-15 14:41:37 +00:00
Guilherme Araújo
c8996eaec9
sqlite: add stmt persistent flag
...
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/62757
Reviewed-By: Xuguang Mei <meixuguang@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
2026-08-14 21:57:31 +00:00
Trevor Burnham
c4b755ee00
sqlite: reject connection access from authorizer callbacks
...
SQLite requires that an authorizer callback not modify the connection
that invoked it, and counts sqlite3_prepare_v2() and sqlite3_step() as
modifications. node:sqlite let the callback call prepare(), exec(), the
statement execution methods, and other connection-mutating APIs on the
same DatabaseSync. Track authorizer depth on DatabaseSync with an RAII
guard around the callback and throw ERR_INVALID_STATE from the affected
entry points while it is on the stack. Covering every authorizer
invocation, including the re-prepare that SQLite can run during
sqlite3_step(), exposed a second and distinct hazard: reentering a
statement that is currently being stepped is a use-after-free rather
than a contract violation, since finalizing it frees the virtual machine
under sqlite3_step() and re-running it resets that machine
mid-execution. Any callback SQLite invokes during execution can reach
it, so a user-defined function is enough. Track the statements currently
being stepped and reject reentry into only those, which leaves a
user-defined function free to prepare, run, and finalize its own helper
statements.
Signed-off-by: Trevor Burnham <trevorburnham@gmail.com >
Fixes: https://github.com/nodejs/node/issues/63207
Assisted-by: claude:opus-5
PR-URL: https://github.com/nodejs/node/pull/65156
Reviewed-By: Xuguang Mei <meixuguang@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2026-08-14 21:43:35 +00:00
Edy Silva
f46e96fe54
sqlite: expose prepared statement statistics
...
Signed-off-by: geeksilva97 <edigleyssonsilva@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/64541
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2026-08-13 13:59:56 +00:00
Trivikram Kamat
7d712ae426
doc: document close() error when in a sqlite callback
...
Signed-off-by: Trivikram Kamat <16024985+trivikr@users.noreply.github.com >
PR-URL: https://github.com/nodejs/node/pull/65090
Refs: https://github.com/nodejs/node/pull/64743
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
2026-08-11 18:40:25 +00:00
Trevor Burnham
cb9bb66780
sqlite: reject statement-less SQL in prepare()
...
Apply the same check to DatabaseSync::Prepare() so that statement-less
SQL is rejected at preparation instead of on first use. This matches
SQLite's own oo1 JavaScript API, which throws when the SQL contains no
statements rather than exposing the C API's null statement pointer.
Previously db.prepare('-- comment') returned a StatementSync whose
statement_ was null. Every method on it threw "statement has been
finalized", which was misleading because nothing had been finalized, and
the object was still inserted into statements_. Since IsFinalized() is
true for a null statement, its destructor skipped UntrackStatement() and
left a dangling pointer in the set that a later close() would finalize.
Refs: https://github.com/nodejs/node/pull/65157#discussion_r3742903347
Refs: https://sqlite.org/wasm/doc/trunk/api-oo1.md
Signed-off-by: Trevor Burnham <trevorburnham@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/65157
Fixes: https://github.com/nodejs/node/issues/65149
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2026-08-11 03:14:51 +00:00
Kamat, Trivikram
b2b7405d26
sqlite: reject deserialize() while in a callback
...
deserialize() could be called from a user-defined function invoked
during statement execution, tearing down the database connection while
sqlite3_step() was still using it. Reuse the existing callback depth
check to throw ERR_INVALID_STATE instead, matching the guard already
in place for close().
Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com >
Assisted-by: codex:gpt-5.6-sol
PR-URL: https://github.com/nodejs/node/pull/64796
Refs: https://github.com/nodejs/node/issues/64795
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2026-08-09 16:26:58 -07:00
Guilherme Araújo
114e356521
doc: document sqlite parameter binding
...
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/65089
Refs: https://github.com/nodejs/node/pull/62001
Refs: https://github.com/nodejs/node/pull/62061
Reviewed-By: Aviv Keller <me@aviv.sh >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2026-08-08 19:20:54 +00:00
Guilherme Araújo
862d994469
doc: finalize statements in sqlite examples
...
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/65088
Reviewed-By: Aviv Keller <me@aviv.sh >
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2026-08-08 17:17:23 +00:00
Trivikram Kamat
f538f11faf
sqlite: reject non-positive backup rates
...
Passing a rate of 0 to backup() causes sqlite3_backup_step() to copy
no pages. The backup job then continually reschedules itself and the
returned promise never settles.
Require backup rates to be positive integers to prevent zero-work
backup jobs.
Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com >
Assisted-by: codex:gpt-5.6-sol
PR-URL: https://github.com/nodejs/node/pull/64893
Fixes: https://github.com/nodejs/node/issues/64892
Reviewed-By: James M Snell <jasnell@gmail.com >
2026-08-08 07:29:36 +00:00
Sumit Kumar Das
606356c270
doc: clarify sqlite bare parameter default
...
Signed-off-by: skdas20 <skdas5405@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/62009
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2026-08-08 07:29:13 +00:00
Guilherme Araújo
51c0d94072
sqlite: add StatementSync.prototype.close()
...
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/64232
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
2026-08-05 18:10:35 -07:00
Guilherme Araújo
04c104a725
sqlite: add StatementSync.prototype[Symbol.dispose]()
...
This extends explicit resource management support to prepared
statements, allowing a StatementSync to be deterministically
finalized via a `using` declaration, mirroring the existing
DatabaseSync and Session dispose methods.
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/64232
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
2026-08-05 18:10:31 -07:00
Antoine du Hamel
85d4a5f4f1
doc: clarify filter option of sqlite.database.applyChangeset
...
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/63515
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
2026-05-26 13:41:13 +00:00
Node.js GitHub Bot
0d6541aca0
2026-05-21, Version 24.16.0 'Krypton' (LTS)
...
Notable changes:
crypto:
* (SEMVER-MINOR) implement `randomUUIDv7()` (nabeel378) https://github.com/nodejs/node/pull/62553
debugger:
* (SEMVER-MINOR) add edit-free runtime expression probes to `node inspect` (Joyee Cheung) https://github.com/nodejs/node/pull/62713
fs:
* (SEMVER-MINOR) add `signal` option to `fs.stat()` (Mert Can Altin) https://github.com/nodejs/node/pull/57775
* (SEMVER-MINOR) expose `frsize` field in `statfs` (Jinho Jang) https://github.com/nodejs/node/pull/62277
http:
* (SEMVER-MINOR) harden `ClientRequest` options merge (Matteo Collina) https://github.com/nodejs/node/pull/63082
* (SEMVER-MINOR) add `req.signal` to `IncomingMessage` (Akshat) https://github.com/nodejs/node/pull/62541
stream:
* (SEMVER-MINOR) propagate destruction in `duplexPair` (Ahmed Elhor) https://github.com/nodejs/node/pull/61098
test_runner:
* (SEMVER-MINOR) support test order randomization (Pietro Marchini) https://github.com/nodejs/node/pull/61747
* (SEMVER-MINOR) align mock timeout api (sangwook) https://github.com/nodejs/node/pull/62820
* (SEMVER-MINOR) add mock-timers support for `AbortSignal.timeout` (DeveloperViraj) https://github.com/nodejs/node/pull/60751
util:
* (SEMVER-MINOR) colorize text with hex colors (Guilherme Araújo) https://github.com/nodejs/node/pull/61556
PR-URL: https://github.com/nodejs/node/pull/63263
2026-05-21 15:17:18 +02:00
Antoine du Hamel
ccab9ac506
doc: fix inconsistencies in CJS code snippets
...
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/63199
Reviewed-By: Jacob Smith <jacob@frende.me >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com >
2026-05-10 14:16:15 +00:00
Edy Silva
11740ef113
doc,sqlite: document entryPoint argument for loadExtension
...
Signed-off-by: geeksilva97 <edigleyssonsilva@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/63152
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
2026-05-08 14:15:57 +00:00
Antoine du Hamel
a725fe1389
2026-05-07, Version 26.1.0 (Current)
...
Notable changes:
buffer:
* (SEMVER-MINOR) add `end` parameter (Robert Nagy) https://github.com/nodejs/node/pull/62390
crypto:
* (SEMVER-MINOR) accept key data in `crypto.diffieHellman()` and cleanup DH jobs (Filip Skokan) https://github.com/nodejs/node/pull/62527
* (SEMVER-MINOR) implement `randomUUIDv7()` (nabeel378) https://github.com/nodejs/node/pull/62553
debugger:
* (SEMVER-MINOR) add edit-free runtime expression probes to `node inspect` (Joyee Cheung) https://github.com/nodejs/node/pull/62713
fs:
* (SEMVER-MINOR) add `signal` option to `fs.stat()` (Mert Can Altin) https://github.com/nodejs/node/pull/57775
* (SEMVER-MINOR) expose frsize field in statfs (Jinho Jang) https://github.com/nodejs/node/pull/62277
http:
* (SEMVER-MINOR) harden `ClientRequest` options merge (Matteo Collina) https://github.com/nodejs/node/pull/63082
* (SEMVER-MINOR) add `req.signal` to `IncomingMessage` (Akshat) https://github.com/nodejs/node/pull/62541
lib,src,test,doc:
* (SEMVER-MINOR) add `node:ffi` module (Colin Ihrig) https://github.com/nodejs/node/pull/62072
process:
* (SEMVER-MINOR) throw on `execve(2)` failure instead of aborting (Bryan English) https://github.com/nodejs/node/pull/62878
src:
* (SEMVER-MINOR) allow empty `--experimental-config-file` (Marco Ippolito) https://github.com/nodejs/node/pull/61610
stream:
* (SEMVER-MINOR) propagate destruction in `duplexPair` (Ahmed Elhor) https://github.com/nodejs/node/pull/61098
test_runner:
* (SEMVER-MINOR) align mock timeout api (sangwook) https://github.com/nodejs/node/pull/62820
* (SEMVER-MINOR) add mock-timers support for `AbortSignal.timeout` (DeveloperViraj) https://github.com/nodejs/node/pull/60751
* (SEMVER-MINOR) support test order randomization (Pietro Marchini) https://github.com/nodejs/node/pull/61747
util:
* (SEMVER-MINOR) colorize text with hex colors (Guilherme Araújo) https://github.com/nodejs/node/pull/61556
PR-URL: https://github.com/nodejs/node/pull/63137
2026-05-07 12:01:50 +02:00
Node.js GitHub Bot
0dceddde2c
2026-04-15, Version 24.15.0 'Krypton' (LTS)
...
Notable changes:
cli:
* (SEMVER-MINOR) add --max-heap-size option (tannal) https://github.com/nodejs/node/pull/58708
* add --require-module/--no-require-module (Joyee Cheung) https://github.com/nodejs/node/pull/60959
crypto:
* (SEMVER-MINOR) add raw key formats support to the KeyObject APIs (Filip Skokan) https://github.com/nodejs/node/pull/62240
fs:
* (SEMVER-MINOR) add `throwIfNoEntry` option for fs.stat and fs.promises.stat (Juan José) https://github.com/nodejs/node/pull/61178
http2:
* (SEMVER-MINOR) add http1Options for HTTP/1 fallback configuration (Amol Yadav) https://github.com/nodejs/node/pull/61713
module:
* mark require(esm) as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60959
* mark module compile cache as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60971
net:
* (SEMVER-MINOR) add `setTOS` and `getTOS` to `Socket` (Amol Yadav) https://github.com/nodejs/node/pull/61503
sqlite:
* (SEMVER-MINOR) add limits property to DatabaseSync (Mert Can Altin) https://github.com/nodejs/node/pull/61298
* mark as release candidate (Matteo Collina) https://github.com/nodejs/node/pull/61262
src:
* (SEMVER-MINOR) add C++ support for diagnostics channels (RafaelGSS) https://github.com/nodejs/node/pull/61869
stream:
* (SEMVER-MINOR) rename `Duplex.toWeb()` type option to `readableType` (René) https://github.com/nodejs/node/pull/61632
test_runner:
* add exports option for module mocks (sangwook) https://github.com/nodejs/node/pull/61727
* (SEMVER-MINOR) expose worker ID for concurrent test execution (Ali Hassan) https://github.com/nodejs/node/pull/61394
* (SEMVER-MINOR) show interrupted test on SIGINT (Matteo Collina) https://github.com/nodejs/node/pull/61676
PR-URL: https://github.com/nodejs/node/pull/62681
2026-04-15 18:59:05 +02:00
Ali Hassan
4a41a002f6
sqlite: add serialize() and deserialize()
...
Add database.serialize() and database.deserialize() methods to
DatabaseSync, wrapping the sqlite3_serialize and sqlite3_deserialize
C APIs. These allow extracting an in-memory database as a Uint8Array
and loading one back, enabling snapshots, cloning, and transfer of
databases without filesystem I/O.
Refs: https://github.com/nodejs/node/issues/62575
PR-URL: https://github.com/nodejs/node/pull/62579
Refs: https://github.com/nodejs/node/issues/62575
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
2026-04-10 20:40:01 +00:00
René
d587695292
doc: move sqlite type conversion section to correct level
...
PR-URL: https://github.com/nodejs/node/pull/62482
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2026-03-31 00:56:55 +00:00
Node.js GitHub Bot
3b9fe896c3
2026-03-03, Version 25.8.0 (Current)
...
Notable changes:
build, doc:
* use new api doc tooling (flakey5) https://github.com/nodejs/node/pull/57343
sqlite:
* (SEMVER-MINOR) add limits property to DatabaseSync (Mert Can Altin) https://github.com/nodejs/node/pull/61298
src:
* (SEMVER-MINOR) add C++ support for diagnostics channels (RafaelGSS) https://github.com/nodejs/node/pull/61869
src,permission:
* (SEMVER-MINOR) add --permission-audit (RafaelGSS) https://github.com/nodejs/node/pull/61869
test_runner:
* (SEMVER-MINOR) expose worker ID for concurrent test execution (Ali Hassan) https://github.com/nodejs/node/pull/61394
PR-URL: https://github.com/nodejs/node/pull/62073
2026-03-03 15:50:38 +00:00
René
70242eaba9
doc: separate in-types and out-types in SQLite conversion docs
...
PR-URL: https://github.com/nodejs/node/pull/62034
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com >
2026-03-02 00:49:18 +00:00
Mert Can Altin
35d3bc8fe8
sqlite: add limits property to DatabaseSync
...
PR-URL: https://github.com/nodejs/node/pull/61298
Fixes: https://github.com/nodejs/node/issues/61268
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2026-02-27 19:00:28 +00:00
René
b1a2b7d3ea
doc: rename invalid function parameter
...
PR-URL: https://github.com/nodejs/node/pull/61942
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com >
2026-02-24 16:00:47 +00:00
Antoine du Hamel
7427866935
2026-02-24, Version 25.7.0 (Current)
...
Notable changes:
http2:
* (SEMVER-MINOR) add http1Options for HTTP/1 fallback configuration (Amol Yadav) https://github.com/nodejs/node/pull/61713
sea:
* (SEMVER-MINOR) support ESM entry point in SEA (Joyee Cheung) https://github.com/nodejs/node/pull/61813
sqlite:
* mark as release candidate (Matteo Collina) https://github.com/nodejs/node/pull/61262
stream:
* (SEMVER-MINOR) rename `Duplex.toWeb()` type option to `readableType` (René) https://github.com/nodejs/node/pull/61632
test_runner:
* (SEMVER-MINOR) show interrupted test on SIGINT (Matteo Collina) https://github.com/nodejs/node/pull/61676
PR-URL: https://github.com/nodejs/node/pull/61922
2026-02-24 10:24:26 -05:00
Antoine du Hamel
001d5d4b77
2026-02-24, Version 24.14.0 'Krypton' (LTS)
...
Notable changes:
async_hooks:
* (SEMVER-MINOR) add `trackPromises` option to `createHook()` (Joyee Cheung) https://github.com/nodejs/node/pull/61415
build,deps:
* replace cjs-module-lexer with merve (Yagiz Nizipli) https://github.com/nodejs/node/pull/61456
deps:
* (SEMVER-MINOR) add LIEF as a dependency (Joyee Cheung) https://github.com/nodejs/node/pull/61167
events:
* (SEMVER-MINOR) repurpose `events.listenerCount()` to accept `EventTarget`s (René) https://github.com/nodejs/node/pull/60214
fs:
* (SEMVER-MINOR) add `ignore` option to `fs.watch` (Matteo Collina) https://github.com/nodejs/node/pull/61433
http:
* (SEMVER-MINOR) add `http.setGlobalProxyFromEnv()` (Joyee Cheung) https://github.com/nodejs/node/pull/60953
module:
* (SEMVER-MINOR) allow subpath imports that start with `#/` (Jan Martin) https://github.com/nodejs/node/pull/60864
process:
* (SEMVER-MINOR) preserve `AsyncLocalStorage` in `queueMicrotask` only when needed (Gürgün Dayıoğlu) https://github.com/nodejs/node/pull/60913
sea:
* (SEMVER-MINOR) split sea binary manipulation code (Joyee Cheung) https://github.com/nodejs/node/pull/61167
sqlite:
* (SEMVER-MINOR) enable defensive mode by default (Bart Louwers) https://github.com/nodejs/node/pull/61266
* (SEMVER-MINOR) add sqlite prepare options args (Guilherme Araújo) https://github.com/nodejs/node/pull/61311
src:
* (SEMVER-MINOR) add initial support for ESM in embedder API (Joyee Cheung) https://github.com/nodejs/node/pull/61548
stream:
* (SEMVER-MINOR) add `bytes()` method to `node:stream/consumers` (wantaek) https://github.com/nodejs/node/pull/60426
* (SEMVER-MINOR) do not pass `readable.compose()` output via `Readable.from()` (René) https://github.com/nodejs/node/pull/60907
test:
* (SEMVER-MINOR) use fixture directories for sea tests (Joyee Cheung) https://github.com/nodejs/node/pull/61167
test_runner:
* (SEMVER-MINOR) add `env` option to `run` function (Ethan Arrowood) https://github.com/nodejs/node/pull/61367
* (SEMVER-MINOR) support expecting a test-case to fail (Jacob Smith) https://github.com/nodejs/node/pull/60669
util:
* (SEMVER-MINOR) add `convertProcessSignalToExitCode` utility (Erick Wendel) https://github.com/nodejs/node/pull/60963
PR-URL: https://github.com/nodejs/node/pull/61924
2026-02-24 10:20:06 -05:00
Matteo Collina
c9acf34592
sqlite: mark as release candidate
...
PR-URL: REPLACEME
PR-URL: https://github.com/nodejs/node/pull/61262
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
2026-02-21 16:30:23 +00:00
Antoine du Hamel
beb7fd9d10
2026-02-10, Version 24.13.1 'Krypton' (LTS)
...
Notable changes:
build:
* add support for Python 3.14 (Christian Clauss) https://github.com/nodejs/node/pull/59983
cli:
* mark `--heapsnapshot-near-heap-limit` as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60956
crypto:
* update root certificates to NSS 3.119 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/61419
doc:
* mark `--build-snapshot` and `--build-snapshot-config` as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60954
meta:
* add avivkeller to collaborators (Aviv Keller) https://github.com/nodejs/node/pull/61115
* add gurgunday to collaborators (Gürgün Dayıoğlu) https://github.com/nodejs/node/pull/61094
* add Renegade334 to collaborators (Renegade334) https://github.com/nodejs/node/pull/60714
url:
* update ada to v3.4.2 and support unicode 17 (Yagiz Nizipli) https://github.com/nodejs/node/pull/61593
v8:
* mark `v8.queryObjects()` as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60957
PR-URL: https://github.com/nodejs/node/pull/61661
2026-02-10 14:16:51 +01:00
Antoine du Hamel
6beb65e00e
2026-01-26, Version 25.5.0 (Current)
...
Notable changes:
crypto:
* update root certificates to NSS 3.119 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/61419
deps:
* (SEMVER-MINOR) add LIEF as a dependency (Joyee Cheung) https://github.com/nodejs/node/pull/61167
* (SEMVER-MINOR) add tools and scripts to pull LIEF as a dependency (Joyee Cheung) https://github.com/nodejs/node/pull/61167
fs:
* (SEMVER-MINOR) add ignore option to fs.watch (Matteo Collina) https://github.com/nodejs/node/pull/61433
sea:
* (SEMVER-MINOR) add `--build-sea` to generate SEA directly with Node.js binary (Joyee Cheung) https://github.com/nodejs/node/pull/61167
* (SEMVER-MINOR) split sea binary manipulation code (Joyee Cheung) https://github.com/nodejs/node/pull/61167
sqlite:
* (SEMVER-MINOR) enable defensive mode by default (Bart Louwers) https://github.com/nodejs/node/pull/61266
* (SEMVER-MINOR) add sqlite prepare options args (Guilherme Araújo) https://github.com/nodejs/node/pull/61311
src:
* use node- prefix on thread names (Stewart X Addison) https://github.com/nodejs/node/pull/61307
test:
* (SEMVER-MINOR) migrate to `--build-sea` in existing SEA tests (Joyee Cheung) https://github.com/nodejs/node/pull/61167
* (SEMVER-MINOR) use fixture directories for sea tests (Joyee Cheung) https://github.com/nodejs/node/pull/61167
test_runner:
* (SEMVER-MINOR) support expecting a test-case to fail (Jacob Smith) https://github.com/nodejs/node/pull/60669
PR-URL: https://github.com/nodejs/node/pull/61519
2026-01-26 21:30:03 +01:00
Bart Louwers
f475aea034
sqlite: enable defensive mode by default
...
PR-URL: https://github.com/nodejs/node/pull/61266
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com >
2026-01-20 11:10:53 +00:00
Guilherme Araújo
efa7621132
sqlite: add sqlite prepare options args
...
PR-URL: https://github.com/nodejs/node/pull/61311
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day >
Reviewed-By: Claudio Wunder <cwunder@gnome.org >
2026-01-19 23:27:03 +00:00
Node.js GitHub Bot
973e119d22
2026-01-19, Version 25.4.0 (Current)
...
Notable changes:
cli:
* add --require-module/--no-require-module (Joyee Cheung) https://github.com/nodejs/node/pull/60959
* mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60956
crypto:
* update root certificates to NSS 3.117 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/60741
doc:
* add @avivkeller to collaborators (Aviv Keller) https://github.com/nodejs/node/pull/61115
* add gurgunday to collaborators (Gürgün Dayıoğlu) https://github.com/nodejs/node/pull/61094
* mark --build-snapshot and --build-snapshot-config as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60954
events:
* (SEMVER-MINOR) repurpose `events.listenerCount()` to accept EventTargets (René) https://github.com/nodejs/node/pull/60214
http:
* (SEMVER-MINOR) add http.setGlobalProxyFromEnv() (Joyee Cheung) https://github.com/nodejs/node/pull/60953
meta:
* add Renegade334 to collaborators (Renegade334) https://github.com/nodejs/node/pull/60714
module:
* mark require(esm) as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60959
* mark module compile cache as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60971
* (SEMVER-MINOR) allow subpath imports that start with `#/` (Jan Martin) https://github.com/nodejs/node/pull/60864
process:
* (SEMVER-MINOR) preserve AsyncLocalStorage in queueMicrotask only when needed (Gürgün Dayıoğlu) https://github.com/nodejs/node/pull/60913
stream:
* (SEMVER-MINOR) do not pass `readable.compose()` output via `Readable.from()` (René) https://github.com/nodejs/node/pull/60907
util:
* (SEMVER-MINOR) add convertProcessSignalToExitCode utility (Erick Wendel) https://github.com/nodejs/node/pull/60963
v8:
* mark v8.queryObjects() as stable (Joyee Cheung) https://github.com/nodejs/node/pull/60957
PR-URL: https://github.com/nodejs/node/pull/61400
2026-01-19 14:00:39 -03:00
René
d91543a731
doc: add sqlite session disposal method
...
PR-URL: https://github.com/nodejs/node/pull/61273
Refs: https://github.com/nodejs/node/pull/58378
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2026-01-08 21:34:57 +00:00
René
a1f421feb6
sqlite: make SQLTagStore.prototype.size a getter
...
Drive-by: make callback `args` parameter names consistent
PR-URL: https://github.com/nodejs/node/pull/60246
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2025-12-11 02:29:09 +00:00
Node.js GitHub Bot
47d8b88868
2025-12-10, Version 24.12.0 'Krypton' (LTS)
...
Notable changes:
http:
* (SEMVER-MINOR) add optimizeEmptyRequests server option (Rafael Gonzaga) https://github.com/nodejs/node/pull/59778
lib:
* (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) https://github.com/nodejs/node/pull/59982
module:
* (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) https://github.com/nodejs/node/pull/60600
node-api:
* (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) https://github.com/nodejs/node/pull/59953
sqlite:
* (SEMVER-MINOR) allow setting defensive flag (Bart Louwers) https://github.com/nodejs/node/pull/60217
src:
* (SEMVER-MINOR) add watch config namespace (Marco Ippolito) https://github.com/nodejs/node/pull/60178
* (SEMVER-MINOR) add an option to make compile cache portable (Aditi) https://github.com/nodejs/node/pull/58797
src,permission:
* (SEMVER-MINOR) add --allow-inspector ability (Rafael Gonzaga) https://github.com/nodejs/node/pull/59711
v8:
* (SEMVER-MINOR) add cpu profile (theanarkh) https://github.com/nodejs/node/pull/59807
PR-URL: https://github.com/nodejs/node/pull/61001
2025-12-10 17:40:34 +01:00
schliepa
d0c102495a
doc: show the use of string expressions in the SQLTagStore example
...
If a users attempts to escape strings with quotes in SQLTagStore
template strings (`'${expression}'`), as is usually required for
SQL query strings, the queries would fail. This change shows an
example on the correct use (`${expression}`).
PR-URL: https://github.com/nodejs/node/pull/60873
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2025-11-30 13:31:56 +00:00
René
1ce22dd4d6
doc: correct and expand documentation for SQLTagStore
...
PR-URL: https://github.com/nodejs/node/pull/60200
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2025-11-16 01:12:09 +00:00
Antoine du Hamel
828cd8ae6a
doc: add missing history entry for sqlite.md
...
PR-URL: https://github.com/nodejs/node/pull/60607
Fixes: https://github.com/nodejs/node/issues/60601
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com >
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2025-11-08 16:56:14 +00:00
Allon Murienik
b8e51e4cef
doc: add CJS code snippets in sqlite.md
...
Refs: https://github.com/nodejs/node/issues/60394
PR-URL: https://github.com/nodejs/node/pull/60395
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2025-11-08 16:01:50 +01:00
Edy Silva
0981426d3c
sqlite,doc: fix StatementSync section
...
PR-URL: https://github.com/nodejs/node/pull/60474
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2025-10-31 02:46:05 +00:00
Antoine du Hamel
f1d8634179
2025-10-28, Version 25.1.0 (Current)
...
Notable changes:
http:
* (SEMVER-MINOR) add optimizeEmptyRequests server option (Rafael Gonzaga) https://github.com/nodejs/node/pull/59778
sqlite:
* (SEMVER-MINOR) allow setting defensive flag (Bart Louwers) https://github.com/nodejs/node/pull/60217
src:
* (SEMVER-MINOR) add watch config namespace (Marco Ippolito) https://github.com/nodejs/node/pull/60178
PR-URL: https://github.com/nodejs/node/pull/60436
2025-10-28 20:03:00 +01:00
Bart Louwers
fd7b33e763
sqlite: allow setting defensive flag
...
PR-URL: https://github.com/nodejs/node/pull/60217
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com >
2025-10-27 14:01:16 +00:00
Aviv Keller
d54e6aec9e
doc: createSQLTagStore -> createTagStore
...
PR-URL: https://github.com/nodejs/node/pull/60182
Refs: https://discord.com/channels/425824580918181889/425824580918181891/1425966053242048584
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2025-10-11 22:16:14 +00:00