Node v16.15.0 (LTS)

Danielle Adams

Notable changes

Add fetch API

Adds experimental support to the fetch API. This adds the --experimental-fetch flag that installs the fetch, Request, Response, Headers, and FormData globals.

  • (SEMVER-MINOR) add fetch (Michaël Zasso) #41749
  • (SEMVER-MINOR) add FormData global when fetch is enabled (Michaël Zasso) #41956

Other notable changes

  • build:
    • remove broken x32 arch support (Ben Noordhuis) #41905
  • crypto:
    • (SEMVER-MINOR) add KeyObject.prototype.equals method (Filip Skokan) #42093
  • doc:
    • add @ShogunPanda to collaborators (Paolo Insogna) #42362
    • add JakobJingleheimer to collaborators list (Jacob Smith) #42185
    • add joesepi to collaborators (Joe Sepi) #41914
    • add marsonya to collaborators (Akhil Marsonya) #41991
    • deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
    • deprecate notice for process methods (Yash Ladha) #41587
  • esm:
    • (SEMVER-MINOR) support https remotely and http locally under flag (Bradley Farias) #36328
  • module:
    • (SEMVER-MINOR) unflag esm json modules (Geoffrey Booth) #41736
  • node-api:
    • (SEMVER-MINOR) add node_api_symbol_for() (Darshan Sen) #41329
  • process:
    • deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • stream:
    • (SEMVER-MINOR) support some and every (Benjamin Gruenbaum) #41573
    • (SEMVER-MINOR) add toArray (Benjamin Gruenbaum) #41553
    • (SEMVER-MINOR) add forEach method (Benjamin Gruenbaum) #41445

Commits

  • [3d4df9cd70] - (SEMVER-MINOR) benchmark: add subarray to buffer-slice (Benjamin Gruenbaum) #41596
  • [d40f5a177a] - buffer: improve blob read performance (Xuguang Mei) #42117
  • [84752a495f] - (SEMVER-MINOR) buffer: alias subarray and slice (Benjamin Gruenbaum) #41596
  • [c5da1dda4a] - build: use ccache in make-v8.sh on ppc64le and s390x (Richard Lau) #42204
  • [ba56e41953] - build: drop shortened URL from lint-commit-message (Richard Lau) #42168
  • [b2c88ec69c] - build: fix usage of input in feature action (Michael Dawson) #42150
  • [bcabd70d93] - build: increase max ops for stale feature action (Michael Dawson) #42130
  • [042fb6f4d5] - build: add corepack to the auto-updated dependencies (Maël Nison) #42090
  • [611cbf13a6] - build: last test of the stale feature action (Michael Dawson) #42085
  • [0d8f76ff2f] - build: update feature close action for testing (Michael Dawson) #42082
  • [bc3d8a752f] - build: cancel running CI jobs when a PR is updated (Michaël Zasso) #42017
  • [e049173bce] - build: increase operations and test tag (Michael Dawson) #42038
  • [4c47d59e9b] - build: allow manual run of feature request action (Michael Dawson) #42037
  • [692ee2ae06] - build: add action to close stale feature requests (Michael Dawson) #41981
  • [290a2bfd81] - build: prevent concurrent CI and CQ workflow runs (Michaël Zasso) #42016
  • [d2c1624279] - build: use zoslib_include_dir provided by node-gyp (alexcfyung) #41713
  • [db4a3dc1a6] - build: move tool updates workflow runtime a day later (Rich Trott) #41982
  • [24d0c32af4] - build: extend yamllint configuration (Mestery) #41756
  • [428b967ea4] - build: remove broken x32 arch support (Ben Noordhuis) #41905
  • [51847e0d24] - build: revert fast-track changes (Filip Skokan) #41892
  • [1452f8d6f1] - build: improve consistency between workflows (Mestery) #41791
  • [9677da4b46] - (SEMVER-MINOR) build: add --v8-enable-hugepage flag (Daoming Qiu) #41487
  • [5468de5317] - build,tools: change the quotes in YAML (Mestery) #41756
  • [f32c39762c] - child_process: kHideConsoleWindows for spawnSync (Raymond Zhao) #41412
  • [914f9071ba] - cluster: respect listen backlog set by workers (Elad Nava) #41623
  • [f990308972] - crypto: fix auth tag length error when mode != GCM (Tobias Nießen) #42383
  • [7f43f94304] - crypto: fix fingerprint string size calculation (Tobias Nießen) #42175
  • [602f34eeb8] - crypto: add CHECKs to remaining BIO_s_mem allocs (Tobias Nießen) #42155
  • [4eecb25125] - crypto: validate this value for webcrypto.getRandomValues (Antoine du Hamel) #41760
  • [b7599d8b14] - (SEMVER-MINOR) crypto: add KeyObject.prototype.equals method (Filip Skokan) #42093
  • [70ae0ae8a0] - crypto: check result of BIO_new in X509ToObject (Tobias Nießen) #41979
  • [36b9028f4f] - crypto: rename X509_NAME_FLAGS (Tobias Nießen) #42001
  • [a592442218] - (SEMVER-MINOR) crypto: expose Web Crypto API on the global scope (Antoine du Hamel) #41938
  • [46dda316df] - crypto: do not advertise unsupported algorithms (Brian White) #41864
  • [adb88fcb46] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) #41569
  • [e9d7af1cc6] - debugger: correct typo in inspect_repl.js (Kohei Ueno) #42267
  • [e6019a4cc0] - debugger: add debugger alias for exec(expr) (Xuguang Mei) #41907
  • [83691ada5b] - debugger: remove duplicate setPauseOnException call (Balakrishna Avulapati) #41838
  • [7e73e5e46b] - deps: upgrade npm to 8.5.5 (npm team) #42382
  • [8d734cbde6] - deps: cares: cherry-pick b5a3d96 (bradh352) #42216
  • [ba1d949ce0] - deps: V8: cherry-pick c6f6626deb14 (Lu Yahan) #42240
  • [6b721d7103] - deps: upgrade npm to 8.5.3 (npm team) #42205
  • [baeb66a35a] - deps: update nghttp2 to 1.47.0 (Yash Ladha) #42127
  • [1a0f26f55c] - deps: upgrade npm to 8.5.2 (npm team) #42122
  • [396240bf80] - deps: V8: cherry-pick 77d515484864 (Lu Yahan) #42067
  • [3f09a6d227] - deps: V8: cherry-pick b66334313c8b (Lu Yahan) #42067
  • [a73536b286] - deps: upgrade npm to 8.5.1 (npm-robot) #42039
  • [c64b0381ee] - deps: update undici to 5.0.0 (Node.js GitHub Bot) #42583
  • [a670c1fb5f] - deps: update undici to 4.16.0 (Node.js GitHub Bot) #42414
  • [721d10751b] - deps: update undici to 4.15.1 (Michaël Zasso) #42246
  • [83a667621b] - deps: update undici to 3e267ece5f (Michaël Zasso) #41955
  • [208ab5723e] - doc: improve README.md usability (Rich Trott) #42378
  • [682248c980] - doc: add that chacha20-poly1305 is IETF version (Tobias Nießen) #42370
  • [83391d185c] - doc: document goal to have examples (Michael Dawson) #42274
  • [7073017efb] - doc: fix Embedder's Guide link to V8 official docs (Aroyan) #42373
  • [cb07930bda] - doc: remove unneeded lint disable comment (Rich Trott) #42374
  • [fb42f99514] - doc: revise async_hooks docs (Rich Trott) #42337
  • [835e65b78e] - doc: add @ShogunPanda to collaborators (Paolo Insogna) #42362
  • [df1909982d] - doc: update base branch name for nodejs/nodejs.org (Danielle Adams) #42355
  • [4f6b187059] - doc: fix async iterable pipeline signal examples (Randall Leeds) #42258
  • [3188dcb390] - doc: clarify path search in child_process.spawn (Damjan Cvetko) #41418
  • [f53b454e2e] - doc: clarify the meaning of legacy status (Darshan Sen) #42269
  • [43b8a4fc57] - doc: improve pipe description (Mikael Finstad) #42295
  • [9fa6e445d5] - doc: remove outdated timeout.unref content (Xuguang Mei) #42241
  • [a84896ea2c] - doc: deprecate string coercion in fs.write, fs.writeFileSync (Livia Medeiros) #42149
  • [436bdde654] - doc: remove refs to old OpenSSL list-* commands (Tobias Nießen) #42235
  • [6763bede4c] - doc: readline 'line' event emits final line (Matt Probert) #42214
  • [6545094a94] - doc: update stale feature messages (Michael Dawson) #42217
  • [275b66d54e] - doc: remove erroneous comma in cluster explainer (Tobias Nießen) #42238
  • [cda623cc1d] - doc: remove "considered" for clarity (Rich Trott) #42218
  • [17172fef20] - doc: clarify that some modules don't work when compiled without ssl (Antoine du Hamel) #42198
  • [126045356a] - doc: add note about nghttp2 hd pair size (Rafael Silva) #42172
  • [63b468f753] - doc: use parenthesis instead of em dash (Antoine du Hamel) #42202
  • [19b62ddd68] - doc: add next-10 to strategic initiatives (Michael Dawson) #42167
  • [993a943f2c] - doc: add missing single-quotes to http.OutgoingMessage (Juan José Arboleda) #42162
  • [d0ce089622] - doc: fix typos (apeltop) #42146
  • [88e67b8ec3] - doc: add JakobJingleheimer to collaborators list (Jacob Smith) #42185
  • [5322c73241] - doc: remove reference to obsolete security program (Rich Trott) #42144
  • [5980b6d133] - doc: remove repeated a word (apeltop) #42138
  • [a70a1ce3a9] - doc: make building with ninja more discoverable (Balakrishna Avulapati) #41840
  • [bc457c2339] - doc: document change to IncomingMessage.headers enumerability (Arnold Zokas) #42095
  • [1eb4d8b89c] - doc: add meixg to triagers (Xuguang Mei) #42066
  • [3d75c8748c] - doc: clarify persistent ref behavior (Michael Dawson) #42035
  • [8c26d8cea1] - doc: move bnoordhuis back to collaborators (Ben Noordhuis) #42064
  • [0c21b58d57] - doc: clarify supported versus enabled TLS ciphers (Tobias Nießen) #42063
  • [a658437c64] - doc: add missing api entries on performance (legendecas) #42018
  • [51cb78022e] - doc: fix typo in http2 endAfterHeaders description (Alexandru Comanescu) #42060
  • [40ddfa4e69] - doc: make minor fixes to contributing guides (T-O-R-U-S) #41966
  • [60d6409af0] - doc: use openpgp.org for keyserver examples (Nick Schonning) #39227
  • [9800719237] - doc: adjust a/an word usage (Derek Wolpert) #41915
  • [43894b1bc4] - doc: capitalize valgrind (T•Ø•R•Ü•S) #41986
  • [a34cc75026] - doc: fix deprecation number (Antoine du Hamel) #41990
  • [dd88f54d57] - doc: add marsonya to collaborators (Akhil Marsonya) #41991
  • [8858950a9f] - doc: deprecate notice for process methods (Yash Ladha) #41587
  • [d77db88386] - doc: fix bug in readable.unshift code example (Xuguang Mei) #41944
  • [81e56c9178] - doc: add missing buffer in the stream/consumers import example (Mestery) #41961
  • [c08efba968] - doc: fix typo in readableStream.locked description (Tobias Nießen) #41923
  • [e21831bad1] - doc: fix wrong indent in stream documentation (Xuguang Mei) #41943
  • [e55f340052] - doc: emphasize security warning in vm module doc (Rich Trott) #41916
  • [ce15007fd7] - doc: clarify tls.Server 'connection' event documentation (Austin Cheney) #41917
  • [6fc0a25b64] - doc: improve scrollbar appearance in dark mode (Aaron Xie) #41890
  • [90d955100d] - doc: replace text with paths in toggle SVGs (Brian White) #41885
  • [6fd538331d] - doc: edit process.config deprecation text (Rich Trott) #41889
  • [55caa10c54] - doc: add joesepi to collaborators (Joe Sepi) #41914
  • [73f3a2cf96] - doc: remove unneeded ellipsis in header (Rich Trott) #41888
  • [b950f5db84] - doc: fix webstream close reject state state doc (Benjamin Gruenbaum) #41860
  • [e46c7d6f69] - (SEMVER-MINOR) doc: deprecate buffer.slice (Benjamin Gruenbaum) #41596
  • [83129729c6] - doc: fix backticks around 'default' (Tobias Nießen) #41613
  • [f8819e86fd] - doc: fix version history for net.Socket and net.Server (Antoine du Hamel) #42268
  • [12bf85a606] - doc,tools: improve navigability of API docs (Paolo Insogna) #41404
  • [37f6f92905] - errors: do not access .stack in debug (Benjamin Coe) #42096
  • [166eb782f9] - esm: fix base URL for network imports (Bradley Farias) #42131
  • [b68db72746] - esm: fix relative imports for https (Bradley Farias) #42119
  • [c777cb3368] - esm: make extension-less errors in type:module actionable (Bradley Farias) #42301
  • [2e42ccf1a5] - esm: improve typings and code coverage (Bradley Farias) #42305
  • [25017ca107] - esm: add runtime warning for specifier resolution flag (Geoffrey Booth) #42252
  • [1324023fea] - esm: improve fetch_module test coverage and remove hack (Antoine du Hamel) #41947
  • [9b8c927d29] - esm: remove erroneous context.parentURL property passed to load hook (Jacob Smith) #41975
  • [47cefec5c9] - esm: fix typo in fetch_module (Michael Scovetta) #41924
  • [0d185f7930] - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #36328
  • [b0a83115db] - events: set default handler value (Benjamin Gruenbaum) #41970
  • [6b55ba2fa2] - fs: adjust default length for fs.readSync and fsPromises/read (Livia Medeiros) #42128
  • [da87c731b8] - fs: fix default length parameter for fs.read (wbt) #40349
  • [33e4a32f9e] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #41819
  • [571eb6dc74] - fs: fix cb/sync writev empty array behavior (Benjamin Gruenbaum) #41932
  • [257a7a5802] - fs: fix writev empty array error behavior (Benjamin Gruenbaum) #41919
  • [2d165652f1] - fs: refactor to use ES2020 syntax (小菜) #41903
  • [39fb114dde] - (SEMVER-MINOR) http: trace http client by perf_hooks (theanarkh) #42345
  • [16c00c6ac8] - http: add default argument for Agent.prototype.getName (小菜) #41906
  • [d301a8825b] - http2: fix potential integer overflow (Michael Dawson) #42248
  • [ddef6bbcb8] - http2: add edge case to GOAWAY request (Rafael Silva) #42190
  • [28af75ef65] - http2: close stream and session on frameError (Rafael Silva) #42147
  • [ebe2b6d21e] - lib: refactor to use primordials in lib/assert.js (Akhil Marsonya) #41702
  • [dcebb99dfc] - lib: fix AsyncResource.bind not using 'this' from the caller by default (Roch Devost) #42177
  • [e1704407ae] - lib: clean after the cancel algorithm throw error (Chen Gang) #41366
  • [91a06bd629] - lib: add legacy built-in functions to primordials (Antoine du Hamel) #42049
  • [e80043fb61] - lib: stop installing webcrypto if no_browser_globals is true (Mestery) #41971
  • [9946b9bceb] - lib: allow respondWithNewView on byob auto allocated streams (Sean Quinlan) #41887
  • [f4e39171de] - lib: restrict usage of fetch related globals in core internals (Antoine du Hamel) #41957
  • [b1f0cc6412] - lib: move kEnumerableProperty to internal/util (Mestery) #41877
  • [2a85e0ac00] - lib: add internal genericNodeError() function (Rich Trott) #41879
  • [647805a747] - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #41956
  • [f17ce913c9] - (SEMVER-MINOR) lib: add fetch (Michaël Zasso) #41749
  • [2cbf45b8a5] - loader: fix esm resolve for symlink file (Xuguang Mei) #42197
  • [a363842261] - meta: update AUTHORS (Node.js GitHub Bot) #42404
  • [a122eb1989] - meta: update AUTHORS (Node.js GitHub Bot) #42317
  • [c56e15a0eb] - meta: add dependencies label to label-pr-config (Mestery) #42129
  • [137ca4e1d4] - meta: update AUTHORS (Node.js GitHub Bot) #42227
  • [09ab04696f] - meta: update AUTHORS (Node.js GitHub Bot) #42142
  • [d4d9c00949] - meta: correct link to feature request document (Simen Bekkhus) #42092
  • [2135f8e6cb] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42068
  • [b969a278eb] - meta: remove collaborator (Rich Trott) #42073
  • [de035bceda] - meta: update AUTHORS (Node.js GitHub Bot) #42058
  • [f5ffa34f77] - meta: use plain emojis instead of escape sequences (Mestery) #41989
  • [6f1adf1f3e] - meta: update AUTHORS and .mailmap (Rich Trott) #41953
  • [363028c887] - (SEMVER-MINOR) module: unflag esm json modules (Geoffrey Booth) #41736
  • [b3afb20b44] - (SEMVER-MINOR) net: add new options to net.Socket and net.Server (Paolo Insogna) #41310
  • [bd48ad9c16] - node-api: fix typo in node_api.cc (Austin Kelleher) #42110
  • [11ec3345e7] - (SEMVER-MINOR) node-api: add node_api_symbol_for() (Darshan Sen) #41329
  • [7c0b8ca5ac] - perf_hooks: do not return all entries with getEntriesBy[Name|Type] (Xuguang Mei) #42104
  • [b7a307f0ed] - perf_hooks: use arrays to store EntryBuffers (Xuguang Mei) #42032
  • [61ecdf8f12] - process: fix named report export (madflow) #41861
  • [bc08165953] - process: deprecate multipleResolves (Benjamin Gruenbaum) #41872
  • [a88d4a2e2c] - repl: remove preview when press escape (meixg) #42053
  • [83267aaa7f] - repl: #41690 REPL gives wrong autocomplete on literals (Xuguang Mei) #41883
  • [73ce911a6f] - src: convert hex2bin() into a regular function (Darshan Sen) #42321
  • [7fe16ecc7a] - src: fix coverity warnings in node_file.cc (Michael Dawson) #42272
  • [5b30e28eb4] - src: check EC_POINT_get_affine_coordinates result (Tobias Nießen) #42304
  • [57b619da46] - src: simplify bound check in ParseArrayIndex (Tobias Nießen) #42306
  • [0e3e3fda22] - src: avoid returning invalid value from hex2bin (Tobias Nießen) #42307
  • [5eaa59159f] - src: check return value of HMAC_Final (Tobias Nießen) #42303
  • [376b3c4293] - src: include internal/options in the snapshot (Joyee Cheung) #42203
  • [268fd97925] - src: remove redundant buffer size check (Tobias Nießen) #42257
  • [90ce5c9fc5] - src: perform minor cleanups on zlib code (Anna Henningsen) #42247
  • [de3748a7e7] - src: use emplace_back instead of push_back (Yash Ladha) #42159
  • [830f93d892] - src: fix unchecked return warning from coverity (Michael Dawson) #42176
  • [db9f7752a9] - src: return proper URLs from node_api_get_module_file_name (Anna Henningsen) #41758
  • [d4b1b5cf85] - src: skip revoke_data_object if uuid is not found (Xuguang Mei) #42212
  • [3026449009] - src: remove dead code in AddFingerprintDigest (Tobias Nießen) #42145
  • [29fd5ff37d] - src: combine GetCurveASN1Name and GetCurveNistName (Tobias Nießen) #42118
  • [447ae8c5a3] - src: simplify TLSWrap::SetSession (Tobias Nießen) #42087
  • [2fe17f3891] - src: prefer bool over int in crypto_common (Tobias Nießen) #42097
  • [237f47e38e] - src: simplify arg type of AddFingerprintDigest (Tobias Nießen) #42101
  • [4244b1a0bb] - src: do not ignore return value of BIO_reset (Tobias Nießen) #42103
  • [e77a7cf985] - src: simplify GetExponentString (Tobias Nießen) #42121
  • [c811b8a1cb] - (SEMVER-MINOR) src: allow preventing InitializeInspector in env (Shelley Vohr) #35025
  • [af73a853f5] - src: use const reference instead of pointer in URL::SerializeURL (Anna Henningsen) #41759
  • [703593ab2a] - src: reserve string allocation space early in URL::SerializeURL (Anna Henningsen) #41759
  • [170a6cb33e] - src: fix query/fragment serialization in URL::SerializeURL (Anna Henningsen) #41759
  • [86b9d3af98] - src: don't print interface if sin6_scope_id is 0 (Santiago Gimeno) #41547
  • [fdea60e958] - src,buffer: evaluate THROW_AND_RETURN_IF_OOB() expression only once (Darshan Sen) #41945
  • [bf1f485c8d] - src,crypto: avoid tristate Maybe<bool> in ExportJWKEcKey() (Darshan Sen) #42223
  • [a5b189cda7] - stream: use .chunk when calling adapters's writev (Xuguang Mei) #42161
  • [0c690456cf] - stream: add more forEach tests (Benjamin Gruenbaum) #41937
  • [f12cf6db47] - (SEMVER-MINOR) stream: add reduce (Benjamin Gruenbaum) #41669
  • [4b6343964e] - stream: use synchronous error validation on iteration helpers (iMoses) #41652
  • [60e28ba507] - stream: add asIndexedPairs (Benjamin Gruenbaum) #41681
  • [88a48197c4] - stream: add drop and take (Benjamin Gruenbaum) #41630
  • [205c018ab4] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) #41612
  • [0be2321d53] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573
  • [ac8526e9a5] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
  • [dcc58314b9] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
  • [f21f104c7c] - string_decoder: fix crash when calling __proto__.write() (Darshan Sen) #42062
  • [e3bced182c] - test: give slow tests more time on Rasberry PIs (Michael Dawson) #42380
  • [04243a85c7] - test: improve https_renew_cert.sh script (Tobias Nießen) #42343
  • [6d422ad807] - test: improve _http_incoming.js coverage (Yoshiki Kurihara) #42211
  • [3d37efe588] - test: improve _http_outgoing coverage (Yoshiki Kurihara) #42213
  • [245577e15c] - test: add test case for reverted 17.7 regression (Rich Trott) #42283
  • [3cc06de597] - test: use global webcrypto for WPT tests (Antoine du Hamel) #42236
  • [623be18fa3] - test: cover 32-bit sizes in generatePrime (Tobias Nießen) #42207
  • [70281e17ad] - test: fix test-process-env-tz.js by using RegExp (Khaidi Chu) #42113
  • [33b11a3548] - test: update V8 trace events test expectations (Nikolaos Papaspyrou) #42120
  • [978b50fe44] - test: deflake test-common-expect-warning (Luigi Pinca) #42046
  • [629d06ace8] - test: validate EventEmitterAsyncResource methods throw on invalid this (Yoshiki Kurihara) #42041
  • [17af006e38] - test: increase Fibonacci argument to 40 (Rich Trott) #42055
  • [b06780801c] - test: remove test-stdout-close-catch flaky designation (Rich Trott) #42045
  • [9ae6982387] - test: check that fetch globals are disabled by default (Michaël Zasso) #42015
  • [2a1a94bbbb] - test: improve vm test coverage (Yoshiki Kurihara) #41847
  • [3e354da097] - test: run webmessaging/broadcastchannel WPT (Ben Noordhuis) #41962
  • [711e863084] - test: fix names of tests marked flaky on IBM i (Richard Lau) #41984
  • [95eb03c298] - test: fix typographical error (Rich Trott) #41983
  • [31def41391] - test: fix intl tests on small-icu builds (Antoine du Hamel) #41939
  • [11e76fcba4] - test: remove lint rule for setTimeout() arguments (Rich Trott) #41901
  • [fd8bf09608] - test: move test-crypto-engine to addon (Michael Dawson) #41830
  • [25109a6471] - test: improve stability of oom test (Benjamin Gruenbaum) #41681
  • [ad17c9ce0c] - test,crypto: add and update empty passphrase regression tests (Darshan Sen) #42319
  • [9649d656ba] - tls: avoid throw in onerror for bad TLSSocket obj (Valters Jansons) #41523
  • [789e6041a6] - tools: update lint-md-dependencies to rollup@2.70.1 (Node.js GitHub Bot) #42403
  • [1c1061549a] - tools: update doc to highlight.js@11.5.0 unified@10.1.2 (Node.js GitHub Bot) #42315
  • [97aa236083] - tools: update lint-md-dependencies to rollup@2.70.0 unified@10.1.2 (Node.js GitHub Bot) #42316
  • [7636370bdb] - tools: update eslint to 8.11.0 (Node.js GitHub Bot) #42318
  • [359395393f] - tools: fix web streams API links (Brian White) #42153
  • [fe5578b627] - tools: update lint-md-dependencies to rollup@2.69.1 (Node.js GitHub Bot) #42226
  • [8532f83c8e] - tools: update lint-md rollup dependencies (Node.js GitHub Bot) #42141
  • [f2a16158a0] - tools: update eslint to 8.10.0 (Node.js GitHub Bot) #42143
  • [11f747b0e4] - tools: update lint-md-dependencies to rollup@2.67.3 (Node.js GitHub Bot) #42057
  • [c47b436bd0] - tools: enable es2022 env in ESLint config (Michaël Zasso) #42043
  • [bbdf285a39] - tools: add console to the list of restricted globals (Antoine du Hamel) #42012
  • [aace6c2626] - tools: lint deprecation codes (Antoine du Hamel) #41992
  • [c229889022] - tools: fix bugs in prefer-primordials linter rule (Antoine du Hamel) #42010
  • [410d0ce44a] - tools: add timers functions to the list of restricted globals (Antoine du Hamel) #42013
  • [06d8c53e62] - tools: reduce list of globals in ESLint config (Rich Trott) #41996
  • [82b64f44fc] - tools: update remark-preset-lint-node to 3.3.1 (Rich Trott) #41999
  • [1db9cc7e59] - tools: update ESLint to 8.9.0 (Luigi Pinca) #41973
  • [f8c6232f90] - tools: update lint-md-dependencies to rollup@2.67.2 (Node.js GitHub Bot) #41941
  • [57d5576c4d] - tools: fix typo in prefer-primordials.js (Ikko Ashimine) #41891
  • [4bba27935a] - tools,lib: remove global and Intl from the list of globals (Antoine du Hamel) #42014
  • [e918570d10] - url: preserve null char in WHATWG URL errors (Rich Trott) #42263
  • [962a8ec350] - url: trim leading and trailing C0 control chars (Rich Trott) #42196
  • [78647edba7] - url, src: modify one special_back_slash (Khaidi Chu) #42112
  • [a458fbf949] - worker: do not send message if port is closing (Rich Trott) #42357
  • [604621a275] - worker: fix typo in debug statement (Antoine du Hamel) #42011
  • [237affc951] - (SEMVER-MINOR) worker: graduate get/setEnvironmentData APIs (James M Snell) #41272

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

SHASUMS

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

237a2b77ef1ec74343329c8c701d0f41feb946ede0a2cbc7292175b34cc638f6  node-v16.15.0-aix-ppc64.tar.gz
ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b  node-v16.15.0-darwin-arm64.tar.gz
0fec28fea7fcf381026af101de55af003180434d3df1985fd128fc86ea54819c  node-v16.15.0-darwin-arm64.tar.xz
a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8  node-v16.15.0-darwin-x64.tar.gz
a5197e523dce9fcfecb5a73a272d17aa480d76c0c6830e4ffc17dae629440d02  node-v16.15.0-darwin-x64.tar.xz
e0b0a2292179ab855357cefa704f797d7853b569f2d66bb7c313dd5cb36e063b  node-v16.15.0-headers.tar.gz
d3f1a8125dfe3e8bb7331b5919325d35653e7f236682963906b91c197206b0bf  node-v16.15.0-headers.tar.xz
2aa387e6a57ade663849efdc4fabf7431a38d975db98dcc79293840e6894d28b  node-v16.15.0-linux-arm64.tar.gz
b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56  node-v16.15.0-linux-arm64.tar.xz
3b54c8f57a8ab211b5e969cdf6d20b3bcd7f30f7e0444e00c409f78b90486d30  node-v16.15.0-linux-armv7l.tar.gz
cc971b6896a5c3f610660168f5a80c2922180e958b9f1d161eecc8457fc80951  node-v16.15.0-linux-armv7l.tar.xz
625bf1f6cc2d608c51fc5b412ca162251871d14eb795cb006107d743c1da200c  node-v16.15.0-linux-ppc64le.tar.gz
86357d26c59c439420185d775c47292bed95babe4da9456814eb4c8e2c9bd7e7  node-v16.15.0-linux-ppc64le.tar.xz
ecd90e2218fa0c78bbf5c8b940ebe0ac5824bd4c34d5e5f73b75fbd27b5fff64  node-v16.15.0-linux-s390x.tar.gz
f80a7af3c1069eac230b6c9af34b9ae4da9723f3733b2caba80f9c5ac947d6bb  node-v16.15.0-linux-s390x.tar.xz
d1c1de461be10bfd9c70ebae47330fb1b4ab0a98ad730823fb1340e34993edee  node-v16.15.0-linux-x64.tar.gz
ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372  node-v16.15.0-linux-x64.tar.xz
c2ac086ce235994ab1f1d05adfe11316e042eec8e969a325d4d96bd707e50447  node-v16.15.0.pkg
38e041b7249afb331663613f860b84b51852efa02b4ebff852f9610bef680d7d  node-v16.15.0.tar.gz
a0f812efc43f78321eca08957960a48f5e6bf97004d5058c8dd3b03c646ea4f7  node-v16.15.0.tar.xz
7c67bf60fd785fdcc9daf8c7ed19f15affb8d266121ef387efc678069bb78fb5  node-v16.15.0-win-x64.7z
dbe04e92b264468f2e4911bc901ed5bfbec35e0b27b24f0d29eff4c25e428604  node-v16.15.0-win-x64.zip
63576c0ce442a2d9f158cbf9a1f57f44e173f2f3ef978a520b6b4c0c92f10ae0  node-v16.15.0-win-x86.7z
0d11a3844dad4ab679502495a4aa41041168a2caa81b8da9c7b5a14902c46986  node-v16.15.0-win-x86.zip
d21fbd61cdd1dda49159b86967df01fed182de19c227b00f1841c4c374f5567f  node-v16.15.0-x64.msi
20542ed7f28b2112edf7d22511e2d8c27ce57b66ced657e54b9e603f626fe0d8  node-v16.15.0-x86.msi
f9de362c3ea39f4abad4e724c2afc01e3d873363453834f4f9da460c843f4554  win-x64/node.exe
3ab87e9c27e2d49869fd15c7841c1674af56c9be3af1672c173621a3300f0e0d  win-x64/node.lib
fb7c3ea93337b253afd33e589954015c1ed03f40b686e6df1ec9c4f636734ecd  win-x64/node_pdb.7z
b664795eb9e951a638112f2540073ea5adacfefb68cfcfecb53f379777294779  win-x64/node_pdb.zip
22393b50772e2e37177cb5a7c9a0ea4998c8cc2b5b9bc8cf10c90cab92c57498  win-x86/node.exe
a1abc3b3a13745dd883a21cbfe07f3162f6f61e8a9267d6e9de9c2b0a4abaa45  win-x86/node.lib
cc0d8951c1bb1b2e34c77752a9726ffadabbeacdf739dd02ea70266b045f2640  win-x86/node_pdb.7z
380dff31f8f0ec67baf1a75da712b064490852dcc178252707ca3094bf93eb66  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdPEmArbxxOkT+qN606iWE2Q7YgEFAmJolggACgkQ06iWE2Q7
YgE0Ig//YqM5om1v6OxvxcK1pThHs89j78n29p8fjKkJyN6Z7fF+klfsNk6l6TIr
c9GUSQS9ZntIr1g6OQc/YQINzZYSj+ALG1YATnIvb5N6KIs4VogexuvTtf7NZTrQ
b7895c+/UjoNZQXIhrmeONVfuZ2S0XjVxQzKPxQSLn1IspLJqceS0mn5Tqbdgi1L
BA7+8roXTxgqpgP+AubOPyUTi+WHPV++8HPq5msPhht+NnJoGqwm+sYWSvZF6CKK
Idig4gscOCI1/nuSTqQhuGKdpK99gHLFxJhTXJurP2+NNPjuS6MQ/HqWL1Mgt2Wy
uaKqRsGA10+H+DMqLpQCAFCpz7M1T1donWwSy4mhBIfjEb2yq8I1GInJe0b6nXJR
qGHwAMoqbQ6GQObFJTp6nDbsan8qO90cJaU2VRq3IoqO/F4rwR0RkgVHJplMXx/F
6Mp9Rboc5nCgc2ZSN0Cxjcae8V5+3fOWBN8HfPHFkIzvmwvrZ4CpDVh24tsKkhhs
IP0+4JvsjwxCW9qkdHdVJyihUDD+kSdoMo+fxyM5FmZLs1yQhTW5UWnd418CEoZg
fb9aE5wRZ9vJ9Ba9KrH59zVe6oPAt+zKlkTmVQRyzAXO+a4+gPHkiL9dk5TubqXE
NAH/vC7qzrwfncqZDEi5rc11Wq8XDEXJm4MHW1MK3s9VrbDUDcU=
=Fog4
-----END PGP SIGNATURE-----

Last Updated
Apr 27, 2022
Reading Time
15 min read
Contribute
Edit this page
Table of Contents
  1. Notable changes
  2. Add fetch API
  3. Other notable changes
  4. Commits
  5. SHASUMS