Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 11, 2025

  • [a37c01e6a1] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) #59982
  • [4fbb1ab101] - lib: throw from localStorage getter on missing storage path (René) #60351
  • [727560a96d] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) #60600
  • [506b79e888] - (SEMVER-MINOR) net: increase network family autoselection timeout to 500ms (Rod Vagg) #60334
  • [166c72ec02] - (SEMVER-MINOR) node-api: add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
  • [399b340022] - (SEMVER-MINOR) v8: adding total_allocated_bytes to HeapStatistics (Caio Lima) #60573
Commits
  • [d5158a0a2d] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) #60603
  • [26a5305fa9] - benchmark: add per-suite setup option (Joyee Cheung) #60574
  • [4810e4b82d] - buffer: speed up concat via TypedArray#set (Gürgün Dayıoğlu) #60399
  • [94a94a6b3a] - console: optimize single-string logging (Gürgün Dayıoğlu) #60422
  • [ad376c31db] - crypto: fix argument validation in crypto.timingSafeEqual fast path (Joyee Cheung) #60538
  • [dc38a45a55] - debugger: fix event listener leak in the run command (Joyee Cheung) #60464
  • [a61e5d8e05] - deps: call OPENSSL_free after ANS1_STRING_to_UTF8 (Rafael Gonzaga) #60609
  • [51e5030afa] - deps: nghttp2: revert 7784fa979d0b (Antoine du Hamel) #59790
  • [eef838f499] - deps: update nghttp2 to 1.67.1 (nodejs-github-bot) #59790
  • [13120a43d4] - deps: update simdjson to 4.1.0 (Node.js GitHub Bot) #60542
  • [6e1b23dab8] - deps: update corepack to 0.34.2 (Node.js GitHub Bot) #60550
  • [a02e05c486] - deps: update amaro to 1.1.5 (Node.js GitHub Bot) #60541
  • [b9ba3a7947] - deps: V8: backport fe81545e6d14 (Caio Lima) #60429
  • [07bcd28494] - deps: V8: cherry-pick 7ef6a001762 (Xiao-Tao) #60259
  • [3e11658243] - doc: update Collaborators list to reflect hybrist handle change (Antoine du Hamel) #60650
  • [b8e40e4d38] - doc: fix link in --env-file=file section (N. Bighetti) #60563
  • [9558c1c0df] - doc: fix linter issues (Antoine du Hamel) #60636
  • [cdf70de563] - doc: add missing history entry for sqlite.md (Antoine du Hamel) #60607
  • [e3c5dcf1ea] - doc: correct values/references for buffer.kMaxLength (René) #60305
  • [a25d76c924] - doc: recommend events.once to manage 'close' event (Dan Fabulich) #60017
  • [795f32bf91] - doc: highlight module loading difference between import and require (Ajay A) #59815
  • [212775410b] - doc: add CJS code snippets in sqlite.md (Allon Murienik) #60395
  • [263c06096d] - doc: fix typo in process.unref documentation (우혁) #59698
  • [356bdae408] - doc: add some entries to glossary.md (Mohataseem Khan) #59277
  • [9632c398de] - doc: improve agent.createConnection docs for http and https agents (JaeHo Jang) #58205
  • [f72880dbe3] - doc: fix pseudo code in modules.md (chirsz) #57677
  • [a9c70cefe8] - doc: add missing variable in code snippet (Koushil Mankali) #55478
  • [2892d151d4] - doc: add missing word in single-executable-applications.md (Konstantin Tsabolov) #53864
  • [9c99ab6571] - doc: fix typo in http.md (Michael Solomon) #59354
  • [3446cf375f] - doc: update devcontainer.json and add documentation (Joyee Cheung) #60472
  • [519c537875] - doc: add haramj as triager (Haram Jeong) #60348
  • [62889d7e99] - doc: clarify require(esm) description (dynst) #60520
  • [0b9ef68705] - doc: instantiate resolver object (Donghoon Nam) #60476
  • [cd5c1ad29f] - doc: correct module loading descriptions (Joyee Cheung) #60346
  • [74719dad7a] - doc: clarify Linux runtime requirements for >=25 (Joyee Cheung) #60484
  • [ca39540785] - doc: clarify --use-system-ca support status (Joyee Cheung) #60340
  • [dbf204c714] - doc,crypto: link keygen to supported types (Filip Skokan) #60585
  • [3bcf86d56d] - esm: use sync loading/resolving on non-loader-hook thread (Joyee Cheung) #60380
  • [69b3d2c845] - http: replace startsWith with strict equality (btea) #59394
  • [a38e2f5975] - http2: add diagnostics channels for client stream request body (Darshan Sen) #60480
  • [c047e73a00] - inspector: inspect HTTP response body (Chengzhong Wu) #60572
  • [d2087bae92] - inspector: support inspecting HTTP/2 request and response bodies (Darshan Sen) #60483
  • [003121c475] - inspector: fix crash when receiving non json message (Shima Ryuhei) #60388
  • [a37c01e6a1] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) #59982
  • [219d2e978d] - lib: replace global SharedArrayBuffer constructor with bound method (Renegade334) #60497
  • [4fbb1ab101] - lib: throw from localStorage getter on missing storage path (René) #60351
  • [ca8934f44d] - meta: bump cachix/install-nix-action from 31.6.1 to 31.8.2 (dependabot[bot]) #60534
  • [166490230a] - meta: bump github/codeql-action from 3.30.5 to 4.31.2 (dependabot[bot]) #60533
  • [b722236a12] - meta: bump actions/download-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) #60532
  • [3314b0bc60] - meta: bump actions/upload-artifact from 4.6.2 to 5.0.0 (dependabot[bot]) #60531
  • [d1d9891feb] - meta: bump actions/github-script from 7.0.1 to 8.0.0 (dependabot[bot]) #60530
  • [995596a34f] - meta: bump actions/setup-node from 5.0.0 to 6.0.0 (dependabot[bot]) #60529
  • [b60157a0fe] - meta: bump actions/stale from 10.0.0 to 10.1.0 (dependabot[bot]) #60528
  • [07fa6c9081] - meta: call create-release-post.yml post release (Aviv Keller) #60366
  • [727560a96d] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) #60600
  • [506b79e888] - (SEMVER-MINOR) net: increase network family autoselection timeout to 500ms (Rod Vagg) #60334
  • [166c72ec02] - (SEMVER-MINOR) node-api: add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
  • [6ab83cf979] - node-api: use local files for instanceof test (Vladimir Morozov) #60190
  • [3671851879] - perf_hooks: move non-standard performance properties to perf_hooks (Chengzhong Wu) #60370
  • [6ddee4a7ed] - repl: fix pasting after moving the cursor to the left (Ruben Bridgewater) #60470
  • [edc3033905] - sqlite,doc: fix StatementSync section (Edy Silva) #60474
  • [e9b68e60d4] - src: move import.meta initializer to native land (Joyee Cheung) #60603
  • [0ebf839a4f] - src: use CP_UTF8 for wide file names on win32 (Fedor Indutny) #60575
  • [a31ad37714] - src: show original file name in FileHandle GC close errors (Anna Henningsen) #60593
  • [a6c221324b] - src: avoid C strings in more C++ exception throws (Anna Henningsen) #60592
  • [fdff838ce3] - src: add internal binding for constructing SharedArrayBuffers (Renegade334) #60497
  • [4385b0b65f] - src: move napi_addon_register_func to node_api_types.h (Anna Henningsen) #60512
  • [de78da7887] - src: move Node-API version detection to where it is used (Anna Henningsen) #60512
  • [b606d46c3f] - src: remove unconditional NAPI_EXPERIMENTAL in node.h (Chengzhong Wu) #60345
  • [5941341889] - src: clean up generic counter implementation (Anna Henningsen) #60447
  • [7015f30e62] - src: add enum handle for ToStringHelper + formatting (Burkov Egor) #56829
  • [39dfcbad6e] - stream: don't try to read more if reading (Robert Nagy) #60454
  • [ee333c9177] - test: deflake test-perf-hooks-timerify-histogram-sync (Joyee Cheung) #60639
  • [f0d81c91e7] - test: apply a delay to watch-mode-kill-signal tests (Joyee Cheung) #60610
  • [68791e2ccc] - test: async iife in repl (Tony Gorez) #44878
  • [c4eb9c3383] - test: parallelize sea tests when there's enough disk space (Joyee Cheung) #60604
  • [be8c4172d9] - test: only show overridden env in child process failures (Joyee Cheung) #60556
  • [8cae858f88] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60498
  • [759d69331e] - test: ensure assertions are reachable in test/es-module (Antoine du Hamel) #60501
  • [6aaf18c333] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60485
  • [bc41acf087] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60500
  • [22fd621daf] - test: split test-perf-hooks-timerify (Joyee Cheung) #60568
  • [5efe4f722e] - test: add more logs to test-esm-loader-hooks-inspect-wait (Joyee Cheung) #60466
  • [2a57268f34] - test: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) #60565
  • [2c199f7f61] - test: split test-esm-wasm.js (Joyee Cheung) #60491
  • [bc8f7db5bb] - test: correct conditional secure heap flags test (Shelley Vohr) #60385
  • [3bf42a5dd3] - test: spin longer on flaky platforms for test-worker-prof (Joyee Cheung) #60492
  • [eca6227e7e] - test: ensure assertions are reachable in test/internet (Antoine du Hamel) #60513
  • [313983453b] - test: fix flaky test-watch-mode-kill-signal-* (Joyee Cheung) #60443
  • [ccc26377b5] - test: capture stack trace in debugger timeout errors (Joyee Cheung) #60457
  • [12e9213a24] - test: ensure assertions are reachable in test/sequential (Antoine du Hamel) #60412
  • [781a2661de] - test: ensure assertions are reachable in more folders (Antoine du Hamel) #60411
  • [1e979e6eb7] - test: split test-runner-watch-mode (Joyee Cheung) #60391
  • [8c31cbb99b] - test: move test-runner-watch-mode helper into common (Joyee Cheung) #60391
  • [c94c6555cc] - test,crypto: handle a few more BoringSSL tests (Shelley Vohr) #59030
  • [fd63c27444] - test,crypto: update x448 and ed448 expectation when on boringssl (Shelley Vohr) #60387
  • [bf0de92446] - tls: fix leak on invalid protocol method (Shelley Vohr) #60427
  • [7e8373b378] - tools: replace invalid expression in dependabot config (Riddhi) #60649
  • [ac08760547] - tools: extract Nix dependency lists to separate files (Antoine du Hamel) #60495
  • [ae91a6cc3a] - tools: only add test reporter args when node:test is used (Joyee Cheung) #60551
  • [97ed560222] - tools: skip unaffected GHA jobs for changes in test/internet (Antoine du Hamel) #60517
  • [44ca97b404] - tools: fix update-icu script (Michaël Zasso) #60521
  • [07b0b5a5ba] - tools: fix linter for semver-major release proposals (Antoine du Hamel) #60481
  • [97d74224c3] - tools: fix failing release-proposal linter for LTS transitions (Antoine du Hamel) #60465
  • [019af5bc27] - tools: skip running test-shared on deps changes (Antoine du Hamel) #60433
  • [3ec9764151] - tools: pin OpenSSL to 3.5.4 on test-shared workflow (Antoine du Hamel) #60428
  • [fe2d6d44d4] - tools: remove undici from daily wpt.fyi job (Filip Skokan) #60444
  • [d09ba98398] - tools: document that nixpkgs updates should not be backported (Antoine du Hamel) #60431
  • [7fc99319e7] - tools: do not use short hashes for deps versioning to avoid collision (Antoine du Hamel) #60407
  • [815edb0c3a] - tools,doc: update JavaScript primitive types to match MDN Web Docs (JustApple) #60581
  • [6877139a2d] - util: fix stylize of special properties in inspect (Ge Gao) #60479
  • [399b340022] - (SEMVER-MINOR) v8: adding total_allocated_bytes to HeapStatistics (Caio Lima) #60573
  • [d64795b318] - watch: fix interaction with multiple env files (Marco Ippolito) #60605

aduh95 and others added 30 commits November 5, 2025 23:04
PR-URL: #60407
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
`performance.eventLoopUtilization` and `performance.timerify` are not
part of the Web API. Expose these two functions directly on the
`perf_hooks` module.

PR-URL: #60370
Fixes: #60368
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #60391
Refs: #49605
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Jake Yuesong Li <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
The test has been flaky for years and new platforms keep popping
up. As it squeezes too many independent test cases into one file,
split them into individual files to avoid masking regressions
and help only mark the real flaky ones as flaky. This might also
help with the flakiness itself by avoiding updating a shared tmpdir
being watched by differet tests and avoiding running all these
time-consuming tests in one file, which can cause a timeout
on slow machines.

PR-URL: #60391
Refs: #49605
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Jake Yuesong Li <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
PR-URL: #60366
Refs: nodejs/nodejs.org#8231
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Claudio Wunder <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Fixes: #56666
PR-URL: #56829
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: #60387
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
PR-URL: #60388
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Kohei Ueno <[email protected]>
PR-URL: #60431
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #60411
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
PR-URL: #60412
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Node.js only checks trust settings of additional certificates
from the system store.
It does not, however, support revocation/distrust of existing
certificates.

PR-URL: #60340
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #60444
Refs: nodejs/undici#4644
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Matthew Aitken <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
This addresses late review comments for the recently
landed cfbfc1b and aligns the new code with the
pre-existing V8 fast call counters.

Refs: #60434 (review)
PR-URL: #60447
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Avoid unnecessary nextTick.

PR-URL: #60454
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ethan Arrowood <[email protected]>
PR-URL: #60345
Fixes: #60311
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Vladimir Morozov <[email protected]>
PR-URL: #60428
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
PR-URL: #60433
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #59953
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Vladimir Morozov <[email protected]>
PR-URL: #59394
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Zeyu "Alex" Yang <[email protected]>
Reviewed-By: Jordan Harband <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: #60465
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #60474
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Previously, formatExtraProperties applied ctx.stylize to the entire
'[key]: value' string. This caused the colon and space to be styled,
making the output inconsistent with normal object properties.

Now, only the key itself is stylized, and the colon and space remain
unstyled, aligning with the formatting of regular properties.

Refs: #60131
PR-URL: #60479
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Jordan Harband <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Otherwise when the expected prompt does not show up in the
session and the debugger tests time out, there is not enough
information to figure out exactly which line in the test
is causing the timeout.

PR-URL: #60457
Reviewed-By: Ethan Arrowood <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Due to the switch to Clang on Linux for building the official
releases, the binaries now require libatomic to run.

PR-URL: #60484
Refs: #37219
Refs: nodejs/build#4091
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Stewart X Addison <[email protected]>
PR-URL: #60351
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Matthew Aitken <[email protected]>
The existing description is outdated, and exposes too many details
that are subject to change.

- There is no point conceptualizing "two module loaders", in reality
  the boundary is blurred since the two invoke each other to support
  require(esm) and import(cjs). The distinction lies not in
  what kind of module is being requested/which loader is used, but
  only in how the the module request is initiated (via `require()`
  or `import()`). The inner working of the loaders are subject
  to change and not suitable to be documented.
- It should not mention monkey patching in the documentation, as
  publicly supported universal hooks are already provided through
  `module.registerHooks()`, and so there's no need to single out
  any of them in terms of loader hooks support either.
- Remove the description about whether they are asynchronous or
  synchronous, which is also implementation detail subject to change.
- Add missing descriptions about how .ts, .mts and .cts are treated,
  and `.node` is also supported in import now.
- There is no need to specially mention .node treatment in cli.md,
  link to the explanations about loading from `import` in packages.md
  instead.

PR-URL: #60346
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
ESM resolution and loading is now always synchronous from a
non-loader-hook thread. If no asynchrnous loader hooks are
registered, the resolution/loading is entirely synchronous.
If asynchronous loader hooks are registered, these would be
synchronous on the non-loader-hook thread, and asynchronous
on the loader hook thread.

This avoids several races caused by async/sync loading sharing
the same cache. In particular, asynchronous loader hooks
now works with `require(esm)` - previously it tends to break
due to races.

In addition, when an asynchronous loader hook
returns a promise that never settles, the main thread no longer
silently exits with exit code 13, leaving the code below
any module loading calls silently ignored without being executed.
Instead, it now throws ERR_ASYNC_LOADER_REQUEST_NEVER_SETTLED
which can be caught and handled by the main thread. If the module
request comes from `import()`, the never-settling promise is
now relayed to the result returned by `import()`.

Drive-by: when annotating the error about importing undetectable
named exports from CommonJS, it now no longer reload the source
code of the CommonJS module, and instead reuses format information
cached when the module was loaded for linking.

PR-URL: #60380
Fixes: #59666
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
PR-URL: #60481
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
joyeecheung and others added 12 commits November 10, 2025 13:38
It should remove both the error and the ready event listeners
attached when either of them fires, instead of removing only
the one whose corresponding event fires, otherwise the other
event listener will always get leaked.

PR-URL: #60464
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
PR-URL: #60573
Reviewed-By: theanarkh <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Similar to 2e2f4cd, just missed them in that commit.

PR-URL: #60592
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Otherwise, it can be virtually impossible to debug where these types
of errors originate from.

PR-URL: #60593
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
`src/node_modules.cc` needs to be consistent with `src/node_file.cc` in
how it translates the utf8 strings to `std::wstring` otherwise we might
end up in situation where we can read the source code of imported
package from disk, but fail to recognize that it is an ESM (or CJS) and
cause runtime errors. This type of error is possible on Windows when the
path contains unicode characters and "Language for non-Unicode programs"
is set to "Chinese (Traditional, Taiwan)".

See: #58768
PR-URL: #60575
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Stefan Stojanovic <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
PR-URL: #60600
Refs: nodejs/typescript#24
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ruy Adorno <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: #60605
Fixes: #60599
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Stefan Stojanovic <[email protected]>
Reviewed-By: Pietro Marchini <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
When the source text module is compiled without custom callbacks,
instead of calling into JS land from the per-isolate import.meta
initializer and then back to C++ land to set up lazy data
properties, just do the initialization all in C++ land.
Only import.meta.resolve initialization will call back
into JS land to generate a closure that call the cascaded loader
for resolution.

In addition, simplify the loader structure by merging
allowImportMetaResolve into isForAsyncLoaderHookWorker - the two
are essentially equivalent, as import.meta.resolve is only
allowed in a non-loader-hook worker thread's loader.

PR-URL: #60603
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Co-Authored-By: Chris Smith <[email protected]>
Signed-off-by: RafaelGSS <[email protected]>
PR-URL: #60609
Refs: #58380
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
The previous busy loop wasn't robust enough in making sure
that the function runs for more than 1 nanosecond - and when it
runs faster than that on a fast machine, it measures to 0 for
nanosecond precision and throws a RangeErorr as histogram.record()
only takes positive values. Update it to use Atomics.wait() to
make sure that the function being measured runs for at least
1 millisecond so that the histogram always records a positive value.

PR-URL: #60639
Fixes: #60638
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #60649
Fixes: #60637
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Notable changes:

lib:
  * (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) #59982
  * throw from localStorage getter on missing storage path (René) #60351
module:
  * (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) #60600
net:
  * (SEMVER-MINOR) increase network family autoselection timeout to 500ms (Rod Vagg) #60334
node-api:
  * (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
v8:
  * (SEMVER-MINOR) adding total_allocated_bytes to HeapStatistics (Caio Lima) #60573

PR-URL: #60677
@github-actions github-actions bot added release Issues and PRs related to Node.js releases. v25.x Issues that can be reproduced on v25.x or PRs targeting the v25.x-staging branch. labels Nov 11, 2025
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/actions
  • @nodejs/build
  • @nodejs/devcontainer
  • @nodejs/releasers
  • @nodejs/security-wg
  • @nodejs/tsc
  • @nodejs/v8-update

@aduh95 aduh95 marked this pull request as ready for review November 11, 2025 09:01
@aduh95 aduh95 requested a review from a team as a code owner November 11, 2025 09:01
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Nov 11, 2025

@codecov
Copy link

codecov bot commented Nov 11, 2025

Codecov Report

❌ Patch coverage is 87.92497% with 103 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.54%. Comparing base (1da054d) to head (cc33907).
⚠️ Report is 116 commits behind head on v25.x.

Files with missing lines Patch % Lines
src/module_wrap.cc 62.16% 21 Missing and 21 partials ⚠️
lib/internal/inspector/network_http2.js 72.28% 23 Missing ⚠️
lib/internal/modules/esm/loader.js 93.93% 14 Missing ⚠️
src/js_native_api_v8.cc 79.31% 0 Missing and 6 partials ⚠️
src/node_file.cc 80.00% 5 Missing ⚠️
src/node_util.cc 73.68% 3 Missing and 2 partials ⚠️
lib/internal/modules/esm/module_job.js 97.43% 3 Missing ⚠️
src/inspector_io.cc 0.00% 1 Missing and 1 partial ⚠️
lib/internal/modules/esm/hooks.js 94.11% 1 Missing ⚠️
lib/internal/process/execution.js 0.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@            Coverage Diff             @@
##            v25.x   #60677      +/-   ##
==========================================
- Coverage   88.58%   88.54%   -0.04%     
==========================================
  Files         704      703       -1     
  Lines      207731   207885     +154     
  Branches    40027    40053      +26     
==========================================
+ Hits       184014   184081      +67     
- Misses      15760    15838      +78     
- Partials     7957     7966       +9     
Files with missing lines Coverage Δ
lib/buffer.js 100.00% <100.00%> (ø)
lib/internal/bootstrap/node.js 99.58% <100.00%> (ø)
lib/internal/console/constructor.js 98.19% <100.00%> (+0.05%) ⬆️
lib/internal/debugger/inspect_client.js 87.53% <100.00%> (-0.11%) ⬇️
lib/internal/errors.js 97.51% <100.00%> (+<0.01%) ⬆️
lib/internal/http.js 95.76% <100.00%> (ø)
lib/internal/http2/core.js 95.22% <100.00%> (+0.01%) ⬆️
lib/internal/inspector/network_http.js 95.27% <100.00%> (+0.41%) ⬆️
lib/internal/main/eval_stdin.js 82.45% <100.00%> (ø)
lib/internal/main/eval_string.js 79.48% <100.00%> (ø)
... and 48 more

... and 30 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@aduh95
Copy link
Contributor

aduh95 commented Nov 11, 2025

CITGM failures for bcrypt-v6.0.0, commander-v14.0.2, prom-client-v15.1.3, and rewire-v9.0.1 related to #60351

@ncb000gt for bcrypt, @shadowspawn and @abetomo for commander, @siimon, @zbjornson, and @SimenB for prom-client, and @jhnns for rewire.

@aduh95 aduh95 merged commit cc33907 into v25.x Nov 11, 2025
82 of 83 checks passed
@aduh95 aduh95 deleted the v25.2.0-proposal branch November 11, 2025 22:28
aduh95 added a commit that referenced this pull request Nov 11, 2025
aduh95 pushed a commit that referenced this pull request Nov 11, 2025
Notable changes:

lib:
  * (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) #59982
  * throw from localStorage getter on missing storage path (René) #60351
module:
  * (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) #60600
net:
  * (SEMVER-MINOR) increase network family autoselection timeout to 500ms (Rod Vagg) #60334
node-api:
  * (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
v8:
  * (SEMVER-MINOR) adding total_allocated_bytes to HeapStatistics (Caio Lima) #60573

PR-URL: #60677
@shadowspawn
Copy link
Member

shadowspawn commented Nov 12, 2025

CITGM failures for bcrypt-v6.0.0, commander-v14.0.2, prom-client-v15.1.3, and rewire-v9.0.1 related to #60351

I have reproduced a problem with Commander failing all tests. Probably an issue with Jest rather than Commander. Tracking in: tj/commander.js#2451

Let me know if you would like an issue somewhere in a node repo, or feel free to open one and ping me or link to the Commander issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Issues and PRs related to Node.js releases. v25.x Issues that can be reproduced on v25.x or PRs targeting the v25.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.