Skip to content

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Mar 21, 2025

Here is everything you need to know about this upgrade. Please take a good look at what changed and the test results before merging this pull request.

What changed?

Release Notes

23.10.0

Notable Changes

Introducing --experimental-config-file

With the introduction of test runner, SEA, and other feature that require a lot of flags, a JSON config flag would improve by a lot the developer experience and increase adoption.

You can have a node.config.json containing:

{
  "$schema": "https://nodejs.org/dist/v23.10.0/docs/node-config-schema.json",
  "nodeOptions": {
    "test-coverage-lines": 80,
    "test-coverage-branches": 60
  }
}

You can run your tests without passing the flags defined in the config file.

node --experimental-default-config-file --test --experimental-test-coverage

or

node --experimental-config-file=node.config.json --test --experimental-test-coverage

Node.js will not sanitize or perform validation on the user-provided configuration, so only ever use trusted configuration files.

Contributed by Marco Ippolito in #57016 and #57171.

Other Notable Changes

  • [323e3ac93c] - crypto: update root certificates to NSS 3.108 (Node.js GitHub Bot) #57381
  • [6fd2ec6816] - doc: add @geeksilva97 to collaborators (Edy Silva) #57241
  • [d8937f1742] - (SEMVER-MINOR) src: create THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING (Marco Ippolito) #57016
  • [5054fc7941] - (SEMVER-MINOR) test_runner: change ts default glob (Marco Ippolito) #57359
  • [75f11ae1cc] - (SEMVER-MINOR) tls: implement tls.getCACertificates() (Joyee Cheung) #57107
  • [a22c21ceb8] - (SEMVER-MINOR) v8: add v8.getCppHeapStatistics() method (Aditi) #57146

Commits

  • [2daee76b26] - assert: improve myers diff performance (Giovanni Bucci) #57279
  • [2fbd3bbea7] - build: fix compatibility with V8's depot_tools (Richard Lau) #57330
  • [6a2e4c5fc1] - build,win: disable node pch with ccache (Stefan Stojanovic) #57224
  • [323e3ac93c] - crypto: update root certificates to NSS 3.108 (Node.js GitHub Bot) #57381
  • [906f23d0e7] - crypto: add support for intermediate certs in --use-system-ca (Tim Jacomb) #57164
  • [03cd7920c8] - deps: update simdjson to 3.12.2 (Node.js GitHub Bot) #57084
  • [9e1fce9a5c] - deps: update archs files for openssl-3.0.16 (Node.js GitHub Bot) #57335
  • [4056c1f83e] - deps: upgrade openssl sources to quictls/openssl-3.0.16 (Node.js GitHub Bot) #57335
  • [b402799070] - deps: update corepack to 0.32.0 (Node.js GitHub Bot) #57265
  • [ce1cfff79a] - deps: update amaro to 0.4.1 (marco-ippolito) #57121
  • [0ac977d679] - deps: update gyp file for ngtcp2 1.11.0 (Richard Lau) #57225
  • [f34d78df1f] - deps: update ada to 3.1.3 (Node.js GitHub Bot) #57222
  • [4fe9916701] - dns: remove redundant code using common variable (Deokjin Kim) #57386
  • [1c271b162b] - doc: make first parameter optional in util.getCallSites (Deokjin Kim) #57387
  • [77668fffec] - doc: fix usage of module.registerSync in comment (Timo Kössler) #57328
  • [9b4f7aac69] - doc: add Darshan back as voting TSC member (Michael Dawson) #57402
  • [d44ccb319c] - doc: revise webcrypto.md types, interfaces, and added versions (Filip Skokan) #57376
  • [f4de7cef01] - doc: add info on how project manages social media (Michael Dawson) #57318
  • [792ef16921] - doc: revise tsconfig.json note (Steven) #57353
  • [4e438c3fa3] - doc: use more clear name in getSystemErrorMessage's example (ikuma-t) #57310
  • [5c9f1a40e4] - doc: recommend setting noEmit: true in tsconfig.json (Steven) #57320
  • [e178acf9d8] - doc: ping nodejs/tsc for each security pull request (Rafael Gonzaga) #57309
  • [fbe464e28c] - doc: fix Windows ccache section position (Stefan Stojanovic) #57326
  • [3fe8eac0ba] - doc: update node-api version matrix (Chengzhong Wu) #57287
  • [d2f49e7fcf] - doc: recommend erasableSyntaxOnly in ts docs (Rob Palmer) #57271
  • [03844d99f8] - doc: clarify path.isAbsolute is not path traversal mitigation (Eric Fortis) #57073
  • [0f8cd32986] - doc: fix rendering of DEP0174 description (David Sanders) #56835
  • [f95ecca71f] - doc: add 1ilsang to triage team (1ilsang) #57183
  • [6fd2ec6816] - doc: add @geeksilva97 to collaborators (Edy Silva) #57241
  • [b74e0ff7d7] - doc: add missing assert return types (Colin Ihrig) #57219
  • [83eed33562] - doc: add streamResetBurst and streamResetRate (Sujal Raj) #57195
  • [7f48811295] - doc: add esm examples to node:util (Alfredo González) #56793
  • [5c20dcc166] - esm: fix module.exports export on CJS modules (Guy Bedford) #57366
  • [041a217a4d] - fs: fix rmSync error code (Paul Schwabauer) #57103
  • [cea50b7f39] - lib: optimize priority queue (Gürgün Dayıoğlu) #57100
  • [5204d495ae] - meta: bump codecov/codecov-action from 5.3.1 to 5.4.0 (dependabot[bot]) #57257
  • [89599be988] - meta: bump github/codeql-action from 3.28.8 to 3.28.10 (dependabot[bot]) #57254
  • [66cd3850bc] - meta: bump ossf/scorecard-action from 2.4.0 to 2.4.1 (dependabot[bot]) #57253
  • [6c22e446bc] - meta: set nodejs/config as codeowner (Marco Ippolito) #57237
  • [ee5ce5ccde] - meta: move RaisinTen back to collaborators, triagers and SEA champion (Darshan Sen) #57292
  • [0b0c9cc0f5] - meta: bump actions/download-artifact from 4.1.8 to 4.1.9 (dependabot[bot]) #57260
  • [e6a98af8bd] - meta: bump peter-evans/create-pull-request from 7.0.6 to 7.0.7 (dependabot[bot]) #57259
  • [91394aaf3d] - meta: bump step-security/harden-runner from 2.10.4 to 2.11.0 (dependabot[bot]) #57258
  • [63dbbe7c91] - meta: bump actions/cache from 4.2.0 to 4.2.2 (dependabot[bot]) #57256
  • [d5ccf174ad] - meta: bump actions/upload-artifact from 4.6.0 to 4.6.1 (dependabot[bot]) #57255
  • [46b06be9a3] - module: handle cached linked async jobs in require(esm) (Joyee Cheung) #57187
  • [718305db6f] - module: add dynamic file-specific ESM warnings (Mert Can Altin) #56628
  • [4762f4ada5] - net: validate non-string host for socket.connect (Daeyeon Jeong) #57198
  • [d07bd79ac5] - net: replace brand checks with identity checks (Yagiz Nizipli) #57341
  • [a757f00747] - net: emit an error when custom lookup resolves to a non-string address (Edy Silva) #57192
  • [984f7ef5bd] - readline: add support for Symbol.dispose (Antoine du Hamel) #57276
  • [21b6423b9b] - sqlite: reset statement immediately in run() (Colin Ihrig) #57350
  • [e80bbb7355] - sqlite,test,doc: allow Buffer and URL as database location (Edy Silva) #56991
  • [3dc3207298] - src: do not pass nullptr to std::string ctor (Charles Kerr) #57354
  • [5e51c62569] - src: fix process exit listeners not receiving unsettled tla codes (Dario Piotrowicz) #56872
  • [bf788d9d86] - src: refactor SubtleCrypto algorithm and length validations (Filip Skokan) #57319
  • [37664e8485] - src: fix node_config_file.h compilation error in GN build (Cheng) #57210
  • [274c18a365] - (SEMVER-MINOR) src: set default config as node.config.json (Marco Ippolito) #57171
  • [433657de8c] - src: namespace config file flags (Marco Ippolito) #57170
  • [d8937f1742] - (SEMVER-MINOR) src: create THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING (Marco Ippolito) #57016
  • [9fd217daa9] - (SEMVER-MINOR) src: add config file support (Marco Ippolito) #57016
  • [b17163b130] - src: allow embedder customization of OOMErrorHandler (Shelley Vohr) #57325
  • [6f1c622466] - src: use Maybe<void> in ProcessEmitWarningSync (Daeyeon Jeong) #57250
  • [4d86a42aa4] - src: remove redundant qualifiers in src/quic (Yagiz Nizipli) #56967
  • [41ea5a2864] - src: make even more improvements to error handling (James M Snell) #57264
  • [7a554d9bf3] - src: use cached emit v8::String (Daeyeon Jeong) #57249
  • [b10ac9a958] - src: refactor SubtleCrypto algorithm and length validations (Filip Skokan) #57273
  • [90cd780ca6] - src: make more error handling improvements (James M Snell) #57262
  • [17c9e76722] - src: fix typo in comment (Antoine du Hamel) #57291
  • [35c283a3f3] - src: reduce string allocations on sqlite (Yagiz Nizipli) #57227
  • [185d1ffe93] - src: improve error handling in node_messaging.cc (James M Snell) #57211
  • [96b2bfb88c] - src: improve error handling in tty_wrap.cc (James M Snell) #57211
  • [f845ad953e] - src: improve error handling in tcp_wrap.cc (James M Snell) #57211
  • [350f62de6c] - src: fix ThrowInvalidURL call in PathToFileURL (Daniel M Brasil) #57141
  • [936a9997b2] - src: improve error handling in buffer and dotenv (James M Snell) #57189
  • [975e2a5c1d] - src: improve error handling in module_wrap (James M Snell) #57188
  • [3d103ecfbe] - src: improve error handling in spawn_sync (James M Snell) #57185
  • [98d328a1d6] - src: detect whether the string is one byte representation or not (theweipeng) #56147
  • [15d7908656] - stream: fix sizeAlgorithm validation in WritableStream (Daeyeon Jeong) #57280
  • [b866755299] - test: test runner run plan (Pietro Marchini) #57304
  • [e05e0e5772] - test: update WPT for urlpattern to 3b6b19853a (Node.js GitHub Bot) #57377
  • [36542b5611] - test: update WPT for WebCryptoAPI to edd42c005c (Node.js GitHub Bot) #57365
  • [28792ee59a] - test: skip test-config-json-schema with quic (Richard Lau) #57225
  • [5a21fa4573] - test: add more coverage to node_config_file (Marco Ippolito) #57170
  • [99b2369142] - test: simplify test-tls-connect-abort-controller.js (Yagiz Nizipli) #57338
  • [4af2f7f9a8] - test: use assert.match in test-esm-import-meta (Antoine du Hamel) #57290
  • [99abfb6172] - test: update compression wpt (Yagiz Nizipli) #56960
  • [f8dde3a391] - test: skip uv-thread-name on IBM i (Abdirahim Musse) #57299
  • [3bf546c317] - Revert "test: temporary remove resource check from fs read-write" (Rafael Gonzaga) #56906
  • [8d0f1a7dbf] - test: module syntax should throw (Marco Ippolito) #57121
  • [0fd3d91e3a] - test: more common.mustNotCall in net, tls (Meghan Denny) #57246
  • [f803d6ca29] - test: swap assert.strictEqual() parameters (Luigi Pinca) #57217
  • [eb3576fde0] - test: assert write return values in buffer-bigint64 (Meghan Denny) #57212
  • [a08981025a] - test: allow embedder running async context frame test (Shelley Vohr) #57193
  • [20c032ed98] - test: resolve race condition in test-net-write-fully-async-* (Matteo Collina) #57022
  • [5054fc7941] - (SEMVER-MINOR) test_runner: change ts default glob (Marco Ippolito) #57359
  • [0ad450f295] - timers: simplify the compareTimersLists function (Gürgün Dayıoğlu) #57110
  • [75f11ae1cc] - (SEMVER-MINOR) tls: implement tls.getCACertificates() (Joyee Cheung) #57107
  • [2b2267f203] - tools: add config subspace (Marco Ippolito) #57239
  • [8e64d38e91] - tools: import rather than require ESLint plugins (Michaël Zasso) #57315
  • [2569e56b95] - tools: switch back to official OpenSSL (Richard Lau) #57301
  • [fd49144378] - tools: extract target abseil to abseil.gyp (Chengzhong Wu) #57289
  • [77e1a85d24] - tools: revert to use @stylistic/eslint-plugin-js v3 (Joyee Cheung) #57314
  • [2fa6e65262] - tools: add more details about rolling inspector_protocol (Chengzhong Wu) #57167
  • [5788574cdf] - tools: bump the eslint group in /tools/eslint with 5 updates (dependabot[bot]) #57261
  • [5955acadba] - tools: remove deps/zlib/GN-scraper.py (Chengzhong Wu) #57238
  • [a22c21ceb8] - (SEMVER-MINOR) v8: add v8.getCppHeapStatistics() method (Aditi) #57146
  • [17d4074114] - win,build: add option to enable Control Flow Guard (Hüseyin Açacak) #56605

23.9.0

Notable Changes

  • [927d985aa0] - (SEMVER-MINOR) dns: add TLSA record query and parsing (Rithvik Vibhu) #52983
  • [0236fbf75a] - (SEMVER-MINOR) process: add threadCpuUsage (Paolo Insogna) #56467

Commits

  • [f4a82fddb1] - benchmark: add a warmup on bench-openSync (Elves Vieira) #57051
  • [b384baa073] - build: print 'Formatting Markdown...' for long task markdown formatting (1ilsang) #57108
  • [fec2d50308] - build: add skip_apidoc_files and include QUIC (RafaelGSS) #56941
  • [5af35d1850] - build: fix GN build failure (Cheng) #57013
  • [35f89aa66f] - build: fix GN build of uv (Cheng) #56955
  • [e26d4841d1] - cli: allow --cpu-prof* in NODE_OPTIONS (Carlos Espa) #57018
  • [b50fc42a99] - crypto: support --use-system-ca on non-Windows and non-macOS (Joyee Cheung) #57009
  • [dfdaa92a37] - crypto: fix missing OPENSSL_NO_ENGINE guard (Shelley Vohr) #57012
  • [18ea88bcbe] - crypto: cleanup root certificates and skip PEM deserialization (Joyee Cheung) #56999
  • [8076284f9e] - deps: update cjs-module-lexer to 2.1.0 (Node.js GitHub Bot) #57180
  • [8644cf3e5a] - deps: update ngtcp2 to 1.11.0 (Node.js GitHub Bot) #57179
  • [2aceca15d6] - deps: update sqlite to 3.49.1 (Node.js GitHub Bot) #57178
  • [8421021427] - deps: update ada to 3.1.0 (Node.js GitHub Bot) #57083
  • [21d795a5f0] - (SEMVER-MINOR) dns: add TLSA record query and parsing (Rithvik Vibhu) #52983
  • [455bf5a0a8] - doc: update options to filehandle.appendFile() (Hasegawa-Yukihiro) #56972
  • [f35bd869ee] - doc: add additional caveat for fs.watch (Michael Dawson) #57150
  • [4413ce7ed3] - doc: fix typo in Windows building instructions (Tim Jacomb) #57158
  • [66614cfcf3] - doc: fix web.libera.chat link in pull-requests.md (Samuel Bronson) #57076
  • [587112cb08] - doc: remove buffered flag from performance hooks examples (Pavel Romanov) #52607
  • [fdc8aeb8a0] - doc: fix 'introduced_in' version in typescript module (1ilsang) #57109
  • [b6960499c8] - doc: fix link and history of SourceMap sections (Antoine du Hamel) #57098
  • [0de128ca97] - doc: add module namespace object links (Dario Piotrowicz) #57093
  • [5a74568320] - doc: disambiguate pseudo-code statement (Dario Piotrowicz) #57092
  • [46df14ddcb] - doc: update clang-cl on Windows building guide (Joyee Cheung) #57087
  • [4b02fdc72f] - doc: update Xcode version used for arm64 and pkg (Michaël Zasso) #57104
  • [78d4e52a52] - doc: fix wrong articles used to address modules (Dario Piotrowicz) #57090
  • [ed5671f1bc] - doc: update module.builtinModules sentence (Dario Piotrowicz) #57089
  • [9de45cbac9] - doc: modules.md: fix distance definition (Alexander “weej” Jones) #57046
  • [a7e5ef9e01] - doc: fix wrong verb form (Dario Piotrowicz) #57091
  • [c02494f5fe] - doc: fix transpiler loader hooks documentation (Joyee Cheung) #57037
  • [5b2dfadd40] - doc: add a note about require('../common') in testing documentation (Aditi) #56953
  • [50ba04e214] - doc: recommend writing tests in new files and including comments (Joyee Cheung) #57028
  • [6951133e1a] - doc: improve documentation on argument validation (Aditi) #56954
  • [44dd8a5cc2] - doc: buffer: fix typo on Buffer.copyBytesFrom( offset option (tpoisseau) #57015
  • [c011271a70] - doc: update cleanup to trust on vuln db automation (Rafael Gonzaga) #57004
  • [a6b7bce3a0] - doc: move stability index after history section for consistency (Antoine du Hamel) #56997
  • [3bc6d626b4] - doc: add signal to filehandle.writeFile() options (Yukihiro Hasegawa) #56804
  • [2990cc8616] - doc: run license-builder (github-actions[bot]) #56985
  • [40f3a516bf] - fs: handle UV_ENOTDIR in fs.statSync with throwIfNoEntry provided (Juan José Arboleda) #56996
  • [e10ef275e8] - inspector: convert event params to protocol without json (Chengzhong Wu) #57027
  • [d6234b4652] - inspector: skip promise hook in the inspector async hook (Joyee Cheung) #57148
  • [aa817853cd] - lib: fixup more incorrect ERR_INVALID_ARG_VALUE uses (James M Snell) #57177
  • [e08d7d4e53] - lib: fixup incorrect argument order in assertEncoding (James M Snell) #57177
  • [f77069b4e0] - meta: bump actions/setup-python from 5.3.0 to 5.4.0 (dependabot[bot]) #56867
  • [35cdd9b9fe] - meta: bump peter-evans/create-pull-request from 7.0.5 to 7.0.6 (dependabot[bot]) #56866
  • [3d61604f2a] - meta: bump mozilla-actions/sccache-action from 0.0.6 to 0.0.7 (dependabot[bot]) #56865
  • [0dd0108fc5] - meta: bump codecov/codecov-action from 5.0.7 to 5.3.1 (dependabot[bot]) #56864
  • [58d70369e3] - meta: bump step-security/harden-runner from 2.10.2 to 2.10.4 (dependabot[bot]) #56863
  • [dfd42db739] - meta: bump actions/cache from 4.1.2 to 4.2.0 (dependabot[bot]) #56862
  • [7f5f02ba2b] - meta: bump actions/stale from 9.0.0 to 9.1.0 (dependabot[bot]) #56860
  • [85ac02f8d3] - meta: bump github/codeql-action from 3.27.5 to 3.28.8 (dependabot[bot]) #56859
  • [d62299b021] - meta: add CODEOWNERS for SQLite (Colin Ihrig) #57147
  • [2ec4ff17a6] - meta: update last name for jkrems (Jan Martin) #57006
  • [ad3c572027] - module: improve error message from asynchronicity in require(esm) (Joyee Cheung) #57126
  • [cc1cafd562] - module: allow omitting context in synchronous next hooks (Joyee Cheung) #57056
  • [c6ddfa52fb] - (SEMVER-MINOR) process: add threadCpuUsage (Paolo Insogna) #56467
  • [ac35106625] - sea: suppress builtin warning with disableExperimentalSEAWarning option (koooge) #57086
  • [ef314dc773] - src: fix crash when lazy getter is invoked in a vm context (Chengzhong Wu) #57168
  • [90a4de02b6] - src: do not format single string argument for THROW_ERR_* (Joyee Cheung) #57126
  • [e0a91f631b] - src: gate all quic behind disabled-by-default compile flag (James M Snell) #57142
  • [7dd326e3a7] - src: move instead of copy shared pointer in node_blob (Michaël Zasso) #57120
  • [e3127b89a2] - src: replace NewFromUtf8 with OneByteString where appropriate (James M Snell) #57096
  • [56f9fe7514] - src: port defineLazyProperties to native code (Antoine du Hamel) #57081
  • [90875ba0ca] - src: improve error handling in node_blob (James M Snell) #57078
  • [5414eb48b5] - src: improve error handling in multiple files (James M Snell) #56962
  • [286bb84188] - src: fix accessing empty string (Cheng) #57014
  • [fa26f83e5b] - src: lock the isolate properly in IsolateData destructor (Joyee Cheung) #57031
  • [7e2dac9fcc] - src: add self-assigment memcpy checks (Burkov Egor) #56986
  • [d8e70dcaa6] - src: improve node::Dotenv trimming (Dario Piotrowicz) #56983
  • [41f444fa78] - src: improve error handling in string_bytes/decoder (James M Snell) #56978
  • [d0ee8c0a20] - src: improve error handling in process_wrap (James M Snell) #56977
  • [1a244177a3] - test: add doAppendAndCancel test (Hasegawa-Yukihiro) #56972
  • [51dff8b1ae] - test: fix test-without-async-context-frame.mjs in debug mode (Joyee Cheung) #57034
  • [7c7e9f4d84] - test: make eval snapshot comparison more flexible (Shelley Vohr) #57020
  • [315244e59e] - test: simplify test-http2-client-promisify-connect-error (Luigi Pinca) #57144
  • [ccf496cff9] - test: improve error output of test-http2-client-promisify-connect-error (Antoine du Hamel) #57135
  • [a588066518] - test: add case for unrecognised fields within pjson "exports" (Jacob Smith) #57026
  • [b369ad6e45] - test: remove unnecessary assert requiring from tests (Dario Piotrowicz) #57008
  • [9b98ac6a81] - test: update WPT for urlpattern to ef6d83d789 (Node.js GitHub Bot) #56984
  • [0a82d27d28] - test: reduce flakiness on test-net-write-fully-async-buffer (Yagiz Nizipli) #56971
  • [ab150d7781] - test: remove flakiness on macOS test (Yagiz Nizipli) #56971
  • [ccb8c12712] - test,crypto: make tests work for BoringSSL (Shelley Vohr) #57021
  • [116c1fe84c] - test_runner: refactor testPlan counter increse (Pietro Marchini) #56765
  • [2929fc6449] - test_runner: allow special characters in snapshot keys (Carlos Espa) #57017
  • [a025d7ba07] - tools: run Linux tests on GitHub arm64 runners as well (Dennis Ameling) #57162
  • [73a8514305] - tools: consolidate 'introduced_in' check for docs (1ilsang) #57109
  • [6cdee545f6] - tools: do not run major-release workflow on forks (Rich Trott) #57064
  • [1efd74b1b0] - tools: fix release URL computation in update-root-certs.mjs (Joyee Cheung) #56843
  • [a9112df8d3] - tools: add support for import source syntax in linter (Antoine du Hamel) #56992
  • [c6d6be2c3b] - typings: fix ImportModuleDynamicallyCallback return type (Chengzhong Wu) #57160
  • [d922153cbf] - url: improve urlpattern regexp performance (Yagiz Nizipli) #57136


All Depfu comment commands
@​depfu refresh
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Pauses all engine updates and closes this PR
Go to the Depfu Dashboard to see the state of your dependencies and to customize how Depfu works.

@depfu depfu bot added the depfu label Mar 21, 2025
@12joan 12joan merged commit 9604a0d into main Mar 22, 2025
7 checks passed
@12joan 12joan deleted the depfu/engine/yarn/nodejs-23.10.0 branch March 22, 2025 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants