Node.js v18.11.0 (Current)
Danielle Adams
Notable changes
watch mode (experimental)
Running in 'watch' mode using node --watch restarts the process when an imported file is changed.
Contributed by Moshe Atlow in #44366
Other notable changes
- fs:
- (SEMVER-MINOR) add FileHandle.prototype.readLines(Antoine du Hamel) #42590
 
- (SEMVER-MINOR) add 
- http:
- (SEMVER-MINOR) add writeEarlyHints function to ServerResponse (Wing) #44180
 
- http2:
- (SEMVER-MINOR) make early hints generic (Yagiz Nizipli) #44820
 
- lib:
- (SEMVER-MINOR) refactor transferable AbortSignal (flakey5) #44048
 
- src:
- (SEMVER-MINOR) add detailed embedder process initialization API (Anna Henningsen) #44121
 
- util:
- (SEMVER-MINOR) add default value option to parsearg (Manuel Spigolon) #44631
 
Commits
- [27b4b782ce] - benchmark: add vm context global proxy benchmark (Joyee Cheung) #44796
- [4e82521af1] - bootstrap: update comments in bootstrap/node.js (Joyee Cheung) #44726
- [725be0ea50] - buffer: initialize TextDecoder once on blob.text() (Yagiz Nizipli) #44787
- [653c3b1f62] - buffer,lib: update atob to align wpt's base64.json (Khaidi Chu) #43901
- [37808b3355] - build: convert V8 test JSON to JUnit XML (Keyhan Vakil) #44049
- [f92871a52b] - build: update timezone-update.yml (Alex) #44717
- [f85d3471ee] - child_process: remove lookup of undefined property (Colin Ihrig) #44766
- [2f5f41c315] - (SEMVER-MINOR) cli: add--watch(Moshe Atlow) #44366
- [7fb9cc70f3] - cluster: use inspector utils (Moshe Atlow) #44592
- [99a2c16040] - crypto: add causes to applicable webcrypto's OperationError (Filip Skokan) #44890
- [e0fbba0939] - crypto: use EVP_PKEY_CTX_set_dsa_paramgen_q_bits when available (David Benjamin) #44561
- [a90386b0a1] - deps: update undici to 5.11.0 (Node.js GitHub Bot) #44929
- [aa68d40fbf] - deps: update corepack to 0.14.2 (Node.js GitHub Bot) #44775
- [c892f35815] - deps: V8: fix debug build (Ben Noordhuis) #44392
- [91514393dc] - dns: support dns module in the snapshot (Joyee Cheung) #44633
- [ce3cb29319] - doc: add fsPromises.readFile() example (Tierney Cyren) #40237
- [97df9b84a2] - doc: improve building doc for Android (BuShe Pie) #44888
- [8c69da893b] - doc: mentioncorepack preparesupports tag or range (Michael Rienstra) #44646
- [842bc64833] - doc: remove Legacy status from querystring (Rich Trott) #44912
- [ddb5402f5f] - doc: fix label name in collaborator guide (Rich Trott) #44920
- [d08b024a3d] - doc: fix typo in Node.js 12 changelog (Lorand Horvath) #42880
- [b6b9c427c5] - doc: move release keys we don't use anymore in README (Rich Trott) #44899
- [e92b074b32] - doc: fix grammar in dns docs (#44850) (Colin Ihrig) #44850
- [780144c339] - doc: remove unnecessary leading commas (Colin Ihrig) #44854
- [6ae9bc8fbc] - doc: add extra step for reporter pre-approval (Rafael Gonzaga) #44806
- [ccf31d8bca] - doc: add anchor link for --preserve-symlinks (Kohei Ueno) #44858
- [7c5c19ee54] - doc: update node prefix require.cache example (Simone Busoli) #44724
- [2a5bce6318] - doc: include last security release date (Vladimir de Turckheim) #44794
- [4efaf4265c] - doc: remove "currently" and comma splice from child_process.md (Rich Trott) #44789
- [3627616b40] - doc,crypto: mark experimental algorithms more visually (Filip Skokan) #44892
- [3c653cf23a] - doc,crypto: add missing CFRG curve algorithms to supported lists (Filip Skokan) #44876
- [70f55020d3] - doc,crypto: add null length to crypto.subtle.deriveBits (Filip Skokan) #44876
- [910fbd0ece] - esm: fix duplicated test (Geoffrey Booth) #44779
- [bc00f3bde1] - fs: fix opts.filter issue in cp async (Tho) #44922
- [11d1c23fa0] - (SEMVER-MINOR) fs: addFileHandle.prototype.readLines(Antoine du Hamel) #42590
- [67fb76519a] - fs: improve promise based readFile performance for big files (Ruben Bridgewater) #44295
- [dc6379bdc2] - fs: don't hard code name in validatePosition() (Colin Ihrig) #44767
- [eb19b1e97c] - http: be more aggressive to reply 400, 408 and 431 (ywave620) #44818
- [4c869c8d9e] - (SEMVER-MINOR) http: add writeEarlyHints function to ServerResponse (Wing) #44180
- [9c7e66478c] - (SEMVER-MINOR) http2: make early hints generic (Yagiz Nizipli) #44820
- [3f20e5b15c] - (SEMVER-MINOR) lib: refactor transferable AbortSignal (flakey5) #44048
- [ada7d82b16] - lib: require JSDoc in internal validators code (Rich Trott) #44896
- [67eaa303af] - lib: add cause to DOMException (flakey5) #44703
- [0db86ee98e] - meta: update AUTHORS (Node.js GitHub Bot) #44930
- [2efe4d985b] - meta: label test.js and test.md with test_runner label (Moshe Atlow) #44863
- [fd9feb3a6c] - meta: update AUTHORS (Node.js GitHub Bot) #44857
- [a854bb39c9] - node-api: create reference only when needed (Gerhard Stöbich) #44827
- [fd5c26b8db] - path: change basename() argument from ext to suffix (Rich Trott) #44774
- [803fbfb168] - process: fix uid/gid validation to avoid crash (Tobias Nießen) #44910
- [9f2dd48fc3] - src: remove uid_t/gid_t casts (Tobias Nießen) #44914
- [3abb607f3a] - src: remove UncheckedMalloc(0) workaround (Tobias Nießen) #44543
- [0606f9298f] - src: deduplicate setting RSA OAEP label (Tobias Nießen) #44849
- [daf3152f7e] - src: implement GetDetachedness() in MemoryRetainerNode (Joyee Cheung) #44803
- [7ca77dd4ef] - src: avoid X509_free in loops in crypto_x509.cc (Tobias Nießen) #44855
- [781ad96227] - src: use OnScopeLeave instead of multiple free() (Tobias Nießen) #44852
- [b27b336a7a] - src: remove ParseIP() in cares_wrap.cc (Tobias Nießen) #44771
- [f99f5d3c01] - (SEMVER-MINOR) src: add detailed embedder process initialization API (Anna Henningsen) #44121
- [281fd7a09a] - src,stream: improve DoWrite() and Write() (ywave620) #44434
- [a33cc22bf7] - src,worker: fix race of WorkerHeapSnapshotTaker (ywave620) #44745
- [f300f197da] - stream: handle enqueuing chunks when a pending BYOB pull request exists (Daeyeon Jeong) #44770
- [9ac029ea11] - test: bump memory limit for abort fatal error (Danielle Adams) #44984
- [b9b671f25f] - test: debug watch mode inspect (Moshe Atlow) #44861
- [2308b71d09] - test: don't clobber RegExp.$_ on startup (Ben Noordhuis) #44864
- [fe91bebb67] - test: loosen test for negative timestamps intest-fs-stat-date(Livia Medeiros) #44707
- [a080608552] - test: check--testis disallowed in NODE_OPTIONS (Kohei Ueno) #44846
- [dc2af265d7] - test: improve lib/internal/source_map/source_map.js coverage (MURAKAMI Masahiko) #42771
- [60a05d6dea] - test: skip some binding tests on IBMi PASE (Richard Lau) #44810
- [8dacedaa3d] - test: remove unused variable in addon test (Joyee Cheung) #44809
- [c54cee1c3f] - test: check server status in test-tls-psk-client (Richard Lau) #44824
- [ee3c6a4dc5] - test: use async/await in test-debugger-exceptions (pete3249) #44690
- [9f14625fe5] - test: use async/await in test-debugger-help (Chandana) #44686
- [8033ad846b] - test: update test-debugger-scripts to use await/async (mmeenapriya) #44692
- [f4f08be384] - test: use await in test-debugger-invalid-json (Anjana Krishnakumar Vellore) #44689
- [d2f36169f3] - test: use async/await in test-debugger-random-port-with-inspect-port (Monu-Chaudhary) #44695
- [ddf029725b] - test: use async/await in test-debugger-heap-profiler (Brinda Ashar) #44693
- [117f068250] - test: use async/await in test-debugger-auto-resume (samyuktaprabhu) #44675
- [143c428cae] - test: migrated from Promise chains to Async/Await (Rathi N Das) #44674
- [e609a3309c] - test: change promises to async/await in test-debugger-backtrace.js (Juliet Zhang) #44677
- [eeabd23ca6] - test: use async/await in test-debugger-sb-before-load (Hope Olaidé) #44697
- [5c63d1464e] - test: add extra tests for basename with ext option (Connor Burton) #44772
- [f8b2d7a059] - test: refactor to async/await (Divya Mohan) #44694
- [9864bde9ab] - test: modify test-debugger-custom-port.js to use async-await (Priya Shastri) #44680
- [af30823881] - test: upgrade all 1024 bit RSA keys to 2048 bits (Momtchil Momtchev) #44498
- [0fb669e31f] - test: update test-debugger-breakpoint-exists.js to use async/await (Archana Kamath) #44682
- [cca253503e] - test: use async/await in test-debugger-preserve-breaks (poorvitusam) #44696
- [0b2e8b1681] - test: use async/await in test-debugger-profile (surbhirjain) #44684
- [4db72a65cf] - test: change the promises to async/await in test-debugger-exec-scope.js (Ankita Khiratkar) #44685
- [56c9c98963] - test: fix test-runner-inspect (Moshe Atlow) #44620
- [36227ed862] - test: fix watch mode test flake (Moshe Atlow) #44739
- [3abd71a0ea] - test: deflake watch mode tests (Moshe Atlow) #44621
- [0c9f38f2be] - test: split watch mode inspector tests to sequential (Moshe Atlow) #44551
- [d762a34128] - test_runner: add --test-name-pattern CLI flag (Colin Ihrig)
- [c7ece464a1] - test_runner: remove runtime experimental warning (Colin Ihrig) #44844
- [3c1e9d41c8] - test_runner: support using--inspectwith--test(Moshe Atlow) #44520
- [4bdef48732] - tools: remove faulty early termination logic from update-timezone.mjs (Darshan Sen) #44870
- [19d8574996] - tools: fix timezone update tool (Darshan Sen) #44870
- [ad8b8ae7d3] - tools: update eslint to 8.25.0 (Node.js GitHub Bot) #44931
- [fd99b17a4d] - tools: makeutils.SearchFilesdeterministic (Bruno Pitrus) #44496
- [131adece37] - tools: fix typo in tools/update-authors.mjs (Darshan Sen) #44780
- [ab22777e65] - tools: refactor deprecated format in no-unescaped-regexp-dot (Madhuri) #44763
- [3ad0fae89d] - tools: update eslint-check.js to object style (andiemontoyeah) #44706
- [e9d572a9bd] - tools: update eslint to 8.24.0 (Node.js GitHub Bot) #44778
- [984b0b4a6c] - tools: update lint-md-dependencies to rollup@2.79.1 (Node.js GitHub Bot) #44776
- [db5aeed702] - (SEMVER-MINOR) util: add default value option to parsearg (Manuel Spigolon) #44631
- [576ccdf125] - util: increase robustness with primordials (Jordan Harband) #41212
Windows 32-bit Installer: https://nodejs.org/dist/v18.11.0/node-v18.11.0-x86.msi 
Windows 64-bit Installer: https://nodejs.org/dist/v18.11.0/node-v18.11.0-x64.msi 
Windows 32-bit Binary: https://nodejs.org/dist/v18.11.0/win-x86/node.exe 
Windows 64-bit Binary: https://nodejs.org/dist/v18.11.0/win-x64/node.exe 
macOS 64-bit Installer: https://nodejs.org/dist/v18.11.0/node-v18.11.0.pkg 
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-darwin-arm64.tar.gz 
macOS Intel 64-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-darwin-x64.tar.gz 
Linux 64-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-linux-x64.tar.xz 
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-linux-ppc64le.tar.xz 
Linux s390x 64-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-linux-s390x.tar.xz 
AIX 64-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-aix-ppc64.tar.gz 
ARMv7 32-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-linux-armv7l.tar.xz 
ARMv8 64-bit Binary: https://nodejs.org/dist/v18.11.0/node-v18.11.0-linux-arm64.tar.xz 
Source Code: https://nodejs.org/dist/v18.11.0/node-v18.11.0.tar.gz 
Other release files: https://nodejs.org/dist/v18.11.0/ 
Documentation: https://nodejs.org/docs/v18.11.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
d567b0b7ab71139ee90fd7cdadc11602e183db2a23a5ffb393f92870eac033e2  node-v18.11.0-aix-ppc64.tar.gz
db5f8d16967d8b04129d77013101c9b0bb8a3b98e5895cf4bfd9a9af21ff8e27  node-v18.11.0-darwin-arm64.tar.gz
0feec3a2b9ef82e1763dc88047565d5c390927e70376919c2fc17e9b47728c29  node-v18.11.0-darwin-arm64.tar.xz
3d3a4368c35f0bce45b1dc2eeb0b25765afee8a188441a81db93d16bc08bb861  node-v18.11.0-darwin-x64.tar.gz
655487c8e4be33c09fcf80076d30dcfb0980a50857a98e8aa9842a0a8bca4158  node-v18.11.0-darwin-x64.tar.xz
bf7565b7172598b4f746d574e56518000a44c5039eb9e6561c190695f88ae922  node-v18.11.0-headers.tar.gz
79dcc78fa00e75ff37b7df23b8bfa12ade859bbe4ba01413e327a16f615a2056  node-v18.11.0-headers.tar.xz
48e5008774bd36471ece361e7a8795d59a0d40da7e849e13a1ed7f33cf8095a5  node-v18.11.0-linux-arm64.tar.gz
c2869d3b9fc82e289470807de98c21f3944ddd741a4cb2ac5fe93a41efbaef13  node-v18.11.0-linux-arm64.tar.xz
787bb825140058c59c2f2d9b735596fbd2cb229137712a67c1ee2659e8da33bc  node-v18.11.0-linux-armv7l.tar.gz
efe3e6e7216a45c4c01aaba9d57f4075404bc2af51121371c5708547a80265b9  node-v18.11.0-linux-armv7l.tar.xz
20fc4fc62481f14f180b549dbcea270854b6ca140adef8867e68ff5074d3c28e  node-v18.11.0-linux-ppc64le.tar.gz
3d550cf0b710e14b0e30aa7b095b4ad709a33937ffe92af9ecce8f57f6daafe2  node-v18.11.0-linux-ppc64le.tar.xz
5ef680634c6c66ce59ec4732a6acf6869199ef937ff5832da65fbfd3d15c20bd  node-v18.11.0-linux-s390x.tar.gz
89d65a429330aacf0dac4a3bee6687b6b1b9392d2f14c5f84a1b79077c1d37d0  node-v18.11.0-linux-s390x.tar.xz
5935236185a515b4beb991baabbe0084d552eb5122ab9b3fd0fad018af795cb3  node-v18.11.0-linux-x64.tar.gz
3708a27c761c0a6e4035ac291819743383176a67b628809b7563b3f4173e527a  node-v18.11.0-linux-x64.tar.xz
5295431cb343561620278073bbff86d491557d903103e38bf10d15f93e1bd893  node-v18.11.0.pkg
f54dab6bbb44463a1b7b5922d822827b96e1f1a565b79f9bcb8153d0eafc9dd6  node-v18.11.0.tar.gz
8b9643dc6fce79c1e99379db0ce64e43601e2e2d7389015fe8985cc4ccd0ce17  node-v18.11.0.tar.xz
86d18e9024fb5cd1fc1a10e0b1d0cd3475df7c39ba7fc742b775a8d289af7bb5  node-v18.11.0-win-x64.7z
dd324997b66bac55c8ca689093dfafdc5a76dda12446306bd6411d17d08879f7  node-v18.11.0-win-x64.zip
38fc1c4355dff0f70f65a0fb5ec5c096c6b14c5124a9c114b42b74c53007e5fa  node-v18.11.0-win-x86.7z
99119c0181eab9e2d4f718025a08108a3d061cb298049e9da79df2e8be177601  node-v18.11.0-win-x86.zip
a0e91887a61279951e60fba929c261a652f710e12d68bc6dabd3760a970c76b9  node-v18.11.0-x64.msi
a939768932475c5bf30f719b870283b044325675f5dab84248eccbf5bb795701  node-v18.11.0-x86.msi
5dba1c79be04ba7f23fa1b617a917bd948c05710bcef398db81b7e59f2a3319f  win-x64/node.exe
1bd376a23d181d85096d1a9c46e6be7fcd20d30f9b8f77a2a847d3dbff8e25c7  win-x64/node.lib
a3e3198ce8552eebe19b4357161aca13f6f47b160a5fc961e8e000e434b8ca91  win-x64/node_pdb.7z
04f01a0c518184ff780398e4c8517a5ed755867877ba26cd92f37a8cc157328d  win-x64/node_pdb.zip
b211ce3add6afa447e69af22e5ffe08d324867a7fc9e7944ad51e76226d72c4e  win-x86/node.exe
b1c6dc670911d85ef1704fa56f4cc4c7e1071f4869778398e6d88b3b0b565978  win-x86/node.lib
e0815b1c5f4df9efca3ad6b46e328e452242f301b33998c2db23d1b92fb731a6  win-x86/node_pdb.7z
46a73edda4d9dd42a33d9e90b9721a8495db3d98bc09d90310f72266be952b20  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEdPEmArbxxOkT+qN606iWE2Q7YgEFAmNIkYYACgkQ06iWE2Q7
YgHZ9BAAsj2f2dsO8KuMdb11F6tr/VH/MC7AZKZ4lxu1w9P4MeYNUraquVlb/zXH
yXHSNSSqSLsu1aCpM1AU4Y6boN5klCgw9G1iD7/9ApTCd3Cf7+CQ2JqfMCoYUpis
4LBJ/7fXpujTHjwiyvHnptEe62t3MCCYfvi7cedUOhxZier7yDIcFCab5zeul7Qs
Rd1+7tqxAwIASFmLzVEtsDmg5H9+SsEfKVQ/FwoJ+PIuHHR3njL8wXVTmBPpRRxt
uztywwslvStaehjUTcCQDVNzjh2nzlnl+o57rZ/z6lT6438aTReFOtYaja739fWC
PgJMxk4mo8yuklN5cmRykM0CWI80ZhhnOUF7y0emwn2BOxgZOfDRd009tgbFKMM5
PQ8iD2QK+btIBKLqKDGZ9Pfe2dj2je9b0YEHsuF9MJ/aX3Yz6kPfrGcqtd/WeIwH
gH2NcqMGYG+f9TLiIsN5A9t1wgY/NrLsDdd/9vAwzYUllsFeO3zqH6sUDHNoTQ/N
SACPKEenICodN//vUE/HlrX1jBs2gp2S2mDjqGyR4I8pRzs24wVt5sFfmfq009VC
y+NUk2aLBy+dW7CqttKMNLMcnEWwWuv42igsGheD0TIpJgoKOlO6cGi+yZy7/Hqh
QEaosC60xyt1WjVuBOE2wZG5jWYspmh3bL1O/tlMJArVpSO0h+Y=
=JzsZ
-----END PGP SIGNATURE-----