Notable Changes

  • fs:
    • Reworked experimental recursive rmdir() (cjihrig) #30644
      • The maxBusyTries option is renamed to maxRetries, and its default is set to 0. The emfileWait option has been removed, and EMFILE errors use the same retry logic as other errors. The retryDelay option is now supported. ENFILE errors are now retried.
  • http:
    • Make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
  • http2:
    • Make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
    • Allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • wasi:
    • Introduce initial WASI support (cjihrig) #30258

Commits

  • [4cd4e7c17a] - benchmark,doc,lib,test: prepare for padding lint rule (Rich Trott) #30696
  • [63eb4fee46] - buffer: fix 6-byte writeUIntBE() range check (Brian White) #30459
  • [e8af569200] - buffer: release buffers with free callbacks on env exit (Anna Henningsen) #30551
  • [648766bccf] - build: do not build mksnapshot and mkcodecache for --shared (Joyee Cheung) #30647
  • [6545314a4f] - build: add --without-node-code-cache configure option (Joyee Cheung) #30647
  • [80ada94cd3] - build: use Node.js instead of Node in configure (Tobias Nießen) #30642
  • [0aae502c67] - build,win: propagate error codes in vcbuild (João Reis) #30724
  • [6a53152b42] - build,win: add test-ci-native and test-ci-js (João Reis) #30724
  • [30a4f68a15] - child_process: document kill() return value (cjihrig) #30669
  • [dae36a9692] - child_process: replace var with let/const (dnlup) #30389
  • [4b13bca31a] - child_process: replace var with const/let in internal/child_process.js (Luis Camargo) #30414
  • [378c54fe97] - cluster: replace vars in child.js (EmaSuriano) #30383
  • [708e67a732] - cluster: replace var with let (Herrmann, Rene R. (656)) #30425
  • [55fbe45f69] - cluster: replace var by let in shared_handle.js (poutch) #30402
  • [4affc30a12] - crypto: automatically manage memory for ECDSA_SIG (Tobias Nießen) #30641
  • [55c2ac70b7] - crypto: remove redundant validateUint32 argument (Tobias Nießen) #30579
  • [0ba877a541] - deps: V8: cherry-pick 0dfd9ea51241 (bcoe) #30713
  • [b470354057] - deps: patch V8 to 7.9.317.25 (Myles Borins) #30679
  • [d257448bca] - deps: update llhttp to 2.0.1 (Fedor Indutny) #30553
  • [456d250d2d] - deps: V8: backport 93f189f19a03 (Michaël Zasso) #30681
  • [aa01ebdbca] - deps: V8: cherry-pick ca5b0ec (Anna Henningsen) #30708
  • [f37450f580] - dns: use length for building TXT string (Anna Henningsen) #30690
  • [3d302ff276] - doc: fix typographical error (Rich Trott) #30735
  • [19b31c1bc5] - doc: revise REPL uncaught exception text (Rich Trott) #30729
  • [61af1fcaa1] - doc: update signature algorithm in release doc (Myles Borins) #30673
  • [a8002d92ab] - doc: update README.md to fix active/maint times (Michael Dawson) #30707
  • [f46df0b496] - doc: update socket.bufferSize text (Rich Trott) #30723
  • [cbd50262c0] - doc: note that buf.buffer's contents might differ (AJ Jordan) #29651
  • [a25626c1ed] - doc: clarify IncomingMessage.destroy() description (Sam Foxman) #30255
  • [8fcb450934] - doc: fixed a typo in process.md (Harendra Singh) #30277
  • [ad9f737e44] - doc: documenting a bit more FreeBSD case (David Carlier) #30325
  • [40b762177f] - doc: add missing 'added' versions to module.builtinModules (Thomas Watson) #30562
  • [aca0119089] - doc: fix worker.resourceLimits indentation (Daniel Nalborczyk) #30663
  • [43e78578a6] - doc: fix worker.resourceLimits type (Daniel Nalborczyk) #30664
  • [20dbce17d5] - doc: avoid proposal syntax in code example (Alex Zherdev) #30685
  • [1e7c567734] - doc: address nits for src/README.md (Anna Henningsen) #30693
  • [87136c9bde] - doc: revise socket.connect() note (Rich Trott) #30691
  • [fcde49700c] - doc: remove "this API is unstable" note for v8 serdes API (bruce-one) #30631
  • [809a2b056b] - doc: fixup incorrect flag name reference (Guy Bedford) #30651
  • [3d978839c1] - doc: minor updates to releases.md (Beth Griggs) #30636
  • [e9f031c741] - doc: add 13 and 12 to previous versions (Andrew Hughes) #30590
  • [8ab18b6b6f] - doc: update AUTHORS list (Gus Caplan) #30672
  • [329a821d25] - doc: add explanation why keep var with for loop (Lucas Recknagel) #30380
  • [426ca263c8] - doc: document "Resume Build" limitation (Richard Lau) #30604
  • [00f7cc65a1] - doc: add note of caution about non-conforming streams (Robert Nagy) #29895
  • [7d98a59c39] - doc: add note about debugging worker_threads (Denys Otrishko) #30594
  • [8ef629a78a] - doc: simplify "is recommended" language in assert documentation (Rich Trott) #30558
  • [19d192d1f0] - doc: fix a typo in a date for version 13.2.0 (Kirlat) #30587
  • [b67759a93c] - doc,deps: document how to maintain ICU in Node.js (Steven R. Loomis) #30607
  • [bfcc9142f3] - doc,n-api: mark napi_detach_arraybuffer as experimental (legendecas) #30703
  • [365f0ab09b] - esm: data URLs should ignore unknown parameters (Bradley Farias) #30593
  • [0285aa0967] - events: improve performance caused by primordials (guzhizhou) #30577
  • [3475f9b82c] - fs: add ENFILE to rimraf retry logic (cjihrig) #30644
  • [f725953433] - fs: add retryDelay option to rimraf (cjihrig) #30644
  • [51bc379243] - fs: remove rimraf's emfileWait option (cjihrig) #30644
  • [612a3a2e6c] - fs: make rimraf default to 0 retries (cjihrig) #30644
  • [fa1f87b199] - fs: rename rimraf's maxBusyTries to maxRetries (cjihrig) #30644
  • [8ee27ffe77] - fs: change var to let (Àlvar Pérez) #30407
  • [850c2a72ea] - fs: cover fs.opendir ERR_INVALID_CALLBACK (Vladislav Botvin) #30307
  • [62574087ea] - (SEMVER-MINOR) http: make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
  • [1d1d136806] - http: set socket.server unconditionally (Anna Henningsen) #30571
  • [6848bfbf65] - http: replace var with let (Guilherme Goncalves) #30421
  • [8256d38349] - http: destructure primordials in lib/_http_server.js (Artem Maksimov) #30315
  • [3b169f1dbd] - http: improve performance caused by primordials (Lucas Recknagel) #30416
  • [6f313f9ab0] - http2: fix session memory accounting after pausing (Michael Lehenbauer) #30684
  • [7d37bcebea] - (SEMVER-MINOR) http2: make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
  • [092a3c28aa] - (SEMVER-MINOR) http2: allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • [e92afd998f] - (SEMVER-MINOR) http2: replace direct array usage with struct for js_fields_ (Denys Otrishko) #30534
  • [30ef8e4cbd] - http2: change var to let compact.js (Maria Emmanouil) #30392
  • [1a2ed4a5f4] - http2: core.js replace var with let (Daniel Schuech) #30403
  • [f7ca7e6677] - http2: replace var with let/const (Paolo Ceschi Berrini) #30417
  • [6322611077] - inspector: properly shut down uv_async_t (Anna Henningsen) #30612
  • [de3a1c3019] - lib: enforce use of primordial Number (Sebastien Ahkrin) #30700
  • [5a9340d723] - lib: use static Number properties from primordials (Michaël Zasso) #30686
  • [892bde635e] - lib: enforce use of Boolean from primordials (Michaël Zasso) #30698
  • [ae2c7d0b02] - lib: replace Date.now function by primordial DateNow (Tchoupinax) #30689
  • [c09e3deac5] - lib: replace ArrayBuffer.isView by primordial ArrayBuffer (Vincent Dhennin) #30692
  • [5ef4dceb95] - lib: enforce use of Array from primordials (Michaël Zasso) #30635
  • [a4dfe3b7dc] - lib: flatten access to primordials (Michaël Zasso) #30610
  • [b545b91de5] - lib: use let instead of var (Shubham Chaturvedi) #30375
  • [5120926337] - lib: replace var with let/const (jens-cappelle) #30391
  • [b18b056d64] - lib: replace var w/ let (Chris Oyler) #30386
  • [3796885096] - lib: replace var with let/const (Tijl Claessens) #30390
  • [ffe3040659] - lib: adding perf notes js_stream_socket.js (ryan jarvinen) #30415
  • [797b938c49] - lib: replace var with let (Dennis Saenger) #30396
  • [0b64e45e41] - lib: main_thread_only change var to let (matijagaspar) #30398
  • [d024630f44] - lib: change var to let in stream_base_commons (Kyriakos Markakis) #30426
  • [3c041edbe7] - lib: use let instead of var (Semir Ajruli) #30424
  • [d277c375fd] - lib: changed var to let (Oliver Belaifa) #30427
  • [0fd89cc0f1] - lib: replace var with let/const (Dries Stelten) #30409
  • [bdba03e3ed] - lib: change var to let (Dimitris Ktistakis) #30408
  • [48fef42ca9] - lib: replace var with let/const (Tembrechts) #30404
  • [502173b54e] - lib: replace var to let in cli_table.js (Jing Lin) #30400
  • [2cf8a7f117] - module: fix specifier resolution algorithm (Rongjian Zhang) #30574
  • [be9788bf20] - n-api: detach external ArrayBuffers on env exit (Anna Henningsen) #30551
  • [8171cef921] - (SEMVER-MINOR) n-api: implement napi_is_detached_arraybuffer (Denys Otrishko) #30613
  • [cc5875b2e6] - n-api: add missed nullptr check in napi_has_own_property (Denys Otrishko) #30626
  • [017280e6e2] - net: replaced vars to lets and consts (nathias) #30401
  • [56248a827a] - process: replace var with let/const (Jesper Ek) #30382
  • [5c40b2f9ac] - process: replace vars in per_thread.js (EmaSuriano) #30385
  • [c50bbf58da] - readline: change var to let (dnlup) #30435
  • [b91d22cc8d] - repl: fix referrer for dynamic import (Corey Farrell) #30609
  • [4e5818a456] - repl: change var to let (Oliver Belaifa) #30428
  • [e65ad865c6] - src: change header file in node_stat_watcher.cc (Reza Fatahi) #29976
  • [be84ceefb8] - src: clean up node_file.h (Anna Henningsen) #30530
  • [bccfd124b0] - src: remove unused variable in node_dir.cc (gengjiawen) #30267
  • [fc11db18fe] - src: inline SetSNICallback (Anna Henningsen) #30548
  • [7bd587ef0c] - src: use BaseObjectPtr to store SNI context (Anna Henningsen) #30548
  • [8ec0d75de7] - src: cleanup unused headers (Alexandre Ferrando) #30328
  • [6c249c0982] - src: run native immediates during Environment cleanup (Anna Henningsen) #30666
  • [bea25016d1] - src: no SetImmediate from destructor in stream_pipe code (Anna Henningsen) #30666
  • [94357db815] - src: add more can_call_into_js() guards (Anna Henningsen) #30666
  • [d54432f974] - src: keep object alive in stream_pipe code (Anna Henningsen) #30666
  • [d194c0ff37] - src: replaced var with let (Aldo Ambrosioni) #30397
  • [44f28ea155] - src: fix -Wsign-compare warnings (cjihrig) #30565
  • [1916acb3cb] - src: fix signal handler crash on close (Shelley Vohr) #30582
  • [9e9e48bf7e] - src: use uv_async_t for WeakRefs (Anna Henningsen) #30616
  • [