Node.js - v17.5.0


Notable Changes

Add fetch API

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

Add stream methods

  • [1ae648567a] - (SEMVER-MINOR) stream: add iterator helper find (linkgoron) #41849
  • [62e1a68077] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
  • [da11b95988] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
  • [34684a1c89] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573

Other Notable Changes

Commits

  • [0844935e1f] - async_hooks: fix imports in context example (Yash Ladha) #39229
  • [44ca20b7a1] - benchmark: avoid input param manipulation (Jithil P Ponnan) #41741
  • [ad32ad6cfd] - benchmark: enable no-empty ESLint rule (Rich Trott) #41831
  • [28b95a5a9f] - benchmark: use Object.hasOwn() instead of hasOwnProperty() (Rich Trott) #41769
  • [ca1cd4254a] - benchmark: replace hasOwnProperty() with Object.hasOwn() (Rich Trott) #41724
  • [6fefd5112a] - (SEMVER-MINOR) benchmark: add subarray to buffer-slice (Benjamin Gruenbaum) #41596
  • [878b2e73bb] - benchmark: remove unreachable code from crypto/hash-stream-creation (Rich Trott) #41535
  • [6064b1df5d] - buffer: fix atob/btoa no-arg case (Benjamin Gruenbaum) #41478
  • [89c327387b] - (SEMVER-MINOR) buffer: alias subarray and slice (Benjamin Gruenbaum) #41596
  • [adcde6bb78] - build: check if python is a executable program (himself65) #36696
  • [33351765c7] - build: enable zoslib installation on z/OS (alexcfyung) #41493
  • [e8062bfb92] - build: add --v8-enable-hugepage flag (Daoming Qiu) #41487
  • [8681c837ca] - build: add loong64 configure (Shi Pujin) #41323
  • [7c2b5861be] - build: fix libuv builds for android aarch64 (Darshan Sen) #41555
  • [e117c0f86c] - crypto: check return code from EVP_DigestUpdate (Michael Dawson) #41800
  • [9c59abe588] - crypto: fix webcrypto.subtle signature (Antoine du Hamel) #41761
  • [627f19a84b] - crypto: revise variables for const use instead of let (Rich Trott) #41614
  • [9e39e62ae2] - crypto: remove wildcard options for checkEmail (Tobias Nießen) #41599
  • [4a4c907604] - crypto: adjust types for getRandomValues (LiviaMedeiros) #41481
  • [b43faf0fc5] - crypto: remove checkIP options argument (Tobias Nießen) #41571
  • [076ec47557] - (SEMVER-MINOR) crypto: support RFC 2818 compatible checkHost (Tobias Nießen) #41569
  • [28650eca00] - deps: upgrade npm to 8.4.1 (npm-robot) #41836
  • [bee4451ed8] - deps: V8: cherry-pick cc9a8a37445e (Gus Caplan) #41823
  • [4b174ce7f6] - deps: upgrade npm to 8.3.2 (npm team) #41621
  • [0d4f043f0e] - dgram: remove unreachable connectState assign (Rongjian Zhang) #38590
  • [d641eb7f80] - doc: use the same case as the section heading (Mestery) #41876
  • [ffd1933ad9] - doc: use Oxford comma in crypto docs (Tobias Nießen) #41875
  • [145a3b8294] - doc: use sentence case in readme introduction (Mestery) #41874
  • [f8acca8df8] - doc: add missing space before hyphen (Mestery) #41873
  • [5085813688] - doc: add stream pipelining note on Http usage (Rafael Silva) #41796
  • [0a8995d36b] - doc: improve SSL_OP_PRIORITIZE_CHACHA description (Tobias Nießen) #41866
  • [1c62eb64f6] - doc: add missing commas in cluster docs (Tobias Nießen) #41865
  • [3676505413] - doc: add history information for Corepack (Antoine du Hamel) #41813
  • [8a42a20b8a] - doc: add comments to empty blocks in worker_threads text (Rich Trott) #41831
  • [c3721fcf9a] - doc: remove empty block from console.timeEnd() example (Rich Trott) #41831
  • [451f3331d9] - doc: feature management proposal (Michael Dawson) #41420
  • [72a857f56c] - doc: add overhead hints for heap snapshot generation (Gerhard Stöbich) #41822
  • [7aeaa27d67] - doc: fix X509 CA acronym capitalization (Tobias Nießen) #41841
  • [d3a4c62600] - doc: use sentence case for X509 error codes header (Tobias Nießen) #41829
  • [cb16fad0ab] - doc: add initial version of maintaining-http.md (Michael Dawson) #41798
  • [49f6b97b64] - doc: add registry numbers for Electron 19 and 20 (Keeley Hammond) #41814
  • [4db343bb8e] - doc: add note about resource type in async_hooks (Tony Gorez) #41797
  • [d726a3442c] - doc: use example.com for examples (Ateş Göral) #41827
  • [4eb1938f51] - doc: align tls port types with net port types (Tobias Nießen) #41799
  • [e5db13626b] - doc: use UDPv4/UDPv6 consistently with TCPv4/TCPv6 (Tobias Nießen) #41824
  • [af641bdec4] - doc: improve wording surrounding TLS 1.3 ciphers (Tobias Nießen) #41778
  • [99e0f1458b] - doc: add format-md step to release guide (Danielle Adams) #41809
  • [62f2c078ec] - doc: add v16 changelog link to iojs changelog (Danielle Adams) #41808
  • [c0629b48ce] - doc: add security-steward rotation information (Michael Dawson) #41707
  • [032df4ee17] - doc: use Object.hasOwn() in util doc (Rich Trott) #41780
  • [257c5b68d1] - doc: remove section on "recent" ECDH changes (Tobias Nießen) #41773
  • [86644b95a5] - doc: clarify that import also uses main (Ben McCann) #41720
  • [4889a3177f] - doc: update modules.md wording (Tobias Hernstig) #41728
  • [26c5efef35] - doc: update Mesteery email (Mestery) #41683
  • [4339299800] - doc: avoid incomplete sentence in cluster docs (Tobias Nießen) #41701
  • [7f7bcd7757] - doc: fix typo in contributing guides (Yoshiki Kurihara) #41723
  • [30336c23b5] - doc: improve docs to give descriptive info for the platform property (Harshil jain) #41650
  • [29678d66b8] - doc: fix link to npm documentation (Antoine du Hamel) #41712
  • [ae34900ccb] - doc: clarify treatment of non-string base in URL() (Rich Trott) #41685
  • [b83e661d30] - doc: fix typo in technical-priorities.md (Akhil Marsonya) #41694
  • [8e7df048a7] - doc: remove unadvisable cluster example (Tobias Nießen) #41668
  • [0ee468d6ba] - doc: document flow for supporting type generation (Michael Dawson) #41464
  • [9af2862a8b] - doc: clarify parameter for napi_get_cb_info (Michael Dawson) #41635
  • [a35c6c38f1] - doc: revise url.resolve() text (Rich Trott) #41661
  • [986dbb3222] - doc: clarify treatment of non-string argument to new URL() (Rich Trott) #41658
  • [2bba6cd8b6] - doc: fix documentation for MODULE_NOT_FOUND and ERR_MODULE_NOT_FOUND (Antoine du Hamel) #41645
  • [d40fd755d3] - doc: improve TLS/SSL introduction (Tobias Nießen) #41649
  • [b951764c32] - doc: modernize and simplify cluster example (Tobias Nießen) #41626
  • [0d6227ceab] - doc: simplify readline/stdin text (Rich Trott) #41583
  • [ffab924444] - doc: suggest worker threads in cluster docs (Tobias Nießen) #41616
  • [c111a13d22] - doc: add 16 and 17 to previous versions (Antoine du Hamel) #41646
  • [81e039fa9d] - doc: improve 'hex' Buffer decoding description and examples (Giora Guttsait) #41598
  • [09763a2a93] - doc: add note for handling signal events in trace events (Gabriel Trujillo) #41438
  • [2e7bf00359] - (SEMVER-MINOR) doc: deprecate buffer.slice (Benjamin Gruenbaum) #41596
  • [174155dee6] - doc: demonstrate dangers of buffer.slice() (Shalvah) #41628
  • [22484014cd] - doc: add missing word in cluster.workers details (Tobias Nießen) #41624
  • [86272ca5ac] - doc: fix async_hooks example in api docs (Akhil Marsonya) #41609
  • [5943cb9d1e] - doc: fix deprecated alias description in cluster (Tobias Nießen) #41618
  • [574c19a8c6] - doc: fix backticks around 'default' (Tobias Nießen) #41613
  • [4780449b4e] - doc: update timingSafeEqual error case (Alex Agranov) #41507
  • [9c73bd5610] - doc: simplify util.TextDecoder example (Rich Trott) #41574
  • [e72693160e] - doc: move Mesteery to collaborators (Tobias Nießen) #41597
  • [952623dff8] - doc: fix cjs example code for process.arch (Job) #41593
  • [2478b47a08] - doc: remove redunant await calls from stream docs (Giora Guttsait) #41592
  • [f6b5b8d5bb] - doc: make contributing info more discoverable (Michael Dawson) #41408
  • [6370b4df68] - doc: recommend package exports instead of requiring folders (Antoine du Hamel) #41381
  • [b5104e89fc] - doc: edit async_context context loss text (Rich Trott) #41550
  • [9ea8e49032] - doc: use sentence case for Web Crypto headers (Tobias Nießen) #41577
  • [92484d4945] - doc: make Web Crypto example spec compliant (Tobias Nießen) #41556
  • [60e7437a60] - doc: do not reference SSL when discussing SNI (Tobias Nießen) #41549
  • [31d75f2f5d] - doc: fix typos in esm.md (Yu) #41499
  • [cb4dbc10bc] - doc: adjust assignment in condition in stream doc (Rich Trott) #41510
  • [5c700fa8e2] - doc: improve Web Crypto headings related to ECC (Tobias Nießen) #41542
  • [84292165e7] - doc: clarify module system selection (Antoine du Hamel) #41383
  • [be63dc5acc] - doc: remove statement about (EC)DHE performance (Tobias Nießen) #41528
  • [c6749bc590] - doc,readline: add missing node protocol in example (Mestery) #41560
  • [74bd31213c] - domain: pass opts to EventEmitter.init (Chen Gang) #41414
  • [e1d5a354c5] - esm: improve validation of resolved URLs (Jacob Smith) #41446
  • [bfddcb11a5] - http2: fix pseudo-headers order (ofir) #41735
  • [499171bbd8] - http2: fix no response event on continue request (ofirbarak) #41739
  • [2a18859324] - http2: fix memory leak on nghttp2 hd threshold (Rafael Silva) #41502
  • [59a15e8f1a] - lib: refactor to use validateObject() validator (Mohammed Keyvanzadeh) #41845
  • [4834be373d] - lib: add comments to empty catch statements (Rich Trott) #41831
  • [76a229c4ff] - (SEMVER-MINOR) lib: add fetch (Michaël Zasso) #41749
  • [cedd26a396] - lib: refactor source map stack trace prepare (Mohammed Keyvanzadeh) #41698
  • [8ab0540d4a] - lib: throw error in structuedClone when no arguments are passed (Giora Guttsait) #41651
  • [306dd1c181] - lib: fix consistency of methods that emit warnings (Yoshiki Kurihara) #41249
  • [e500d11806] - lib: remove erroneous JSDoc entry (Rich Trott) #41604
  • [8a99eed7aa] - lib: modify DOMException to pass WPT (Khaidi Chu) #41517
  • [bd5d1583ed] - meta: update AUTHORS (Node.js GitHub Bot) #41868
  • [f5adf54eb6] - meta: update AUTHORS (Node.js GitHub Bot) #41763
  • [e5abdf7285] - meta: update mailmap/AUTHORS info for existing collaborator (Rich Trott) #41750
  • [14415fb7e0] - meta: adjust mailmap/AUTHORS to reflect README change (Rich Trott) #41751
  • [60eddadb65] - meta: update AUTHORS (Node.js GitHub Bot) #41659
  • [336c18d057] - meta: update AUTHORS (Node.js GitHub Bot) #41548
  • [9c6b078892] - module: unflag esm json modules (Geoffrey Booth) #41736
  • [2cae99425b] - (SEMVER-MINOR) node-api: add node_api_symbol_for() (Darshan Sen) #41329
  • [14cb9ea93e] - perf_hooks: remove useless calls in Histogram (Michael Dawson) #41579
  • [e1ae61bce5] - policy: revise manifest.js to avoid empty blocks (Rich Trott) #41831
  • [d83d55e6e5] - policy: check for null instead of falsy in loop (Rich Trott) #41614
  • [e11451c4e8] - policy: replace entries with keys (Mohammed Keyvanzadeh) #41482
  • [cfaa1e224d] - process: unhandledRejection support more errors (Benjamin Gruenbaum) #41682
  • [cf1d3d1565] - process: check for null instead of falsy in while loop (Rich Trott) #41614
  • [3b45c05a23] - process: use validateString validator (Mohammed Keyvanzadeh) #41595
  • [700f766bea] - process: ignore asyncId 0 in exception handler (Anatoli Papirovski) #41424
  • [cbcf794562] - readline: improve code coverage for readline promises (Erick Wendel) #41817
  • [0a31149202] - (SEMVER-MINOR) readline: add feature yank and yank pop (Ray) #41301
  • [5a4c74c647] - readline: undo previous edit when get key code 0x1F (Ray) #41392
  • [301a4f8781] - repl: check for precise values rather than falsy in loops (Rich Trott) #41614
  • [c3d3abf112] - src: slightly simplify URLHost::ToString (Anna Henningsen) #41747
  • [43f2abae7c] - src: slightly simplify V8CoverageConnection::GetFilename (Anna Henningsen) #41748
  • [bbfa58691e] - src: fix typo in js_native_api_v8.cc (Caio Agiani) #41764
  • [1ae648567a] - (SEMVER-MINOR) stream: add iterator helper find (linkgoron) #41849
  • [07b6bf4e7e] - stream: resume stream on drain (Robert Nagy) #41848
  • [f8d2955b71] - stream: initial port of test262 tests (Benjamin Gruenbaum) #41775
  • [6c82276b85] - stream: remove empty block (Rich Trott) #41831
  • [e11a079469] - stream: use synchronous error validation & validate abort signal option (iMoses) #41777
  • [9c2504a066] - (SEMVER-MINOR) stream: add reduce (Benjamin Gruenbaum) #41669
  • [a05b8328d8] - stream: use synchronous error validation on iteration helpers (iMoses) #41652
  • [311050ebaa] - stream: add asIndexedPairs (Benjamin Gruenbaum) #41681
  • [9b1a37979c] - stream: add drop and take (Benjamin Gruenbaum) #41630
  • [b3390b9ddb] - stream: never flatten on toArray (Benjamin Gruenbaum) #41615
  • [46ec74dcd1] - (SEMVER-MINOR) stream: support flatMap (Benjamin Gruenbaum) #41612
  • [16dec4268c] - stream: check for null instead of falsy in loops (Rich Trott) #41614
  • [34684a1c89] - (SEMVER-MINOR) stream: support some and every (Benjamin Gruenbaum) #41573
  • [62e1a68077] - (SEMVER-MINOR) stream: add toArray (Benjamin Gruenbaum) #41553
  • [5027e94a8a] - stream: rename unknown primordial (Mohammed Keyvanzadeh) #40622
  • [da11b95988] - (SEMVER-MINOR) stream: add forEach method (Benjamin Gruenbaum) #41445
  • [9226322394] - stream: avoid function call where possible (Rich Trott) #41534
  • [573cafe29d] - test: remove eslint-disable comments from fixtures (Rich Trott) #41859
  • [0d9248fe0a] - test: remove test-worker-memory flaky designation (Rich Trott) #41867
  • [c694dae41c] - test: enable no-empty ESLint rule (Rich Trott) #41831
  • [87902a7c17] - test: avoid using Object.prototype methods directly on objects (Rich Trott) #41801
  • [ea966404ad] - test: exclude ibm i tests until we resolve (Michael Dawson) #41812
  • [9c704b13af] - test: make worker-take-heapsnapshot non-flaky (Michael Dawson) #41684
  • [a97c817451] - test: mark test-fs-rmdir-recursive flaky on win (Michael Dawson) #41533
  • [5f1a59cb41] - test: make fs watch test more stable (Benjamin Gruenbaum) #41715
  • [abbc06b5ab] - test: fix typo in MessageChannel test (Tobias Nießen) #41746
  • [94645d8f71] - test: replace commented out expectations with tests (Darshan Sen) #41667
  • [351ebf289a] - test: improve stability of oom test (Benjamin Gruenbaum) #41681
  • [0267d27a7d] - test: use Object.hasOwn() where applicable (Rich Trott) #41664
  • [cca92107a4] - test: remove unneeded test statement (Rich Trott) #41663
  • [30df37f733] - test: remove error allowance in debugger test (Jithil P Ponnan) #41640
  • [b02bf41e18] - test: add stream map tests (Benjamin Gruenbaum) #41642
  • [12c1ac4d3b] - test: simplify test-gc-http-client (Luigi Pinca) #41620
  • [9d99c24d50] - test: prepare tests for no-cond-assign ESLint rule (Rich Trott) #41614
  • [ea6c202436] - test: move test-gc-http-client-onerror to sequential (Luigi Pinca) #41619
  • [55adcb7f12] - test: fix typo in test-stream-toArray (Tobias Nießen) #41634
  • [506a0dde0e] - test: improve test coverage of internal/worker/io (Yoshiki Kurihara) #41511
  • [6de8e51437] - test: add DataView test entry for whatwg (Mohammed Keyvanzadeh) #40622
  • [f947f72b39] - test: improve util-format code coverage (Rich Trott) #41572
  • [38e4b11391] - test: fix typo in test_js_native_api_v8 (Tobias Nießen) #41584
  • [5e3f751260] - test: add missing await in fs-rm/fs-rmdir tests (Benjamin Coe) #41545
  • [c0aec6783a] - test: increase coverage for stream writable (Rich Trott) #41486
  • [ef7c79822f] - test: add coverage for util.inspect() (Rich Trott) #41527
  • [2b4e46f07d] - timers: check for nullish instead of falsy in loops (Rich Trott) #41614
  • [0d471fb0d4] - tools: enable no-empty ESLint rule (Rich Trott) #41831
  • [72f02d87b9] - tools: update lint-md-dependencies to rollup\@2.67.0 (Node.js GitHub Bot) #41737
  • [32cdae7f65] - tools: update doc to rehype-stringify\@9.0.3 (Node.js GitHub Bot) #41854
  • [e6a1896ec1] - tools: update eslint to 8.8.0 (Node.js GitHub Bot) #41738
  • [3190e365f0] - tools: use Set instead of { [key]: true } object (Tobias Nießen) #41695
  • [3f4ce07be9] - tools: add compile_commands to ignore file (Yash Ladha) #41580
  • [5fe7cfabaa] - tools: use Set instead of { [key]: true } object (Tobias Nießen) #41675
  • [d33d1899c4] - tools: fix typo in tools/code_cache/README.md (Tobias Nießen) #41657
  • [ae7df178fd] - tools: enable no-cond-assign-ESLint rule (Rich Trott) #41614
  • [9202b86814] - tools: update lint-md-dependencies to rollup\@2.65.0 (Node.js GitHub Bot) #41638
  • [57ada37a1f] - tools: increase maximum line length to 120 characters (Rich Trott) #41586
  • [3084dff702] - tools: add missing .PHONY and .NOTPARALLEL targets in Makefile (Antoine du Hamel) #41515
  • [544267feb2] - tools: update lint-md-dependencies (Node.js GitHub Bot) #41440
  • [127d2fae62] - tools: bump eslint from 8.6.0 to 8.7.0 (Rich Trott) #41570
  • [ad5d7c7b06] - tools: update doc to highlight.js\@11.4.0 to-vfile\@7.2.3 (Node.js GitHub Bot) #41441
  • [34dfc60742] - tools,test: enable no-prototype-builtins (Rich Trott) #41801
  • [aee74c8156] - util: use hasOwnProperty() primordial (Rich Trott) #41692
  • [2b082def2e] - util: remove unused fast path in internal debuglog (Rich Trott) #41605
  • [0e35d01a4a] - util: check for null instead of flasy in loop (Rich Trott) #41614
  • [869cbb7b25] - (SEMVER-MINOR) worker: graduate get/setEnvironmentData APIs (James M Snell) #41272

Details

date
Feb. 10, 2022, 6:51 p.m.
name
2022-02-10, Version 17.5.0 (Current), @ruyadorno
type
Minor
👇
Register or login to:
  • 🔍View and search all Node.js releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or