Node v18.16.0 (LTS)

By Danielle Adams,

Notable changes

Add initial support for single executable applications

Compile a JavaScript file into a single executable application:

$ echo 'console.log(`Hello, ${process.argv[2]}!`);' > hello.js

$ cp $(command -v node) hello

# On systems other than macOS:
$ npx postject hello NODE_JS_CODE hello.js \
    --sentinel-fuse NODE_JS_FUSE_fce680ab2cc467b6e072b8b5df1996b2

# On macOS:
$ npx postject hello NODE_JS_CODE hello.js \
    --sentinel-fuse NODE_JS_FUSE_fce680ab2cc467b6e072b8b5df1996b2 \
    --macho-segment-name NODE_JS

$ ./hello world
Hello, world!

Contributed by Darshan Sen in https://github.com/nodejs/node/pull/45038

Replace url parser with Ada

Node.js gets a new URL parser called Ada that is compliant with the WHATWG URL Specification and provides more than 100% performance improvement to the existing implementation.

Contributed by Yagiz Nizipli in https://github.com/nodejs/node/pull/46410

Other notable changes

  • buffer:
    • (SEMVER-MINOR) add Buffer.copyBytesFrom(...) (James M Snell) #46500
  • doc:
    • add marco-ippolito to collaborators (Marco Ippolito) #46816
    • add debadree25 to collaborators (Debadree Chatterjee) #46716
    • add deokjinkim to collaborators (Deokjin Kim) #46444
  • events:
    • (SEMVER-MINOR) add listener argument to listenerCount (Paolo Insogna) #46523
  • lib:
    • (SEMVER-MINOR) add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
    • (SEMVER-MINOR) add aborted() utility function (Debadree Chatterjee) #46494
  • src:
    • (SEMVER-MINOR) allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
    • (SEMVER-MINOR) allow embedder control of code generation policy (Shelley Vohr) #46368
  • stream:
    • (SEMVER-MINOR) add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
  • tls:
    • (SEMVER-MINOR) support automatic DHE (Tobias Nießen) #46978
  • url:
    • (SEMVER-MINOR) implement URLSearchParams size getter (James M Snell) #46308
  • worker:
    • (SEMVER-MINOR) add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832

Commits

  • [c742493b61] - assert: fix exception message for assert(0) on try catch block (hidecology) #46760
  • [0ddf73ae7c] - assert: remove deprecated getFunction() usage (Ruben Bridgewater) #46661
  • [97ad72f19f] - async_hooks: add async local storage propagation benchmarks (Chengzhong Wu) #46414
  • [b1bde69574] - async_hooks: remove experimental onPropagate option (James M Snell) #46386
  • [b5db3b579a] - benchmark: add a benchmark for URLSearchParams creation and toString() (Debadree Chatterjee) #46810
  • [ff94f9ffbe] - benchmark: replace table in docs with description of file tree structure (Theodor Steiner) #46991
  • [d4af671f09] - benchmark: split Buffer.byteLength benchmark (Joyee Cheung) #46616
  • [5f647fb7b4] - benchmark: add benchmark for EventTarget add and remove (Debadree Chatterjee) #46779
  • [d7d634bd67] - benchmark: fix worker startup benchmark (Joyee Cheung) #46680
  • [f7c4796c56] - benchmark: add trailing commas in benchmark/path (Antoine du Hamel) #46628
  • [9b0d5030a5] - benchmark: add trailing commas in benchmark/http (Antoine du Hamel) #46609
  • [e0f436041e] - benchmark: add trailing commas in benchmark/crypto (Antoine du Hamel) #46553
  • [a383aee386] - benchmark: add trailing commas in benchmark/url (Antoine du Hamel) #46551
  • [a10c3558c6] - benchmark: add trailing commas in benchmark/http2 (Antoine du Hamel) #46552
  • [8036583f1f] - benchmark: add trailing commas in benchmark/process (Antoine du Hamel) #46481
  • [1497244078] - benchmark: add trailing commas in benchmark/misc (Antoine du Hamel) #46474
  • [057e3f5309] - benchmark: add trailing commas in benchmark/buffers (Antoine du Hamel) #46473
  • [26e1a81243] - benchmark: add trailing commas in benchmark/module (Antoine du Hamel) #46461
  • [bd6c828cf3] - benchmark: add trailing commas in benchmark/net (Antoine du Hamel) #46439
  • [01cf87aca7] - benchmark: add trailing commas in benchmark/util (Antoine du Hamel) #46438
  • [f006b2f9dc] - benchmark: add trailing commas in benchmark/async_hooks (Antoine du Hamel) #46424
  • [f969cc30ab] - benchmark: add trailing commas in benchmark/fs (Antoine du Hamel) #46426
  • [5202b84382] - bootstrap: print stack trace during environment creation failure (Joyee Cheung) #46533
  • [c6e722aca4] - (SEMVER-MINOR) buffer: add Buffer.copyBytesFrom(...) (James M Snell) #46500
  • [886504fdf8] - build: fix Visual Studio installation detection for Arm64 (Radek Bartoň) #46420
  • [2b72a453cf] - build: add GitHub Action for coverage with --without-intl (Rich Trott) #37954
  • [ff07aa7fe3] - build: do not disable inspector when intl is disabled (Rich Trott) #37954
  • [4b25b98bd8] - build,test: add proper support for IBM i (Xu Meng) #46739
  • [535311097c] - child_process: add trailing commas in source files (Antoine du Hamel) #46758
  • [d2692c65df] - cluster: add trailing commas in source files (Antoine du Hamel) #46695
  • [effdca8b10] - crypto: don't assume FIPS is disabled by default (Michael Dawson) #46532
  • [bce37c60ce] - debugger: improve validations and documents for watch and unwatch (Eungyu Lee) #46947
  • [51253bae83] - debugger: add a command to set which lines to check for context (Eungyu Lee) #46812
  • [44375c6a3c] - debugger: add trailing commas in source files (Antoine du Hamel) #46714
  • [e5c4d69681] - deps: update ada to 1.0.4 (Node.js GitHub Bot) #46853
  • [94f83536d7] - deps: update ada to 1.0.3 (Node.js GitHub Bot) #46784
  • [484c4f6674] - deps: update ada to v1.0.1 (Yagiz Nizipli) #46550
  • [0bc4c17e57] - deps: add ada as a dependency (Yagiz Nizipli) #46410
  • [956f786499] - deps: update undici to 5.21.0 (Node.js GitHub Bot) #47063
  • [73be4f8ef5] - deps: update simdutf to 3.2.2 (Node.js GitHub Bot) #46841
  • [0e78fd5883] - deps: update corepack to 0.17.0 (Node.js GitHub Bot) #46842
  • [61c9433d8a] - deps: update simdutf to 3.2.1 (Node.js GitHub Bot) #46800
  • [63a62ed532] - deps: upgrade npm to 9.5.1 (npm team) #46783
  • [c8974d678a] - deps: update nghttp2 to 1.52.0 (Michaël Zasso) #46636
  • [2b439a2cdf] - deps: fix libuv for android (Julian Dropmann) #46746
  • [d5eb1df869] - deps: update simdutf to 3.2.0 (Node.js GitHub Bot) #46621
  • [dd97b05aeb] - deps: update corepack to 0.16.0 (Node.js GitHub Bot) #46710
  • [65b877de45] - deps: copy postject-api.h and LICENSE to the deps folder (Darshan Sen) #46582
  • [a918ac886e] - deps: update c-ares to 1.19.0 (Michaël Zasso) #46415
  • [1ac639a240] - deps: V8: cherry-pick 9ec4e9095a25 (Kleis Auke Wolthuizen) #47092
  • [f8d4bf8540] - deps,test: update postject to 1.0.0-alpha.5 (Node.js GitHub Bot) #46934
  • [8646b06c1b] - dgram: fix unhandled exception aborting a closed udp socket (Ramana Venkata) #46770
  • [e435199ccc] - doc: remove remaining SSL_OP_NETSCAPE_*_BUG (Tobias Nießen) #47066
  • [01d82670c7] - doc: fix typo in test.md (Victor Hiairrassary) #47053
  • [0e3077dc48] - doc: amend support tier qualifier (Gireesh Punathil) #42805
  • [a5bf6693b9] - doc: fix typo on esm loaders example (Ruy Adorno) #47015
  • [6a0c1d053e] - doc: add missing test runner flags to man page (Colin Ihrig) #46982
  • [43b94b0f13] - doc: fix history information for node:diagnostics_channel (Thomas Hunter II) #46984
  • [b37d53a1ba] - doc: fix myUrl is not defined in url (Youngmin Yoo) #46968
  • [257c5ac1fa] - doc: remove useless SSL_OP_* options (Tobias Nießen) #46954
  • [09c5e6a9f3] - doc: fix description of TLS dhparam option (Tobias Nießen) #46949
  • [8907732fcf] - doc: improve fs code example quality (jakecastelli) #46948
  • [17a25f1153] - doc: fix port of destination server is not defined in http2 (Deokjin Kim) #46940
  • [ad06168a5c] - doc: use number which is bigger than 1024 as port in http2 (Deokjin Kim) #46938
  • [4e6dda5be4] - doc: add release key for Juan Arboleda (Juan José) #46922
  • [f49c6e64ba] - doc: fix links to SSL_CTX_set_options (Tobias Nießen) #46953
  • [ea7fb16e5c] - doc: fix fs missing import (jakecastelli) #46907
  • [11885a7351] - doc: add request to hold off publicising sec releases (Michael Dawson) #46702
  • [0254fd1da6] - doc: fix stream iterator helpers examples (Benjamin Gruenbaum) #46897
  • [0a983f7125] - doc: add history info for node:test (Antoine du Hamel) #46851
  • [810d393ded] - doc: sort import order (jakecastelli) #46847
  • [6e03499437] - doc: use destructing import (jakecastelli) #46847
  • [8b636c3cd6] - doc: add marco-ippolito to collaborators (Marco Ippolito) #46816
  • [7e08ca125a] - doc: document how to use the tls.DEFAULT_CIPHERS (Andreas Martens) #46482
  • [3dae6f2f81] - doc: add document for profiling and heap snapshot (cola119) #46787
  • [eef30513b9] - doc: add test:coverage event to custom reporter examples (Richie McColl) #46752
  • [e6db6bedf7] - doc: include context on .toWeb() parameters (Debadree Chatterjee) #46617
  • [a24350e49f] - doc: add in security steward for recent release (Michael Dawson) #46701
  • [55360e9386] - doc: clarify semver-minor notable changes approach (Beth Griggs) #46592
  • [a384dd42ff] - doc: maintaining nghttp2 (Marco Ippolito) #46539
  • [45fccc9737] - doc: add emit to NodeEventTarget (Deokjin Kim) #46356
  • [760616890c] - doc: add debadree25 to collaborators (Debadree Chatterjee) #46716
  • [b9dd876e7c] - doc: move bcoe to emeriti (Benjamin Coe) #46703
  • [3afbb92bb4] - doc: add response.strictContentLength to documentation (Marco Ippolito) #46627
  • [2c0e1aa095] - doc: remove unused functions from example of streamConsumers.text (Deokjin Kim) #46581
  • [61268303fc] - doc: fix test runner examples (Richie McColl) #46565
  • [2b702c98c2] - doc: update test concurrency description / default values (richiemccoll) #46457
  • [f1de3f7a31] - doc: enrich test command with executable (Tony Gorez) #44347
  • [68b5cf8e38] - doc: fix wrong location of requestTimeout's default value (Deokjin Kim) #46423
  • [4d5d6d2193] - doc: add deokjinkim to collaborators (Deokjin Kim) #46444
  • [de7f6182be] - doc: fix -C flag usage (三咲智子 Kevin Deng) #46388
  • [4165cf34ba] - doc: add note about major release rotation (Rafael Gonzaga) #46436
  • [f088ce2dc7] - doc: update threat model based on discussions (Michael Dawson) #46373
  • [5b94e2bcdb] - esm: fix import assertion warning (Antoine du Hamel) #46971
  • [96a39d1a99] - esm: add a runtime warning when using import assertions (Antoine du Hamel) #46901
  • [320a8adb45] - esm: misc test refactors (Geoffrey Booth) #46631
  • [b08687f739] - events: add trailing commas in source files (Antoine du Hamel) #46759
  • [cc6deeaf7a] - (SEMVER-MINOR) events: add listener argument to listenerCount (Paolo Insogna) #46523
  • [efc24097a6] - fs: add trailing commas in source files (Antoine du Hamel) #46696
  • [80b4e6da53] - http: use listenerCount when adding noop event (Paolo Insogna) #46769
  • [3538521bf6] - http: correctly calculate strict content length (Robert Nagy) #46601
  • [9582c8ef3a] - http: fix validation of "Link" header (Steve Herzog) #46466
  • [23c1e2fa52] - http: unify header treatment (Marco Ippolito) #46528
  • [abeee994c4] - http: add note about clientError event (Paolo Insogna) #46584
  • [3d0602c96c] - http: use v8::Array::New() with a prebuilt vector (Joyee Cheung) #46447
  • [62cbddd86f] - lib: fix trailing commas and leftover function from rebasing (Danielle Adams) #47503
  • [c463f133bd] - lib: enforce use of trailing commas (Antoine du Hamel) #46881
  • [0f33bb0961] - lib: add trailing commas to all public core modules (Antoine du Hamel) #46848
  • [06e0dd3e15] - lib: rename internal module declaration as internal bindings (okmttdhr, okp) #46663
  • [31578ab1b4] - lib: add trailing commas to more internal files (Antoine du Hamel) #46811
  • [ad510d9029] - lib: update punycode to 2.3.0 (Yagiz Nizipli) #46719
  • [4cf3de8b02] - lib: add trailing commas in internal/perf (Antoine du Hamel) #46697
  • [f1b79828bc] - (SEMVER-MINOR) lib: add AsyncLocalStorage.bind() and .snapshot() (flakey5) #46387
  • [48cd712c0d] - lib: add trailing commas in internal/process (Antoine du Hamel) #46687
  • [46a22ab601] - lib: do not crash using workers with disabled shared array buffers (Ruben Bridgewater) #41023
  • [1395e36e64] - lib: delete module findPath unused params (sinkhaha) #45371
  • [c410572620] - lib: enforce use of trailing commas in more files (Antoine du Hamel) #46655
  • [36e080cd13] - lib: enforce use of trailing commas for functions (Antoine du Hamel) #46629
  • [71249a6c00] - lib: predeclare Event.isTrusted prop descriptor (Santiago Gimeno) #46527
  • [2b80d19c06] - lib: tighten AbortSignal.prototype.throwIfAborted implementation (Antoine du Hamel) #46521
  • [2f79f3fa38] - (SEMVER-MINOR) lib: add aborted() utility function (Debadree Chatterjee) #46494
  • [7f9e60aa1a] - lib,src: fix a few typos in comments (Tobias Nießen) #46835
  • [c4f192b592] - meta: add single-executable labels and code owners (Joyee Cheung) #47004
  • [abe1488f86] - meta: remove AUTHORS file (Rich Trott) #46845
  • [e53774c7bf] - meta: remove unnecessary onboarding step (Rich Trott) #46793
  • [55f1cfd7e4] - meta: update CODEOWNERS of url implementations (Yagiz Nizipli) #46775
  • [ccaa7cabdd] - meta: update AUTHORS (Node.js GitHub Bot) #46726
  • [260ddd5b0f] - meta: update AUTHORS (Node.js GitHub Bot) #46624
  • [5ef78e50a0] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46513
  • [5efb829156] - meta: update AUTHORS (Node.js GitHub Bot) #46504
  • [f0705f7de1] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #46411
  • [331073a7aa] - node-api: add __wasm32__ guards on async works (Chengzhong Wu) #46633
  • [594bb9d558] - os: improve network interface performance (Ruben Bridgewater) #46598
  • [c231aae6c5] - process: print versions by sort (Himself65) #46428
  • [fe318dd095] - punycode: add pending deprecation (Antoine du Hamel) #46719
  • [34ba230d9b] - repl: remove lastInputPreview conditional check (Duy Mac Van) #46857
  • [09739a20b1] - repl: fix .load infinite loop caused by shared use of lineEnding RegExp (Theodor Steiner) #46742
  • [91fbad617d] - repl: add trailing commas in source files (Antoine du Hamel) #46757
  • [e4cd81b526] - src: use string_view for report and related code (Anna Henningsen) #46723
  • [8ea835419e] - (SEMVER-MINOR) src: add initial support for single executable applications (Darshan Sen) #45038
  • [4652dfdc88] - src: remove TLSEXT_TYPE_alpn guard (Tobias Nießen) #46956
  • [a4a433fc0b] - src: remove use of SSL_OP_SINGLE_DH_USE (Tobias Nießen) #46955
  • [339b52f3bc] - src: make util.h self-containted (Joyee Cheung) #46817
  • [b25ee523ea] - src: remove shadowed variable in OptionsParser (Shelley Vohr) #46672
  • [88baf98fa3] - src: do not track BaseObjects directly in Realm (Joyee Cheung) #46470
  • [03e8d824db] - src: fix cb scope bugs involved in termination (ywave620) #45596
  • [7fb32b43dc] - src: add SetFastMethodNoSideEffect() (Joyee Cheung) #46619
  • [ea411d6422] - (SEMVER-MINOR) src: allow optional Isolate termination in node::Stop() (Shelley Vohr) #46583
  • [f8d029183a] - src: remove icu usage from node_string.cc (Yagiz Nizipli) #46548
  • [95674360b2] - src: add fflush() to SnapshotData::ToFile() (Anna Henningsen) #46531
  • [9445a0a5f6] - src: make edge names in BaseObjects more descriptive in heap snapshots (Joyee Cheung) #46492
  • [483cd1922f] - src: avoid leaking snapshot fp on error (Tobias Nießen) #46497
  • [bc9a577625] - src: check return value of ftell() (Tobias Nießen) #46495
  • [b3b3b33799] - src: remove unused includes from main thread (Yagiz Nizipli) #46471
  • [b9ca302558] - src: use string_view instead of std::string& (Yagiz Nizipli) #46471
  • [f1c770065a] - src: use simdutf utf8 to utf16 instead of icu (Yagiz Nizipli) #46471
  • [aaf04f498a] - src: replace icu with simdutf for char counts (Yagiz Nizipli) #46472
  • [3aef68d079] - src: add additional utilities to crypto::SecureContext (James M Snell) #45912
  • [92fdb24fac] - src: add KeyObjectHandle::HasInstance (James M Snell) #45912
  • [a639e2a557] - src: add GetCurrentCipherName/Version to crypto_common (James M Snell) #45912
  • [8dfa748373] - src: back snapshot I/O with a std::vector sink (Joyee Cheung) #46463
  • [17eea1812e] - (SEMVER-MINOR) src: allow embedder control of code generation policy (Shelley Vohr) #46368
  • [dffe7d814e] - stream: enable usage of webstreams on compose() (Debadree Chatterjee) #46675
  • [654b7474e3] - stream: always delay construct callback by a nextTick (Matteo Collina) #46818
  • [ed2faa7c7c] - stream: fix respondWithNewView() errors when view.byteOffset != 0 (Debadree Chatterjee) #46465
  • [247caacc7a] - stream: fix pipeline callback not called on ended stream (Debadree Chatterjee) #46600
  • [c40eec3f3b] - stream: add trailing commas in webstream source files (Antoine du Hamel) #46685
  • [d669f22567] - stream: add trailing commas in stream source files (Antoine du Hamel) #46686
  • [c60816a68d] - (SEMVER-MINOR) stream: add abort signal for ReadableStream and WritableStream (Debadree Chatterjee) #46273
  • [17b4e9bc5f] - stream: refactor to use validateAbortSignal (Antoine du Hamel) #46520
  • [4d81124397] - stream: allow transfer of readable byte streams (MrBBot) #45955
  • [6c454af5ea] - stream: add pipeline() for webstreams (Debadree Chatterjee) #46307
  • [91a550e5a1] - stream: add suport for abort signal in finished() for webstreams (Debadree Chatterjee) #46403
  • [406ff320bf] - stream: dont access Object.prototype.type during TransformStream init (Debadree Chatterjee) #46389
  • [972bdee8c4] - test: update web-platform tests for url (Yagiz Nizipli) #46547
  • [ba340a0ddb] - test: move test-tls-autoselectfamily-servername to test/internet (Antoine du Hamel) #47029
  • [0edaf016cc] - test: fallback to IPv4 if IPv6 is unavailable (Abdirahim Musse) #47017
  • [ef6c86c59f] - test: simplify test-tls-ecdh-multiple (Tobias Nießen) #46963
  • [b8cdd1502f] - test: improve test coverage of lib/dns (Anderson Paiva) #46910
  • [33991954b6] - test: simplify test-tls-ecdh-auto (Tobias Nießen) #46911
  • [512f28fa8b] - test: move testPath from CWD to temporary directory (Livia Medeiros) #46890
  • [3fdcf7bef4] - test: assume priv ports start at 1024 if it can't be changed (KrayzeeKev) #46536
  • [966d0d8b16] - test: fix os-release check for Ubuntu in SEA test (Anna Henningsen) #46838
  • [b344e74bc1] - test: move socket from CWD to temporary directory (Livia Medeiros) #46863
  • [dfb566aec2] - test: fix test-net-connect-reset-until-connected (Vita Batrla) #46781
  • [364479644c] - test: simplify test-tls-alert (Tobias Nießen) #46805
  • [df149448b5] - test: update encoding WPTs (Filip Skokan) #46802
  • [928998dd2d] - test: remove useless WPT init scripts (Filip Skokan) #46801
  • [bb182461a3] - test: remove unreachable return (jakecastelli) #46807
  • [ea71a2ae1b] - test: fix test-v8-collect-gc-profile-in-worker.js (theanarkh) #46735
  • [25cab7eab5] - test: improve control flow in test-tls-dhe (Tobias Nießen) #46751
  • [3b70e7a34e] - test: include strace openat test (Rafael Gonzaga) #46150
  • [533170d456] - test: remove OpenSSL 1.0.2 error message compat (Tobias Nießen) #46709
  • [b8948996b4] - test: fix flaky test-watch-mode-files_watcher (Moshe Atlow) #46738
  • [931111609e] - test: use newish OpenSSL feature in test-tls-dhe (Tobias Nießen) #46708
  • [847d74005c] - test: fix assertions in test-snapshot-dns-lookup* (Tobias Nießen) #46618
  • [d7b995cd38] - test: cover publicExponent validation in OpenSSL (Tobias Nießen) #46632
  • [a2b103a761] - test: add trailing commas in test/pummel (Antoine du Hamel) #46610
  • [4fb2fc7536] - test: enable api-invalid-label.any.js in encoding WPTs (Filip Skokan) #46506
  • [b0f2415312] - test: add trailing commas in test/js-native-api (Antoine du Hamel) #46385
  • [534562f51d] - test: make more crypto tests work with BoringSSL (Shelley Vohr) #46429
  • [9bb08527f0] - test: add trailing commas in test/known_issues (Antoine du Hamel) #46408
  • [231f0ee9b2] - test: add trailing commas in test/internet (Antoine du Hamel) #46407
  • [5e008e7d38] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47010
  • [99bfbed78a] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #46575
  • [8398f9fcb6] - test_runner: default to spec reporter when on TTY environment (Moshe Atlow) #46969
  • [16db3ad1f8] - test_runner: handle errors not bound to tests (Colin Ihrig) #46962
  • [d60eef25a1] - test_runner: throw if harness is not bootstrapped (Colin Ihrig) #46962
  • [ab5b3185f1] - test_runner: track bootstrapping process (Colin Ihrig) #46962
  • [413493cab9] - test_runner: avoid running twice tests in describe (Moshe Atlow) #46888
  • [524eaf5488] - test_runner: fix reconstruction of errors extracted from YAML (Moshe Atlow) #46872
  • [17fbfb23bd] - test_runner: reset count on watch mode (Moshe Atlow) #46577
  • [3b077a6885] - test_runner: remove root tracking set (Colin Ihrig) #46961
  • [15503ffd12] - test_runner: give the root test a harness reference (Colin Ihrig) #46962
  • [e52b169ef4] - test_runner: align behavior of it and test (Moshe Atlow) #46889
  • [9b58857630] - timers: cleanup no-longer relevant TODOs in timers/promises (James M Snell) #46499
  • [32c527d80f] - (SEMVER-MINOR) tls: support automatic DHE (Tobias Nießen) #46978
  • [6ff90270ca] - tls: add trailing commas in source files (Antoine du Hamel) #46715
  • [958da453dd] - tools: fix update-ada script (Yagiz Nizipli) #46550
  • [a3f272e667] - tools: automate cares update (Marco Ippolito) #46993
  • [77f5b69840] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46935
  • [36ea9e7f65] - tools: refactor dep_updaters (Tony Gorez) #46488
  • [c0b6794f82] - tools: update eslint to 8.35.0 (Node.js GitHub Bot) #46854
  • [307d096e21] - tools: create llhttp update action (Marco Ippolito) #46766
  • [fff31862ac] - tools: fix linter message when using global DOMException (Antoine du Hamel) #46822
  • [89c2e8ac97] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46843
  • [3bf54ff624] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46771
  • [4065e5cda6] - tools: run format-cpp on node-api test c files (Chengzhong Wu) #46694
  • [7349708527] - tools: use actions pinned by commit hash in coverage-linux (Gabriela Gutierrez) #46294
  • [f80e93d71f] - tools: fix regex strings in Python tools (Jan Osusky) #46671
  • [8fd176055f] - tools: fixed path (Marco Ippolito) #46700
  • [15b0e8b1aa] - tools: update nghttp2 action (Marco Ippolito) #46700
  • [4da3eecbd7] - tools: update-nghttp2 preserve config.h (Marco Ippolito) #46698
  • [3714d8f236] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
  • [474084e063] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46712
  • [665b7424eb] - tools: fix bug in prefer-primordials lint rule (Antoine du Hamel) #46659
  • [7eb1456892] - tools: update eslint to 8.34.0 (Node.js GitHub Bot) #46625
  • [678b8f53c1] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46623
  • [ee81da5883] - tools: update doc to [email protected] [email protected] (Node.js GitHub Bot) #46622
  • [92e3e0e4e4] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #46503
  • [728f96861e] - tools: update ESLint custom rules to not use the deprecated format (Antoine du Hamel) #46460
  • [78b79c0220] - typings: improve primordials typings (Antoine du Hamel) #46970
  • [a39dd37653] - url: simplify and improve url formatting (Yagiz Nizipli) #46736
  • [01b6525706] - url: improve performance by removing host (Yagiz Nizipli) #46547
  • [0c67a7ad57] - url: fix url spec compliance issues (Yagiz Nizipli) #46547
  • [e9263541a7] - url: replace url-parser with ada (Yagiz Nizipli) #46410
  • [4d0faf4ddc] - url: improve isURLThis detection (Yagiz Nizipli) #46866
  • [1ece4a72b7] - (SEMVER-MINOR) url: implement URLSearchParams size getter (James M Snell) #46308
  • [8f14002459] - url: remove unused URL::ToFilePath() (Yagiz Nizipli) #46487
  • [f57e7bcc11] - url: remove unused URL::toObject (Yagiz Nizipli) #46486
  • [04930562f8] - url: remove unused setURLConstructor function (Yagiz Nizipli) #46485
  • [b801873a8a] - vm: properly support symbols on globals (Nicolas DUBIEN) #46458
  • [f7423bdbaa] - (SEMVER-MINOR) worker: add support for worker name in inspector and trace_events (Debadree Chatterjee) #46832

Windows 32-bit Installer: https://nodejs.org/dist/v18.16.0/node-v18.16.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v18.16.0/node-v18.16.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v18.16.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v18.16.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v18.16.0/node-v18.16.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v18.16.0/node-v18.16.0.tar.gz
Other release files: https://nodejs.org/dist/v18.16.0/
Documentation: https://nodejs.org/docs/v18.16.0/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

a65bd3fe91ffeb31d12a208e811943e3ebba4706553a4845a03d857beaeec51e  node-v18.16.0-aix-ppc64.tar.gz
82c7bb4869419ce7338669e6739a786dfc7e72f276ffbed663f85ffc905dcdb4  node-v18.16.0-darwin-arm64.tar.gz
b23cdf4fa0e9f77273720ab18eabdd7691edbb69e08ec3b65afd69bef23fe209  node-v18.16.0-darwin-arm64.tar.xz
cd520da6e2e89fab881c66a3e9aff02cb0d61d68104b1d6a571dd71bef920870  node-v18.16.0-darwin-x64.tar.gz
2c8aa0333111c2411564bfb85be44186aeb581392f73c4be5912cbb125d99043  node-v18.16.0-darwin-x64.tar.xz
effeb73616e5297922ed89a1b94d2664390040a83184504c1cc1305b0c0c853f  node-v18.16.0-headers.tar.gz
0eb9823c2cc72792c2d4413f57b5a36232e173d7edefb1909c37e364a823f9c7  node-v18.16.0-headers.tar.xz
dc3dfaee899ed21682e47eaf15525f85aff29013c392490e9b25219cd95b1c35  node-v18.16.0-linux-arm64.tar.gz
c81dfa0bada232cb4583c44d171ea207934f7356f85f9184b32d0dde69e2e0ea  node-v18.16.0-linux-arm64.tar.xz
a3968db44e5ae17243d126ff79b1756016b198f7cc94c6fad8522aac481b4ff3  node-v18.16.0-linux-armv7l.tar.gz
57ba6b71eb039fa896c329e68669b21f6717622c560c6f61a0c97d18ca866b2d  node-v18.16.0-linux-armv7l.tar.xz
b4e66dcda5ba4a3697be3fded122dabb6a677deee3d7f4d3c7c13ebb5a13844c  node-v18.16.0-linux-ppc64le.tar.gz
c43142fb9ef30658620ed095f8203beca92f469c1121eeb724df9a48bf0e59a5  node-v18.16.0-linux-ppc64le.tar.xz
a8b607c3c06f585c4fe9ba45be6dc76ce9459238c91b3f43533aa30344caed87  node-v18.16.0-linux-s390x.tar.gz
39b15c16347000b0be97133437bde0317dd2307d3fdfce15ddd8680b07a963ef  node-v18.16.0-linux-s390x.tar.xz
fc83046a93d2189d919005a348db3b2372b598a145d84eb9781a3a4b0f032e95  node-v18.16.0-linux-x64.tar.gz
44d93d9b4627fe5ae343012d855491d62c7381b236c347f7666a7ad070f26548  node-v18.16.0-linux-x64.tar.xz
156aa5b9580288fb0b3c6134eb8fac64e50745d78d33eebe9e29eb7ff87b8e1e  node-v18.16.0.pkg
6a4f5c5d76e5c50cef673099e56f19bc3266ae363f56ca0ab77dd2f3c5088c6d  node-v18.16.0.tar.gz
33d81a233e235a509adda4a4f2209008d04591979de6b3f0f67c1c906093f118  node-v18.16.0.tar.xz
007848640ba414f32d968d303e75d9841ecd2cd95d6fdd81f80bc3dcbd74ae44  node-v18.16.0-win-x64.7z
4b3bd4cb5570cc217490639e93a7e1b7a7a341981366661e514ce61941824a85  node-v18.16.0-win-x64.zip
681be28e0acd057b4798f357d21eec5f49e21bc803bbbefeb1072bb4f166025a  node-v18.16.0-win-x86.7z
2a7e0fb22e1a36144ee8183c80ef2705cd9754c1d894f94bb6c94a681de47924  node-v18.16.0-win-x86.zip
5bfb6f3ab89e198539408f7e0e8ec0b0bd5efe8898573ec05b381228efb45a5d  node-v18.16.0-x64.msi
09534d1949c795c3e49d257fb72a9fd865ee28955673b87d569d4aec541333e7  node-v18.16.0-x86.msi
b548a55c2b5ef5de34f4636610bab27077fb9313d34f52280b9ec11dd25e9dd1  win-x64/node.exe
72b7fab9381af8f4958c8212f3d4cdfff8c7c5b1e33eaad0e7d5888293568cd5  win-x64/node.lib
3b9474e18a1bbb38b05b1876b4b37056063c2af82212d356a8a5cf91c1a3acf3  win-x64/node_pdb.7z
6b506b1fe654ca7161373916c7ba7e38f62545236698342fa97fd2faf39ebc4e  win-x64/node_pdb.zip
36bf0f0a364ca8edc176776764831f9e88bef6d1e8056f6edc474a37b652a794  win-x86/node.exe
6a85c15a69238f0902b9a734d262bf36d211b273a46d5e3249857d4bb7f6d9b7  win-x86/node.lib
9256bdefae4491acfd523ca06d4f4344ddc4f1a28aac868b5efb6a72d8023e2a  win-x86/node_pdb.7z
53c6b29afd58904e5143d9f3298b55695b8ecb2b6c08a9612ed30e9b0ed9589a  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdPEmArbxxOkT+qN606iWE2Q7YgEFAmQ3TroACgkQ06iWE2Q7
YgFY0Q/+KCSvLgss6JvOm5aLpg6yEZqRk2zAuVwpXJaRhWTR+vK4Vs3Zc0/Tld59
QVFbVfXrh8OMSFkQ1kcT4uKEtD9VT12hLMF+pdxazHyDI/yabfQabflf+zk+xMOh
zUy9nDPjqJOB96f8mvUEsJZl4Ixr6NNVWd1J2x55ZFC2ddXdzNaiY8Zij8SM2JjQ
V36OeFvsOSVopr9zFWyfCm6jLLvjtOdxMJMd+x9+B9JxIGu+QeJOTmgIMzHBSGac
mL2OKfy/oS+a27HUe2/FdhEUwaxZCoZ33N1ku5WMzPhcE2UXH5Q6kTNP0rRy35Nj
kNb7x82xXWbNWan8vAVXpn1ancwkPfADW/3KpFPn7mFVelaRYbY7Xu+ZTSho/fax
xcpOINsg2vSBPVX7nFu9w9/qaWUkBbGkrilCMXUtXyC4buORQsFXswyFnsguJfK5
FiQ7N46/9FVwNAd7bj3/0thCKZaJGaXmmk/S+gSichpzptukRpDcvT8O3gYewWio
RuxYimqeZ7n4YCOxG41ewvdluH0E9c9nFUAd4v+yxHU2LP/XLjhEY2kFW2jI3yoI
oCmYolVDFYJ/zS0Vu3L1CegSzl7q0hsSPuTjUrgq0qjaTgRkMGCEBeyqS9M3Zx+g
M2tYiU/JXjtPySwkx4keXy7tABR/pcfs/gseHw41pmi/BmPjgMc=
=UugX
-----END PGP SIGNATURE-----