Node v22.4.0 (Current)
Michaël Zasso
2024-07-02, Version 22.4.0 (Current), @targos
Notable Changes
Experimental Web Storage API
- [
9e30724b53
] - (SEMVER-MINOR) deps,lib,src: add experimental web storage (Colin Ihrig) #52435
API stability updates
- [
201266706b
] - doc: movenode --run
stability to rc (Yagiz Nizipli) #53433 - [
16c0884d48
] - doc: mark WebSocket as stable (Matthew Aitken) #53352 - [
cf375e73c1
] - doc: mark --heap-prof and related flags stable (Joyee Cheung) #53343 - [
0160745057
] - doc: mark --cpu-prof and related flags stable (Joyee Cheung) #53343
Other Notable Changes
- [
df4762722c
] - doc: doc-only deprecate OpenSSL engine-based APIs (Richard Lau) #53329 - [
ad5282e196
] - inspector: fix disable async hooks onDebugger.setAsyncCallStackDepth
(Joyee Cheung) #53473 - [
e95af740fc
] - (SEMVER-MINOR) lib: add diagnostics_channel events to module loading (RafaelGSS) #44340 - [
50733a1abe
] - (SEMVER-MINOR) util: support--no-
for argument with boolean type for parseArgs (Zhenwei Jin) #53107
Commits
- [
9f32002397
] - assert,util: correct comparison when both contain same reference (Daniel Lemire) #53431 - [
dfdc062111
] - buffer: make indexOf(byte) faster (Tobias Nießen) #53455 - [
1de437527e
] - build: configure with shared sqlite3 (Chengzhong Wu) #53519 - [
c7d44ba1f3
] - build: find version of Clang installed on Windows (Stefan Stojanovic) #53228 - [
36aad8b204
] - build: fix spacing before NINJA_ARGS (jakecastelli) #53181 - [
82092cdaa3
] - crypto: improve GetECGroupBits signature (Tobias Nießen) #53364 - [
073c231607
] - deps: update c-ares to v1.31.0 (Node.js GitHub Bot) #53554 - [
977beab729
] - (SEMVER-MINOR) deps: sqlite: fix Windows compilation (Colin Ihrig) #52435 - [
e69b8d202c
] - deps: update undici to 6.19.2 (Node.js GitHub Bot) #53468 - [
c4a7e051c8
] - deps: update undici to 6.19.1 (Node.js GitHub Bot) #53468 - [
fa34f8fcf0
] - deps: update undici to 6.19.1 (Node.js GitHub Bot) #53468 - [
0b40bfad43
] - deps: update undici to 6.19.0 (Node.js GitHub Bot) #53468 - [
1877f22a79
] - deps: update simdjson to 3.9.4 (Node.js GitHub Bot) #53467 - [
1b84964b8d
] - deps: patch V8 to 12.4.254.21 (Node.js GitHub Bot) #53470 - [
6acadeb59b
] - deps: update acorn-walk to 8.3.3 (Node.js GitHub Bot) #53466 - [
7a7f438841
] - deps: update zlib to 1.3.0.1-motley-209717d (Node.js GitHub Bot) #53156 - [
bf891bf64c
] - deps: update c-ares to v1.30.0 (Node.js GitHub Bot) #53416 - [
bd68888261
] - deps: V8: cherry-pick a3cc8522a4c8 (kxxt) #53412 - [
2defaaf771
] - deps: V8: cherry-pick 6ea594ff7132 (kxxt) #53412 - [
9e30724b53
] - (SEMVER-MINOR) deps,lib,src: add experimental web storage (Colin Ihrig) #52435 - [
608cc05de1
] - doc: recommend not using libuv node-api function (Michael Dawson) #53521 - [
30858eca59
] - doc: add additional guidance for PRs to deps (Michael Dawson) #53499 - [
a5852cc710
] - doc: only apply content-visibility on all.html (Filip Skokan) #53510 - [
befabe5c58
] - doc: update the description of the return type for options.filter (Zhenwei Jin) #52742 - [
5ed1a036ba
] - doc: remove first timer badge (Aviv Keller) #53338 - [
201266706b
] - doc: movenode --run
stability to rc (Yagiz Nizipli) #53433 - [
46a7681cc4
] - doc: add Buffer.from(string) to functions that use buffer pool (Christian Bates-White) #52801 - [
ec5364f6de
] - doc: add initial text for ambassadors program (Michael Dawson) #52857 - [
fa113b8fc7
] - doc: fix typo (EhsanKhaki) #53397 - [
d9182d0086
] - doc: define more cases for stream event emissions (Aviv Keller) #53317 - [
923d24b6f2
] - doc: remove mentions of policy model from security info (Aviv Keller) #53249 - [
48f78cd31b
] - doc: fix mistakes in the moduleload
hook api (István Donkó) #53349 - [
16c0884d48
] - doc: mark WebSocket as stable (Matthew Aitken) #53352 - [
df4762722c
] - doc: doc-only deprecate OpenSSL engine-based APIs (Richard Lau) #53329 - [
cf375e73c1
] - doc: mark --heap-prof and related flags stable (Joyee Cheung) #53343 - [
0160745057
] - doc: mark --cpu-prof and related flags stable (Joyee Cheung) #53343 - [
6e12d9f049
] - doc: remove IRC from man page (Tobias Nießen) #53344 - [
24c7a9415b
] - doc, http: addrejectNonStandardBodyWrites
option, clear its behaviour (jakecastelli) #53396 - [
ec38f3dc6a
] - doc, meta: organize contributing to Node-API guide (Aviv Keller) #53243 - [
cf5a973c42
] - doc, meta: use markdown rather than HTML in CONTRIBUTING.md (Aviv Keller) #53235 - [
105b006fd2
] - fs: moveToNamespacedPath
to c++ (Yagiz Nizipli) #52135 - [
568377f7f0
] - fs: do not crash if the watched file is removed while setting up watch (Matteo Collina) #53452 - [
fad179307c
] - fs: add fast api forInternalModuleStat
(Yagiz Nizipli) #51344 - [
41100b65f6
] - http2: reject failed http2.connect when used with promisify (ehsankhfr) #53475 - [
ad5282e196
] - inspector: fix disable async hooks on Debugger.setAsyncCallStackDepth (Joyee Cheung) #53473 - [
b5fc227344
] - lib: fix typo in comment (codediverdev) #53543 - [
e95af740fc
] - (SEMVER-MINOR) lib: add diagnostics_channel events to module loading (RafaelGSS) #44340 - [
123910f1de
] - lib: remove the unused code (theanarkh) #53463 - [
452011b719
] - lib: speed up MessageEvent creation internally (Matthew Aitken) #52951 - [
710cf7758c
] - lib: reduce amount of caught URL errors (Yagiz Nizipli) #52658 - [
45b59e58d1
] - lib: fix naming convention ofSymbol
(Deokjin Kim) #53387 - [
515dd24ee7
] - lib: fix timer leak (theanarkh) #53337 - [
77166137be
] - meta: use correct source for workflow in PR (Aviv Keller) #53490 - [
d1c10fee53
] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #53480 - [
a5026386bf
] - meta: fix typo in dependency updates (Aviv Keller) #53471 - [
0b9191da99
] - meta: bump step-security/harden-runner from 2.7.1 to 2.8.0 (dependabot[bot]) #53245 - [
49cfb9d001
] - src: resetprocess.versions
during pre-execution (Richard Lau) #53444 - [
15df4edd22
] - src: useargs.This()
instead ofHolder
(Michaël Zasso) #53474 - [
e16a04e852
] - src: fix dynamically linked OpenSSL version (Richard Lau) #53456 - [
5961253824
] - src: removebase64
fromprocess.versions
(Richard Lau) #53442 - [
11dd15c0b5
] - src: removeSetEncoding
from StringEncoder (Yagiz Nizipli) #53441 - [
0c7e69acd2
] - src: simplifysize() == 0
checks (Yagiz Nizipli) #53440 - [
f077afafda
] - src: add utilities to help debugging reproducibility of snapshots (Joyee Cheung) #50983 - [
004b9ea4c4
] - src: make sure that memcpy-ed structs in snapshot have no padding (Joyee Cheung) #50983 - [
bfc5236423
] - src: return non-empty data in context data serializer (Joyee Cheung) #50983 - [
955454ba4d
] - src: fix typo in env.cc (EhsanKhaki) #53418 - [
7d8787768c
] - src: avoid strcmp in favor of operator== (Tobias Nießen) #53439 - [
599e7c3d8e
] - src: remove ArrayBufferAllocator::Reallocate override (Shu-yu Guo) #52910 - [
f9075ff38e
] - src: print v8::OOMDetails::detail when it's available (Joyee Cheung) #53360 - [
4704270443
] - src: fix IsIPAddress for IPv6 (Hüseyin Açacak) #53400 - [
63f62d76de
] - src: fix permission inspector crash (theanarkh) #53389 - [
70bbc02dac
] - src, deps: add nbytes library (James M Snell) #53507 - [
8b877099d0
] - stream: update outdated highwatermark doc (Jay Kim) #53494 - [
eded1e9768
] - stream: support dispose in writable (Benjamin Gruenbaum) #48547 - [
b3372a8b0e
] - stream: callback should be called when pendingcb is 0 (jakecastelli) #53438 - [
f4efb7f625
] - stream: make sure _destroy is called (jakecastelli) #53213 - [
7dde37591c
] - stream: prevent stream unexpected pause when highWaterMark set to 0 (jakecastelli) #53261 - [
6e66d9763f
] - test: marktest-benchmark-crypto
as flaky (Antoine du Hamel) #52955 - [
1eebcbf9bf
] - test: skip reproducible snapshot test on 32-bit (Michaël Zasso) #53592 - [
91b2850303
] - test: extend env fortest-node-output-errors
(Richard Lau) #53535 - [
bcad560726
] - test: updatecompression
web-platform tests (Yagiz Nizipli) #53478 - [
b8f436c755
] - test: update encoding web-platform tests (Yagiz Nizipli) #53477 - [
d2c169a4f6
] - test: updateurl
web-platform tests (Yagiz Nizipli) #53472 - [
513e6aa4c7
] - test: check against run-time OpenSSL version (Richard Lau) #53456 - [
602b9d63c4
] - test: update tests for OpenSSL 3.0.14 (Richard Lau) #53373 - [
4a3525bb08
] - test: fix test-http-server-keepalive-req-gc (Etienne Pierre-doray) #53292 - [
7349edb28b
] - test: update TLS tests for OpenSSL 3.2 (Richard Lau) #53384 - [
a11a05763d
] - tls: check result of SSL_CTX_set_*_proto_version (Tobias Nießen) #53459 - [
4b47f89eb2
] - tls: avoid taking ownership of OpenSSL objects (Tobias Nießen) #53436 - [
ac8adeb99f
] - tls: use SSL_get_peer_tmp_key (Tobias Nießen) #53366 - [
d5c380bb09
] - tools: lock versions of irrelevant DB deps (Michaël Zasso) #53546 - [
71321bb249
] - tools: fix skip detection of test runner output (Richard Lau) #53545 - [
ca198f4125
] - tools: update eslint to 9.5.0 (Node.js GitHub Bot) #53515 - [
30fdd482a1
] - tools: move ESLint to tools/eslint (Michaël Zasso) #53413 - [
fe85e05ba9
] - tools: fix c-ares update script (Marco Ippolito) #53414 - [
8eb7bdf81b
] - tools: update lint-md-dependencies (Node.js GitHub Bot) #53158 - [
9ece63d415
] - tools: do not run Corepack code before it's reviewed (Antoine du Hamel) #53405 - [
ab2021492b
] - tools: move ESLint tools to tools/eslint (Michaël Zasso) #53393 - [
78a9037a6d
] - tools: use Ubuntu 24.04 and Clang on GitHub actions (Michaël Zasso) #53212 - [
855eb25dad
] - tools: add stream label on PR when related files being changed in lib (jakecastelli) #53269 - [
50733a1abe
] - (SEMVER-MINOR) util: support--no-
for argument with boolean type for parseArgs (Zhenwei Jin) #53107
Windows 32-bit Installer: https://nodejs.org/dist/v22.4.0/node-v22.4.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v22.4.0/node-v22.4.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v22.4.0/node-v22.4.0-arm64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v22.4.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v22.4.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v22.4.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v22.4.0/node-v22.4.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v22.4.0/node-v22.4.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v22.4.0/node-v22.4.0.tar.gz
Other release files: https://nodejs.org/dist/v22.4.0/
Documentation: https://nodejs.org/docs/v22.4.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
bffb8cd1229ad1b572b0354cd858841eebb5b4c8e360da5d1597e91966a4df82 node-v22.4.0-aix-ppc64.tar.gz
06f5e87171eaabe4264e1d6af5f95a5273cde289e236c1cf28e12c9cfa8fadef node-v22.4.0-arm64.msi
3cac2e50c2bac76700d1bf124cb8836299f82550f9032b94a84e53cfc687c2b4 node-v22.4.0-darwin-arm64.tar.gz
d52d15e86cda4fec28ffafafde955c1a4b3df3920192bd8d0add834ba9c51702 node-v22.4.0-darwin-arm64.tar.xz
d0b978af9b20b7d083ebd00932dee29a57466bd030cd605f6fe6cf00ff9df357 node-v22.4.0-darwin-x64.tar.gz
e39b56ba416425075d6241c359011e7493286b71a8b8aefbddcd2a7acb57394a node-v22.4.0-darwin-x64.tar.xz
e965433c8bf6676fa22d1f5bd68ccdccdaad92be0db6c75aa69c470d63f71fee node-v22.4.0-headers.tar.gz
4db890054c6105f62cbd5390154a8da1d7fe76dfa12730d462845baa081dc471 node-v22.4.0-headers.tar.xz
2157b6eca925abae88bd6543b66e2ebefed7106b7ef34fc792553a303309422e node-v22.4.0-linux-arm64.tar.gz
ae2a05ed0a7de095ddf6b2ee4fa4cfe935754ecdd4d115fde57edbc54818b93e node-v22.4.0-linux-arm64.tar.xz
3511b88be58a137c2e59507bb1f8023744107f0cfd27fb9714208ffd065615f9 node-v22.4.0-linux-armv7l.tar.gz
dbc373854bfb2d5d2e408263b14f56c286553a7bfc6414665cf7bce23762744c node-v22.4.0-linux-armv7l.tar.xz
0c02a6c722cdb61ba542128073014d5927aa5e068ba7b9f67cce50f1edefc9a9 node-v22.4.0-linux-ppc64le.tar.gz
8973f6338fb7ebca3e752020da8f71036d254db22cf29d54dadeaa1f2bc432a1 node-v22.4.0-linux-ppc64le.tar.xz
c73714c0867c0503fb4516047f76f1305e932dadb76f1f013e70f3f91c47c505 node-v22.4.0-linux-s390x.tar.gz
e4fb48861a10fe09b4e1efc88fd34ca05c32047131719869057a0d30ad19d590 node-v22.4.0-linux-s390x.tar.xz
407531c82d4ccffa4231b82086f614f2de2e4008146aff124f7d76ebb87ea45a node-v22.4.0-linux-x64.tar.gz
5ea7c609f4bfcdc20b872f2cf7c80ea4330e5b52164d5d701db97028f9628309 node-v22.4.0-linux-x64.tar.xz
112e8d48e49f9960173e31bbe4b8c12c5fe95b6c907060e81ded400a0468d3fd node-v22.4.0.pkg
b62cd83c9a57a11349883f89b1727a16e66c02eb6255a4bf32714ff5d93165f5 node-v22.4.0.tar.gz
292b430084f2f32913dc7da4eb2fbc8969252772a9d1bfe8ae6c4b4a98ca3ad3 node-v22.4.0.tar.xz
5f45a76ff5ba0400eb936446f395e4f058e91554659bb0005130767dffe17991 node-v22.4.0-win-arm64.7z
222f68e2bc3527496712db83dbcf6e0b0618ffadea1bf3259019aa4c143b0d18 node-v22.4.0-win-arm64.zip
c098207b8c009c6ecd080d64546016399c41c1ff874050ddf70307be5e4d2f5b node-v22.4.0-win-x64.7z
ba7746d0c83367365332668c800d95e2e0a0b9b765fecc25d395e04fa5fd5c1d node-v22.4.0-win-x64.zip
a3977767a4726ad7ce27b9ca78f53b6733fad29fc415e5d8ddbd865c8b75347f node-v22.4.0-win-x86.7z
cb7d9f7d6803f3447ac91844736d060589ececc930159d12046a643451781b29 node-v22.4.0-win-x86.zip
04ca0f66d06822159fc2e3d21d566645691425c4e3ee422aa8d55a3ac5d30ad6 node-v22.4.0-x64.msi
3e7c379ed68603b646f785686f44e4d2c6d88640696366673aa4a34228a478ae node-v22.4.0-x86.msi
2c39a66055b1d47b8647f5d01bc66864afe54091199a0947ee46450d0d6714ac win-arm64/node.exe
30e63a6726cda6539eeb37c311adf915bccd5c1462723b97a6c07ac91e8ae728 win-arm64/node.lib
09d7baa46c430757d62d4ed03b2f582446eedd7659d98ef76b4908badbe6765c win-arm64/node_pdb.7z
d9a2dc235735b186fa059e9f87a724ec89a7df07f7cab51fb19014c2a8ba35a7 win-arm64/node_pdb.zip
4e07f7a361170db55f9463fe5abfb39340f8f57849ee6839f1089fa095e5c430 win-x64/node.exe
c4d08d45267da3625a30730bf5c8e41518f25d9809179feb267f1b393f5c5f05 win-x64/node.lib
c7683f7309a7be898f6c8ba7dd0d14c02d15e0e87ee60dd83f9e53fa7be77085 win-x64/node_pdb.7z
2cb700e32ad42fed6c1cc4aa8e792ec9caf28020b141050c6b99473c2f8df194 win-x64/node_pdb.zip
39dfc52bacc268c959ce1952b38d42dddc56e05ff798ab1209d5c8a743ec868e win-x86/node.exe
fc3bf3c1e561da1e1c152be9aa5ed1bce8d263a5124841a4ba41ebc37c727f3e win-x86/node.lib
261dcb7bb9751fcb4338f0101946ccc12c4be38dcc17ae03db316a870d507893 win-x86/node_pdb.7z
847c000dcdfbaccbad6d76c231d49e7862a19cba34ac2efe252e74e1ee3ee275 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAmaDwFwACgkQdw96mlrh
VgAFhg//e+fo6ByzG9J62eMbGUgtXRt9QYBT1Qkfe7AlBoAExFdoJgH+VLdVApMK
odKiGQfu2OqsOPYBocLDa0cVLx7c7LQdae3IHOabTgOgj1NdB3H9gjzbDOpzfxy9
ILeUNcsxJZnb6BNnD58cBPMsjLIsQ78Y5Xa6HCkpmfDaQnUtyexiSqvEl8jf5gQf
E/1DLCKw5muIpF7I07JyoBTCSc63Eg9FK8E8dkkpcz9zj0BBovIVyajKGADs1p5O
BZu6tV1GEOYq0RSEQk0+89tIfIzOSsDloBSh0Yq98oDEqKVPyApZUqNBapDkX+oK
DDOAytpU7mrAmxvr3ChV73QutfNPzMj6m1YMbUVRYoJvhpgmt5xZA0lX8WTJ60tx
dUcihHQVy1NhlPhiKtKelhuS7TiA4Z4B3TIGIMpIdgBbmY/pm7E4pZXgtPgaE0ke
Jg8vx67iXBoyAVvb5GWzXsCPJ1bvDfvkAGSqW2HkWTCW+E2DrM+5jRUqX/wtZHSA
IbtpySCfhKMaR8ZHHTWiq+B5N3gFE5p9XYx/bSUsaGPfshsxBXPQUeLmeOFfr7kB
ZubuvVIgytmw9cD+jgb9UCdAQ6pK4qskj0K3rJ/QK/renV0xz6Cy56HNXUNsrxdI
8WY2fbbMRgaghJqpVb6+xIe/Zg7OL0mHuz1WYaTCQgSDFjBTjkQ=
=WxEV
-----END PGP SIGNATURE-----