GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — doc, module: change stability of async customization hooks to experimental by Flarna · Pull Request #60302 · nodejs/node

Conversation

@Flarna

@Flarna Flarna commented Oct 17, 2025

Copy link
Copy Markdown
Member

There is ongoing work to replace async customization hooks by a synchronous variant. As a result bugs/design flaws or the async variant (thread leak, overhead) are not addressed.

Adapt stability index to avoid wrong assumptions they might move to stable.

Refs: nodejs/loaders#201
Refs: nodejs/loaders#198

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ikhtearalamshawonmollah54321 reacted with thumbs up emoji JakobJingleheimer reacted with thumbs down emoji ikhtearalamshawonmollah54321 reacted with rocket emoji
All reactions
  • 👍 1 reaction
  • 👎 1 reaction
  • 🚀 1 reaction
@nodejs-github-bot

nodejs-github-bot commented Oct 17, 2025

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/loaders
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot nodejs-github-bot added doc Issues and PRs related to Node.js documentation. module Issues and PRs related to the module subsystem. labels Oct 17, 2025
@Flarna
Flarna force-pushed the loaderhooks-experimental branch 2 times, most recently from 686506b to 31c0694 Compare October 17, 2025 22:53
@Flarna Flarna added the loaders Issues and PRs related to ES module loaders. label Oct 17, 2025
@Flarna
Flarna force-pushed the loaderhooks-experimental branch 2 times, most recently from df81a7d to f036b18 Compare October 17, 2025 23:02
GeoffreyBooth
GeoffreyBooth reviewed Oct 18, 2025
View reviewed changes
Comment thread doc/api/module.md Outdated
@@ -608,7 +611,7 @@ changes:

<!-- type=misc -->

> Stability: 1.2 - Release candidate (asynchronous version)
> Stability: 1 - Experimental (asynchronous version)

@GeoffreyBooth GeoffreyBooth Oct 18, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any stability level 1.x is experimental. See https://nodejs.org/docs/latest/api/documentation.html#stability-index

We don’t really have a level for “pending removal” so maybe the most appropriate level is the most experimental one:

Suggested change
> Stability: 1 - Experimental (asynchronous version)
> Stability: 1.0 - Early development (asynchronous version)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@JakobJingleheimer JakobJingleheimer Oct 18, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not early development though

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@Flarna Flarna Oct 18, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think deprecated would be the state for pending removal but that seems too early to me.

I selected a similar state/wording as for async_hooks (except the migration hints) because it seems very similar:

  • no 100% replacement as of now
  • works fine for some usecases
  • has flows which can't/are not planned to be fixed
  • high overhead at least in some cases

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

gurgunday reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

@aduh95 aduh95 Oct 18, 2025

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was decided that "deprecated" was reserved for stable features:

node/doc/api/documentation.md

Lines 48 to 49 in 38bf955

> Experimental features leave the experimental status typically either by
> graduating to stable, or are removed without a deprecation cycle.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@GeoffreyBooth GeoffreyBooth Oct 18, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe just create a new stage like 1.9 - Pending removal? And we can add a note next to it that the sync hooks are the intended replacement.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@joyeecheung joyeecheung Oct 19, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If neither 1.2 - Release candidate nor 1.0 - Early Development makes sense, maybe 1.1 - Active development ?

I feel that whether/when to remove it would be a different question due to the existing usage, but it somewhat certain that even if it stays, it would have to have changes in order to be really functional - there are too many quirks right now.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@GeoffreyBooth GeoffreyBooth Oct 19, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that 1.1 - Active development is better than 1.2, but I think just making a new Pending removal stage would be better still. Worst of all would be going to just 1 - Experimental, as that doesn’t provide any guidance. Having a detailed note is good, but there’s tooling built around our docs and so I think it’s better if the most important information (that this is pending removal) is presented in a structured data way that tooling can understand, rather than contained only within a natural English note.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@Flarna Flarna Oct 20, 2025

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this PR is the right place to change the Stability index content. This can be done in a separate issue if we think this is needed. There are other places which could benefit from this (async_hooks, trace events, wasi).

Additionally I don't want to start the removal discussion as I can't tell if it will ever happen. It's experimental and according to the Stability index it can be removed at any time without a deprecation cycle. Not saying that we should do that but that is what is written there.

Reading the Stability index again it seems 1.1 fits well. While name of 1.1 includes active the detailed text says Experimental features at this stage are nearing minimum viability. which fits. There is no definition of "active" in the sense of PR count/month,...

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

GeoffreyBooth reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
aduh95
aduh95 reviewed Oct 18, 2025
View reviewed changes
Comment thread doc/api/module.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

mcollina
mcollina approved these changes Oct 18, 2025
View reviewed changes

@mcollina mcollina left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mcollina mcollina added the tsc-agenda Issues and PRs to discuss during Technical Steering Committee meetings. label Oct 18, 2025
Flarna and others added 2 commits October 18, 2025 17:29
@Flarna
doc, module: change async customization hooks to experimental
826da94
There is ongoing work to replace async customization hooks by a
synchronous variant.
As a result bugs/design flaws or the async variant (thread leak,
overhead) are not addressed.
Adapt stability index to avoid wrong assumptions they might move to
stable.

Refs: nodejs/loaders#201
Refs: nodejs/loaders#198
@Flarna @aduh95
remove changelog entry
1690620
Co-authored-by: Antoine du Hamel <[email protected]>
@Flarna
Flarna force-pushed the loaderhooks-experimental branch from ae4d294 to 1690620 Compare October 18, 2025 15:29
cjihrig
cjihrig approved these changes Oct 18, 2025
View reviewed changes
JakobJingleheimer
JakobJingleheimer approved these changes Oct 18, 2025
View reviewed changes
@Flarna Flarna added the commit-queue-squash PRs the Commit Queue should land as one squashed commit. label Oct 18, 2025
@joyeecheung

joyeecheung commented Oct 19, 2025

Copy link
Copy Markdown
Member

FWIW #59666 lists some of the existing bugs in the async cutomization hooks that can explain why this is a bit too far from "release candidate" (they are not yet documented as "known caveats", but have existed from v20)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Flarna
move from 1 to 1.1
55d9f19
@Flarna

Flarna commented Oct 20, 2025

Copy link
Copy Markdown
Member Author

@mcollina you added tsc-agenda label at the same time as you approved.
Are the TSC discussions you want to trigger bound to this PR and merge should be postponed?
Or is it about triggering a more generic discussion in TSC about the stability index?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

joyeecheung
joyeecheung approved these changes Oct 20, 2025
View reviewed changes
@openjs-meetings-bot openjs-meetings-bot Bot mentioned this pull request Oct 20, 2025
Node.js Technical Steering Committee (TSC) Meeting 2025-10-22 nodejs/TSC#1796
Closed
marco-ippolito
marco-ippolito approved these changes Oct 20, 2025
View reviewed changes
RaisinTen
RaisinTen approved these changes Oct 22, 2025
View reviewed changes
@joyeecheung joyeecheung removed the tsc-agenda Issues and PRs to discuss during Technical Steering Committee meetings. label Oct 22, 2025
@joyeecheung

joyeecheung commented Oct 22, 2025

Copy link
Copy Markdown
Member

FYI was done at the TSC meeting; remove the tsc-agenda lebel.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Flarna Flarna added the commit-queue PRs queued for automated landing through the Commit Queue. label Oct 22, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Oct 22, 2025
@nodejs-github-bot
nodejs-github-bot merged commit a59706f into nodejs:main Oct 22, 2025
@nodejs-github-bot

nodejs-github-bot commented Oct 22, 2025

Copy link
Copy Markdown
Collaborator

Landed in a59706f

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Flarna
Flarna deleted the loaderhooks-experimental branch October 22, 2025 17:12
aduh95 pushed a commit that referenced this pull request Oct 23, 2025
@Flarna @aduh95
doc, module: change async customization hooks to experimental
6bacb65
There is ongoing work to replace async customization hooks by a
synchronous variant.
As a result bugs/design flaws or the async variant (thread leak,
overhead) are not addressed.
Adapt stability index to avoid wrong assumptions they might move to
stable.

Refs: nodejs/loaders#201
Refs: nodejs/loaders#198
PR-URL: #60302
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
@github-actions github-actions Bot mentioned this pull request Oct 27, 2025
2025-10-28, Version 25.1.0 (Current) #60436
Merged
aduh95 pushed a commit that referenced this pull request Oct 31, 2025
@Flarna @aduh95
doc, module: change async customization hooks to experimental
efbfc6c
There is ongoing work to replace async customization hooks by a
synchronous variant.
As a result bugs/design flaws or the async variant (thread leak,
overhead) are not addressed.
Adapt stability index to avoid wrong assumptions they might move to
stable.

Refs: nodejs/loaders#201
Refs: nodejs/loaders#198
PR-URL: #60302
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Nov 3, 2025
ECG Bot @tmeijn
build(deps): update node to v25.1.0
17d8af9
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `25.0.0` -> `25.1.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v25.1.0`](https://github.com/nodejs/node/releases/tag/v25.1.0): 2025-10-28, Version 25.1.0 (Current), @&#8203;aduh95

[Compare Source](nodejs/node@v25.0.0...v25.1.0)

##### Notable Changes

- \[[`4395fe14b9`](nodejs/node@4395fe14b9)] - **(SEMVER-MINOR)** **http**: add optimizeEmptyRequests server option (Rafael Gonzaga) [#&#8203;59778](nodejs/node#59778)
- \[[`2e55c6ad04`](nodejs/node@2e55c6ad04)] - **(SEMVER-MINOR)** **sqlite**: allow setting defensive flag (Bart Louwers) [#&#8203;60217](nodejs/node#60217)
- \[[`f437204491`](nodejs/node@f437204491)] - **(SEMVER-MINOR)** **src**: add watch config namespace (Marco Ippolito) [#&#8203;60178](nodejs/node#60178)

##### Commits

- \[[`bb27766bd5`](nodejs/node@bb27766bd5)] - **benchmark**: improve cpu.sh for safety and usability (Nam Yooseong) [#&#8203;60162](nodejs/node#60162)
- \[[`e600711c20`](nodejs/node@e600711c20)] - **benchmark**: add benchmark for leaf source text modules (Joyee Cheung) [#&#8203;60205](nodejs/node#60205)
- \[[`1bbcdf9039`](nodejs/node@1bbcdf9039)] - **benchmark**: add vm.SourceTextModule benchmark (Joyee Cheung) [#&#8203;59396](nodejs/node#59396)
- \[[`22fa6bd28b`](nodejs/node@22fa6bd28b)] - **build**: ibmi follow aix visibility (SRAVANI GUNDEPALLI) [#&#8203;60360](nodejs/node#60360)
- \[[`931028400e`](nodejs/node@931028400e)] - **build**: use call command when calling python configure (Jacob Nichols) [#&#8203;60098](nodejs/node#60098)
- \[[`17fde3f3d1`](nodejs/node@17fde3f3d1)] - **build**: build v8 with -fvisibility=hidden -fvisibility-inlines-hidden (Joyee Cheung) [#&#8203;56290](nodejs/node#56290)
- \[[`04cc7aae5e`](nodejs/node@04cc7aae5e)] - **build**: remove V8\_COMPRESS\_POINTERS\_IN\_ISOLATE\_CAGE defs (Joyee Cheung) [#&#8203;60296](nodejs/node#60296)
- \[[`8a2053060d`](nodejs/node@8a2053060d)] - **crypto**: update root certificates to NSS 3.116 (Node.js GitHub Bot) [#&#8203;59956](nodejs/node#59956)
- \[[`fe91c0f755`](nodejs/node@fe91c0f755)] - **deps**: update simdjson to 4.0.7 (Node.js GitHub Bot) [#&#8203;59883](nodejs/node#59883)
- \[[`aacfc0d212`](nodejs/node@aacfc0d212)] - **deps**: update corepack to 0.34.1 (Node.js GitHub Bot) [#&#8203;60314](nodejs/node#60314)
- \[[`8596891a71`](nodejs/node@8596891a71)] - **deps**: update inspector\_protocol to [`af7f5a8`](nodejs/node@af7f5a8) (Node.js GitHub Bot) [#&#8203;60312](nodejs/node#60312)
- \[[`21bcd0eb2f`](nodejs/node@21bcd0eb2f)] - **deps**: V8: cherry-pick [`3d0f462`](nodejs/node@3d0f462a17ff) (Joyee Cheung) [#&#8203;59396](nodejs/node#59396)
- \[[`673558501c`](nodejs/node@673558501c)] - **deps**: update googletest to [`279f847`](nodejs/node@279f847) (Node.js GitHub Bot) [#&#8203;60219](nodejs/node#60219)
- \[[`425a1879b1`](nodejs/node@425a1879b1)] - **doc**: mention more codemods in `deprecations.md` (Augustin Mauroy) [#&#8203;60243](nodejs/node#60243)
- \[[`563e1317f3`](nodejs/node@563e1317f3)] - **doc**: remove unnecessary statement of web storage (Deokjin Kim) [#&#8203;60363](nodejs/node#60363)
- \[[`064c8c5cfd`](nodejs/node@064c8c5cfd)] - **doc**: add missing CAA type to dns.resolveAny() & dnsPromises.resolveAny() (Jimmy Leung) [#&#8203;58899](nodejs/node#58899)
- \[[`99e357af35`](nodejs/node@99e357af35)] - **doc**: use `any` for `worker_threads.Worker` 'error' event argument `err` (Jonas Geiler) [#&#8203;60300](nodejs/node#60300)
- \[[`8ccff0d934`](nodejs/node@8ccff0d934)] - **doc**: update decorator documentation to reflect actual policy (Muhammad Salman Aziz) [#&#8203;60288](nodejs/node#60288)
- \[[`bac70c6ef3`](nodejs/node@bac70c6ef3)] - **doc**: document wildcard supported by tools/test.py (Joyee Cheung) [#&#8203;60265](nodejs/node#60265)
- \[[`8492bc6a88`](nodejs/node@8492bc6a88)] - **doc**: add --heap-snapshot-on-oom to useful v8 flag (jakecastelli) [#&#8203;60260](nodejs/node#60260)
- \[[`0f0d3c0e47`](nodejs/node@0f0d3c0e47)] - **doc**: fix `blob.bytes()` heading level (XTY) [#&#8203;60252](nodejs/node#60252)
- \[[`8c8525cf93`](nodejs/node@8c8525cf93)] - **doc**: fix not working code example in vm docs (Artur Gawlik) [#&#8203;60224](nodejs/node#60224)
- \[[`8a6de3866c`](nodejs/node@8a6de3866c)] - **doc, assert**: correct order of changes entries (Gerhard Stöbich) [#&#8203;60304](nodejs/node#60304)
- \[[`6bacb6555a`](nodejs/node@6bacb6555a)] - **doc, module**: change async customization hooks to experimental (Gerhard Stöbich) [#&#8203;60302](nodejs/node#60302)
- \[[`6f3b16df16`](nodejs/node@6f3b16df16)] - **esm**: use index-based resolution callbacks (Joyee Cheung) [#&#8203;59396](nodejs/node#59396)
- \[[`95644a432c`](nodejs/node@95644a432c)] - **http**: lazy allocate cookies array (Robert Nagy) [#&#8203;59734](nodejs/node#59734)
- \[[`4395fe14b9`](nodejs/node@4395fe14b9)] - **(SEMVER-MINOR)** **http**: add optimizeEmptyRequests server option (Rafael Gonzaga) [#&#8203;59778](nodejs/node#59778)
- \[[`f1aa1eaaf5`](nodejs/node@f1aa1eaaf5)] - **inspector**: add network payload buffer size limits (Chengzhong Wu) [#&#8203;60236](nodejs/node#60236)
- \[[`64fc625bf9`](nodejs/node@64fc625bf9)] - **inspector**: support handshake response for websocket inspection (Shima Ryuhei) [#&#8203;60225](nodejs/node#60225)
- \[[`0ecbb806a8`](nodejs/node@0ecbb806a8)] - **lib**: fix typo in createBlobReaderStream (SeokHun) [#&#8203;60132](nodejs/node#60132)
- \[[`ffec5927fd`](nodejs/node@ffec5927fd)] - **meta**: fix typo in test-shared workflow name (Ronit Sabhaya) [#&#8203;60321](nodejs/node#60321)
- \[[`a02897e157`](nodejs/node@a02897e157)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;60325](nodejs/node#60325)
- \[[`59223a7831`](nodejs/node@59223a7831)] - **meta**: loop userland-migrations in deprecations (Chengzhong Wu) [#&#8203;60299](nodejs/node#60299)
- \[[`2d48d17696`](nodejs/node@2d48d17696)] - **module**: refactor and clarify async loader hook customizations (Joyee Cheung) [#&#8203;60278](nodejs/node#60278)
- \[[`be1b84fd93`](nodejs/node@be1b84fd93)] - **module**: handle null source from async loader hooks in sync hooks (Joyee Cheung) [#&#8203;59929](nodejs/node#59929)
- \[[`063fbd87d3`](nodejs/node@063fbd87d3)] - **msi**: fix WiX warnings (Stefan Stojanovic) [#&#8203;60251](nodejs/node#60251)
- \[[`2e55c6ad04`](nodejs/node@2e55c6ad04)] - **(SEMVER-MINOR)** **sqlite**: allow setting defensive flag (Bart Louwers) [#&#8203;60217](nodejs/node#60217)
- \[[`dc93d6988a`](nodejs/node@dc93d6988a)] - **src**: fix timing of snapshot serialize callback (Joyee Cheung) [#&#8203;60434](nodejs/node#60434)
- \[[`267e1b3817`](nodejs/node@267e1b3817)] - **src**: add COUNT\_GENERIC\_USAGE utility for tests (Joyee Cheung) [#&#8203;60434](nodejs/node#60434)
- \[[`4a5d7a4c2a`](nodejs/node@4a5d7a4c2a)] - **src**: conditionally disable source phase imports by default (Shelley Vohr) [#&#8203;60364](nodejs/node#60364)
- \[[`f437204491`](nodejs/node@f437204491)] - **(SEMVER-MINOR)** **src**: add watch config namespace (Marco Ippolito) [#&#8203;60178](nodejs/node#60178)
- \[[`36837fa0f9`](nodejs/node@36837fa0f9)] - **src**: use cached primordials\_string (Sohyeon Kim) [#&#8203;60255](nodejs/node#60255)
- \[[`df8396ad37`](nodejs/node@df8396ad37)] - **src**: replace Environment::GetCurrent with args.GetIsolate (Sohyeon Kim) [#&#8203;60256](nodejs/node#60256)
- \[[`5dd670b2b9`](nodejs/node@5dd670b2b9)] - **src**: initial enablement of IsolateGroups (James M Snell) [#&#8203;60254](nodejs/node#60254)
- \[[`afdb362933`](nodejs/node@afdb362933)] - **src**: use `Utf8Value` and `TwoByteValue` instead of V8 helpers (Anna Henningsen) [#&#8203;60244](nodejs/node#60244)
- \[[`a40e533e72`](nodejs/node@a40e533e72)] - **src**: add a default branch for module phase (Chengzhong Wu) [#&#8203;60261](nodejs/node#60261)
- \[[`42729f07ee`](nodejs/node@42729f07ee)] - **src**: stop using deprecated v8::Context::GetIsolate (Michaël Zasso) [#&#8203;60223](nodejs/node#60223)
- \[[`7a6542c205`](nodejs/node@7a6542c205)] - **test**: skip failing test on macOS 15.7+ (Antoine du Hamel) [#&#8203;60419](nodejs/node#60419)
- \[[`29a5855a4f`](nodejs/node@29a5855a4f)] - **test**: ensure assertions are reachable in `test/addons` (Antoine du Hamel) [#&#8203;60142](nodejs/node#60142)
- \[[`12773d19c4`](nodejs/node@12773d19c4)] - **test**: increase debugger waitFor timeout on macOS (Chengzhong Wu) [#&#8203;60367](nodejs/node#60367)
- \[[`0b38de3e9e`](nodejs/node@0b38de3e9e)] - **test**: put helper in test-runner-output into common (Joyee Cheung) [#&#8203;60330](nodejs/node#60330)
- \[[`6de2407c44`](nodejs/node@6de2407c44)] - **test**: fix small compile warning in test\_network\_requests\_buffer.cc (xiaocainiao633) [#&#8203;60281](nodejs/node#60281)
- \[[`4b23ac8613`](nodejs/node@4b23ac8613)] - **test**: fix status when compiled without inspector (Antoine du Hamel) [#&#8203;60289](nodejs/node#60289)
- \[[`a07f32e326`](nodejs/node@a07f32e326)] - **test**: split test-runner-watch-mode-kill-signal (Joyee Cheung) [#&#8203;60298](nodejs/node#60298)
- \[[`30451d32d7`](nodejs/node@30451d32d7)] - **test**: fix incorrect calculation in test-perf-hooks.js (Joyee Cheung) [#&#8203;60271](nodejs/node#60271)
- \[[`e3c3b48f1c`](nodejs/node@e3c3b48f1c)] - **test**: ignore EPIPE errors in https proxy invalid URL test (Joyee Cheung) [#&#8203;60269](nodejs/node#60269)
- \[[`405a9c4c5f`](nodejs/node@405a9c4c5f)] - **test**: parallelize test-without-async-context-frame correctly (Joyee Cheung) [#&#8203;60273](nodejs/node#60273)
- \[[`ffeebebc71`](nodejs/node@ffeebebc71)] - **test**: make test-worker-prof more tolerant (Joyee Cheung) [#&#8203;60272](nodejs/node#60272)
- \[[`26b01bf170`](nodejs/node@26b01bf170)] - **test**: skip sea tests on x64 macOS (Joyee Cheung) [#&#8203;60250](nodejs/node#60250)
- \[[`8caae1a05b`](nodejs/node@8caae1a05b)] - **test**: move sea tests into test/sea (Joyee Cheung) [#&#8203;60250](nodejs/node#60250)
- \[[`3d183e3e9f`](nodejs/node@3d183e3e9f)] - **test,crypto**: fix conditional SHA3-\* skip on BoringSSL (Filip Skokan) [#&#8203;60379](nodejs/node#60379)
- \[[`e83dbcba94`](nodejs/node@e83dbcba94)] - **test,crypto**: sha3 algorithms aren't supported with BoringSSL (Shelley Vohr) [#&#8203;60374](nodejs/node#60374)
- \[[`3d89331496`](nodejs/node@3d89331496)] - **test\_runner**: use module.registerHooks in module mocks (Joyee Cheung) [#&#8203;60326](nodejs/node#60326)
- \[[`377e8ce85a`](nodejs/node@377e8ce85a)] - **tls**: avoid external memory leak on invalid protocol versions (Shelley Vohr) [#&#8203;60390](nodejs/node#60390)
- \[[`ae4858c1f6`](nodejs/node@ae4858c1f6)] - **tools**: add an option to generate lighter archives (Antoine du Hamel) [#&#8203;60294](nodejs/node#60294)
- \[[`cb615b1a2e`](nodejs/node@cb615b1a2e)] - **tools**: skip test-shared workflow for draft MRs (Michaël Zasso) [#&#8203;60365](nodejs/node#60365)
- \[[`03b034731e`](nodejs/node@03b034731e)] - **tools**: disable inspector on macOS-shared to reduce flakiness (Antoine du Hamel) [#&#8203;60320](nodejs/node#60320)
- \[[`f402b4e1d1`](nodejs/node@f402b4e1d1)] - **tools**: show diff alongside the error in Nix linter (Antoine du Hamel) [#&#8203;60301](nodejs/node#60301)
- \[[`5d5c8483fb`](nodejs/node@5d5c8483fb)] - **tools**: run CI with shared libs on GHA (Antoine du Hamel) [#&#8203;60121](nodejs/node#60121)
- \[[`e8fdd8d2e8`](nodejs/node@e8fdd8d2e8)] - **tools**: update gyp-next to 0.20.5 (Node.js GitHub Bot) [#&#8203;60313](nodejs/node#60313)
- \[[`6e8b029a21`](nodejs/node@6e8b029a21)] - **tools**: limit inspector protocol MR title length (Chengzhong Wu) [#&#8203;60324](nodejs/node#60324)
- \[[`a5073086c6`](nodejs/node@a5073086c6)] - **tools**: fix inspector\_protocol updater (Chengzhong Wu) [#&#8203;60277](nodejs/node#60277)
- \[[`47fa765bff`](nodejs/node@47fa765bff)] - **tools**: optimize wildcard execution in tools/test.py (Joyee Cheung) [#&#8203;60266](nodejs/node#60266)
- \[[`11ebb0447d`](nodejs/node@11ebb0447d)] - **tools**: add C++ lint rule to avoid using `String::Utf8Value` (Anna Henningsen) [#&#8203;60244](nodejs/node#60244)
- \[[`14f3189670`](nodejs/node@14f3189670)] - **tools**: add inspector\_protocol updater (Chengzhong Wu) [#&#8203;60245](nodejs/node#60245)
- \[[`ef4c596fc6`](nodejs/node@ef4c596fc6)] - **typings**: add missing properties and method in Worker (Woohyun Sung) [#&#8203;60257](nodejs/node#60257)
- \[[`09ae6fc065`](nodejs/node@09ae6fc065)] - **typings**: add missing properties in HTTPParser (Woohyun Sung) [#&#8203;60257](nodejs/node#60257)
- \[[`9ecaf41f8e`](nodejs/node@9ecaf41f8e)] - **typings**: delete undefined property in ConfigBinding (Woohyun Sung) [#&#8203;60257](nodejs/node#60257)
- \[[`4a86016e86`](nodejs/node@4a86016e86)] - **util**: use more defensive code when inspecting error objects (Antoine du Hamel) [#&#8203;60139](nodejs/node#60139)
- \[[`9e6d6cec59`](nodejs/node@9e6d6cec59)] - **util**: mark special properties when inspecting them (Ruben Bridgewater) [#&#8203;60131](nodejs/node#60131)
- \[[`79b2387fd9`](nodejs/node@79b2387fd9)] - **vm**: make vm.Module.evaluate() conditionally synchronous (Joyee Cheung) [#&#8203;60205](nodejs/node#60205)
- \[[`e5559f3be3`](nodejs/node@e5559f3be3)] - **win**: upgrade Visual Studio workload from 2019 to 2022 (Jiawen Geng) [#&#8203;60318](nodejs/node#60318)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
@github-actions github-actions Bot mentioned this pull request Nov 7, 2025
2025-11-11, Version 24.12.0 'Krypton' (LTS) #60615
Closed
aduh95 pushed a commit that referenced this pull request Nov 7, 2025
@Flarna @aduh95
doc, module: change async customization hooks to experimental
4d8f62a
There is ongoing work to replace async customization hooks by a
synchronous variant.
As a result bugs/design flaws or the async variant (thread leak,
overhead) are not addressed.
Adapt stability index to avoid wrong assumptions they might move to
stable.

Refs: nodejs/loaders#201
Refs: nodejs/loaders#198
PR-URL: #60302
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
@github-actions github-actions Bot mentioned this pull request Nov 7, 2025
2025-11-11, Version 24.11.1 'Krypton' (LTS) #60622
Merged
@legendecas legendecas mentioned this pull request Nov 25, 2025
doc: mark module.register as active development #60849
Merged
nodejs-github-bot pushed a commit that referenced this pull request Nov 27, 2025
@legendecas
doc: mark module.register as active development
ce29481
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
targos pushed a commit that referenced this pull request Nov 29, 2025
@legendecas @targos
doc: mark module.register as active development
c7bc5b5
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
aduh95 pushed a commit that referenced this pull request Jan 9, 2026
@legendecas @aduh95
doc: mark module.register as active development
9b507f3
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
RafaelGSS pushed a commit that referenced this pull request Jan 13, 2026
@legendecas @RafaelGSS
doc: mark module.register as active development
a10b313
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
aduh95 pushed a commit that referenced this pull request Jan 19, 2026
@legendecas @aduh95
doc: mark module.register as active development
1b975e3
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
aduh95 pushed a commit that referenced this pull request Feb 17, 2026
@Flarna @aduh95
doc, module: change async customization hooks to experimental
b6ba54c
There is ongoing work to replace async customization hooks by a
synchronous variant.
As a result bugs/design flaws or the async variant (thread leak,
overhead) are not addressed.
Adapt stability index to avoid wrong assumptions they might move to
stable.

Refs: nodejs/loaders#201
Refs: nodejs/loaders#198
PR-URL: #60302
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
aduh95 pushed a commit that referenced this pull request Feb 17, 2026
@legendecas @aduh95
doc: mark module.register as active development
704a557
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
aduh95 pushed a commit that referenced this pull request Feb 19, 2026
@Flarna @aduh95
doc, module: change async customization hooks to experimental
deb6d5d
There is ongoing work to replace async customization hooks by a
synchronous variant.
As a result bugs/design flaws or the async variant (thread leak,
overhead) are not addressed.
Adapt stability index to avoid wrong assumptions they might move to
stable.

Refs: nodejs/loaders#201
Refs: nodejs/loaders#198
PR-URL: #60302
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
aduh95 pushed a commit that referenced this pull request Feb 19, 2026
@legendecas @aduh95
doc: mark module.register as active development
65c7f5c
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
aduh95 pushed a commit that referenced this pull request Feb 21, 2026
@legendecas @aduh95
doc: mark module.register as active development
7a2786c
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
@aduh95 aduh95 mentioned this pull request Feb 22, 2026
V22.22.1 proposal #61947
Merged
aduh95 pushed a commit that referenced this pull request Feb 23, 2026
@legendecas @aduh95
doc: mark module.register as active development
1cb2fe8
PR-URL: #60849
Refs: #60302
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
@privatenumber privatenumber mentioned this pull request May 22, 2026
module: expose requestType to user hooks privatenumber/node#1
Draft
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@GeoffreyBooth GeoffreyBooth GeoffreyBooth left review comments
@aduh95 aduh95 aduh95 left review comments
@mcollina mcollina mcollina approved these changes
@cjihrig cjihrig cjihrig approved these changes
@JakobJingleheimer JakobJingleheimer JakobJingleheimer approved these changes
@joyeecheung joyeecheung joyeecheung approved these changes
@marco-ippolito marco-ippolito marco-ippolito approved these changes
@RaisinTen RaisinTen RaisinTen approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

commit-queue-squash PRs the Commit Queue should land as one squashed commit. doc Issues and PRs related to Node.js documentation. loaders Issues and PRs related to ES module loaders. module Issues and PRs related to the module subsystem.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

10 participants

@Flarna @nodejs-github-bot @joyeecheung @mcollina @GeoffreyBooth @cjihrig @JakobJingleheimer @aduh95 @marco-ippolito @RaisinTen
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.