115 Commits
Author SHA1 Message Date
Node.js GitHub Bot b22fea5f25 2026-10-14, Version 24.22.0 'Krypton' (LTS)
Notable changes:

crypto:
  * (SEMVER-MINOR) add crypto.parsePKCS12() (Brian Muenzenmeyer) https://github.com/nodejs/node/pull/65627
  * (SEMVER-MINOR) add a generic MAC API (Filip Skokan) https://github.com/nodejs/node/pull/65553
  * (SEMVER-MINOR) discover ciphers from OpenSSL providers (Filip Skokan) https://github.com/nodejs/node/pull/65484
  * (SEMVER-MINOR) discover hashes from OpenSSL providers (Filip Skokan) https://github.com/nodejs/node/pull/65484
  * (SEMVER-MINOR) enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) https://github.com/nodejs/node/pull/63411
doc:
  * add araujogui to collaborators (Guilherme Araújo) https://github.com/nodejs/node/pull/66090
  * deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) https://github.com/nodejs/node/pull/65593
net:
  * (SEMVER-MINOR) support sending net.BoundSocket to threads and child processes (Guy Bedford) https://github.com/nodejs/node/pull/64725
perf_hooks:
  * (SEMVER-MINOR) implement SlidingWindowHistogram (James M Snell) https://github.com/nodejs/node/pull/65825
  * (SEMVER-MINOR) implement qrde analysis support in Histogram (James M Snell) https://github.com/nodejs/node/pull/65806
  * (SEMVER-MINOR) implement Histogram meanCI API (James M Snell) https://github.com/nodejs/node/pull/65606
  * (SEMVER-MINOR) add CBOR export/import for histogram exchange (James M Snell) https://github.com/nodejs/node/pull/65434
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
src,lib:
  * (SEMVER-MINOR) add util.markPromiseAsHandled (James M Snell) https://github.com/nodejs/node/pull/65805
util:
  * (SEMVER-MINOR) implement util.throttle (James M Snell) https://github.com/nodejs/node/pull/65899
  * (SEMVER-MINOR) implement debounce (James M Snell) https://github.com/nodejs/node/pull/65899

PR-URL: https://github.com/nodejs/node/pull/66667
2026-10-14 14:58:26 +00:00
Node.js GitHub Bot 4fa5145b06 2026-10-07, Version 26.11.0 (Current)
Notable changes:

buffer:
  * (SEMVER-MINOR) add isLatin1 (James M Snell) https://github.com/nodejs/node/pull/66298
  * (SEMVER-MINOR) add Buffer.stringLength() (Matteo Collina) https://github.com/nodejs/node/pull/66064
build, doc:
  * move to redesign (Aviv Keller) https://github.com/nodejs/node/pull/62045
doc:
  * promote Alpine Linux to tier 2 support (Stewart X Addison) https://github.com/nodejs/node/pull/63737
http:
  * (SEMVER-MINOR) add isValidHeaderName() and isValidHeaderValue() (James M Snell) https://github.com/nodejs/node/pull/66334
http2:
  * (SEMVER-MINOR) add new connectionWindowSize option (Tim Perry) https://github.com/nodejs/node/pull/65619
perf_hooks:
  * (SEMVER-MINOR) fix truncation of monitorEventLoopDelay() resolution (James M Snell) https://github.com/nodejs/node/pull/66115
  * (SEMVER-MINOR) allow RecordableHistogram to record 0 (James M Snell) https://github.com/nodejs/node/pull/66114
  * (SEMVER-MINOR) add histogram.diff() (James M Snell) https://github.com/nodejs/node/pull/66099
  * (SEMVER-MINOR) add histogram.snapshot() (James M Snell) https://github.com/nodejs/node/pull/66099
  * (SEMVER-MINOR) harden histogram CBOR import validation (James M Snell) https://github.com/nodejs/node/pull/66098
process:
  * (SEMVER-MINOR) graduate process.ref/unref from experimental (James M Snell) https://github.com/nodejs/node/pull/66213
sqlite:
  * (SEMVER-MINOR) rename DatabaseSync and StatementSync (Guilherme Araújo) https://github.com/nodejs/node/pull/65988
src:
  * (SEMVER-MINOR) add --process-timeout=N (James M Snell) https://github.com/nodejs/node/pull/66138
  * (SEMVER-MINOR) expose size and count in heap profile output (Ilyas Shabi) https://github.com/nodejs/node/pull/65737
  * (SEMVER-MINOR) let embedders exempt linked bindings from the addon permission (Shelley Vohr) https://github.com/nodejs/node/pull/66067

PR-URL: https://github.com/nodejs/node/pull/66546
2026-10-07 16:40:44 +02:00
Guilherme Araújo f2b698f1cf sqlite: rename DatabaseSync and StatementSync
Rename the DatabaseSync and StatementSync classes to Database and
Statement, and the internal DatabaseSyncLimits helper to
DatabaseLimits. The old names are kept as aliases of the new classes
and are Documentation-only deprecated (DEP0210, DEP0211).

Assisted-by: Claude Code
Signed-off-by: Guilherme Araújo <arauujogui@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/65988
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2026-09-26 00:03:45 +00:00
Node.js GitHub Bot 976a36a5b6 2026-09-22, Version 26.10.0 (Current)
Notable changes:

crypto:
  * (SEMVER-MINOR) add crypto.parsePKCS12() (Brian Muenzenmeyer) https://github.com/nodejs/node/pull/65627
doc:
  * add araujogui to collaborators (Guilherme Araújo) https://github.com/nodejs/node/pull/66090
ffi:
  * (SEMVER-MINOR) load libraries from a mounted VFS (Matteo Collina) https://github.com/nodejs/node/pull/65909
fs:
  * (SEMVER-MINOR) add openAsBlobSync (greenhead) https://github.com/nodejs/node/pull/65644
net:
  * (SEMVER-MINOR) support sending net.BoundSocket to threads and child processes (Guy Bedford) https://github.com/nodejs/node/pull/64725
perf_hooks:
  * (SEMVER-MINOR) implement SlidingWindowHistogram (James M Snell) https://github.com/nodejs/node/pull/65825
  * (SEMVER-MINOR) implement qrde analysis support in Histogram (James M Snell) https://github.com/nodejs/node/pull/65806
sqlite:
  * (SEMVER-MINOR) bind undefined to NULL (Trevor Burnham) https://github.com/nodejs/node/pull/65709
src,lib:
  * (SEMVER-MINOR) add util.markPromiseAsHandled (James M Snell) https://github.com/nodejs/node/pull/65805
test:
  * (SEMVER-MINOR) expand histogram test coverage (James M Snell) https://github.com/nodejs/node/pull/65825
util:
  * (SEMVER-MINOR) implement util.throttle (James M Snell) https://github.com/nodejs/node/pull/65899
  * (SEMVER-MINOR) implement debounce (James M Snell) https://github.com/nodejs/node/pull/65899

PR-URL: https://github.com/nodejs/node/pull/66163
2026-09-22 10:59:57 +02:00
Trevor Burnhamandbyteforge38 dd9f4dac32 sqlite: add virtual table support via createModule()
Expose SQLite's virtual table API through a new
`database.createModule(name, options)` method, wrapping
`sqlite3_create_module_v2()`. This enables read-only virtual tables
backed by JavaScript data sources, usable either as an eponymous table
(`SELECT * FROM module_name`) or via `CREATE VIRTUAL TABLE t USING
module_name`. Hidden columns pass parameters using table-valued
function syntax (`SELECT * FROM module_name(param1, param2)`).

`options` accepts `columns`, `rows`, `directOnly`, and
`useBigIntArguments`. Column types are validated against INTEGER,
TEXT, REAL, BLOB, and ANY, and column names are quoted when building
the `sqlite3_declare_vtab()` schema.

Rebased from https://github.com/nodejs/node/pull/61544, which was
opened by byteforge38 and became inactive. Changes on top of that
work:

- xColumn reports the value each hidden column was constrained to,
  rather than NULL. SQLite treats xBestIndex's `omit` as a hint, so it
  may recheck a constraint it already handed to xFilter; against NULL
  that recheck rejected every row, and `gs(1, 3) WHERE start = 1`
  returned no rows.
- xBestIndex lowers estimatedCost as it consumes constraints. With a
  constant cost the planner was free to pick the unconstrained plan and
  recheck afterwards, so a correlated parameter such as
  `FROM t, gs(t.a, t.a + 1)` also returned no rows.
- Violations of the iteration protocol report a SQLite error instead of
  calling PropagateJSError with no JavaScript exception pending. That
  left `.all()` returning undefined and `exec()` reporting success.
- xBestIndex passes the constrained hidden-column indices to xFilter
  through idxStr rather than an int bitmask, which previously aliased
  for parameter indices at or above the width of an int.
- xFilter, xNext, and xColumn take a CallbackDepthGuard. Without it
  close() from inside rows(), an iterator's next(), or a row getter
  finalized the statement that SQLite was still stepping, crashing the
  process.
- xClose calls the iterator's return() method so generator `finally`
  blocks run when SQLite stops stepping early, as it does for LIMIT or
  a `break` out of a for...of loop. It is skipped while tearing down
  from ~StatementSync or ~DatabaseSync, which run from garbage
  collection callbacks where JavaScript cannot be executed; an
  abandoned generator does not run `finally` in JavaScript either. It
  is also skipped when an error is already pending, so that error still
  reaches the caller.
- VirtualTableModule holds a BaseObjectWeakPtr<DatabaseSync> to match
  UserDefinedFunction instead of a raw pointer.
- createModule() rejects being called from an authorizer callback.
- Documents that values yielded by rows() follow the usual conversion
  rules, so a number is stored as REAL and a BigInt as INTEGER even
  when a column declares INTEGER, since virtual tables do not apply
  column affinity to the values they return.

Refs: https://github.com/nodejs/node/pull/61544
Refs: https://github.com/nodejs/node/issues/63826
Fixes: https://github.com/nodejs/node/issues/61539

Co-authored-by: byteforge38 <stormcraft318@gmail.com>
Signed-off-by: Trevor Burnham <trevorburnham@gmail.com>
Assisted-by: Claude Opus 5
PR-URL: https://github.com/nodejs/node/pull/65787
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2026-09-22 03:57:34 +00:00
Antoine du Hamel 9afe7dc6ad 2026-09-08, Version 24.21.0 'Krypton' (LTS)
Notable changes:

crypto:
  * update root certificates to NSS 3.126 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/65495
  * (SEMVER-MINOR) support loading private keys through STORE loaders (Filip Skokan) https://github.com/nodejs/node/pull/63949
deps:
  * update OpenSSL to 3.5.8 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/65542
  * update Undici to 7.29.1 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/65789
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
util:
  * (SEMVER-MINOR) add non-throwing `MIMEType.parse` (James M Snell) https://github.com/nodejs/node/pull/64965

PR-URL: https://github.com/nodejs/node/pull/65873
2026-09-08 23:47:03 +02:00
Trevor Burnhamandmike-git374 41cb09f8a5 sqlite: bind undefined to NULL
Omitting a named parameter binds NULL, but passing `undefined` for that
same parameter threw ERR_INVALID_ARG_TYPE. Bind `undefined` to NULL so
the two forms agree. This matches the conversion already applied to a
user-defined function's `undefined` return value, as well as SQLite's
own WASM oo1 API.

Fixes: https://github.com/nodejs/node/issues/61824
Refs: https://github.com/nodejs/node/pull/61472
Refs: https://github.com/nodejs/node/pull/62008
Co-authored-by: mike-git374 <217764531+mike-git374@users.noreply.github.com>
Assisted-by: claude:opus-5
Signed-off-by: Trevor Burnham <trevorburnham@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/65709
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2026-09-08 15:50:32 +00:00
Trevor Burnham c8e5c965e3 sqlite: re-validate database state after reading options
prepare(), function(), aggregate(), deserialize(), applyChangeset() and
backup() validated the connection, then read their options bag with
Object::Get(). A property getter runs arbitrary JavaScript at that
point, so a getter calling close() invalidates what was just checked.
Five of the six then passed a null sqlite3* to SQLite and crashed;
prepare() reported a spurious "out of memory".

Re-check IsOpen() after option parsing, immediately before the SQLite
call, keeping the early check so invalid calls still fail before any
user code runs. IsOpen() is the only condition a getter can change:
authorizer and callback depths are RAII-managed. createSession()
already parsed options first, so it only gains the early check.

deserialize() also latched the buffer length before reading
options.dbName. A getter that shrank the backing store left the length
too large; CopyContents() then handed the uninitialized remainder to
SQLite, from where serialize() returned it to JavaScript. Check the
CopyContents() result instead of discarding it.

function() and aggregate() cast the callback's length property with
As<Int32>() and no IsInt32() guard. length is configurable, so any type
reached the cast and produced a silently wrong arity.

Fixes: https://github.com/nodejs/node/issues/65586
Signed-off-by: Trevor Burnham <trevorburnham@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/65595
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2026-09-03 15:36:30 +00:00
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