Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Dec 9, 2025

2025-12-10, Version 24.12.0 'Krypton' (LTS), @targos

Notable Changes

  • [1a00b5f68a] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) #59778
  • [ff5754077d] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) #59982
  • [8987159234] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) #60600
  • [92c484ebf4] - (SEMVER-MINOR) node-api: add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
  • [b11bc5984e] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) #60217
  • [e7da5b4b7d] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) #60178
  • [a7f7d10c06] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) #58797
  • [92ea669240] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) #59711
  • [05d7509bd2] - (SEMVER-MINOR) v8: add cpu profile (theanarkh) #59807

Commits

  • [e4a23a35ac] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) #60603
  • [b6114ae5c9] - benchmark: add per-suite setup option (Joyee Cheung) #60574
  • [ac8e90af7c] - buffer: speed up concat via TypedArray#set (Gürgün Dayıoğlu) #60399
  • [acbc8ca13e] - build: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) #59984
  • [f97a609a07] - console: optimize single-string logging (Gürgün Dayıoğlu) #60422
  • [6cd9bdc580] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) #60662
  • [0fafe24d9b] - crypto: fix argument validation in crypto.timingSafeEqual fast path (Joyee Cheung) #60538
  • [54421e0419] - debugger: fix event listener leak in the run command (Joyee Cheung) #60464
  • [c361a628b4] - deps: V8: cherry-pick 72b0e27bd936 (pthier) #60732
  • [c70f4588dd] - deps: V8: cherry-pick 6bb32bd2c194 (Erik Corry) #60732
  • [881fe784c5] - deps: V8: cherry-pick 0dd2318b5237 (Erik Corry) #60732
  • [457c33efcc] - deps: V8: cherry-pick df20105ccf36 (Erik Corry) #60732
  • [0bf45a829c] - deps: V8: backport e5dbbbadcbff (Darshan Sen) #60524
  • [4993bdc476] - deps: V8: cherry-pick 5ba9200cd046 (Juan José Arboleda) #60620
  • [1e9abe0078] - deps: update corepack to 0.34.5 (Node.js GitHub Bot) #60842
  • [3f704ed08f] - deps: update corepack to 0.34.4 (Node.js GitHub Bot) #60643
  • [04e360fdb1] - deps: V8: cherry-pick 06bf293610ef, 146962dda8d2 and e0fb10b5148c (Michaël Zasso) #60713
  • [fcbd8dbbde] - deps: patch V8 to 13.6.233.17 (Michaël Zasso) #60712
  • [28e9433f39] - deps: V8: cherry-pick 87356585659b (Joyee Cheung) #60069
  • [3cac85b243] - deps: V8: backport 2e4c5cf9b112 (Michaël Zasso) #60654
  • [1daece1970] - deps: call OPENSSL_free after ANS1_STRING_to_UTF8 (Rafael Gonzaga) #60609
  • [5f55a9c9ea] - deps: nghttp2: revert 7784fa979d0b (Antoine du Hamel) #59790
  • [1d9e7c1f4d] - deps: update nghttp2 to 1.67.1 (nodejs-github-bot) #59790
  • [3140415068] - deps: update simdjson to 4.1.0 (Node.js GitHub Bot) #60542
  • [d911f9f1b8] - deps: update amaro to 1.1.5 (Node.js GitHub Bot) #60541
  • [daaaf04a32] - deps: V8: cherry-pick 2abc61361dd4 (Richard Lau) #60177
  • [b4f63ee5f8] - doc: update Collaborators list to reflect hybrist handle change (Antoine du Hamel) #60650
  • [effcf7a8ab] - doc: fix link in --env-file=file section (N. Bighetti) #60563
  • [7011736703] - doc: fix linter issues (Antoine du Hamel) #60636
  • [5cc79d8945] - doc: add missing history entry for sqlite.md (Antoine du Hamel) #60607
  • [bbc649057c] - doc: correct values/references for buffer.kMaxLength (René) #60305
  • [ea7ecb517b] - doc: recommend events.once to manage 'close' event (Dan Fabulich) #60017
  • [58bff04cc2] - doc: highlight module loading difference between import and require (Ajay A) #59815
  • [bbcbff9b4d] - doc: add CJS code snippets in sqlite.md (Allon Murienik) #60395
  • [f8af33d5a7] - doc: fix typo in process.unref documentation (우혁) #59698
  • [df105dc351] - doc: add some entries to glossary.md (Mohataseem Khan) #59277
  • [4955cb2b5b] - doc: improve agent.createConnection docs for http and https agents (JaeHo Jang) #58205
  • [6283bb5cc9] - doc: fix pseudo code in modules.md (chirsz) #57677
  • [d5059ea537] - doc: add missing variable in code snippet (Koushil Mankali) #55478
  • [900de373ae] - doc: add missing word in single-executable-applications.md (Konstantin Tsabolov) #53864
  • [5735044c8b] - doc: fix typo in http.md (Michael Solomon) #59354
  • [2dee6df831] - doc: update devcontainer.json and add documentation (Joyee Cheung) #60472
  • [8f2d98d7d2] - doc: add haramj as triager (Haram Jeong) #60348
  • [bbd7fdfff4] - doc: clarify require(esm) description (dynst) #60520
  • [33ad11a764] - doc: instantiate resolver object (Donghoon Nam) #60476
  • [81a61274f3] - doc: correct module loading descriptions (Joyee Cheung) #60346
  • [77911185fe] - doc: clarify --use-system-ca support status (Joyee Cheung) #60340
  • [185f6e95d9] - doc,crypto: link keygen to supported types (Filip Skokan) #60585
  • [772d6c6608] - doc,src,lib: clarify experimental status of Web Storage support (Antoine du Hamel) #60708
  • [ad98e11ac2] - esm: use sync loading/resolving on non-loader-hook thread (Joyee Cheung) #60380
  • [1a00b5f68a] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) #59778
  • [5703ce68bc] - http: replace startsWith with strict equality (btea) #59394
  • [2b696ffad8] - http2: add diagnostics channels for client stream request body (Darshan Sen) #60480
  • [dbdf4cb5a5] - inspector: inspect HTTP response body (Chengzhong Wu) #60572
  • [9dc9a7d33d] - inspector: support inspecting HTTP/2 request and response bodies (Darshan Sen) #60483
  • [89fa2befe4] - inspector: fix crash when receiving non json message (Shima Ryuhei) #60388
  • [ff5754077d] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) #59982
  • [33baaf42c8] - lib: replace global SharedArrayBuffer constructor with bound method (Renegade334) #60497
  • [b047586a08] - meta: bump actions/download-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) #60532
  • [64192176d7] - meta: bump actions/upload-artifact from 4.6.2 to 5.0.0 (dependabot[bot]) #60531
  • [af6d4a6b9b] - meta: bump github/codeql-action from 3.30.5 to 4.31.2 (dependabot[bot]) #60533
  • [c17276fd24] - meta: bump actions/setup-node from 5.0.0 to 6.0.0 (dependabot[bot]) #60529
  • [6e8b52a7dc] - meta: bump actions/stale from 10.0.0 to 10.1.0 (dependabot[bot]) #60528
  • [a12658595b] - meta: call create-release-post.yml post release (Aviv Keller) #60366
  • [8987159234] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) #60600
  • [36da413663] - module: fix directory option in the enableCompileCache() API (Joyee Cheung) #59931
  • [92c484ebf4] - (SEMVER-MINOR) node-api: add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
  • [545162b0d4] - node-api: use local files for instanceof test (Vladimir Morozov) #60190
  • [526c011d89] - perf_hooks: fix stack overflow error (Antoine du Hamel) #60084
  • [1de0476939] - perf_hooks: move non-standard performance properties to perf_hooks (Chengzhong Wu) #60370
  • [07ec1239ef] - repl: fix pasting after moving the cursor to the left (Ruben Bridgewater) #60470
  • [b11bc5984e] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) #60217
  • [273c9661fd] - sqlite,doc: fix StatementSync section (Edy Silva) #60474
  • [d92ec21a4c] - src: use CP_UTF8 for wide file names on win32 (Fedor Indutny) #60575
  • [baef0468ed] - src: move Node-API version detection to where it is used (Anna Henningsen) #60512
  • [e7da5b4b7d] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) #60178
  • [a7f7d10c06] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) #58797
  • [566add0b19] - src: avoid C strings in more C++ exception throws (Anna Henningsen) #60592
  • [9b796347c1] - src: add internal binding for constructing SharedArrayBuffers (Renegade334) #60497
  • [3b01cbb411] - src: move napi_addon_register_func to node_api_types.h (Anna Henningsen) #60512
  • [02fb7f4ecb] - src: remove unconditional NAPI_EXPERIMENTAL in node.h (Chengzhong Wu) #60345
  • [bd09ae24e4] - src: clean up generic counter implementation (Anna Henningsen) #60447
  • [cd6bf51dbd] - src: add enum handle for ToStringHelper + formatting (Burkov Egor) #56829
  • [92ea669240] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) #59711
  • [ac3dbe48f7] - stream: don't try to read more if reading (Robert Nagy) #60454
  • [790288a93b] - test: ensure assertions are reachable in test/internet (Antoine du Hamel) #60513
  • [0a85132989] - test: fix status when compiled without inspector (Antoine du Hamel) #60289
  • [2f57673172] - test: deflake test-perf-hooks-timerify-histogram-sync (Joyee Cheung) #60639
  • [09726269de] - test: apply a delay to watch-mode-kill-signal tests (Joyee Cheung) #60610
  • [45537b9562] - test: async iife in repl (Tony Gorez) #44878
  • [4ca81f101d] - test: parallelize sea tests when there's enough disk space (Joyee Cheung) #60604
  • [ea71e96191] - test: only show overridden env in child process failures (Joyee Cheung) #60556
  • [06b2e348c7] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60498
  • [de9c8cb670] - test: ensure assertions are reachable in test/es-module (Antoine du Hamel) #60501
  • [75bc40fced] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60485
  • [1a6084cfd3] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60500
  • [2c651c90cf] - test: split test-perf-hooks-timerify (Joyee Cheung) #60568
  • [6e8b5f7345] - test: add more logs to test-esm-loader-hooks-inspect-wait (Joyee Cheung) #60466
  • [9dea7ffa30] - test: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) #60565
  • [0b3c3b710a] - test: split test-esm-wasm.js (Joyee Cheung) #60491
  • [a15b795b34] - test: correct conditional secure heap flags test (Shelley Vohr) #60385
  • [38b77b3a44] - test: fix flaky test-watch-mode-kill-signal-* (Joyee Cheung) #60443
  • [e8d7598057] - test: capture stack trace in debugger timeout errors (Joyee Cheung) #60457
  • [674befeb81] - test: ensure assertions are reachable in test/sequential (Antoine du Hamel) #60412
  • [952c08a735] - test: ensure assertions are reachable in more folders (Antoine du Hamel) #60411
  • [bbca57584b] - test: split test-runner-watch-mode (Joyee Cheung) #60391
  • [e78e0cf6e7] - test: move test-runner-watch-mode helper into common (Joyee Cheung) #60391
  • [84576ef021] - test: ensure assertions are reachable in test/addons (Antoine du Hamel) #60142
  • [1659078c11] - test: ignore EPIPE errors in https proxy invalid URL test (Joyee Cheung) #60269
  • [79ffee80ec] - test: ensure assertions are reachable in test/client-proxy (Antoine du Hamel) #60175
  • [e5a812243a] - test: ensure assertions are reachable in test/async-hooks (Antoine du Hamel) #60150
  • [e924fd72e3] - test,crypto: handle a few more BoringSSL tests (Shelley Vohr) #59030
  • [a55ac11611] - test,crypto: update x448 and ed448 expectation when on boringssl (Shelley Vohr) #60387
  • [55d5e9ec73] - tls: fix leak on invalid protocol method (Shelley Vohr) #60427
  • [5763c96e7c] - tools: replace invalid expression in dependabot config (Riddhi) #60649
  • [b6e21b47d7] - tools: skip unaffected GHA jobs for changes in test/internet (Antoine du Hamel) #60517
  • [999664c76d] - tools: do not use short hashes for deps versioning to avoid collision (Antoine du Hamel) #60407
  • [ada856d0fb] - tools: only add test reporter args when node:test is used (Joyee Cheung) #60551
  • [1812c56bb3] - tools: fix update-icu script (Michaël Zasso) #60521
  • [747040438a] - tools: fix linter for semver-major release proposals (Antoine du Hamel) #60481
  • [f170551e40] - tools: fix failing release-proposal linter for LTS transitions (Antoine du Hamel) #60465
  • [2db4ea0ce4] - tools: remove undici from daily wpt.fyi job (Filip Skokan) #60444
  • [2a85aa4e7b] - tools: add lint rule to ensure assertions are reached (Antoine du Hamel) #60125
  • [48299ef5fb] - tools,doc: update JavaScript primitive types to match MDN Web Docs (JustApple) #60581
  • [7ec04cf936] - util: fix stylize of special properties in inspect (Ge Gao) #60479
  • [05d7509bd2] - (SEMVER-MINOR) v8: add cpu profile (theanarkh) #59807
  • [884fe884a1] - vm: hint module identifier in instantiate errors (Chengzhong Wu) #60199
  • [a2caf19f70] - watch: fix interaction with multiple env files (Marco Ippolito) #60605

richardlau and others added 30 commits November 11, 2025 23:25
Original commit message:

    Fix scratch registers passed to mtvsrdd

    `ra` cannot be r0 as it will be interpreted as Operand(0)

    Change-Id: Idce58191f9d3578dc91dc4aa3872a0bf2939d8b3
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6936113
    Commit-Queue: Milad Farazmand <[email protected]>
    Reviewed-by: Junliang Yan <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#102388}

Refs: v8/v8@2abc613
PR-URL: #60177
Refs: nodejs/undici#4530
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: #60125
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
There can be a race from eagerly shutting down the servers and
severing two pipes at the same time but for the purpose of this test,
we only care about whether the requests are initiated from the client
as expected, not how the upstream/proxy servers behave. Ignore EPIPE
errors from them.

PR-URL: #60269
Refs: #59741
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Yagiz Nizipli <[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: #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: #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]>
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]>
Closes: #60506
PR-URL: #60521
Fixes: #60506
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
RaisinTen and others added 5 commits December 6, 2025 17:01
Original commit message:

    Enable --perf-prof flag on MacOS

    MacOS actually can share the implementation of {PerfJitLogger} with
    Linux. From the issue 40112126, only Fuzzer tests on Windows ran
    into UNREACHABLE/FATAL because of the unimplemented {PerfJitLogger}.
    This CL enables the flag --perf-prof on MacOS.

    Bug: 403765219
    Change-Id: I97871fbcc0cb9890c51ca14fd7a6e65bd0e3c0d2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6385655
    Reviewed-by: Clemens Backes <[email protected]>
    Reviewed-by: Matthias Liedtke <[email protected]>
    Auto-Submit: 杨文明 <[email protected]>
    Commit-Queue: Clemens Backes <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#99885}

Refs: v8/v8@e5dbbba
Co-authored-by: Darshan Sen <[email protected]>
PR-URL: #60524
Refs: v8/v8@e5dbbba
Reviewed-By: Michaël Zasso <[email protected]>
Original commit message:

    [regexp] Rename "greedy loops" to "fixed length".

    Some greedy quantifiers are code-generated in a more efficient
    way, but far from all greedy quantifiers are generated
    in this way.  This change renames the specially optimized loops
    from "greedy loops" to "fixed length loops", which should be
    clearer.

    Going forward, we can probably reuse much of the code for
    fixed length loops when code-generating simple possessive
    quantifiers.

    Change-Id: I13b9d14beac430e2d05d0feaf887fc0566bc4103
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6508846
    Reviewed-by: Patrick Thier <[email protected]>
    Commit-Queue: Erik Corry <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#100062}

Refs: v8/v8@df20105
PR-URL: #60732
Fixes: #60030
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Original commit message:

    [regexp] Remove DeferredAction class.

    We can just chain up the traces and use the regular
    ActionNodes that we already have to represent the
    deferred actions.  Also simplifies the ActionNodes
    a little.  No functional change intended.

    Reduce the size of the Trace from 128->120 bytes.

    This is a stack allocated struct so to avoid stack
    overflows after adding the next_ field I am reducing
    it back down to 120 bytes by rearranging and shrinking
    fields.

    Change-Id: I6dca9946e035e9b22798e160b8fadaeca61f4955
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6512931
    Reviewed-by: Patrick Thier <[email protected]>
    Commit-Queue: Erik Corry <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#100092}

Refs: v8/v8@0dd2318
PR-URL: #60732
Fixes: #60030
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Original commit message:

    [regexp] Clean up state for fixed length loop.

    Also reduces the on-stack Trace size by one word,
    adds some comments, renames some variables for
    more clarity.

    Change-Id: I9ec105cd9cebbaba65e9801c47dd0574cc81f967
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6512896
    Reviewed-by: Patrick Thier <[email protected]>
    Commit-Queue: Erik Corry <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#100117}

Refs: v8/v8@6bb32bd
PR-URL: #60732
Fixes: #60030
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Original commit message:

    [regexp] Fix modifiers for ChoiceNodes

    Each alternative might modify flags when their sub-graph is emitted.
    We need to restore flags to the value at the beginning of a ChoiceNode
    for each alternative.

    Drive-by: Move regexp-modifiers test out of harmony/

    Fixed: 447583670
    Change-Id: I9f41e51f34df7659461da0a4fcd28b7e157f52e1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6995181
    Reviewed-by: Jakob Linke <[email protected]>
    Commit-Queue: Patrick Thier <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#102838}

Refs: v8/v8@72b0e27
Fixes: #60030
PR-URL: #60732
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
@nodejs-github-bot
Copy link
Collaborator

Review requested:

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

nodejs-github-bot added a commit that referenced this pull request Dec 9, 2025
Notable changes:

http:
  * (SEMVER-MINOR) add optimizeEmptyRequests server option (Rafael Gonzaga) #59778
lib:
  * (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) #59982
module:
  * (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) #60600
node-api:
  * (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
sqlite:
  * (SEMVER-MINOR) allow setting defensive flag (Bart Louwers) #60217
src:
  * (SEMVER-MINOR) add watch config namespace (Marco Ippolito) #60178
  * (SEMVER-MINOR) add an option to make compile cache portable (Aditi) #58797
src,permission:
  * (SEMVER-MINOR) add --allow-inspector ability (Rafael Gonzaga) #59711
v8:
  * (SEMVER-MINOR) add cpu profile (theanarkh) #59807

PR-URL: #61001
@github-actions github-actions bot added release Issues and PRs related to Node.js releases. v24.x Issues that can be reproduced on v24.x or PRs targeting the v24.x-staging branch. labels Dec 9, 2025
Notable changes:

http:
  * (SEMVER-MINOR) add optimizeEmptyRequests server option (Rafael Gonzaga) #59778
lib:
  * (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) #59982
module:
  * (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) #60600
node-api:
  * (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
sqlite:
  * (SEMVER-MINOR) allow setting defensive flag (Bart Louwers) #60217
src:
  * (SEMVER-MINOR) add watch config namespace (Marco Ippolito) #60178
  * (SEMVER-MINOR) add an option to make compile cache portable (Aditi) #58797
src,permission:
  * (SEMVER-MINOR) add --allow-inspector ability (Rafael Gonzaga) #59711
v8:
  * (SEMVER-MINOR) add cpu profile (theanarkh) #59807

PR-URL: #61001
@targos targos force-pushed the v24.12.0-proposal branch from 0239873 to 70f6b58 Compare December 9, 2025 13:38
@targos targos marked this pull request as ready for review December 9, 2025 13:38
@targos targos requested a review from a team as a code owner December 9, 2025 13:38
@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label Dec 9, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 9, 2025
@nodejs-github-bot
Copy link
Collaborator

@codecov

This comment was marked as resolved.

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member

targos commented Dec 9, 2025

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member

targos commented Dec 10, 2025

@targos targos merged commit 70f6b58 into v24.x Dec 10, 2025
75 of 76 checks passed
@targos targos deleted the v24.12.0-proposal branch December 10, 2025 16:32
targos added a commit that referenced this pull request Dec 10, 2025
targos pushed a commit that referenced this pull request Dec 10, 2025
Notable changes:

http:
  * (SEMVER-MINOR) add optimizeEmptyRequests server option (Rafael Gonzaga) #59778
lib:
  * (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) #59982
module:
  * (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) #60600
node-api:
  * (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) #59953
sqlite:
  * (SEMVER-MINOR) allow setting defensive flag (Bart Louwers) #60217
src:
  * (SEMVER-MINOR) add watch config namespace (Marco Ippolito) #60178
  * (SEMVER-MINOR) add an option to make compile cache portable (Aditi) #58797
src,permission:
  * (SEMVER-MINOR) add --allow-inspector ability (Rafael Gonzaga) #59711
v8:
  * (SEMVER-MINOR) add cpu profile (theanarkh) #59807

PR-URL: #61001
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. v24.x Issues that can be reproduced on v24.x or PRs targeting the v24.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.