2025-06-24, Version 22.17.0 'Jod' (LTS), @aduh95
Constructing classes like IncomingMessage
or ServerResponse
without the new
keyword is now discouraged. This clarifies API expectations and aligns with standard JavaScript behavior. It may warn or error in future versions.
Contributed by Yagiz Nizipli in #58518.
Using an empty string for shell
previously had undefined behavior. This change encourages explicit choices (e.g., shell: true
or a shell path) and avoids relying on implementation quirks.
Contributed by Antoine du Hamel and Renegade334 #58564.
The HTTP/2 prioritization API (e.g., stream.priority
) is now deprecated due to poor real-world support. Applications should avoid using priority hints and expect future removal.
Contributed by Matteo Collina and Antoine du Hamel #58313.
This method compares only a subset of properties in deep object comparisons, useful for flexible test assertions. Its stabilization means it's now safe for general use and won't change unexpectedly in future releases.
Contributed by Ruben Bridgewater in #57370.
dirent.parentPath
filehandle.readableWebStream()
fs.glob()
fs.openAsBlob()
node:readline/promises
port.hasRef()
readable.compose()
readable.iterator()
readable.readableAborted
readable.readableDidRead
Duplex.fromWeb()
Duplex.toWeb()
Readable.fromWeb()
Readable.isDisturbed()
Readable.toWeb()
stream.isErrored()
stream.isReadable()
URL.createObjectURL()
URL.revokeObjectURL()
v8.setHeapSnapshotNearHeapLimit()
Writable.fromWeb()
Writable.toWeb()
writable.writableAborted
- Startup Snapshot API
ERR_INPUT_TYPE_NOT_ALLOWED
ERR_UNKNOWN_FILE_EXTENSION
ERR_UNKNOWN_MODULE_FORMAT
ERR_USE_AFTER_CLOSE
Contributed by James M Snell in #57513 and #58541.
This gives developers explicit control over whether the file descriptor should be closed when the stream ends. Helps avoid subtle resource leaks.
Contributed by James M Snell in #58548.
This improves ergonomics around async iteration of directories. Developers can now manually control when a directory is closed using .close()
or with Symbol.asyncDispose
.
Contributed by Antoine du Hamel in #58206.
Adds observability support for when a stream finishes. Useful for logging, monitoring, and debugging HTTP/2 behavior without patching internals.
Contributed by Darshan Sen in #58560.
Node.js permissions model now allows read access to the entry file by default. It makes running permission-restricted apps smoother while preserving security.
Contributed by Rafael Gonzaga in #58579.
This lets developers remove styling cleanly without hacks. Useful for overriding inherited terminal styles when composing styled strings.
Contributed by James M Snell in #58437.
- [
0105c13556
] - doc: add Filip Skokan to TSC (Rafael Gonzaga) #58499 - [
3b857735ef
] - doc: add JonasBa to collaborators (Jonas Badalic) #58355 - [
fdf7612735
] - doc: add puskin to collaborators (Giovanni Bucci) #58308
- [
ffe7e1ace0
] - (SEMVER-MINOR) assert: mark partialDeepStrictEqual() as stable (Ruben Bridgewater) #57370 - [
269931f289
] - async_hooks: ensure AsyncLocalStore instances work isolated (Gerhard Stöbich) #58149 - [
9e0746a4ff
] - benchmark: fix broken fs.cpSync benchmark (Dario Piotrowicz) #58472 - [
dee8cb5bcb
] - benchmark: add more options to cp-sync (Sonny) #58278 - [
e840fd5b85
] - benchmark: fix typo in method name for error-stack (Miguel Marcondes Filho) #58128 - [
b9a16e97e0
] - buffer: give names toBuffer.prototype.*Write()
functions (Livia Medeiros) #58258 - [
d56a5e40af
] - buffer: use constexpr where possible (Yagiz Nizipli) #58141 - [
215587feca
] - build: add support for OpenHarmony operating system (hqzing) #58350 - [
9bcef6821c
] - build: fix uvwasi pkgname (Antoine du Hamel) #58270 - [
7c3883c2ae
] - build: search for libnode.so in multiple places (Jan Staněk) #58213 - [
3f954accb3
] - build: fix pointer compression builds (Joyee Cheung) #58171 - [
04c8f59f84
] - build: use FILE_OFFSET_BITS=64 esp. on 32-bit arch (RafaelGSS) #58090 - [
8c2cf3a372
] - build: use //third_party/simdutf by default in GN (Shelley Vohr) #58115 - [
cff8006792
] - child_process: give names toChildProcess
functions (Livia Medeiros) #58370 - [
6816d779b6
] - child_process: give names to promisifiedexec()
andexecFile()
(LiviaMedeiros) #57916 - [
5572cecca4
] - crypto: expose crypto.constants.OPENSSL_IS_BORINGSSL (Shelley Vohr) #58387 - [
d6aa02889c
] - deps: use proper C standard when building libuv (Yaksh Bariya) #58587 - [
375a6413d5
] - deps: update simdjson to 3.12.3 (Node.js GitHub Bot) #57682 - [
e0cd138e52
] - deps: update googletest to e9092b1 (Node.js GitHub Bot) #58565 - [
31e592631f
] - deps: update corepack to 0.33.0 (Node.js GitHub Bot) #58566 - [
386c24260b
] - deps: update sqlite to 3.50.0 (Node.js GitHub Bot) #58272 - [
f84998d40b
] - deps: update OpenSSL gen container to Ubuntu 22.04 (Michaël Zasso) #58432 - [
d49fd29859
] - deps: update llhttp to 9.3.0 (Fedor Indutny) #58144 - [
e397980a1a
] - deps: update libuv to 1.51.0 (Node.js GitHub Bot) #58124 - [
a28c33645c
] - dns: fix dns query cache implementation (Ethan Arrowood) #58404 - [
6939b0c624
] - doc: fix the order ofprocess.md
sections (Allon Murienik) #58403 - [
1ca253c363
] - doc: add support link for panva (Filip Skokan) #58591 - [
8319edbcf6
] - doc: update metadata for _transformState deprecation (James M Snell) #58530 - [
697d258136
] - doc: deprecate passing an empty string tooptions.shell
(Antoine du Hamel) #58564 - [
132fc804e8
] - doc: correct formatting of example definitions for--test-shard
(Jacob Smith) #58571 - [
7d0df646f6
] - doc: clarify DEP0194 scope (Antoine du Hamel) #58504 - [
1e6d7da0ce
] - doc: deprecate HTTP/2 priority signaling (Matteo Collina) #58313 - [
5a917bc1d0
] - doc: explain child_process code and signal null values everywhere (Darshan Sen) #58479 - [
0105c13556
] - doc: add Filip Skokan to TSC (Rafael Gonzaga) #58499 - [
2bdc87cd64
] - doc: updategit node release
example (Antoine du Hamel) #58475 - [
28f9b43186
] - doc: add missing options.info for ZstdOptions (Jimmy Leung) #58360 - [
e19496dfc1
] - doc: add missing options.info for BrotliOptions (Jimmy Leung) #58359 - [
7f905863db
] - doc: clarify x509.checkIssued only checks metadata (Filip Skokan) #58457 - [
5cc97df637
] - doc: add links to parent class fornode:zlib
classes (Antoine du Hamel) #58433 - [
36e0d5539b
] - doc: remove remaining uses of@@wellknown
syntax (René) #58413 - [
2f36f8e863
] - doc: clarify behavior of --watch-path and --watch flags (Juan Ignacio Benito) #58136 - [
3b857735ef
] - doc: add JonasBa to collaborators (Jonas Badalic) #58355 - [
9d5e969bb6
] - doc: add latest security release steward (Rafael Gonzaga) #58339 - [
b22bb03167
] - doc: fix CryptoKey.algorithm type and other interfaces in webcrypto.md (Filip Skokan) #58294 - [
670f31060b
] - doc: mark the callback argument of crypto.generatePrime as mandatory (Allon Murienik) #58299 - [
39d9a61239
] - doc: remove comma delimiter mention on permissions doc (Rafael Gonzaga) #58297 - [
573b0b7bfe
] - doc: make Stability labels not sticky in Stability index (Livia Medeiros) #58291 - [
a5a686a3ae
] - doc: update commit-queue documentation (Dario Piotrowicz) #58275 - [
fdf7612735
] - doc: add puskin to collaborators (Giovanni Bucci) #58308 - [
be492a1708
] - doc: update stability status for diagnostics_channel to experimental (Idan Goshen) #58261 - [
7d00fc2206
] - doc: clarify napi_get_value_string_* for bufsize 0 (Tobias Nießen) #58158 - [
c8500a2c4a
] - doc: fix typo of filehttp.md
,outgoingMessage.setTimeout
section (yusheng chen) #58188 - [
34a9b856c3
] - doc: update return types for eventNames method in EventEmitter (Yukihiro Hasegawa) #58083 - [
faedee59d2
] - doc: fix typo in benchmark script path (Miguel Marcondes Filho) #58129 - [
570d8d3f10
] - doc: clarify future Corepack removal in v25+ (Trivikram Kamat) #57825 - [
a71b9fc2ff
] - doc: mark multiple APIs stable (James M Snell) #57513 - [
73a97d47f3
] - doc,lib: update source map links to ECMA426 (Chengzhong Wu) #58597 - [
8b41429499
] - doc,src,test: fix typos (Noritaka Kobayashi) #58477 - [
0cea14ec7f
] - errors: show url of unsupported attributes in the error message (Aditi) #58303 - [
b9586bf898
] - (SEMVER-MINOR) fs: add autoClose option to FileHandle readableWebStream (James M Snell) #58548 - [
72a1b061f3
] - fs: unexpose internal constants (Chengzhong Wu) #58327 - [
5c36510dec
] - fs: add support forURL
forfs.glob
'scwd
option (Antoine du Hamel) #58182 - [
3642b0d944
] - fs: improve cpSync no-filter copyDir performance (Dario Piotrowicz) #58461 - [
24865bc7e8
] - fs: improvecpSync
dest overriding performance (Dario Piotrowicz) #58160 - [
1b3847694d
] - (SEMVER-MINOR) fs: add toDir
support for explicit resource management (Antoine du Hamel) #58206 - [
cff62e3265
] - fs: ensuredir.read()
does not throw synchronously (Antoine du Hamel) #58228 - [
cb39e4ca1f
] - fs: glob is stable, so should not emit experimental warnings (Théo LUDWIG) #58236 - [
597bfefbe1
] - http: deprecate instantiating classes without new (Yagiz Nizipli) #58518 - [
5298da0102
] - http: remove unused functions and add todos (Yagiz Nizipli) #58143 - [
cff440e0fa
] - http,https: give names to anonymous or misnamed functions (Livia Medeiros) #58180 - [
43bf1f619a
] - http2: add raw header array support to h2Session.request() (Tim Perry) #57917 - [
e8a0f5b063
] - http2: add lenient flag for RFC-9113 (Carlos Fuentes) #58116 - [
49cb90d4a5
] - (SEMVER-MINOR) http2: add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560 - [
6a56c68728
] - http2: add diagnostics channel 'http2.server.stream.error' (Darshan Sen) #58512 - [
59806b41d3
] - http2: add diagnostics channel 'http2.server.stream.start' (Darshan Sen) #58449 - [
d3d662ae47
] - http2: remove no longer userful options.selectPadding (Jimmy Leung) #58373 - [
dec6c9af8c
] - http2: add diagnostics channel 'http2.server.stream.created' (Darshan Sen) #58390 - [
9e98899986
] - http2: add diagnostics channel 'http2.client.stream.close' (Darshan Sen) #58329 - [
86610389d8
] - http2: add diagnostics channel 'http2.client.stream.finish' (Darshan Sen) #58317 - [
2d3071671e
] - http2: add diagnostics channel 'http2.client.stream.error' (Darshan Sen) #58306 - [
6c3e426d6f
] - http2: add diagnostics channel 'http2.client.stream.start' (Darshan Sen) #58292 - [
b99d131a61
] - http2: add diagnostics channel 'http2.client.stream.created' (Darshan Sen) #58246 - [
b0644330f5
] - http2: give name to promisifiedconnect()
(LiviaMedeiros) #57916 - [
4092d3611a
] - inspector: add mimeType and charset support to Network.Response (Shima Ryuhei) #58192 - [
d7d8599f7c
] - inspector: add protocol method Network.dataReceived (Chengzhong Wu) #58001 - [
aabafbc28f
] - inspector: support for worker inspection in chrome devtools (Shima Ryuhei) #56759 - [
20d978de9a
] - lib: make ERM functions into wrappers returning undefined (Livia Medeiros) #58400 - [
13567eac5f
] - (SEMVER-MINOR) lib: graduate error codes that have been around for years (James M Snell) #58541 - [
342b5a0d7a
] - lib: remove no-mixed-operators eslint rule (Ruben Bridgewater) #58375 - [
af7baef75a
] - lib: fix sourcemaps with ts module mocking (Marco Ippolito) #58193 - [
8f73f42d4e
] - meta: bump github/codeql-action from 3.28.16 to 3.28.18 (dependabot[bot]) #58552 - [
5dfedbeb86
] - meta: bump codecov/codecov-action from 5.4.2 to 5.4.3 (dependabot[bot]) #58551 - [
53c50f66f5
] - meta: bump step-security/harden-runner from 2.11.0 to 2.12.0 (dependabot[bot]) #58109 - [
a1a7024831
] - meta: bump ossf/scorecard-action from 2.4.1 to 2.4.2 (dependabot[bot]) #58550 - [
a379988ef6
] - meta: bump rtCamp/action-slack-notify from 2.3.2 to 2.3.3 (dependabot[bot]) #58108 - [
f6a46c87f2
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #58456 - [
98b6aa0dcd
] - meta: bump github/codeql-action from 3.28.11 to 3.28.16 (dependabot[bot]) #58112 - [
5202b262e3
] - meta: bump codecov/codecov-action from 5.4.0 to 5.4.2 (dependabot[bot]) #58110 - [
d97616ac6e
] - meta: bump actions/download-artifact from 4.2.1 to 4.3.0 (dependabot[bot]) #58106 - [
f4065074cf
] - meta: ignore mailmap changes in linux ci (Jonas Badalic) #58356 - [
e6d1224e54
] - meta: bump actions/setup-node from 4.3.0 to 4.4.0 (dependabot[bot]) #58111 - [
26da160ab2
] - meta: bump actions/setup-python from 5.5.0 to 5.6.0 (dependabot[bot]) #58107 - [
4cc4195493
] - module: handle instantiated async module jobs in require(esm) (Joyee Cheung) #58067 - [
72fac71b92
] - module: clarify cjs global-like error on ModuleJobSync (Carlos Espa) #56491 - [
fecd841c93
] - net: always publish to 'net.client.socket' diagnostics channel (Darshan Sen) #58349 - [
25ee328d2b
] - path: improve path.resolve() performance when used as process.cwd() (Ruben Bridgewater) #58362 - [
6fd1b23260
] - permission: remove useless conditional (Juan José) #58514 - [
5b2cca51a3
] - report: use uv_getrusage_thread in report (theanarkh) #58405 - [
63ec23e84b
] - sqlite: add build option to build without sqlite (Michael Dawson) #58122 - [
9d8677bff5
] - sqlite: handle thrown errors in result callback (Colin Ihrig) #58426 - [
3490c75760
] - sqlite: setname
andlength
onsqlite.backup()
(Livia Medeiros) #58251 - [
50bdd94e0b
] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #58500 - [
7de58417cc
] - src: env_vars caching and local variable scope optimization (Mert Can Altin) #57624 - [
6d99ec33a4
] - src: fix FIPS init error handling (Tobias Nießen) #58379 - [
4c23a9575e
] - src: fix possible dereference of null pointer (Eusgor) #58459 - [
eb143e902b
] - src: fix -Wreturn-stack-address error (Shelley Vohr) #58439 - [
31058b8785
] - src: reorganize ContextifyFunction methods (Chengzhong Wu) #58434 - [
7521077299
] - src: improve CompileFunctionAndCacheResult error handling (Chengzhong Wu) #58434 - [
0c9efccb12
] - src: fix build when using shared simdutf (Antoine du Hamel) #58407 - [
aa00f5946f
] - src: add a variant of ToV8Value() for primitive arrays (Aditi) #57576 - [
29a11506fc
] - src: remove unusedcheckMessagePort
internal binding (Dario Piotrowicz) #58267 - [
0ce3feed5b
] - src: remove unusedshouldRetryAsESM
internal binding (Dario Piotrowicz) #58265 - [
517219613d
] - src: add a couple fast apis in node_os (James M Snell) #58210 - [
3f834da09e
] - src: fix module buffer allocation (X-BW) #57738 - [
a793706db0
] - src: remove overzealous tcsetattr error check (Ben Noordhuis) #58200 - [
5656c74517
] - src: remove NonCopyableMaybe (Tobias Nießen) #58168 - [
cab242334b
] - src: improve parsing of boolean options (Edy Silva) #58039 - [
a5df778150
] - src,lib: obtain sourceURL in magic comments from V8 (Chengzhong Wu) #58389 - [
bd6743b434
] - src,permission: implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579 - [
5bd99e4a4d
] - stream: making DecompressionStream spec compilent for trailing junk (0hm☘️) #58316 - [
6582b19488
] - test: reduce flakiness in test-heapdump-http2 (Joyee Cheung) #58148 - [
0f6a262744
] - test: improve flakiness detection on stack corruption tests (Darshan Sen) #58601 - [
983affaea2
] - test: mark timeouts & flaky test as flaky on IBM i (Abdirahim Musse) #58583 - [
3603362b6f
] - test: rewrite test-child-process-spawn-args (Michaël Zasso) #58546 - [
93900b0c17
] - test: make sqlite-database-sync tests work with system sqlite (Jelle Licht) #58507 - [
7d505f4185
] - test: force slow JSON.stringify path for overflow (Shelley Vohr) #58181 - [
2e8570b8f9
] - test: account for truthy signal in flaky async_hooks tests (Darshan Sen) #58478 - [
1f1e194c0f
] - test: update WPT for WebCryptoAPI to 591c95ce61 (Node.js GitHub Bot) #58176 - [
d822632d91
] - test: remove --no-warnings flag (Tobias Nießen) #58424 - [
01377713d7
] - test: add tests ensuring worker threads cannot access internals (Joe) #58332 - [
99a20902fc
] - test: leverage process.features.openssl_is_boringssl in test (Shelley Vohr) #58421 - [
b3e0cf1b15
] - test: fix test-buffer-tostring-range on allocation failure (Joyee Cheung) #58416 - [
1d4b3451c5
] - test: skip in test-buffer-tostring-rangeerror on allocation failure (Joyee Cheung) #58415 - [
612c393c71
] - test: fix missing edge case in test-blob-slice-with-large-size (Joyee Cheung) #58414 - [
b11b9cdad8
] - test: make crypto tests work with BoringSSL (Shelley Vohr) #58117 - [
99711ee548
] - test: test reordering of setAAD and setAuthTag (Tobias Nießen) #58396 - [
828aaaa3f7
] - test: switch from deprecatedoptparse
toargparse
(Aviv Keller) #58224 - [
9af305408e
] - test: do not skip OCB decryption in FIPS mode (Tobias Nießen) #58382 - [
9527c876bf
] - test: show more information in test-http2-debug upon failure (Joyee Cheung) #58391 - [
9be0601112
] - test: remove loop over single element (Tobias Nießen) #58368 - [
40a03d3d14
] - test: add chacha20-poly1305 to auth tag order test (Tobias Nießen) #58367 - [
cccb15df7e
] - test: skip wasm-allocation tests for pointer compression builds (Joyee Cheung) #58171 - [
f18041ae8e
] - test: remove references to create(De|C)ipher (Tobias Nießen) #58363 - [
ca8d66c1fc
] - test: remove unnecessaryconsole.log
from test-repl-null-thrown (Dario Piotrowicz) #58281 - [
455372023d
] - test: allowtmpDir.path
to be modified (Aviv Keller) #58173 - [
1f1fab60c7
] - test: fix executable flags (Livia Medeiros) #58250 - [
8bafc0f061
] - test: deflake test-http2-client-socket-destroy (Luigi Pinca) #58212 - [
97aac9f17a
] - test: skip test-buffer-tostring-rangeerror when low on memory (Ruben Bridgewater) #58142 - [
2896760da1
] - test: marktest-http2-debug
as flaky on LinuxONE (Richard Lau) #58494 - [
7327d14780
] - test: reduce iteration count in test-child-process-stdout-flush-exit (Antoine du Hamel) #58273 - [
1bd7a2edf9
] - test_runner: support mocking json modules (Jacob Smith) #58007 - [
a3877c53b1
] - test_runner: add level parameter to reporter.diagnostic (Jacopo Martinelli) #57923 - [
253772c2d9
] - tools: bump the eslint group in/tools/eslint
with 6 updates (dependabot[bot]) #58549 - [
b7feda97b0
] - tools: disable failing coverage jobs (Antoine du Hamel) #58770 - [
8a47096093
] - tools: ignoredeps/
andbenchmark/
for CodeQL (Rafael Gonzaga) #58254 - [
70be158126
] - tools: add read permission to workflows that read contents (Antoine du Hamel) #58255 - [
e4373be766
] - tools: exclude deps/v8/tools from CodeQL scans (Rich Trott) #58132 - [
23ceb364d4
] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #58105 - [
5b6ced3255
] - tty: improve color terminal color detection (Ruben Bridgewater) #58146 - [
7be70979c6
] - tty: use terminal VT mode on Windows (Anna Henningsen) #58358 - [
b7d7ffe793
] - typings: add inspector internalBinding typing (Shima Ryuhei) #58492 - [
0056d1a2e2
] - typings: remove no longer validFixedSizeBlobCopyJob
type (Dario Piotrowicz) #58305 - [
581c0738f9
] - typings: remove no longer validrevokeDataObject
type (Dario Piotrowicz) #58305 - [
1db1c870f0
] - typings: add missing typings forTypedArray
(Jason Zhang) #58248 - [
6d3f43c9a6
] - url: improve performance of the format function (Giovanni Bucci) #57099 - [
54288bdb42
] - (SEMVER-MINOR) util: add 'none' style to styleText (James M Snell) #58437 - [
6af5358f9c
] - util: add internalassignFunctionName()
function (LiviaMedeiros) #57916 - [
9f2e5aad38
] - vm: import call should return a promise in the current context (Chengzhong Wu) #58309 - [
92304a5e62
] - watch: fix watch args not being properly filtered (Dario Piotrowicz) #58279 - [
539df8e98d
] - win,tools: use Azure Trusted Signing (Stefan Stojanovic) #58502 - [
ef66357637
] - worker: give names toMessagePort
functions (Livia Medeiros) #58307 - [
b3cd847528
] - zlib: remove mentions of unexposed Z_TREES constant (Jimmy Leung) #58371
2025-06-24, Version 24.3.0 (Current), @RafaelGSS
- [
841609ac1c
] - doc: add islandryu to collaborators (Shima Ryuhei) #58714 - [
839964ece8
] - (SEMVER-MINOR) fs: allow correct handling of burst in fs-events with AsyncIterator (Philipp Dunkel) #58490 - [
9b28f40834
] - (SEMVER-MINOR) module: remove experimental warning from type stripping (Marco Ippolito) #58643 - [
7cdda927fa
] - test: fix test-timeout-flag after revert of auto subtest wait (Pietro Marchini) #58282 - [
dce1995c55
] - Revert "test_runner: remove promises returned by t.test()" (Romain Menke) #58282 - [
8b0c5edbb6
] - Revert "test_runner: remove promises returned by test()" (Romain Menke) #58282 - [
713fbad7b6
] - (SEMVER-MINOR) test_runner: support object property mocking (Idan Goshen) #58438 - [
ef0230abaf
] - (SEMVER-MINOR) url: add fileURLToPathBuffer API (James M Snell) #58700
- [
2ba2c93dee
] - build: fix typo 'Stoage' to 'Storage' in help text (ganglike) #58777 - [
11811c15da
] - deps: update nghttp2 to 1.66.0 (Node.js GitHub Bot) #58786 - [
7643ce9322
] - deps: update acorn to 8.15.0 (Node.js GitHub Bot) #58711 - [
4b61f10eb6
] - deps: V8: cherry-pick e3df60f3f5ab (Chengzhong Wu) #58691 - [
fa6854f083
] - deps: update amaro to 1.1.0 (Node.js GitHub Bot) #58754 - [
68671f4314
] - deps: upgrade npm to 11.4.2 (npm team) #58696 - [
450f4815b3
] - deps: update amaro to 1.0.0 (Node.js GitHub Bot) #58639 - [
3aa2762e96
] - deps: update sqlite to 3.50.1 (Node.js GitHub Bot) #58630 - [
80eac147e6
] - deps: update simdjson to 3.13.0 (Node.js GitHub Bot) #58629 - [
dc1023878c
] - deps: update zlib to 1.3.1-470d3a2 (Node.js GitHub Bot) #58628 - [
97fbfd82af
] - doc: fix stability 1.x links excluding the decimal digit (Dario Piotrowicz) #58783 - [
e2e88d4971
] - doc: fix wrong RFC number in http2 (Deokjin Kim) #58753 - [
7bb1246c8f
] - doc: add history entry for TS support in hooks (Antoine du Hamel) #58732 - [
f125310d3a
] - doc: run license-builder (github-actions[bot]) #58722 - [
841609ac1c
] - doc: add islandryu to collaborators (Shima Ryuhei) #58714 - [
1cc77c7ee6
] - doc: punctuation fix for Node-API versioning clarification (Jiacai Liu) #58599 - [
d59680348e
] - doc: add path rules and validation for export targets in package.json (0hm☘️) #58604 - [
b6760b3379
] - esm: syncify default path ofModuleLoader.load
(Jacob Smith) #57419 - [
96c78d726c
] - fs: makeDir
disposers idempotent (René) #58692 - [
62b5879d88
] - fs: avoid computing time coefficient constants in runtime (Livia Medeiros) #58728 - [
af18c0e81a
] - fs: remove IIFE in glob (LiviaMedeiros) #58418 - [
fb4378b72e
] - fs: add UV_ENOSPC to list of things to pass to err directly (Jacky Zhao) #56918 - [
839964ece8
] - (SEMVER-MINOR) fs: allow correct handling of burst in fs-events with AsyncIterator (Philipp Dunkel) #58490 - [
c9dc0a8903
] - http: fix keep-alive not timing out after post-request empty line (Shima Ryuhei) #58178 - [
b11da1115e
] - http2: fix DEP0194 message (KaKa) #58669 - [
b1f60d2f18
] - http2: add diagnostics channel 'http2.server.stream.close' (Darshan Sen) #58602 - [
be93091694
] - inspector: add protocol methods retrieving sent/received data (Chengzhong Wu) #58645 - [
20089e2a2e
] - lib: renamevalidateInternalField
intovalidateThisInternalField
(LiviaMedeiros) #58765 - [
74983832f9
] - lib: makevalidateInternalField()
throwERR_INVALID_THIS
(LiviaMedeiros) #58765 - [
081c70878f
] - lib: make domexception a native error (Chengzhong Wu) #58691 - [
6390f70da2
] - lib,src: support DOMException ser-des (Chengzhong Wu) #58649 - [
4c2c100f63
] - meta: add @nodejs/inspector as codeowner (Chengzhong Wu) #58790 - [
ff8a3691c4
] - module: fix typescript import.meta.main (Marco Ippolito) #58661 - [
45f7d160ed
] - module: refactor commonjs typescript loader (Marco Ippolito) #58657 - [
9b28f40834
] - (SEMVER-MINOR) module: remove experimental warning from type stripping (Marco Ippolito) #58643 - [
a3c7a63c73
] - module: allow cycles in require() in the CJS handling in ESM loader (Joyee Cheung) #58598 - [
d0e42ffa58
] - repl: avoid deprecatedrequire.extensions
in tab completion (baki gul) #58653 - [
82b18ba890
] - repl: fix tab completion not working with computer string properties (Dario Piotrowicz) #58709 - [
8c2089683e
] - src: add FromV8Value<T>() for integral and enum types (Aditi) #57931 - [
a0b1378a20
] - src: pass resource on permission checks for spawn (Rafael Gonzaga) #58758 - [
dfb0144490
] - src: enhance error messages for unknown options (Pietro Marchini) #58677 - [
e9c6fa514c
] - src: replace std::array with static arrays in contextify (Mert Can Altin) #58580 - [
4347ce3dba
] - src: add new CopyUtimes function to reduce code duplication (Dario Piotrowicz) #58625 - [
893999e0ee
] - src: replace V8 Fast API todo comment with note comment (Dario Piotrowicz) #58614 - [
7cdda927fa
] - test: fix test-timeout-flag after revert of auto subtest wait (Pietro Marchini) #58282 - [
d9c2b7054b
] - test: refactor repl save-load tests (Dario Piotrowicz) #58715 - [
3faa4e8b56
] - test: deflake test-buffer-large-size-buffer-alloc-unsafe (Luigi Pinca) #58771 - [
8eec789888
] - test: correct SIMD support comment (Richard Lau) #58767 - [
6e0ee39b6d
] - test: skip the test if the buffer allocation fails (Luigi Pinca) #58738 - [
d94b184700
] - test: deflake test-buffer-large-size-buffer-alloc (Luigi Pinca) #58734 - [
704b1fa075
] - test: add tests for REPL custom evals (Dario Piotrowicz) #57850 - [
c39d570871
] - test: reduce the use of private symbols in test-events-once.js (Yoshiya Hinosawa) #58685 - [
b7e488c77f
] - test: refactor repl tab complete tests (Dario Piotrowicz) #58636 - [
ec808b3e06
] - test: usecommon.skipIfInspectorDisabled()
to skip tests (Dario Piotrowicz) #58675 - [
94e53d4f6c
] - test: update WPT for urlpattern to 3ffda23e5a (Node.js GitHub Bot) #58537 - [
fa089d610f
] - test: update WPT for dom/abort to dc928169ee (Node.js GitHub Bot) #58644 - [
aa657f0fc4
] - test: split indirect eval import tests (Chengzhong Wu) #58637 - [
76e3c8aaf2
] - test: update WPT for es-exceptions to 2f96fa1996 (Node.js GitHub Bot) #58640 - [
7e34aa4eaa
] - test: skip tests failing when run under root (Livia Medeiros) #58610 - [
85f062c22e
] - test: deflake async-hooks/test-improper-order on AIX (Baki Gul) #58567 - [
181014a8fe
] - test: cleanup status files (Filip Skokan) #58633 - [
a4d756068d
] - test: close FileHandle objects in tests explicitly (James M Snell) #58615 - [
a1529d5d99
] - test_runner: automatically wait for subtests to finish (Colin Ihrig) #58800 - [
dce1995c55
] - Revert "test_runner: remove promises returned by t.test()" (Romain Menke) #58282 - [
8b0c5edbb6
] - Revert "test_runner: remove promises returned by test()" (Romain Menke) #58282 - [
6ef7329c8c
] - Revert "test_runner: automatically wait for subtests to finish" (Romain Menke) #58282 - [
c9e7b5e43a
] - test_runner: preferAtomics
primordials (Renegade334) #58716 - [
713fbad7b6
] - (SEMVER-MINOR) test_runner: support object property mocking (Idan Goshen) #58438 - [
9df1cfe402
] - tools: make nodedownload module compatible with Python 3.14 (Lumír 'Frenzy' Balhar) #58752 - [
b5ff3f42b8
] - tools: include toolchain.gypi in abseil.gyp (Chengzhong Wu) #58678 - [
dc2f23e986
] - tools: bumpbrace-expansion
in/tools/clang-format
(dependabot[bot]) #58699 - [
e6a1787140
] - tools: bump brace-expansion from 1.1.11 to 1.1.12 in /tools/eslint (dependabot[bot]) #58698 - [
b22e970774
] - tools: switch to@stylistic/eslint-plugin
(Michaël Zasso) #58623 - [
268c8c1799
] - tools: remove config.status undermake distclean
(René) #58603 - [
c1f9791844
] - tools: edit commit-queue workflow file (Antoine du Hamel) #58667 - [
afbaf9277b
] - tools: improve release proposal linter (Antoine du Hamel) #58647 - [
17df800b90
] - typings: add Atomics primordials (Renegade334) #58577 - [
ffff8ce3a4
] - typings: add ZSTD_COMPRESS, ZSTD_DECOMPRESS to internalBinding (Meghan Denny) #58655 - [
ef0230abaf
] - (SEMVER-MINOR) url: add fileURLToPathBuffer API (James M Snell) #58700 - [
6f7b89516f
] - util: inspect: do not crash on an Error stack pointing to itself (Sam Verschueren) #58196
2025-06-23, Version 20.19.3 'Iron' (LTS), @marco-ippolito
- [
c535a3c483
] - crypto: graduate WebCryptoAPI Ed25519 and X25519 algorithms as stable (Filip Skokan) #56142 - [
af1dc63815
] - crypto: update root certificates to NSS 3.108 (Node.js GitHub Bot) #57381 - [
01d63a4ddf
] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857 - [
b6daa344eb
] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102
- [
fc1fa7a357
] - build: use FILE_OFFSET_BITS=64 esp. on 32-bit arch (RafaelGSS) #58090 - [
79e0812181
] - build: use glob for dependencies of out/Makefile (Richard Lau) #55789 - [
f56e62851a
] - crypto: allow length=0 for HKDF and PBKDF2 in SubtleCrypto.deriveBits (Filip Skokan) #55866 - [
c535a3c483
] - crypto: graduate WebCryptoAPI Ed25519 and X25519 algorithms as stable (Filip Skokan) #56142 - [
39925de8b1
] - crypto: allow non-multiple of 8 in SubtleCrypto.deriveBits (Filip Skokan) #55296 - [
af1dc63815
] - crypto: update root certificates to NSS 3.108 (Node.js GitHub Bot) #57381 - [
d09008add3
] - deps: V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #58342 - [
fd56652425
] - deps: V8: cherry-pick 182d9c05e78b (Andrey Kosyakov) #58342 - [
447481e829
] - deps: V8: cherry-pick third_party/zlib@646b7f569718 (Hans Wennborg) #58342 - [
eb447168df
] - deps: update simdutf to 6.4.2 (Node.js GitHub Bot) #57855 - [
01d63a4ddf
] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857 - [
10fb49f2a9
] - deps: update icu to 77.1 (Node.js GitHub Bot) #57455 - [
f1dc7d0205
] - deps: update corepack to 0.32.0 (Node.js GitHub Bot) #57265 - [
7a2e64bb8a
] - deps: update simdutf to 6.4.0 (Node.js GitHub Bot) #56764 - [
e80669be0d
] - doc: mention reports should align with Node.js CoC (Rafael Gonzaga) #57607 - [
7b2c0bc92e
] - doc: add gurgunday as triager (Gürgün Dayıoğlu) #57594 - [
791e4879de
] - doc: document REPL custom eval arguments (Dario Piotrowicz) #57690 - [
2917f09876
] - doc: improved fetch docs (Alessandro Miliucci) #57296 - [
d940b15843
] - doc: clarifyunhandledRejection
events behaviors in process doc (Dario Piotrowicz) #57654 - [
71c664fab7
] - doc: update position type to integer | null in fs (Yukihiro Hasegawa) #57745 - [
0c0fbfa9c6
] - doc: add missing v0.x changelog entries (Antoine du Hamel) #57779 - [
e99462c9fc
] - doc: correct deprecation type ofassert.CallTracker
(René) #57997 - [
c7e92696ef
] - doc: add returns for https.get (Eng Zer Jun) #58025 - [
ccc42b69ce
] - doc: fix env variable name inutil.styleText
(Antoine du Hamel) #58072 - [
b6daa344eb
] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102 - [
e5d6a3df16
] - doc: fixAsyncLocalStorage
example response changes after node v18 (Naor Tedgi (Abu Emma)) #57969 - [
f006411998
] - doc: fix typo of filezlib.md
(yusheng chen) #58093 - [
5193735df4
] - doc: add missing options.signal to readlinePromises.createInterface() (Jimmy Leung) #55456 - [
fd44af730f
] - doc: fix misaligned options in vm.compileFunction() (Jimmy Leung) #58145 - [
0fdcc0ddcd
] - doc: add ambassaor message (Brian Muenzenmeyer) #57600 - [
5ca9616bd3
] - doc: increase z-index of header element (Dario Piotrowicz) #57851 - [
81342d10f0
] - doc: fix deprecation type forDEP0148
(Livia Medeiros) #57785 - [
776becfe01
] - doc: remove mention of--require
not supporting ES modules (Huáng Jùnliàng) #57620 - [
3140a8f133
] - doc: add missingdeprecated
badges infs.md
(Yukihiro Hasegawa) #57384 - [
441ce24ae3
] - doc: deprecate passing invalid types infs.existsSync
(Carlos Espa) #55892 - [
0556f54544
] - http: correctly translate HTTP method (Paolo Insogna) #52701 - [
c2c6d2b035
] - http: be more generational GC friendly (ywave620) #56767 - [
cdf3fa241c
] - http2: skip writeHead if stream is closed (Shima Ryuhei) #57686 - [
bbd5aec785
] - http2: fix graceful session close (Kushagra Pandey) #57808 - [
b427ae4f34
] - meta: removebuild-windows.yml
(Aviv Keller) #54662 - [
49e624f554
] - os: fix netmask format check condition in getCIDR function (Wiyeong Seo) #57324 - [
d582954434
] - src: remove unused variable in crypto_x509.cc (Michaël Zasso) #57754 - [
234a505e96
] - src: allow embedder customization of OOMErrorHandler (Shelley Vohr) #57325 - [
c0252cd380
] - src: fix -Wunreachable-code-return in node_sea (Shelley Vohr) #57664 - [
fcd1622fc1
] - src: fix kill signal 0 on Windows (Stefan Stojanovic) #57695 - [
850192b06b
] - test: skip broken sea on rhel8 (Marco Ippolito) #58761 - [
3cf7cfb695
] - test: update WPT for WebCryptoAPI to edd42c005c (Node.js GitHub Bot) #57365 - [
f57765bdcf
] - test: mark test-without-async-context-frame flaky on windows (James M Snell) #56753 - [
275ea8e7ef
] - test: force GC in test-file-write-stream4 (Luigi Pinca) #57930 - [
da6a13c338
] - test: deflake test-http2-options-max-headers-block-length (Luigi Pinca) #57959 - [
56fce6691e
] - test: prevent extraneous HOSTNAME substitution in test-runner-output (René) #58076 - [
c9c0be5596
] - test: update expected error message for macOS (Antoine du Hamel) #57742 - [
3cbf5f93d2
] - test: fix missing edge case in test-blob-slice-with-large-size (Joyee Cheung) #58414 - [
bffd4ec379
] - test: skip in test-buffer-tostring-rangeerror on allocation failure (Joyee Cheung) #58415 - [
8237346fb7
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #54593 - [
b90c4ab937
] - tools: remove unusedosx-pkg-postinstall.sh
(Antoine du Hamel) #57667 - [
414013dcfb
] - tools: edit create-release-proposal workflow to handle pr body length (Elves Vieira) #57841 - [
7c449ed6b3
] - tools: fix tarball testing directory (Marco Ippolito) #57994 - [
d164dc2d38
] - tools: update sccache version to v0.10.0 (Marco Ippolito) #57994 - [
debd3c2cc0
] - tools: disable failing test envs intest-linux
CI (Antoine du Hamel) #58351 - [
152112505a
] - typings: fixImportModuleDynamicallyCallback
return type (Chengzhong Wu) #57160 - [
363bf744ab
] - worker: flush stdout and stderr on exit (Matteo Collina) #56428
2025-06-09, Version 24.2.0 (Current), @aduh95
The support for priority signaling has been removed in nghttp2, following its deprecation in the RFC 9113. As a consequence of this, priority signaling is deprecated on all release lines of Node.js, and removed from Node.js 24 so we can include latest updates from nghttp2.
Contributed by Matteo Collina and Antoine du Hamel in #58293.
Boolean value available in ECMAScript modules, which can be used to detect whether the current module was the entry point of the current process.
export function foo() {
return 'Hello, world';
}
function main() {
const message = foo();
console.log(message);
}
if (import.meta.main) main();
// `foo` can be imported from another module without possible side-effects from `main`
Contributed by Joe and Antoine du Hamel in #57804.
- [
e13930bbe0
] - doc: add Filip Skokan to TSC (Rafael Gonzaga) #58499 - [
984894b38c
] - doc: deprecateutil.isNativeError
in favor ofError.isError
(Miguel Marcondes Filho) #58262 - [
d261274b0f
] - doc: deprecate passing an empty string tooptions.shell
(Antoine du Hamel) #58564 - [
510872a522
] - (SEMVER-MINOR) doc: graduateSymbol.dispose
/asyncDispose
from experimental (James M Snell) #58467 - [
6f4c9dd423
] - (SEMVER-MINOR) fs: addautoClose
option toFileHandle
readableWebStream (James M Snell) #58548 - [
32efb63242
] - http: deprecate instantiating classes without new (Yagiz Nizipli) #58518 - [
0234a8ef53
] - (SEMVER-MINOR) http2: add diagnostics channelhttp2.server.stream.finish
(Darshan Sen) #58560 - [
0f1e94f731
] - (SEMVER-MINOR) lib: graduate error codes that have been around for years (James M Snell) #58541 - [
13abca3c26
] - (SEMVER-MINOR) perf_hooks: make event loop delay histogram disposable (James M Snell) #58384 - [
8ea1fc5f3b
] - (SEMVER-MINOR) src: support namespace options in configuration file (Pietro Marchini) #58073 - [
d6ea36ad6c
] - src,permission: implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579 - [
5936cef60a
] - (SEMVER-MINOR) test: add disposable histogram test (James M Snell) #58384 - [
7a91f4aaa1
] - (SEMVER-MINOR) test: add test for async disposable worker thread (James M Snell) #58385 - [
532c173cf2
] - (SEMVER-MINOR) util: addnone
style to styleText (James M Snell) #58437 - [
aeb9ab4c4c
] - (SEMVER-MINOR) worker: make Worker async disposable (James M Snell) #58385
- [
6c92329b1b
] - Revert "benchmark: fix broken fs.cpSync benchmark" (Yuesong Jake Li) #58476 - [
8bc045264e
] - benchmark: fix broken fs.cpSync benchmark (Dario Piotrowicz) #58472 - [
46aa079cce
] - benchmark: add callback-basedfs.glob
to glob benchmark (Livia Medeiros) #58417 - [
a57b05e105
] - benchmark: add more options to cp-sync (Sonny) #58278 - [
8b5ada4b31
] - buffer: use Utf8LengthV2() instead of Utf8Length() (Tobias Nießen) #58156 - [
22e97362f3
] - build: search for libnode.so in multiple places (Jan Staněk) #58213 - [
0b4056c573
] - build: add support for OpenHarmony operating system (hqzing) #58350 - [
db7f413dd3
] - build: fix pointer compression builds (Joyee Cheung) #58171 - [
7ff37183e5
] - build: fix defaults for shared llhttp (Antoine du Hamel) #58269 - [
b8c33190fe
] - build,win: fix dll build (Stefan Stojanovic) #58357 - [
ef9ecbe8a6
] - child_process: give names toChildProcess
functions (Livia Medeiros) #58370 - [
cec9d9d016
] - crypto: forward auth tag to OpenSSL immediately (Tobias Nießen) #58547 - [
9fccb0609f
] - crypto: expose crypto.constants.OPENSSL_IS_BORINGSSL (Shelley Vohr) #58387 - [
e7c69b9345
] - deps: update nghttp2 to 1.65.0 (Node.js GitHub Bot) #57269 - [
d0b89598a3
] - deps: use proper C standard when building libuv (Yaksh Bariya) #58587 - [
8a1fe7bc6a
] - deps: update simdjson to 3.12.3 (Node.js GitHub Bot) #57682 - [
36b639b1eb
] - deps: update googletest to e9092b1 (Node.js GitHub Bot) #58565 - [
f8a2a1ef52
] - deps: update corepack to 0.33.0 (Node.js GitHub Bot) #58566 - [
efb28f7895
] - deps: V8: cherry-pick 249de887a8d3 (Michaël Zasso) #58561 - [
88e621ea97
] - deps: update sqlite to 3.50.0 (Node.js GitHub Bot) #58272 - [
8d2ba386f1
] - deps: update OpenSSL gen container to Ubuntu 22.04 (Michaël Zasso) #58432 - [
7e62a77a7f
] - deps: update undici to 7.10.0 (Node.js GitHub Bot) #58445 - [
87eebd7bad
] - deps: keep required OpenSSL doc files (Michaël Zasso) #58431 - [
10910660f6
] - deps: update undici to 7.9.0 (Node.js GitHub Bot) #58268 - [
5e27078ca2
] - deps: update ada to 3.2.4 (Node.js GitHub Bot) #58152 - [
3b1e4bdbbb
] - deps: update libuv to 1.51.0 (Node.js GitHub Bot) #58124 - [
6bddf587ae
] - dns: fix dns query cache implementation (Ethan Arrowood) #58404 - [
984894b38c
] - doc: deprecate utilisNativeError in favor of ErrorisError (Miguel Marcondes Filho) #58262 - [
377ef3ce3a
] - doc: add support link for panva (Filip Skokan) #58591 - [
33a69ff9e4
] - doc: update metadata for _transformState deprecation (James M Snell) #58530 - [
d261274b0f
] - doc: deprecate passing an empty string tooptions.shell
(Antoine du Hamel) #58564 - [
447ca11010
] - doc: correct formatting of example definitions for--test-shard
(Jacob Smith) #58571 - [
2f555e0e19
] - doc: clarify DEP0194 scope (Antoine du Hamel) #58504 - [
af0446edcb
] - doc: deprecate HTTP/2 priority signaling (Matteo Collina) #58313 - [
80cc17f1ec
] - doc: explain child_process code and signal null values everywhere (Darshan Sen) #58479 - [
e13930bbe0
] - doc: add Filip Skokan to TSC (Rafael Gonzaga) #58499 - [
5f3f045ecc
] - doc: updategit node release
example (Antoine du Hamel) #58475 - [
4bbd026cde
] - doc: add missing options.info for ZstdOptions (Jimmy Leung) #58360 - [
a6d0d2a0d7
] - doc: add missing options.info for BrotliOptions (Jimmy Leung) #58359 - [
510872a522
] - (SEMVER-MINOR) doc: graduate Symbol.dispose/asyncDispose from experimental (James M Snell) #58467 - [
08685256cd
] - doc: clarify x509.checkIssued only checks metadata (Filip Skokan) #58457 - [
095794fc24
] - doc: add links to parent class fornode:zlib
classes (Antoine du Hamel) #58433 - [
7acac70bce
] - doc: remove remaining uses of@@wellknown
syntax (René) #58413 - [
62056d40c7
] - doc: clarify behavior of --watch-path and --watch flags (Juan Ignacio Benito) #58136 - [
e6e6ae887d
] - doc: fix the order ofprocess.md
sections (Allon Murienik) #58403 - [
d2f6c82c0f
] - doc,lib: update source map links to ECMA426 (Chengzhong Wu) #58597 - [
a994d3d51a
] - doc,src,test: fix typos (Noritaka Kobayashi) #58477 - [
252acc1e89
] - errors: show url of unsupported attributes in the error message (Aditi) #58303 - [
767e88cbc3
] - esm: unwrap WebAssembly.Global on Wasm Namespaces (Guy Bedford) #57525 - [
adef9af3ae
] - (SEMVER-MINOR) esm: implement import.meta.main (Joe) #57804 - [
308f4cac4b
] - esm: add support for dynamic source phase hook (Guy Bedford) #58147 - [
fcef56cb05
] - fs: improve cpSync no-filter copyDir performance (Dario Piotrowicz) #58461 - [
996fdb05ab
] - fs: fix cp handle existing symlinks (Yuesong Jake Li) #58476 - [
d2931e50e3
] - fs: fix cpSync handle existing symlinks (Yuesong Jake Li) #58476 - [
6f4c9dd423
] - (SEMVER-MINOR) fs: add autoClose option to FileHandle readableWebStream (James M Snell) #58548 - [
8870bb8677
] - fs: improvecpSync
dest overriding performance (Dario Piotrowicz) #58160 - [
f2e2301559
] - fs: unexpose internal constants (Chengzhong Wu) #58327 - [
32efb63242
] - http: deprecate instantiating classes without new (Yagiz Nizipli) #58518 - [
0b987e5741
] - (SEMVER-MAJOR) http2: remove support for priority signaling (Matteo Collina) #58293 - [
44ca874b2c
] - http2: add lenient flag for RFC-9113 (Carlos Fuentes) #58116 - [
0234a8ef53
] - (SEMVER-MINOR) http2: add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560 - [
2b868e8aa7
] - http2: add diagnostics channel 'http2.server.stream.error' (Darshan Sen) #58512 - [
b4df8d38cd
] - http2: add diagnostics channel 'http2.server.stream.start' (Darshan Sen) #58449 - [
d86ff608bb
] - http2: remove no longer userful options.selectPadding (Jimmy Leung) #58373 - [
13dbbdc8a8
] - http2: add diagnostics channel 'http2.server.stream.created' (Darshan Sen) #58390 - [
08855464ec
] - http2: add diagnostics channel 'http2.client.stream.close' (Darshan Sen) #58329 - [
566fc567b8
] - http2: add diagnostics channel 'http2.client.stream.finish' (Darshan Sen) #58317 - [
f30b9117d4
] - http2: add diagnostics channel 'http2.client.stream.error' (Darshan Sen) #58306 - [
79b852a692
] - inspector: add mimeType and charset support to Network.Response (Shima Ryuhei) #58192 - [
402ac8b1d8
] - inspector: add protocol method Network.dataReceived (Chengzhong Wu) #58001 - [
29f34a7f86
] - lib: disable REPL completion on proxies and getters (Dario Piotrowicz) #57909 - [
0f1e94f731
] - (SEMVER-MINOR) lib: graduate error codes that have been around for years (James M Snell) #58541 - [
cc1aacabb0
] - lib: make ERM functions into wrappers returning undefined (Livia Medeiros) #58400 - [
8df4dee38c
] - lib: remove no-mixed-operators eslint rule (Ruben Bridgewater) #58375 - [
104d173f58
] - meta: bump github/codeql-action from 3.28.16 to 3.28.18 (dependabot[bot]) #58552 - [
b454e8386c
] - meta: bump codecov/codecov-action from 5.4.2 to 5.4.3 (dependabot[bot]) #58551 - [
f31e014b81
] - meta: bump step-security/harden-runner from 2.11.0 to 2.12.0 (dependabot[bot]) #58109 - [
4da920cc13
] - meta: bump ossf/scorecard-action from 2.4.1 to 2.4.2 (dependabot[bot]) #58550 - [
eb9bb95fe2
] - meta: bump rtCamp/action-slack-notify from 2.3.2 to 2.3.3 (dependabot[bot]) #58108 - [
27ada1f18c
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #58456 - [
4606a6792b
] - meta: bump github/codeql-action from 3.28.11 to 3.28.16 (dependabot[bot]) #58112 - [
7dfe448b7f
] - meta: bump codecov/codecov-action from 5.4.0 to 5.4.2 (dependabot[bot]) #58110 - [
18bb5f7e7e
] - meta: bump actions/download-artifact from 4.2.1 to 4.3.0 (dependabot[bot]) #58106 - [
72f2a22889
] - module: clarify cjs global-like error on ModuleJobSync (Carlos Espa) #56491 - [
b0e0b1afae
] - net: always publish to 'net.client.socket' diagnostics channel (Darshan Sen) #58349 - [
f373d6a540
] - node-api: use WriteOneByteV2 in napi_get_value_string_latin1 (Chengzhong Wu) #58325 - [
429c38db1b
] - node-api: use WriteV2 in napi_get_value_string_utf16 (Tobias Nießen) #58165 - [
b882148999
] - path: improve path.resolve() performance when used as process.cwd() (Ruben Bridgewater) #58362 - [
13abca3c26
] - (SEMVER-MINOR) perf_hooks: make event loop delay histogram disposable (James M Snell) #58384 - [
1cd417d823
] - permission: remove useless conditional (Juan José) #58514 - [
462c4b0c24
] - readline: add stricter validation for functions called after closed (Dario Piotrowicz) #58283 - [
e3e36f902c
] - repl: extract and standardize history from both repl and interface (Giovanni Bucci) #58225 - [
cbb2a0172f
] - report: use uv_getrusage_thread in report (theanarkh) #58405 - [
3a6bd9c4c4
] - sqlite: handle thrown errors in result callback (Colin Ihrig) #58426 - [
0d761bbccd
] - src: env_vars caching and local variable scope optimization (Mert Can Altin) #57624 - [
8ea1fc5f3b
] - (SEMVER-MINOR) src: support namespace options in configuration file (Pietro Marchini) #58073 - [
f72ce2ef75
] - src: remove fast API for InternalModuleStat (Joyee Cheung) #58489 - [
8a1eaea151
] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #58500 - [
d99d657842
] - src: fix FIPS init error handling (Tobias Nießen) #58379 - [
11e4cd698b
] - src: fix possible dereference of null pointer (Eusgor) #58459 - [
ca0f5a0188
] - src: add env->cppgc_allocation_handle() convenience method (James M Snell) #58483 - [
440d4f42bd
] - src: fix -Wreturn-stack-address error (Shelley Vohr) #58439 - [
08615b1020
] - src: prepare for v8 sandboxing (James M Snell) #58376 - [
63f643e844
] - src: reorganize ContextifyFunction methods (Chengzhong Wu) #58434 - [
3b6895a506
] - src: improve CompileFunctionAndCacheResult error handling (Chengzhong Wu) #58434 - [
7f1c95aee8
] - src: make a number of minor improvements to buffer (James M Snell) #58377 - [
ce081bcb9a
] - src: fix build when using shared simdutf (Antoine du Hamel) #58407 - [
a35cc216e5
] - src: track cppgc wrappers with a list in Realm (Joyee Cheung) #56534 - [
947c1c2cd5
] - src,lib: obtain sourceURL in magic comments from V8 (Chengzhong Wu) #58389 - [
d6ea36ad6c
] - src,permission: implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579 - [
e8a07f2198
] - stream: making DecompressionStream spec compilent for trailing junk (0hm☘️) #58316 - [
3caa2f71c1
] - stream: test explicit resource management implicitly (LiviaMedeiros) #58296 - [
9ccdf4fdb4
] - test: improve flakiness detection on stack corruption tests (Darshan Sen) #58601 - [
d3fea003df
] - test: mark timeouts & flaky test as flaky on IBM i (Abdirahim Musse) #58583 - [
8347ef6b53
] - test: dispose of filehandles in filehandle.read tests (Livia Medeiros) #58543 - [
34e86f91aa
] - test: rewrite test-child-process-spawn-args (Michaël Zasso) #58546 - [
d7a2458a58
] - test: make sqlite-database-sync tests work with system sqlite (Jelle Licht) #58507 - [
4d9d6830e0
] - test: force slow JSON.stringify path for overflow (Shelley Vohr) #58181 - [
bef67e45e3
] - test: account for truthy signal in flaky async_hooks tests (Darshan Sen) #58478 - [
007c82f206
] - test: marktest-http2-debug
as flaky on LinuxONE (Richard Lau) #58494 - [
21f6400098
] - test: update WPT for WebCryptoAPI to 591c95ce61 (Node.js GitHub Bot) #58176 - [
1deb5f06a5
] - test: remove --no-warnings flag (Tobias Nießen) #58424 - [
beba631a10
] - test: add tests ensuring worker threads cannot access internals (Joe) #58332 - [
5936cef60a
] - (SEMVER-MINOR) test: add disposable histogram test (James M Snell) #58384 - [
7a91f4aaa1
] - (SEMVER-MINOR) test: add test for async disposable worker thread (James M Snell) #58385 - [
5fc4706280
] - test: leverage process.features.openssl_is_boringssl in test (Shelley Vohr) #58421 - [
4629b18397
] - test: fix test-buffer-tostring-range on allocation failure (Joyee Cheung) #58416 - [
4c445a8c85
] - test: skip in test-buffer-tostring-rangeerror on allocation failure (Joyee Cheung) #58415 - [
53cb29898b
] - test: fix missing edge case in test-blob-slice-with-large-size (Joyee Cheung) #58414 - [
89fdfdedc1
] - test: make crypto tests work with BoringSSL (Shelley Vohr) #58117 - [
3b5d0e62b1
] - test: test reordering of setAAD and setAuthTag (Tobias Nießen) #58396 - [
029440bec5
] - test: switch from deprecatedoptparse
toargparse
(Aviv Keller) #58224 - [
d05263edcc
] - test: do not skip OCB decryption in FIPS mode (Tobias Nießen) #58382 - [
23474cb257
] - test: show more information in test-http2-debug upon failure (Joyee Cheung) #58391 - [
d0302e7b3d
] - test: remove loop over single element (Tobias Nießen) #58368 - [
33f615897d
] - test: add chacha20-poly1305 to auth tag order test (Tobias Nießen) #58367 - [
8f09a1f502
] - test: skip wasm-allocation tests for pointer compression builds (Joyee Cheung) #58171 - [
4ae6a1a5ed
] - test: remove references to create(De|C)ipher (Tobias Nießen) #58363 - [
4d647271b2
] - test_runner: emit event when file changes in watch mode (Jacopo Martinelli) #57903 - [
1eda87c365
] - test_runner: add level parameter to reporter.diagnostic (Jacopo Martinelli) #57923 - [
13377512be
] - tools: bump the eslint group in/tools/eslint
with 6 updates (dependabot[bot]) #58549 - [
fcc881de0d
] - tools: supportDisposableStack
andAsyncDisposableStack
in linter (LiviaMedeiros) #58454 - [
208d6a5754
] - tools: support explicit resource management in eslint (LiviaMedeiros) #58296 - [
32070f304a
] - tools: add missing highway defines for IBM i (Abdirahim Musse) #58335 - [
ddab63a323
] - tty: improve color terminal color detection (Ruben Bridgewater) #58146 - [
c094bea8d9
] - tty: use terminal VT mode on Windows (Anna Henningsen) #58358 - [
dc21054a1e
] - typings: add inspector internalBinding typing (Shima Ryuhei) #58492 - [
3499285904
] - typings: remove no longer validFixedSizeBlobCopyJob
type (Dario Piotrowicz) #58305 - [
1ed2deb2c8
] - typings: remove no longer validrevokeDataObject
type (Dario Piotrowicz) #58305 - [
532c173cf2
] - (SEMVER-MINOR) util: add 'none' style to styleText (James M Snell) #58437 - [
2d5a1ef528
] - vm: import call should return a promise in the current context (Chengzhong Wu) #58309 - [
588c2449f2
] - win,tools: use Azure Trusted Signing (Stefan Stojanovic) #58502 - [
aeb9ab4c4c
] - (SEMVER-MINOR) worker: make Worker async disposable (James M Snell) #58385 - [
23416cce0a
] - worker: give names toMessagePort
functions (Livia Medeiros) #58307 - [
44df21b7fb
] - zlib: remove mentions of unexposed Z_TREES constant (Jimmy Leung) #58371
2025-05-21, Version 22.16.0 'Jod' (LTS), @aduh95
- [
c3ceaebb7a
] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857 - [
5059a746ec
] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102 - [
c8ceaaf397
] - (SEMVER-MINOR) doc: graduate multiple experimental apis (James M Snell) #57765 - [
e21b37d9df
] - (SEMVER-MINOR) esm: graduate import.meta properties (James M Snell) #58011 - [
832640c35e
] - (SEMVER-MINOR) esm: support top-level Wasm without package type (Guy Bedford) #57610 - [
c510391d2f
] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.columns() (Colin Ihrig) #57490 - [
5d1230bec0
] - (SEMVER-MINOR) src: set default config asnode.config.json
(Marco Ippolito) #57171 - [
30bb1ccbb0
] - (SEMVER-MINOR) src: createTHROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING
(Marco Ippolito) #57016 - [
0350c6f478
] - (SEMVER-MINOR) src: add config file support (Marco Ippolito) #57016 - [
e1d3a9e192
] - (SEMVER-MINOR) src: add ExecutionAsyncId getter for any Context (Attila Szegedi) #57820 - [
0ec912f452
] - (SEMVER-MINOR) stream: preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) #57865 - [
43490c8797
] - (SEMVER-MINOR) util: addtypes.isFloat16Array()
(Livia Medeiros) #57879 - [
dda6ca9172
] - (SEMVER-MINOR) worker: add worker.getHeapStatistics() (Matteo Collina) #57888
- [
4252dc798c
] - assert: supportFloat16Array
in loose deep equality checks (Livia Medeiros) #57881 - [
1c7396b078
] - assert,util: fix constructor lookup in deep equal comparison (Ruben Bridgewater) #57876 - [
1ded5f25c8
] - assert,util: improve deep object comparison performance (Ruben Bridgewater) #57648 - [
696b5f85ca
] - assert,util: improve unequal number comparison performance (Ruben Bridgewater) #57619 - [
775ee4d40f
] - assert,util: improve array comparison (Ruben Bridgewater) #57619 - [
3766992ba4
] - benchmark: add sqlite prepare select get (Vinícius Lourenço) #58040 - [
8390276be3
] - benchmark: add sqlite prepare select all (Vinícius Lourenço) #58040 - [
6a9b79e5c1
] - benchmark: add sqlite is transaction (Vinícius Lourenço) #58040 - [
f689f98344
] - benchmark: add sqlite prepare insert (Vinícius Lourenço) #58040 - [
14a82804d7
] - benchmark: disambiguatefilename
anddirname
read perf (Antoine du Hamel) #58056 - [
e7e8256d35
] - buffer: avoid creating unnecessary environment (Yagiz Nizipli) #58053 - [
d7d8e8e994
] - buffer: define global v8::CFunction objects as const (Mert Can Altin) #57676 - [
f37633e85a
] - build: use$(BUILDTYPE)
when cleaning coverage files (Aviv Keller) #57995 - [
e5bf67fe77
] - build: define python when generatingout/Makefile
(Aviv Keller) #57970 - [
718f874ae0
] - build: fix zstd libname (Antoine du Hamel) #57999 - [
53c5fdcae1
] - crypto: fix cross-realmSharedArrayBuffer
validation (Antoine du Hamel) #57974 - [
78f4ffee5d
] - crypto: fix cross-realm check ofArrayBuffer
(Felipe Forbeck) #57828 - [
f606352b63
] - crypto: forbid passingFloat16Array
togetRandomValues()
(Livia Medeiros) #57880 - [
23c4e941c2
] - crypto: remove BoringSSL dh-primes addition (Shelley Vohr) #57023 - [
8339d9bc14
] - deps: V8: cherry-pick f915fa4c9f41 (Chengzhong Wu) #55484 - [
c2111dd126
] - deps: V8: backport e5dbbbadcbff (Darshan Sen) #58120 - [
4cc49be951
] - deps: update zstd to 1.5.7 (Node.js GitHub Bot) #57940 - [
c956d37c84
] - deps: update zlib to 1.3.0.1-motley-780819f (Node.js GitHub Bot) #57768 - [
c3ceaebb7a
] - deps: update timezone to 2025b (Node.js GitHub Bot) #57857 - [
b5cd0eb590
] - deps: update simdutf to 6.4.2 (Node.js GitHub Bot) #57855 - [
3eb6b814e9
] - deps: update simdutf to 6.4.0 (Node.js GitHub Bot) #56764 - [
0be9fa3218
] - deps: update icu to 77.1 (Node.js GitHub Bot) #57455 - [
d5cf4254fb
] - doc: add HBSPS as triager (Wiyeong Seo) #57980 - [
ad0861dba0
] - doc: add ambassaor message (Brian Muenzenmeyer) #57600 - [
0d3ec1aafe
] - doc: fix misaligned options in vm.compileFunction() (Jimmy Leung) #58145 - [
1f70baf3b0
] - doc: add missing options.signal to readlinePromises.createInterface() (Jimmy Leung) #55456 - [
ec6a48621f
] - doc: fix typo of filezlib.md
(yusheng chen) #58093 - [
37e360e386
] - doc: make stability labels more consistent (Antoine du Hamel) #57516 - [
2b5d63d36e
] - doc: allow the $schema property in node.config.json (Remco Haszing) #57560 - [
a2063638e2
] - doc: fixAsyncLocalStorage
example response changes after node v18 (Naor Tedgi (Abu Emma)) #57969 - [
474c2b14c3
] - doc: mark Node.js 18 as End-of-Life (Richard Lau) #58084 - [
5059a746ec
] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #58102 - [
1eec170fc3
] - doc: fix formatting ofimport.meta.filename
section (Antoine du Hamel) #58079 - [
7f108de525
] - doc: fix env variable name inutil.styleText
(Antoine du Hamel) #58072 - [
54b3f7fffc
] - doc: add returns for https.get (Eng Zer Jun) #58025 - [
66f2c605a8
] - doc: fix typo inbuffer.md
(chocolateboy) #58052 - [
b0256dd42b
] - doc: correct deprecation type ofassert.CallTracker
(René) #57997 - [
581439c9e6
] - doc: mark devtools integration section as active development (Chengzhong Wu) #57886 - [
a2a2a2f027
] - doc: fix typo inmodule.md
(Alex Schwartz) #57889 - [
c0ec4e2935
] - doc: increase z-index of header element (Dario Piotrowicz) #57851 - [
93d19ec6cd
] - doc: add missing TS formats forload
hooks (Antoine du Hamel) #57837 - [
f5ea06c61f
] - doc: clarify the multi REPL example (Dario Piotrowicz) #57759 - [
80c4fe1b70
] - doc: fix deprecation type forDEP0148
(Livia Medeiros) #57785 - [
01cad99da0
] - doc: list DOMException as a potential error raised by Node.js (Chengzhong Wu) #57783 - [
a08b714a46
] - doc: add missing v0.x changelog entries (Antoine du Hamel) #57779 - [
d0b48350fd
] - doc: fix typo in writing-docs (Sebastian Beltran) #57776 - [
bde3725f8b
] - doc: clarify examples section in REPL doc (Dario Piotrowicz) #57762 - [
c8ceaaf397
] - (SEMVER-MINOR) doc: graduate multiple experimental apis (James M Snell) #57765 - [
92428c2609
] - doc: explicitly state that corepack will be removed in v25+ (Trivikram Kamat) #57747 - [
298969e1dd
] - doc: update position type to integer | null in fs (Yukihiro Hasegawa) #57745 - [
a9d28e27c9
] - doc: update CI instructions (Antoine du Hamel) #57743 - [
133d2878a1
] - doc: update example of usingawait
in REPL (Dario Piotrowicz) #57653 - [
fc5f126629
] - doc: add back mention of visa fees to onboarding doc (Darshan Sen) #57730 - [
945f4ac538
] - doc: process.execve is only unavailable for Windows (Yaksh Bariya) #57726 - [
f3b885bb5e
] - doc: clarifyunhandledRejection
events behaviors in process doc (Dario Piotrowicz) #57654 - [
7326dda5b0
] - doc: improved fetch docs (Alessandro Miliucci) #57296 - [
6906c5eb1f
] - doc: document REPL custom eval arguments (Dario Piotrowicz) #57690 - [
47a7564e8f
] - doc: classify Chrome DevTools Protocol as tier 2 (Chengzhong Wu) #57634 - [
e274cc1310
] - doc: replace NOTE that does not render properly (Colin Ihrig) #57484 - [
bef06b11df
] - esm: avoidimport.meta
setup costs for unused properties (Antoine du Hamel) #57286 - [
e21b37d9df
] - (SEMVER-MINOR) esm: graduate import.meta properties (James M Snell) #58011 - [
832640c35e
] - (SEMVER-MINOR) esm: support top-level Wasm without package type (Guy Bedford) #57610 - [
8f643471ef
] - fs: improve globSync performance (Rich Trott) #57725 - [
bf9e17ecc6
] - http2: use args.This() instead of args.Holder() (Joyee Cheung) #58004 - [
137717354f
] - http2: fix graceful session close (Kushagra Pandey) #57808 - [
9baf580269
] - http2: fix check forframe->hd.type
(hanguanqiang) #57644 - [
b8189242b2
] - http2: skip writeHead if stream is closed (Shima Ryuhei) #57686 - [
4e02a1650a
] - lib: remove unused filefetch_module
(Michaël Zasso) #55880 - [
d9700fef26
] - lib: avoid StackOverflow onserializeError
(Chengzhong Wu) #58075 - [
f3a16b6d9c
] - lib: resolve the issue of not adhering to the specified buffer size (0hm☘️🏳️⚧️) #55896 - [
d4fc282f73
] - lib: fix AbortSignal.any() with timeout signals (Gürgün Dayıoğlu) #57867 - [
f7e2902861
] - lib: use Map primordial for ActiveAsyncContextFrame (Gürgün Dayıoğlu) #57670 - [
8652b0e168
] - meta: set nodejs/config as codeowner (Marco Ippolito) #57237 - [
e98504ed95
] - meta: allow penetration testing on live system with prior authorization (Matteo Collina) #57966 - [
340731bea0
] - meta: fix subsystem in commit title (Luigi Pinca) #57945 - [
d767cbffcf
] - meta: bump Mozilla-Actions/sccache-action from 0.0.8 to 0.0.9 (dependabot[bot]) #57720 - [
575f904b13
] - meta: bump actions/download-artifact from 4.1.9 to 4.2.1 (dependabot[bot]) #57719 - [
acd323c069
] - meta: bump actions/setup-python from 5.4.0 to 5.5.0 (dependabot[bot]) #57718 - [
21246fec20
] - meta: bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (dependabot[bot]) #57717 - [
97f32d5849
] - meta: bump github/codeql-action from 3.28.10 to 3.28.13 (dependabot[bot]) #57716 - [
90ddbb8cfa
] - meta: bump actions/cache from 4.2.2 to 4.2.3 (dependabot[bot]) #57715 - [
728425d03e
] - meta: bump actions/setup-node from 4.2.0 to 4.3.0 (dependabot[bot]) #57714 - [
1f799140e0
] - meta: bump actions/upload-artifact from 4.6.1 to 4.6.2 (dependabot[bot]) #57713 - [
021b174a1f
] - module: tidy code string concat → string templates (Jacob Smith) #55820 - [
44c5718476
] - module: fix incorrect formatting in require(esm) cycle error message (haykam821) #57453 - [
bb09b4d4ae
] - module: improvegetPackageType
performance (Dario Piotrowicz) #57599 - [
9e6054e715
] - module: remove unnecessaryreadPackage
function (Dario Piotrowicz) #57596 - [
4a8db273ba
] - node-api: add nested object wrap and napi_ref test (Chengzhong Wu) #57981 - [
3c65058f20
] - node-api: convert NewEnv to node_napi_env__::New (Vladimir Morozov) #57834 - [
a4105db1f7
] - os: fix netmask format check condition in getCIDR function (Wiyeong Seo) #57324 - [
248c938139
] - process: disable building execve on IBM i (Abdirahim Musse) #57883 - [
972275697a
] - repl: deprecaterepl.builtinModules
(Dario Piotrowicz) #57508 - [
7485309d7e
] - sqlite: add location method (Edy Silva) #57860 - [
c12cd2a190
] - sqlite: add timeout options to DatabaseSync (Edy Silva) #57752 - [
5e0503a967
] - sqlite: add setReturnArrays method to StatementSync (Gürgün Dayıoğlu) #57542 - [
ed9d2fd51a
] - sqlite: enable common flags (Edy Silva) #57621 - [
06dcb318bc
] - sqlite: refactor prepared statement iterator (Colin Ihrig) #57569 - [
c510391d2f
] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.columns() (Colin Ihrig) #57490 - [
4e24456a1a
] - sqlite: reset statement immediately in run() (Colin Ihrig) #57350 - [
a9a6891b0b
] - sqlite: fix coverity warnings related to backup() (Colin Ihrig) #56961 - [
d2e1bcf3d4
] - sqlite: fix use-after-free in StatementSync due to premature GC (Divy Srivastava) #56840 - [
cfe15ca7b4
] - sqlite: handle conflicting SQLite and JS errors (Colin Ihrig) #56787 - [
0e999eb65f
] - sqlite: add getter to detect transactions (Colin Ihrig) #57925 - [
20b27331c0
] - sqlite, test: expose sqlite online backup api (Edy Silva) #56253 - [
8856712171
] - sqlite,doc,test: add aggregate function (Edy Silva) #56600 - [
120050db97
] - sqlite,src: refactor sqlite value conversion (Edy Silva) #57571 - [
4c5555d558
] - src: initialize privateSymbols for per_context (Jason Zhang) #57479 - [
d2ce9023b1
] - src: ensure primordials are initialized exactly once (Chengzhong Wu) #57519 - [
06179be6ca
] - src: disable abseil deadlock detection (Chengzhong Wu) #57582 - [
5121c47990
] - src: fix node_config_file.h compilation error in GN build (Cheng) #57210 - [
5d1230bec0
] - (SEMVER-MINOR) src: set default config asnode.config.json
(Marco Ippolito) #57171 - [
ccee741c43
] - src: namespace config file flags (Marco Ippolito) #57170 - [
30bb1ccbb0
] - (SEMVER-MINOR) src: createTHROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING
(Marco Ippolito) #57016 - [
0350c6f478
] - (SEMVER-MINOR) src: add config file support (Marco Ippolito) #57016 - [
eef37d00cb
] - src: add more debug logs and comments in NodePlatform (Joyee Cheung) #58047 - [
678e8f57c0
] - src: add dcheck_eq for Object::New constructor calls (Jonas) #57943 - [
aee45e2036
] - src: move windows specific fns to_WIN32
(Yagiz Nizipli) #57951 - [
6206a8edbc
] - src: improve thread safety of TaskQueue (Shelley Vohr) #57910 - [
03936f31c1
] - src: fixup errorhandling more in various places (James M Snell) #57852 - [
010dd91a19
] - src: fix typo in comments (Edy Silva) #57868 - [
e00c1ecbd2
] - src: add BaseObjectPtr nullptr operations (Chengzhong Wu) #56585 - [
648ad252e1
] - src: removevoid*
->char*
->void*
casts (Tobias Nießen) #57791 - [
680b434a62
] - src: improve error handing in node_messaging (James M Snell) #57760 - [
18f5301747
] - src: remove unused detachArrayBuffer method (Yagiz Nizipli) #58055 - [
065e8cd670
] - src: use macros to reduce code duplication is cares_wrap (James M Snell) #57937 - [
39af5d678f
] - src: improve error handling in cares_wrap (James M Snell) #57937 - [
ca020fdc4e
] - src: fix -Wunreachable-code-return in node_sea (Shelley Vohr) #57664 - [
32b6e7094a
] - src: change DCHECK to CHECK (Wuli Zuo) #57948 - [
e1d3a9e192
] - (SEMVER-MINOR) src: add ExecutionAsyncId getter for any Context (Attila Szegedi) #57820 - [
96243a723a
] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #57646 - [
0f2cbc17c7
] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #57642 - [
d1c6f861d5
] - src: update std::vector<v8::Local<T>> to use v8::LocalVector<T> (Aditi) #57578 - [
ab0d3a38db
] - src: improve error message for invalid child stdio type in spawn_sync (Dario Piotrowicz) #57589 - [
24b182e7b3
] - src: implement util.types fast API calls (Ruben Bridgewater) #57819 - [
dda6423be9
] - src: enter and lock isolate properly in json parser (Joyee Cheung) #57823 - [
4754c693f8
] - src: improve error handling innode_env_var.cc
(Antoine du Hamel) #57767 - [
db483bbe63
] - src: improve error handling in node_http2 (James M Snell) #57764 - [
b0277700d6
] - src: improve error handling in crypto_x509 (James M Snell) #57757 - [
353587f984
] - src: improve error handling in callback.cc (James M Snell) #57758 - [
bec053ab20
] - src: remove unused variable in crypto_x509.cc (Michaël Zasso) #57754 - [
38a329a857
] - src: fix kill signal 0 on Windows (Stefan Stojanovic) #57695 - [
70bb387f82
] - src: fix inefficient usage of v8_inspector::StringView (Simon Zünd) #52372 - [
be038f0273
] - src,permission: make ERR_ACCESS_DENIED more descriptive (Rafael Gonzaga) #57585 - [
0ec912f452
] - (SEMVER-MINOR) stream: preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) #57865 - [
6ffb66f82f
] - test: fix permission fixtures lint (Rafael Gonzaga) #55819 - [
fd37891186
] - test: add repl preview timeout test (Chengzhong Wu) #55484 - [
1be5a8c1b4
] - test: skiptest-config-json-schema
with quic (Richard Lau) #57225 - [
e90583b657
] - test: add more coverage tonode_config_file
(Marco Ippolito) #57170 - [
df2a36bfcc
] - test: remove deadlock workaround (Joyee Cheung) #58047 - [
103034b051
] - test: prevent extraneous HOSTNAME substitution in test-runner-output (René) #58076 - [
3e58f81a38
] - test: update WPT for WebCryptoAPI to b48efd681e (Node.js GitHub Bot) #58044 - [
2f4e4164a3
] - test: add missing newlines to repl .exit writes (Dario Piotrowicz) #58041 - [
b40769292e
] - test: add fast api tests for getLibuvNow() (Yagiz Nizipli) #58022 - [
cbd5768d47
] - test: add ALS test using http agent keep alive (Gerhard Stöbich) #58017 - [
9e31ab502a
] - test: deflake test-http2-options-max-headers-block-length (Luigi Pinca) #57959 - [
13f8f9cc12
] - test: rename to getCallSites (Wuli Zuo) #57948 - [
92dce6ed6b
] - test: force GC in test-file-write-stream4 (Luigi Pinca) #57930 - [
aa755d3acf
] - test: enable skipped colorize test (Shima Ryuhei) #57887 - [
331f44c78c
] - test: update WPT for WebCryptoAPI to 164426ace2 (Node.js GitHub Bot) #57854 - [
4aaa8438b4
] - test: add test for frame count being 0.5 (Jake Yuesong Li) #57732 - [
fb51d3a0c5
] - test: fix the decimal fractions explaination (Jake Yuesong Li) #57732 - [
c6a45a9087
] - Revert "test: add tests for REPL custom evals" (Tobias Nießen) #57793 - [
f3a4d03963
] - test: add tests for REPL custom evals (Dario Piotrowicz) #57691 - [
a3be0df337
] - test: update expected error message for macOS (Antoine du Hamel) #57742 - [
a7e73a0a74
] - test: fix dangling promise in test_runner no isolation test setup (Jacob Smith) #57595 - [
edb7dd1ec7
] - test_runner: match minimum file column to 'all files' (Shima Ryuhei) #57848 - [
c56f495e83
] - tools: extract target abseil to abseil.gyp (Chengzhong Wu) #57289 - [
1b37161a27
] - tools: ignore V8 tests in CodeQL scans (Rich Trott) #58081 - [
23386308dd
] - tools: enable CodeQL config file (Rich Trott) #58036 - [
9c21abc169
] - tools: ignore test directory in CodeQL scans (Rich Trott) #57978 - [
f210a1530d
] - tools: add semver-major release support to release-lint (Antoine du Hamel) #57892 - [
234c417e98
] - tools: add codeql nightly (Rafael Gonzaga) #57788 - [
938f1532da
] - tools: edit create-release-proposal workflow to handle pr body length (Elves Vieira) #57841 - [
b362339f72
] - tools: add zstd updater to workflow (KASEYA\yahor.siarheyenka) #57831 - [
61180db9c0
] - tools: remove unusedosx-pkg-postinstall.sh
(Antoine du Hamel) #57667 - [
3ae04c94eb
] - tools: do not use temp files when merging PRs (Antoine du Hamel) #57790 - [
d623c2c2b4
] - tools: update gyp-next to 0.20.0 (Node.js GitHub Bot) #57683 - [
43ea4c532a
] - tools: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) #57721 - [
5703147470
] - tools: enable linter intest/fixtures/source-map/output
(Antoine du Hamel) #57700 - [
80d58c372d
] - tools: enable linter intest/fixtures/errors
(Antoine du Hamel) #57701 - [
ef5275b7be
] - tools: enable linter intest/fixtures/test-runner/output
(Antoine du Hamel) #57698 - [
631733e41f
] - tools: enable linter intest/fixtures/eval
(Antoine du Hamel) #57699 - [
6d0128695f
] - tools: enable linter on some fixtures file (Antoine du Hamel) #57674 - [
f4d7cbae89
] - tools: update ESLint to 9.23 (Antoine du Hamel) #57673 - [
5a39a24cd1
] - typings: fixModulesBinding
types (Antoine du Hamel) #55549 - [
2df7ce9ebd
] - util: fix parseEnv handling of invalid lines (Augustin Mauroy) #57798 - [
416052a9f2
] - util: fix formatting of objects with built-in Symbol.toPrimitive (Shima Ryuhei) #57832 - [
43490c8797
] - (SEMVER-MINOR) util: addtypes.isFloat16Array()
(Livia Medeiros) #57879 - [
30060e13d3
] - util: preservelength
of deprecated functions (Livia Medeiros) #57806 - [
9837e08a84
] - util: fix parseEnv incorrectly splitting multiple ‘=‘ in value (HEESEUNG) #57421 - [
af41dd3c07
] - watch: clarify completion/failure watch mode messages (Dario Piotrowicz) #57926 - [
7229a29b47
] - watch: check parent and child path properly (Jason Zhang) #57425 - [
1b5a7c6dc8
] - win: fix SIGQUIT on ClangCL (Stefan Stojanovic) #57659 - [
e935c3c6f2
] - worker: add ESM version examples to worker docs (fisker Cheung) #57645 - [
dda6ca9172
] - (SEMVER-MINOR) worker: add worker.getHeapStatistics() (Matteo Collina) #57888 - [
f2159f2a44
] - zlib: fix pointer alignment (jhofstee) #57727
2025-05-21, Version 24.1.0 (Current), @aduh95
- [
9d35b4ce95
] - doc: add JonasBa to collaborators (Jonas Badalic) #58355 - [
b7d1bfa7b4
] - doc: add puskin to collaborators (Giovanni Bucci) #58308 - [
fcead7c28e
] - (SEMVER-MINOR) fs: add toDir
support for explicit resource management (Antoine du Hamel) #58206 - [
f7041b9369
] - Revert "test_runner: change ts default glob" (Théo LUDWIG) #58202
- [
b33e8d2a71
] - async_hooks: ensure AsyncLocalStore instances work isolated (Gerhard Stöbich) #58149 - [
a1b078b18c
] - buffer: give names toBuffer.prototype.*Write()
functions (Livia Medeiros) #58258 - [
4c967b73c3
] - buffer: use constexpr where possible (Yagiz Nizipli) #58141 - [
327095a928
] - build: fix uvwasi pkgname (Antoine du Hamel) #58270 - [
2e54653d3d
] - build: use FILE_OFFSET_BITS=64 esp. on 32-bit arch (RafaelGSS) #58090 - [
7e4453fe93
] - build: escape > metachar in vcbuild (Gerhard Stöbich) #58157 - [
7dabf079b1
] - child_process: give names to promisifiedexec()
andexecFile()
(LiviaMedeiros) #57916 - [
a896eff1f2
] - crypto: handle missing OPENSSL_TLS_SECURITY_LEVEL (Shelley Vohr) #58103 - [
6403aa458f
] - crypto: merge CipherBase.initiv into constructor (Tobias Nießen) #58166 - [
30897d915c
] - deps: V8: backport 1d3362c55396 (Shu-yu Guo) #58230 - [
63f5d69d2b
] - deps: V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58230 - [
5a5f6bb1d4
] - deps: V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58230 - [
db57f0a4c0
] - deps: patch V8 to 13.6.233.10 (Michaël Zasso) #58230 - [
f54a7a44ab
] - Revert "deps: patch V8 to support compilation with MSVC" (Michaël Zasso) #58187 - [
e3193eeca4
] - Revert "deps: always define V8_EXPORT_PRIVATE as no-op" (Michaël Zasso) #58187 - [
e75ecf8ad1
] - Revert "deps: disable V8 concurrent sparkplug compilation" (Michaël Zasso) #58187 - [
a0ca15558d
] - deps: update llhttp to 9.3.0 (Fedor Indutny) #58144 - [
90d4c11992
] - deps: update amaro to 0.5.3 (Node.js GitHub Bot) #58174 - [
9d35b4ce95
] - doc: add JonasBa to collaborators (Jonas Badalic) #58355 - [
2676ca0cf5
] - doc: add latest security release steward (Rafael Gonzaga) #58339 - [
c35cc1bdd9
] - doc: document default test-reporter change (Nico Jansen) #58302 - [
2bb433d4a5
] - doc: fix CryptoKey.algorithm type and other interfaces in webcrypto.md (Filip Skokan) #58294 - [
f04f09d783
] - doc: mark the callback argument of crypto.generatePrime as mandatory (Allon Murienik) #58299 - [
3b9b010844
] - doc: remove comma delimiter mention on permissions doc (Rafael Gonzaga) #58297 - [
f0cf1a028d
] - doc: make Stability labels not sticky in Stability index (Livia Medeiros) #58291 - [
a1b937bdee
] - doc: update commit-queue documentation (Dario Piotrowicz) #58275 - [
b7d1bfa7b4
] - doc: add puskin to collaborators (Giovanni Bucci) #58308 - [
fc30cdd8d2
] - doc: update stability status for diagnostics_channel to experimental (Idan Goshen) #58261 - [
290a5ab8ca
] - doc: clarify napi_get_value_string_* for bufsize 0 (Tobias Nießen) #58158 - [
c26863a683
] - doc: fix typo of filehttp.md
,outgoingMessage.setTimeout
section (yusheng chen) #58188 - [
62dbd36dcb
] - doc: update return types for eventNames method in EventEmitter (Yukihiro Hasegawa) #58083 - [
130c135f38
] - fs: add support forURL
forfs.glob
'scwd
option (Antoine du Hamel) #58182 - [
fcead7c28e
] - (SEMVER-MINOR) fs: add toDir
support for explicit resource management (Antoine du Hamel) #58206 - [
655326ba9f
] - fs: glob is stable, so should not emit experimental warnings (Théo LUDWIG) #58236 - [
6ebcce7625
] - fs: ensuredir.read()
does not throw synchronously (Antoine du Hamel) #58228 - [
7715722323
] - http: remove unused functions and add todos (Yagiz Nizipli) #58143 - [
74a807e31f
] - http,https: give names to anonymous or misnamed functions (Livia Medeiros) #58180 - [
24a9aefb08
] - http2: add diagnostics channel 'http2.client.stream.start' (Darshan Sen) #58292 - [
2cb86a3cd6
] - http2: add diagnostics channel 'http2.client.stream.created' (Darshan Sen) #58246 - [
8f1aee90d9
] - http2: give name to promisifiedconnect()
(LiviaMedeiros) #57916 - [
b66f1b0be6
] - inspector: support for worker inspection in chrome devtools (Shima Ryuhei) #56759 - [
868e72e367
] - lib: fix sourcemaps with ts module mocking (Marco Ippolito) #58193 - [
570cb6f6b6
] - meta: ignore mailmap changes in linux ci (Jonas Badalic) #58356 - [
b94f63b865
] - module: handle instantiated async module jobs in require(esm) (Joyee Cheung) #58067 - [
714b706f2e
] - repl: add proper vertical cursor movements (Giovanni Bucci) #58003 - [
629a954477
] - repl: add possibility to edit multiline commands while adding them (Giovanni Bucci) #58003 - [
17746129f3
] - sqlite: setname
andlength
onsqlite.backup()
(Livia Medeiros) #58251 - [
908782b1c0
] - sqlite: add build option to build without sqlite (Michael Dawson) #58122 - [
a92a4074e4
] - src: remove unusedinternalVerifyIntegrity
internal binding (Dario Piotrowicz) #58285 - [
e0355b71ba
] - src: add a variant of ToV8Value() for primitive arrays (Aditi) #57576 - [
cb24fc71c4
] - src: remove unusedcheckMessagePort
internal binding (Dario Piotrowicz) #58267 - [
4db5d0bc49
] - src: remove unusedshouldRetryAsESM
internal binding (Dario Piotrowicz) #58265 - [
3b8d4e32ca
] - src: add a couple fast apis in node_os (James M Snell) #58210 - [
a135c0aea3
] - src: remove unneeded explicit V8 flags (Michaël Zasso) #58230 - [
abeb5c4cdc
] - src: fix module buffer allocation (X-BW) #57738 - [
9ca4b46eb3
] - src: use String::WriteV2() in TwoByteValue (Tobias Nießen) #58164 - [
bb28e2bfd7
] - src: remove overzealous tcsetattr error check (Ben Noordhuis) #58200 - [
329e008e73
] - src: refactor WriteUCS2 and remove flags argument (Tobias Nießen) #58163 - [
c815f29d61
] - src: remove NonCopyableMaybe (Tobias Nießen) #58168 - [
685d137dec
] - test: reduce iteration count in test-child-process-stdout-flush-exit (Antoine du Hamel) #58273 - [
40dc092e25
] - test: remove unnecessaryconsole.log
from test-repl-null-thrown (Dario Piotrowicz) #58281 - [
a3af644dda
] - test: allowtmpDir.path
to be modified (Aviv Keller) #58173 - [
97f80374a6
] - test: addFloat16Array
tocommon.getArrayBufferViews()
(Livia Medeiros) #58233 - [
65683735ab
] - test: fix executable flags (Livia Medeiros) #58250 - [
ebb82aa1c3
] - test: deflake test-http2-client-socket-destroy (Luigi Pinca) #58212 - [
eb4f130b17
] - test: remove Float16Array flag (Livia Medeiros) #58184 - [
09a85fdeb1
] - test: skip test-buffer-tostring-rangeerror when low on memory (Ruben Bridgewater) #58142 - [
65446632b1
] - test: reduce flakiness in test-heapdump-http2 (Joyee Cheung) #58148 - [
f7041b9369
] - Revert "test_runner: change ts default glob" (Théo LUDWIG) #58202 - [
287454298d
] - test_runner: unify --require and --import behavior when isolation none (Pietro Marchini) #57924 - [
6301b003f7
] - tools: ignoredeps/
andbenchmark/
for CodeQL (Rafael Gonzaga) #58254 - [
2d5de7e309
] - tools: add read permission to workflows that read contents (Antoine du Hamel) #58255 - [
b8d4715527
] - tools: support environment variables via comments (Pietro Marchini) #58186 - [
d8e88f2c17
] - typings: add missing typings forTypedArray
(Jason Zhang) #58248 - [
4c6f73c5d5
] - url: improve performance of the format function (Giovanni Bucci) #57099 - [
94c720c4ee
] - util: add internalassignFunctionName()
function (LiviaMedeiros) #57916 - [
3ed159afd1
] - watch: fix watch args not being properly filtered (Dario Piotrowicz) #58279
2025-05-14, Version 24.0.2 (Current), @RafaelGSS
This is a security release.
- (CVE-2025-23166) fix error handling on async crypto operation
- [
7d0c17b2ad
] - (CVE-2025-23166) src: fix error handling on async crypto operations (RafaelGSS) nodejs-private/node-private#688
2025-05-14, Version 23.11.1 (Current), @RafaelGSS
This is a security release.
src:
- (CVE-2025-23166) fix error handling on async crypto operation
- [
a271810ce2
] - deps: update c-ares to v1.34.5 (Node.js GitHub Bot) #57792 - [
a12107f0dd
] - (CVE-2025-23166) src: fix error handling on async crypto operations (RafaelGSS) nodejs-private/node-private#688
2025-05-14, Version 22.15.1 'Jod' (LTS), @RafaelGSS
This is a security release.
- (CVE-2025-23166) fix error handling on async crypto operation
- (CVE-2025-23165) add missing call to uv_fs_req_cleanup
- [
edaf54da00
] - fs: added test for missing call to uv_fs_req_cleanup (Justin Nietzel) #57811 - [
9f403e98ef
] - (CVE-2025-23165) fs: add missing call to uv_fs_req_cleanup (Justin Nietzel) #57811 - [
f4494d38f1
] - (CVE-2025-23166) src: fix error handling on async crypto operations (RafaelGSS) nodejs-private/node-private#709
2025-05-14, Version 20.19.2 'Iron' (LTS), @RafaelGSS
This is a security release.
- (CVE-2025-23166) fix error handling on async crypto operation
- (CVE-2025-23167) (SEMVER-MAJOR) update llhttp to 9.2.0
- (CVE-2025-23165) add missing call to uv_fs_req_cleanup
- [
eb25047b1b
] - deps: update llhttp to 9.2.0 (Node.js GitHub Bot) #51719 - [
12dcd8db08
] - deps: update llhttp to 9.1.3 (Node.js GitHub Bot) #50080 - [
190e45a291
] - (SEMVER-MAJOR) (CVE-2025-23167) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981 - [
fc68c44e6a
] - fs: added test for missing call to uv_fs_req_cleanup (Justin Nietzel) #57811 - [
9e13bf0a81
] - (CVE-2025-23165) fs: add missing call to uv_fs_req_cleanup (Justin Nietzel) #57811 - [
bd0aa5d44c
] - (CVE-2024-27982) http: do not allow OBS fold in headers by default (Paolo Insogna) nodejs-private/node-private#556 - [
6c57465920
] - (CVE-2025-23166) src: fix error handling on async crypto operations (RafaelGSS) nodejs-private/node-private#710