Software 43917 Published by

Node.js version 22.19.0 (LTS) has been released with several notable changes and improvements. These updates include additions to the CLI, such as support for placeholders in profiling names and the ability to use system CA certificates, as well as enhancements to DNS, HTTP, and HTTPS functionality. Additionally, various documentation updates have been made, including corrections to instructions on verifying releases, formatting safely for doc-kit, and clarifications to threat model constraints for memory leaks.



Node.js v22.19.0 (LTS)

Notable Changes

  • [ 8e2076a24f] - (SEMVER-MINOR) cli: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung)  #59276
  • [ e592d739c2] - (SEMVER-MINOR) cli: support ${pid} placeholder in --cpu-prof-name (Haram Jeong)  #59072
  • [ cda1dab6e2] - (SEMVER-MINOR) crypto: add tls.setDefaultCACertificates() (Joyee Cheung)  #58822
  • [ 1f184513e9] - (SEMVER-MINOR) dns: support max timeout (theanarkh)  #58440
  • [ bace73a173] - doc: update the instruction on how to verify releases (Antoine du Hamel)  #59113
  • [ fa9a9e9c69] - (SEMVER-MINOR) esm: unflag --experimental-wasm-modules (Guy Bedford)  #57038
  • [ 390a9dc20b] - (SEMVER-MINOR) http: add server.keepAliveTimeoutBuffer option (Haram Jeong)  #59243
  • [ c12c5343ad] - lib: docs deprecate _http_* (Sebastian Beltran)  #59293
  • [ f57ee3d71f] - (SEMVER-MINOR) net: update net.blocklist to allow file save and file management (alphaleadership)  #58087
  • [ 035da74c31] - (SEMVER-MINOR) process: add threadCpuUsage (Paolo Insogna)  #56467
  • [ 8e697d1884] - (SEMVER-MINOR) zlib: add dictionary support to zstdCompress and zstdDecompress (lluisemper)  #59240

Commits

  • [ 73aa0ae37f] - assert: change utils to use index instead of for...of (방진혁)  #59278
  • [ dfe3a11eed] - benchmark: remove deprecated _extend from benchmark (Rafael Gonzaga)  #59228
  • [ 9b9d30042a] - benchmark: add fs warmup to writefile-promises (Bruno Rodrigues)  #59215
  • [ a663f7f954] - benchmark: add calibrate-n script (Rafael Gonzaga)  #59186
  • [ 1b9b5bddd6] - benchmark: adjust configuration for string-decoder bench (Rafael Gonzaga)  #59187
  • [ d0ac3319f9] - benchmark: add --track to benchmark (Rafael Gonzaga)  #59174
  • [ 2044968b86] - benchmark: small lint fix on _cli.js (Rafael Gonzaga)  #59172
  • [ 4e519934cb] - benchmark: drop misc/punycode benchmark (Rafael Gonzaga)  #59171
  • [ 07e173d969] - benchmark: fix sqlite-is-transaction (Rafael Gonzaga)  #59170
  • [ 8440b6177f] - benchmark: reduce N for diagnostics_channel subscribe benchmark (Arthur Angelo)  #59116
  • [ 8615ea6db0] - buffer: cache Environment::GetCurrent to avoid repeated calls (Mert Can Altin)  #59043
  • [ 3deb5361d2] - build: fix node_use_sqlite for GN builds (Shelley Vohr)  #59017
  • [ 0f0ce63116] - build: remove suppressions.supp (Rafael Gonzaga)  #59079
  • [ b30a2117dc] - build,deps,tools: prepare to update to OpenSSL 3.5 (Richard Lau)  #58100
  • [ 8e2076a24f] - (SEMVER-MINOR) cli: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung)  #59276
  • [ e592d739c2] - (SEMVER-MINOR) cli: support ${pid} placeholder in --cpu-prof-name (Haram Jeong)  #59072
  • [ b5571047ed] - crypto: prepare webcrypto key import/export for modern algorithms (Filip Skokan)  #59284
  • [ cda1dab6e2] - (SEMVER-MINOR) crypto: add tls.setDefaultCACertificates() (Joyee Cheung)  #58822
  • [ 76dab34fb7] - deps: support madvise(3C) across ALL illumos revisions (Dan McDonald)  #58237
  • [ 19d3ed64b6] - deps: update sqlite to 3.50.4 (Node.js GitHub Bot)  #59337
  • [ 38bafc59e0] - deps: V8: backport 493cb53691be (Chengzhong Wu)  #59238
  • [ e8da171cc3] - deps: update sqlite to 3.50.3 (Node.js GitHub Bot)  #59132
  • [ fd4ba38ab6] - deps: update googletest to 7e17b15 (Node.js GitHub Bot)  #59131
  • [ f71f427b95] - deps: update archs files for openssl-3.0.17 (Node.js GitHub Bot)  #59134
  • [ 79c5a8f4d2] - deps: upgrade openssl sources to openssl-3.0.17 (Node.js GitHub Bot)  #59134
  • [ 0dcc84cf53] - deps: update corepack to 0.34.0 (Node.js GitHub Bot)  #59133
  • [ 1f184513e9] - (SEMVER-MINOR) dns: support max timeout (theanarkh)  #58440
  • [ f64f5df80e] - doc: fix --use-system-ca history (Joyee Cheung)  #59411
  • [ e22aeaa38f] - doc: add missing section for setReturnArrays in sqlite.md (Edy Silva)  #59074
  • [ e44ef07235] - doc: rename x509.extKeyUsage to x509.keyUsage (Filip Skokan)  #59332
  • [ 2c5d0aac5e] - doc: fix Pbkdf2Params hash attribute heading (Filip Skokan)  #59395
  • [ fde94346e5] - doc: fix missing reference links for server.keepAliveTimeoutBuffer (Lee Jiho)  #59356
  • [ 9af8bcea58] - doc: fix grammar in global dispatcher usage (Eng Zer Jun)  #59344
  • [ 0edf17198f] - doc: run license-builder (github-actions[bot])  #59343
  • [ 7f767a2e38] - doc: correct orthography eg. → e.g. (Jacob Smith)  #59329
  • [ a46ed50350] - doc: clarify the need of compiler compatible with c++20 (Rafael Gonzaga)  #59297
  • [ 212263a305] - doc: clarify release candidate stability index (Filip Skokan)  #59295
  • [ ce93b8b556] - doc: add WDYT to glossary (btea)  #59280
  • [ ebaaf2c67f] - doc: add manpage entry for --use-system-ca (Joyee Cheung)  #59273
  • [ 43b5a21916] - doc: add path.join and path.normalize clarification (Rafael Gonzaga)  #59262
  • [ 409c66d328] - doc: fix typo in test/common/README.md (Yoo)  #59180
  • [ cbb0a8eb13] - doc: add note on process memoryUsage (fengmk2)  #59026
  • [ 9892b15d81] - doc: format safely for doc-kit (Aviv Keller)  #59229
  • [ bace73a173] - doc: update the instruction on how to verify releases (Antoine du Hamel)  #59113
  • [ b549deac02] - doc: copyedit SECURITY.md (Rich Trott)  #59190
  • [ ef1bc3f344] - doc: fix broken sentence in URL.parse (Superchupu)  #59164
  • [ 3c6639e8ec] - doc: improve onboarding instructions (Joyee Cheung)  #59159
  • [ 6ffaac66bc] - doc: add constraints for mem leak to threat model (Rafael Gonzaga)  #58917
  • [ e419d20144] - doc: add Aditi-1400 to collaborators (Aditi Singh)  #59157
  • [ ba380f7bf3] - doc: avoid suggesting testing fast api with intense loop (Chengzhong Wu)  #59111
  • [ fa1a532f2b] - doc: fix typo in writing-test.md (SeokHun)  #59123
  • [ 0b93ca3d19] - doc: add RafaelGSS as steward July 25 (Rafael Gonzaga)  #59078
  • [ 7d747aeac8] - doc: clarify ERR_FS_FILE_TOO_LARGE to reflect fs.readFile() I/O limit (Haram Jeong)  #59050
  • [ 0b5613f9fe] - doc: run license-builder (github-actions[bot])  #59056
  • [ 1b6b5e72d3] - doc: fix typed list formatting (Aviv Keller)  #59019
  • [ 756c7dd639] - doc: refine util.parseArgs default definition (Slayer95)  #58958
  • [ 0b840523a2] - doc: remove unused import in zlib.md (coderaiser)  #59041
  • [ 3e9ed4b080] - doc: add stability index to the --watch-kill-signal flag (Dario Piotrowicz)  #58997
  • [ cb08a5d43f] - doc: add missing <code> blocks (Antoine du Hamel)  #58995
  • [ 4a42360fe5] - doc: add scroll margin to links (Roman Reiss)  #58982
  • [ 9d073f32da] - doc: add sponsorship link to RafaelGSS (Rafael Gonzaga)  #58983
  • [ 3cc11fc9ac] - domain: remove deprecated API call (Alex Yang)  #59339
  • [ fa9a9e9c69] - (SEMVER-MINOR) esm: unflag --experimental-wasm-modules (Guy Bedford)  #57038
  • [ 177ed3b3dd] - esm: js-string Wasm builtins in ESM Integration (Guy Bedford)  #59020
  • [ 4619fe0e04] - fs: fix glob TypeError on restricted dirs (Sylphy-0xd3ac)  #58674
  • [ ad2089e32d] - fs: correct error message when FileHandle is transferred (Alex Yang)  #59156
  • [ 390a9dc20b] - (SEMVER-MINOR) http: add server.keepAliveTimeoutBuffer option (Haram Jeong)  #59243
  • [ 659002359d] - http2: set Http2Stream#sentHeaders for raw headers (Darshan Sen)  #59244
  • [ d02831ef73] - inspector: initial support for Network.loadNetworkResource (Shima Ryuhei)  #58077
  • [ 264a838779] - lib: add trace-sigint APIs (theanarkh)  #59040
  • [ d22d2fa6d4] - lib: optimize writable stream buffer clearing (Yoo)  #59406
  • [ a5e9759409] - lib: do not modify prototype deprecated asyncResource (RafaelGSS)  #59195
  • [ 9254257fc0] - lib: restructure assert to become a class (Miguel Marcondes Filho)  #58253
  • [ 946eab8d77] - lib: handle superscript variants on windows device (Rafael Gonzaga)  #59261
  • [ cd857a97b5] - lib: use validateString (hotpineapple)  #59296
  • [ c12c5343ad] - lib: docs deprecate _http_* (Sebastian Beltran)  #59293
  • [ a28e5f0938] - lib: add type names in source mapped stack traces (Chengzhong Wu)  #58976
  • [ 6aec5aee7c] - lib: prefer AsyncIteratorPrototype primordial (René)  #59097
  • [ e704349858] - lib: fix incorrect ArrayBufferPrototypeGetDetached primordial type (Dario Piotrowicz)  #58978
  • [ 2fc25fd400] - lib: flag to conditionally modify proto on deprecate (Rafael Gonzaga)  #58928
  • [ 446ee98e00] - meta: clarify pr objection process further (James M Snell)  #59096
  • [ 46c339e4f3] - meta: add mailmap entry for aditi-1400 (Aditi)  #59316
  • [ 70a586261f] - meta: add tsc and build team as codeowners building.md (Rafael Gonzaga)  #59298
  • [ e666e06781] - meta: add nodejs/path to path files (Rafael Gonzaga)  #59289
  • [ 251b65dd6c] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot)  #59140
  • [ c8a7964da8] - meta: add marco-ippolito to security release stewards (Marco Ippolito)  #58944
  • [ 0eec5cc492] - module: fix conditions override in synchronous resolve hooks (Joyee Cheung)  #59011
  • [ 4acf7cd6d3] - module: throw error when re-runing errored module jobs (Joyee Cheung)  #58957
  • [ f57ee3d71f] - (SEMVER-MINOR) net: update net.blocklist to allow file save and file management (alphaleadership)  #58087
  • [ 4aefcfc318] - node-api: reword "implementation in an alternative VM" as implementable (Chengzhong Wu)  #59036
  • [ ff6be2ed5d] - node-api,doc: update links to ecma262 with section names (Chengzhong Wu)  #59087
  • [ 8d60602677] - perf_hooks: do not expose SafeMap via Histogram wrapper (René)  #59094
  • [ 035da74c31] - (SEMVER-MINOR) process: add threadCpuUsage (Paolo Insogna)  #56467
  • [ 74e1aa4d06] - process: make execve's args argument optional (Allon Murienik)  #58412
  • [ 3366e60bd9] - src: use simdjson to parse SEA configuration (Joyee Cheung)  #59323
  • [ 63cc06977a] - src: mark realm leaf classes final (Anna Henningsen)  #59355
  • [ 133d410cd9] - src: use C++20 contains() method (iknoom)  #59304
  • [ 57fe96fe49] - src: added CHECK_NOT_NULL check for multiple eq_wrap_async (F3lixTheCat)  #59267
  • [ a8f381a6c5] - src: add nullptr checks in StreamPipe::New (Burkov Egor)  #57613
  • [ 0769e5a0dc] - src: call unmask after install signal handler (theanarkh)  #59059
  • [ 1e7639e9e1] - src: use FastStringKey for TrackV8FastApiCall (Anna Henningsen)  #59148
  • [ 9075a1a4bf] - src: use C++20 consteval for FastStringKey (Anna Henningsen)  #59148
  • [ 5a0fd5689b] - src: remove declarations of removed BaseObject static fns (Anna Henningsen)  #59093
  • [ c637a2c41d] - src: add cache to nearest parent package json (Ilyas Shabi)  #59086
  • [ 3375a6cfee] - test: deflake sequential/test-tls-session-timeout (Joyee Cheung)  #59423
  • [ 438cb11a15] - test: update WPT resources,WebCryptoAPI,webstorage (Filip Skokan)  #59311
  • [ 68bec19f76] - test: add known issue test for fs.cpSync dereference bug (James M Snell)  #58941
  • [ a100cce379] - test: deflake stream-readable-to-web test (Ethan Arrowood)  #58948
  • [ b7577d853b] - test: make test-inspector-network-resource sequential (Shima Ryuhei)  #59104
  • [ 667ee82443] - test: don't use expose internals in test-http-outgoing-buffer.js (Meghan Denny)  #59219
  • [ feec26d3bb] - test: use mustSucceed in test-fs-read (Sungwon)  #59204
  • [ d7e23769ab] - test: prepare test-crypto-rsa-dsa for newer OpenSSL (Richard Lau)  #58100
  • [ 3a9aca91c6] - test: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang)  #59158
  • [ 3aee7625b9] - test: expand linting rules around assert w literal messages (Anna Henningsen)  #59147
  • [ 667c2ced38] - test: update WPT for WebCryptoAPI to ab08796857 (Node.js GitHub Bot)  #59129
  • [ 89ac344393] - test: update WPT for WebCryptoAPI to 19d82c57ab (Node.js GitHub Bot)  #59129
  • [ d332957ac6] - test: skip tests that cause timeouts on IBM i (Abdirahim Musse)  #59014
  • [ a23562ff72] - test: update startCLI to set --port=0 by default (Dario Piotrowicz)  #59042
  • [ 4a12f5d83b] - test: mark test-inspector-network-fetch as flaky on Windows (Joyee Cheung)  #59091
  • [ ac4f7aa69c] - test: add missing port=0 arg in test-debugger-extract-function-name (Dario Piotrowicz)  #58977
  • [ 8dd09267e3] - test,crypto: skip unsupported ciphers (Shelley Vohr)  #59388
  • [ 45200b43ea] - tools: update coverage GitHub Actions to fixed version (Rich Trott)  #59512
  • [ 8f2b8b3dc4] - tools: allow selecting test subsystems with numbers in their names (Darshan Sen)  #59242
  • [ f9bc2573dd] - tools: clarify README linter error message (Joyee Cheung)  #59160
  • [ cba0de128d] - tools: add support for URLs to PR commits in merge.sh (Antoine du Hamel)  #59162
  • [ 039949ef5b] - tools: bump @eslint/plugin-kit from 0.3.1 to 0.3.3 in /tools/eslint (dependabot[bot])  #59119
  • [ 6a8a73aa35] - tools: ignore CVE mention when linting release proposals (Antoine du Hamel)  #59037
  • [ d0f40f3a3a] - tools,test: enforce best practices to detect never settling promises (Antoine du Hamel)  #58992
  • [ 9d801a3f00] - typings: improve internal binding types (Nam Yooseong)  #59351
  • [ 6dbda6cb25] - typings: improve internal binding types (Michaël Zasso)  #59176
  • [ e22dddf859] - util: respect nested formats in styleText (Alex Yang)  #59098
  • [ 491f390515] - worker: add cpuUsage for worker (theanarkh)  #59177
  • [ 8e697d1884] - (SEMVER-MINOR) zlib: add dictionary support to zstdCompress and zstdDecompress (lluisemper)  #59240

Node.js