皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Node v17.5.0 发布

Node v17.5.0 发布

Notable Changes

Add fetch API

Adds experimental support to the fetch API. This adds a --experimental-fetch flag that installs the fetchRequestReponse 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

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

更多 Node v17.5.0 (Current) | Node.js (nodejs.org)