Commit Graph

8539 Commits

Author SHA1 Message Date
Rafael Gonzaga
6f7f51b8f1 doc: clarify fileURLToPath security considerations
Add clarification that fileURLToPath() decodes encoded
dot-segments (%2e%2e) which are normalized as path traversal.
Applications must perform their own path validation to
prevent directory traversal attacks.

Also applies to fileURLToPathBuffer().

PR-URL: https://github.com/nodejs/node/pull/60887
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-11-30 22:02:12 +00:00
schliepa
d0c102495a doc: show the use of string expressions in the SQLTagStore example
If a users attempts to escape strings with quotes in SQLTagStore
template strings (`'${expression}'`), as is usually required for
SQL query strings, the queries would fail. This change shows an
example on the correct use (`${expression}`).

PR-URL: https://github.com/nodejs/node/pull/60873
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-11-30 13:31:56 +00:00
Deokjin Kim
6a80d0558a doc: replace column with columnNumber in example of util.getCallSites
`column` is deprecated in favor of `columnNumber`.

Refs: https://github.com/nodejs/node/pull/56584
PR-URL: https://github.com/nodejs/node/pull/60881
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-30 02:36:26 +00:00
xiaoyao
7643c2a076 doc: update debuglog examples to use 'foo-bar' instead of 'foo'
PR-URL: https://github.com/nodejs/node/pull/60867
Reviewed-By: Deokjin Kim <deokjin81.kim@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-11-29 02:18:49 +00:00
Riddhi
1b3a64deb4 doc: correct 'event handle' to 'event handler' in Utf8Stream drop event
PR-URL: https://github.com/nodejs/node/pull/60692
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2025-11-28 10:43:07 +00:00
Chengzhong Wu
ce29481a52 doc: mark module.register as active development
PR-URL: https://github.com/nodejs/node/pull/60849
Refs: https://github.com/nodejs/node/pull/60302
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
2025-11-27 10:36:29 +00:00
Michaël Zasso
0177491df2 doc: restore REPLACEME on assert change
The change was semver-major and didn't land on v25.x

Refs: https://github.com/nodejs/node/pull/60774
PR-URL: https://github.com/nodejs/node/pull/60848
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-27 08:45:00 +00:00
René
9c2500295e events: repurpose events.listenerCount() to accept EventTargets
PR-URL: https://github.com/nodejs/node/pull/60214
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2025-11-26 11:09:07 +00:00
PaulyBearCoding
90980932a4 doc: add fullName property to SuiteContext
Add documentation for the missing fullName property in SuiteContext.
This property returns the name of the suite and each of its ancestors,
separated by '>'.

The property has been available since v22.3.0 but was missing from the
documentation.

Fixes: https://github.com/nodejs/node/issues/60757
PR-URL: https://github.com/nodejs/node/pull/60762
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2025-11-25 19:34:19 +00:00
Marco Ippolito
ae62b36d44 2025-11-25, Version 20.19.6 'Iron' (LTS)
Notable changes:

crypto:
  * update root certificates to NSS 3.114 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/59571
doc:
  * update the instruction on how to verify releases (Antoine du Hamel) https://github.com/nodejs/node/pull/59113
  * deprecate HTTP/2 priority signaling (Matteo Collina) https://github.com/nodejs/node/pull/58313

PR-URL: https://github.com/nodejs/node/pull/60784
2025-11-25 13:25:23 +01:00
Augustin Mauroy
bed8e2aa74 doc: add additional codemods for deprecation
PR-URL: https://github.com/nodejs/node/pull/60811
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2025-11-24 09:44:56 +00:00
Marco Ippolito
1758b74829 src: implicitly enable namespace in config
PR-URL: https://github.com/nodejs/node/pull/60798
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-11-23 09:39:59 +00:00
Marco Ippolito
8b769cff60 src: rename config file testRunner to test
PR-URL: https://github.com/nodejs/node/pull/60798
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-11-23 09:39:56 +00:00
Sebastian Beltran
93c25815ee http: move writeHeader to end-of-life
PR-URL: https://github.com/nodejs/node/pull/60635
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2025-11-21 19:49:23 +00:00
Azad Gupta
774e5647be doc: correct concurrency wording in test() documentation
PR-URL: https://github.com/nodejs/node/pull/60773
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
2025-11-20 10:52:50 +00:00
Marco Ippolito
0b6ae6df14 src: add permission support to config file
PR-URL: https://github.com/nodejs/node/pull/60746
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-11-18 13:09:57 +00:00
Ilyas Shabi
900d329ef5 node-api: add support for Float16Array
PR-URL: https://github.com/nodejs/node/pull/58879
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-11-18 07:09:43 +00:00
Joyee Cheung
61cf89cb35 doc,test: add documentation and test on how to use addons in SEA
PR-URL: https://github.com/nodejs/node/pull/59582
Fixes: https://github.com/nodejs/node/issues/60611
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-11-17 04:41:11 +00:00
Antoine du Hamel
3330e5caf1 doc,src,lib: clarify experimental status of Web Storage support
PR-URL: https://github.com/nodejs/node/pull/60708
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
2025-11-16 15:03:06 +00:00
Hans Klunder
33b1574cbf lib: add support for readable byte streams to .toWeb()
Add support for the creation of ReadableByteStream to Readable.toWeb()
and Duplex.toWeb()
This enables the use of .getReader({ mode: "byob" }) on
e.g. socket().toWeb()

Refs: https://github.com/nodejs/node/issues/56004#issuecomment-2908265316
Refs: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_byte_streams
PR-URL: https://github.com/nodejs/node/pull/58664
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Mattias Buelens <mattias@buelens.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-11-16 06:51:24 +00:00
René
1ce22dd4d6 doc: correct and expand documentation for SQLTagStore
PR-URL: https://github.com/nodejs/node/pull/60200
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-11-16 01:12:09 +00:00
René
478a5e6287 doc: correct tls ALPNProtocols types
PR-URL: https://github.com/nodejs/node/pull/60143
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
2025-11-15 21:38:08 +00:00
Antoine du Hamel
af10a4ba88 doc: add info about renamed flag in cli.md
PR-URL: https://github.com/nodejs/node/pull/60690
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
2025-11-14 08:39:38 +00:00
Kevin Eady
9cbf4c9e43 node-api: support SharedArrayBuffer in napi_create_dataview
PR-URL: https://github.com/nodejs/node/pull/60473
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2025-11-13 21:45:17 +00:00
Artsiom Malakhau
9bc6ebb20a doc: fix incorrect slh-dsa oids in crypto.md
Correct wrong object identifiers listed for slh-dsa algorithms in
doc/api/crypto.md. the valid range is from id-slh-dsa-sha2-128s
(2.16.840.1.101.3.4.3.20) through id-slh-dsa-shake-256f
(2.16.840.1.101.3.4.3.31), as defined in the ietf
draft-ietf-lamps-x509-slhdsa.

Fixes: https://github.com/nodejs/node/issues/60680
Refs: https://datatracker.ietf.org/doc/draft-ietf-lamps-x509-slhdsa/
PR-URL: https://github.com/nodejs/node/pull/60681
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
2025-11-13 16:44:24 +00:00
René
9079d3fd50 doc: domain.add() does not accept timer objects
PR-URL: https://github.com/nodejs/node/pull/60675
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
2025-11-13 04:10:29 +00:00
Node.js GitHub Bot
42d3632057 2025-11-11, Version 25.2.0 (Current)
Notable changes:

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

PR-URL: https://github.com/nodejs/node/pull/60677
2025-11-11 23:27:20 +01:00
N. Bighetti
38af5317b4 doc: fix link in --env-file=file section
PR-URL: https://github.com/nodejs/node/pull/60563
Fixes: https://github.com/nodejs/node/issues/60562
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-11-08 21:00:49 +01:00
Antoine du Hamel
b98ada27e7 doc: fix linter issues
PR-URL: https://github.com/nodejs/node/pull/60636
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2025-11-08 17:09:29 +00:00
Antoine du Hamel
828cd8ae6a doc: add missing history entry for sqlite.md
PR-URL: https://github.com/nodejs/node/pull/60607
Fixes: https://github.com/nodejs/node/issues/60601
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-11-08 16:56:14 +00:00
René
9f01ff2914 doc: correct values/references for buffer.kMaxLength
PR-URL: https://github.com/nodejs/node/pull/60305
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-08 15:04:51 +00:00
Dan Fabulich
3dd26f32fb doc: recommend events.once to manage 'close' event
`events.once` is a great way to manage the `close` / `error` / `exit`
events of a child process. It creates a Promise that is fulfilled when
the EventEmitter emits the given event or that is rejected if the
EventEmitter emits 'error' while waiting.

I think a lot of people wrongly think that managing a spawned child
process requires writing boilerplate handlers for `close` and `error`,
and that there's no `promisify` solution for spawned child processes. In
fact, `events.once` is that solution. The docs should explicitly
recommend it in examples.

PR-URL: https://github.com/nodejs/node/pull/60017
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2025-11-08 15:04:44 +00:00
Ajay A
343689f975 doc: highlight module loading difference between import and require
PR-URL: https://github.com/nodejs/node/pull/59815
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-11-08 15:04:35 +00:00
Allon Murienik
b8e51e4cef doc: add CJS code snippets in sqlite.md
Refs: https://github.com/nodejs/node/issues/60394
PR-URL: https://github.com/nodejs/node/pull/60395
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-08 16:01:50 +01:00
우혁
887e3eca98 doc: fix typo in process.unref documentation
PR-URL: https://github.com/nodejs/node/pull/59698
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-08 15:55:15 +01:00
JaeHo Jang
1727a8f1b2 doc: improve agent.createConnection docs for http and https agents
PR-URL: https://github.com/nodejs/node/pull/58205
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-11-08 14:34:58 +00:00
chirsz
6225189de9 doc: fix pseudo code in modules.md
This problem was introduced in PR #38837.

PR-URL: https://github.com/nodejs/node/pull/57677
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-11-08 14:34:49 +00:00
Koushil Mankali
ca91969808 doc: add missing variable in code snippet
`node:http`' `request.reusedSocket` documentation sample code was
referencing an undeclared `agent` identifier.

PR-URL: https://github.com/nodejs/node/pull/55478
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-08 15:24:11 +01:00
Konstantin Tsabolov
e9ef0a10f0 doc: add missing word in single-executable-applications.md
PR-URL: https://github.com/nodejs/node/pull/53864
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2025-11-08 15:18:50 +01:00
Marco Ippolito
8e5c80d108 module: mark type stripping as stable
PR-URL: https://github.com/nodejs/node/pull/60600
Refs: https://github.com/nodejs/typescript/issues/24
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruy Adorno <ruy@vlt.sh>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2025-11-08 09:36:45 +00:00
Caio Lima
ed6569c753 v8: adding total_allocated_bytes to HeapStatistics
PR-URL: https://github.com/nodejs/node/pull/60573
Reviewed-By: theanarkh <theratliter@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-11-07 15:56:41 +00:00
Filip Skokan
c2d14c1514 doc,crypto: link keygen to supported types
PR-URL: https://github.com/nodejs/node/pull/60585
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-07 09:55:31 +00:00
Rafael Gonzaga
cfa11ba893 lib: add options to util.deprecate
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: https://github.com/nodejs/node/pull/59982
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-11-05 02:52:26 +00:00
Michael Solomon
f4145f0451 doc: fix typo in http.md
PR-URL: https://github.com/nodejs/node/pull/59354
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: theanarkh <theratliter@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
2025-11-04 22:37:12 +00:00
Rod Vagg
71da1a8495 net: increase network family autoselection timeout to 500ms
The current 250ms timeout is too short for high-latency network
environments, causing connection failures in IPv4-only networks when
connecting to dual-stack hosts. This increases the timeout to 500ms
to better handle satellite, cellular, and geographically distant
connections.

The timeout should be reconsidered when parallel connections are
implemented as per RFC 8305.

Refs: https://github.com/nodejs/node/issues/54359
Refs: https://github.com/nodejs/node/issues/48145
PR-URL: https://github.com/nodejs/node/pull/60334
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2025-11-04 17:56:49 +00:00
Tim Perry
4346c0f7a7 http: fix handling of HTTP upgrades with bodies
Previously, we ignored all indicators of the body (content-length or
transfer-encoding headers) and treated any information following
the headers as part of the upgraded stream. We now fully process the
requests bodies separately instead, allowing us to automatically handle
correct parsing of the body like any other HTTP request.

This is a breaking change if you are currently accepting HTTP Upgrade
requests with request bodies successfully, or if you use
socket-specific fields & methods on the upgraded stream argument.

In the former case, before now you will have received the request body
and then the upgraded data on the same stream without any distinction
or HTTP parsing applied. Now, you will need to separately read the
request body from the request (the 1st argument) and the upgraded
data from the upgrade stream (the 2nd argument). If you're not
interested in request bodies, you can continue to just read from the
upgrade stream directly.

In the latter case, if you want to access the raw socket, you should do
so via request.socket, instead of expecting the 2nd argument to be a
socket.

PR-URL: https://github.com/nodejs/node/pull/60016
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-11-03 17:19:33 +00:00
dynst
601208b671 doc: clarify require(esm) description
PR-URL: https://github.com/nodejs/node/pull/60520
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2025-11-02 20:58:17 +00:00
Donghoon Nam
0de8425dc9 doc: instantiate resolver object
PR-URL: https://github.com/nodejs/node/pull/60476
Fixes: https://github.com/nodejs/node/issues/60455
Refs: https://nodejs.org/api/stream.html#readabletoarrayoptions
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-11-02 19:09:37 +00:00
Darshan Sen
f46152fdb3 http2: add diagnostics channels for client stream request body
These would allow inspection of HTTP/2 client stream request bodies.

Signed-off-by: Darshan Sen <raisinten@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/60480
Reviewed-By: Ilyas Shabi <ilyasshabi94@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2025-11-01 19:56:44 +05:30
Joyee Cheung
3e31baeda6 esm: use sync loading/resolving on non-loader-hook thread
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: https://github.com/nodejs/node/pull/60380
Fixes: https://github.com/nodejs/node/issues/59666
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
2025-10-31 20:45:10 +00:00