Update May 21, 2025 tracked by Updatify
2025-05-21, Version 22.16.0 'Jod' (LTS), @aduh95
Notable Changes
-
[
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
Commits
-
[
4252dc798c] - assert: supportFloat16Arrayin 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: disambiguatefilenameanddirnameread 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-realmSharedArrayBuffervalidation (Antoine du Hamel) #57974 -
[
78f4ffee5d] - crypto: fix cross-realm check ofArrayBuffer(Felipe Forbeck) #57828 -
[
f606352b63] - crypto: forbid passingFloat16ArraytogetRandomValues()(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: fixAsyncLocalStorageexample 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.filenamesection (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 forloadhooks (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 usingawaitin 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: clarifyunhandledRejectionevents 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.metasetup 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: improvegetPackageTypeperformance (Dario Piotrowicz) #57599 -
[
9e6054e715] - module: remove unnecessaryreadPackagefunction (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-schemawith 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: fixModulesBindingtypes (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: preservelengthof 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