452 Commits
Author SHA1 Message Date
Rafael Gonzaga a7e06d975d permission: reject wildcard references when dropping env
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: https://github.com/nodejs/node/pull/66773
Reviewed-By: James M Snell <jasnell@gmail.com>
2026-10-22 20:12:12 +00:00
Matteo Collina 9a9f7e87b8 process: return unregister fn from finalization
process.finalization.register() and registerBeforeExit() now return
a function that removes only that registration, leaving other
registrations for the same object in place. The function does not
hold a strong reference to the object.

Each registration now uses its WeakRef as the unregister token, which
also makes process.finalization.unregister() remove the entries from
the FinalizationRegistry; previously it passed the object as the
token, which was never registered, so the call had no effect.

Refs: https://github.com/nodejs/node/pull/66482

Signed-off-by: Matteo Collina <matteo.collina@gmail.com>
Assisted-by: pi
PR-URL: https://github.com/nodejs/node/pull/66482
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2026-10-18 06:36:43 +00:00
Node.js GitHub Bot 496b48b477 2026-10-14, Version 26.12.0 (Current)
Notable changes:

doc,lib,src:
  * (SEMVER-MINOR) throw on missing WebAssembly or RX support (Paolo Insogna) https://github.com/nodejs/node/pull/66533
http:
  * (SEMVER-MINOR) add websocketMask() and websocketUnmask() (James M Snell) https://github.com/nodejs/node/pull/66335

PR-URL: https://github.com/nodejs/node/pull/66684
Signed-off-by: Richard Lau <richard.lau@ibm.com>
2026-10-14 15:17:15 +00:00
Matteo Collina 4e09bf3fb2 process: mark process.finalization as release candidate
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: https://github.com/nodejs/node/pull/66436
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: James M Snell <jasnell@gmail.com>
2026-10-10 11:57:54 +02:00
Rafael Gonzaga 3d92fafa67 doc: document URL and Uint8Array references in process.permission
This was missed in https://github.com/nodejs/node/pull/65492.

Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: https://github.com/nodejs/node/pull/66557
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2026-10-08 20:58:43 +00:00
Node.js GitHub Bot 4fa5145b06 2026-10-07, Version 26.11.0 (Current)
Notable changes:

buffer:
  * (SEMVER-MINOR) add isLatin1 (James M Snell) https://github.com/nodejs/node/pull/66298
  * (SEMVER-MINOR) add Buffer.stringLength() (Matteo Collina) https://github.com/nodejs/node/pull/66064
build, doc:
  * move to redesign (Aviv Keller) https://github.com/nodejs/node/pull/62045
doc:
  * promote Alpine Linux to tier 2 support (Stewart X Addison) https://github.com/nodejs/node/pull/63737
http:
  * (SEMVER-MINOR) add isValidHeaderName() and isValidHeaderValue() (James M Snell) https://github.com/nodejs/node/pull/66334
http2:
  * (SEMVER-MINOR) add new connectionWindowSize option (Tim Perry) https://github.com/nodejs/node/pull/65619
perf_hooks:
  * (SEMVER-MINOR) fix truncation of monitorEventLoopDelay() resolution (James M Snell) https://github.com/nodejs/node/pull/66115
  * (SEMVER-MINOR) allow RecordableHistogram to record 0 (James M Snell) https://github.com/nodejs/node/pull/66114
  * (SEMVER-MINOR) add histogram.diff() (James M Snell) https://github.com/nodejs/node/pull/66099
  * (SEMVER-MINOR) add histogram.snapshot() (James M Snell) https://github.com/nodejs/node/pull/66099
  * (SEMVER-MINOR) harden histogram CBOR import validation (James M Snell) https://github.com/nodejs/node/pull/66098
process:
  * (SEMVER-MINOR) graduate process.ref/unref from experimental (James M Snell) https://github.com/nodejs/node/pull/66213
sqlite:
  * (SEMVER-MINOR) rename DatabaseSync and StatementSync (Guilherme Araújo) https://github.com/nodejs/node/pull/65988
src:
  * (SEMVER-MINOR) add --process-timeout=N (James M Snell) https://github.com/nodejs/node/pull/66138
  * (SEMVER-MINOR) expose size and count in heap profile output (Ilyas Shabi) https://github.com/nodejs/node/pull/65737
  * (SEMVER-MINOR) let embedders exempt linked bindings from the addon permission (Shelley Vohr) https://github.com/nodejs/node/pull/66067

PR-URL: https://github.com/nodejs/node/pull/66546
2026-10-07 16:40:44 +02:00
James M Snell f378cfcfbf src,lib: add --allow-env permission
Necessarily semver-major.

When `--permission` is on, every env var not matched by
`--allow-env` is removed at startup. It takes names,
prefix patterns (`PREFIX_*`), or `*`, repeatable or
comma-sep'd.

There are a range of env vars that Node.js itself uses,
and a default range that are generally known to be safe
in common usage. These are never scrubbed. These include
things like `NODE_OPTIONS`, `NODE_EXTRA_CA_CERTS`, `PATH`,
`HOME`, etc. `NODE_ENV` is not in the defaults and must
be allowed explicitly.

Proxy vars (`HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY`) are
also not in the defaults since they can carry credentials.
When `--use-env-proxy` or `NODE_USE_ENV_PROXY` is set and
any of them were removed, a single warning naming them is
emitted.

Env vars can be dropped at runtime after reading using
`permission.drop()`. This is a stronger protection than
using `process.env.FOO = undefined` because it will
scrub the env var also from the environment block.

On Linux, the removed entries are overwritten in the
initial environment block. fs reads of any other
process's /proc/<pid>/environ, ancestors included, are
denied regardless of `--allow-fs-read`. A process's own
is readable only with `--allow-env=*`. Symlinks are
resolved before the check so paths like
/dev/fd/../../<ppid>/environ are caught. The check only
canonicalizes paths that statfs() reports are on procfs.

On Windows, removal also clears the C runtime's copy
of the environ using _wputenv_s.

Reading a removed name returns undefined, warns once per
name, and publishes to a diagnostics channel.

Env file keys are allowed. If the user had reason to pass
in an env file the assumption is they meant to allow them.

File-source config (node.config.json and NODE_OPTIONS
from a .env file) can only narrow the allow list.

Embedders must call ScrubProcessEnvironment() themselves
on startup. This is left up to the embedder to determine
the exact timing but needs to be called before startup
actually happens.

Child processes are started with `--allow-env=*`. Those
either receive the explicit env they were started with
or only the env they inherit from the parent. Since the
parent process is scrubbed, and the child cannot read
any other process's /proc/<pid>/environ, it should never
see more than the parent can.

Main part of the impl was done by hand. Docs, tests,
verification pass, and cleanup nits were automated.

Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode
PR-URL: https://github.com/nodejs/node/pull/66132
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2026-09-26 21:18:43 +00:00
James M Snell 823d229adc src: add --process-timeout=N
Putting a time limit on a Node.js process is common in many
use cases, but each of the common approaches are generally
flawed.

OS and CI timeouts are inconsistent and blind. Every OS flavor
handles process timeouts in different ways. Stock macOS and
Windows do not ship coreutils `timeout`, etc. None of the options
can explain why the process was still running or what exactly
was interrupted. Using setTimeout only fires when the event loop
is free so it misses busy loops and thread blocks and cannot
see the stack. Diagnostics triggered by signal have the same
problem.

This introduces a `--process-timeout` that should work
consistently across all runtimes. A native watchdog thread
interrupts the main thread, even in the middle of running
code. It prints the JavaScript stack (if any) and resources
keeping the event loop alive (if any), and can optionally
print a full diagnostic report. The process exits with a
distinct code (124). If the main thread is stuck in native
code, the process still exits.

    $ node --process-timeout=10s -e "while(true) {}"
    (node:483970) Process timed out after 10s (--process-timeout). Exiting with code 124.
    Main thread was executing JavaScript:
        at [eval]:1:1
        at runScriptInThisContext (node:internal/vm:219:10)
        at node:internal/process/execution:485:12
        at [eval]-wrapper:6:24
        at runScriptInContext (node:internal/process/execution:483:60)
        at evalFunction (node:internal/process/execution:317:30)
        at evalTypeScript (node:internal/process/execution:329:3)
        at node:internal/main/eval_string:71:3
    No resources keeping the event loop alive were found.

Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode
PR-URL: https://github.com/nodejs/node/pull/66138
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2026-09-25 20:28:33 +00:00
James M Snell f950eb827b process: graduate process.ref/unref from experimental
These have been shipped and stable since v22/v23

Signed-off-by: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/66213
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2026-09-24 22:34:47 +00:00
Som Samantray 36a450287e doc: clarify signal listener behavior
Signed-off-by: Som Samantray <Som.samantray@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/65243
Fixes: https://github.com/nodejs/node/issues/28502
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2026-08-28 17:41:12 +00:00
Node.js GitHub Bot b7ca36421c 2026-08-26, Version 24.20.0 'Krypton' (LTS)
Notable changes:

async_hooks:
  * (SEMVER-MINOR) add `using` scopes to `AsyncLocalStorage` (Stephen Belanger) https://github.com/nodejs/node/pull/61674
benchmark:
buffer:
  * (SEMVER-MINOR) add `end` parameter (Robert Nagy) https://github.com/nodejs/node/pull/62390
crypto:
  * update root certificates to NSS 3.125 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/64746
doc:
  * add MikeMcC399 as collaborator (Mike McCready) https://github.com/nodejs/node/pull/64656
lib,permission:
  * (SEMVER-MINOR) add `permission.drop` (Rafael Gonzaga) https://github.com/nodejs/node/pull/62672
loader:
  * (SEMVER-MINOR) implement package maps (Maël Nison) https://github.com/nodejs/node/pull/62239
src,permission:
  * (SEMVER-MINOR) add `--permission-audit` (RafaelGSS) https://github.com/nodejs/node/pull/61869
stream:
  * (SEMVER-MINOR) implement `node:stream/iter` (James M Snell) https://github.com/nodejs/node/pull/62066
test_runner:
  * (SEMVER-MINOR) add `context.log()` and `test:log` event (Moshe Atlow) https://github.com/nodejs/node/pull/64389
  * (SEMVER-MINOR) report `entryFile` in `TestStream` events (Moshe Atlow) https://github.com/nodejs/node/pull/64309
wasm:
  * (SEMVER-MINOR) enable JSPI (Guy Bedford) https://github.com/nodejs/node/pull/59941

PR-URL: https://github.com/nodejs/node/pull/65461
2026-08-26 16:23:36 +02:00
greenhead 808904f229 doc: fix typos in documentation
Signed-off-by: greenhead <shren0812@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/64900
Reviewed-By: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
2026-08-03 11:44:23 +00:00
Filip Skokan 565c3daebf crypto: support loading private keys through STORE loaders
Accept WHATWG URL objects in private-key inputs and load referenced keys
through OpenSSL STORE loaders. Pass optional property queries and
passphrases while preserving provider-owned EVP_PKEY objects for
ordinary KeyObject and CryptoKey operations.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/63949
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2026-08-02 20:18:09 +00:00
Adrián Estrada 553fe254cc doc: document --permission-audit audit mode behavior
Expand the documentation for the --permission-audit flag, which was
fixed in 51c09eae6c to no longer throw ERR_ACCESS_DENIED on denied
operations. The previous docs only had a two-sentence description in
cli.md and no mention in the permissions guide or process.permission
API docs.

- permissions.md: add enforce vs audit mode overview, a new
  "Audit Mode" subsection listing the diagnostics channel names
  (node:permission-model:*) and the { permission, resource } message
  shape, and a usage example. Update the Runtime API section to
  mention both --permission and --permission-audit.
- cli.md: expand the --permission-audit section to clarify that
  --permission is not required, --allow-* flags are not needed,
  errors are not thrown, and --permission takes precedence when both
  are set. Add a cross-reference from --permission to
  --permission-audit.
- process.md: note that process.permission is available under both
  flags, and clarify permission.has() and permission.drop() behavior
  in audit mode.
- node.1: regenerated via `make node.1`.

Refs: https://github.com/nodejs/node/pull/64426
Signed-off-by: Adrian Estrada <edsadr@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/64791
Reviewed-By: Aviv Keller <me@aviv.sh>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-07-29 22:44:06 +00:00
Antoine du Hamel 6d02b36f30 2026-06-01, Version 26.3.0 (Current)
Notable changes:

buffer:
  * (SEMVER-MINOR) increase `Buffer.poolSize` default to 64 KiB (Matteo Collina) https://github.com/nodejs/node/pull/63597
crypto:
  * update root certificates to NSS 3.123.1 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/63527
doc:
  * downgrade macOS x64 support to Tier 2 (Antoine du Hamel) https://github.com/nodejs/node/pull/63055
http:
  * (SEMVER-MINOR) add `httpValidation` option to configure header value validation (RajeshKumar11) https://github.com/nodejs/node/pull/61597
inspector:
  * (SEMVER-MINOR) expose precise coverage start to JS runtime (sangwook) https://github.com/nodejs/node/pull/63079
lib,permission:
  * (SEMVER-MINOR) add `permission.drop` (Rafael Gonzaga) https://github.com/nodejs/node/pull/62672

PR-URL: https://github.com/nodejs/node/pull/63664
2026-06-01 15:01:03 +02:00
Rafael Gonzaga 956e2a2b86 lib,permission: add permission.drop
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: https://github.com/nodejs/node/pull/62672
Refs: https://github.com/nodejs/node/issues/62223
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2026-05-26 13:40:14 +00:00
Antoine du Hamel 49aef0d3f5 doc: remove unnecessary <!-- eslint- magic comments
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/63200
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2026-05-10 15:06:35 +00:00
Antoine du Hamel ccab9ac506 doc: fix inconsistencies in CJS code snippets
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/63199
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2026-05-10 14:16:15 +00:00
Antoine du Hamel a725fe1389 2026-05-07, Version 26.1.0 (Current)
Notable changes:

buffer:
  * (SEMVER-MINOR) add `end` parameter (Robert Nagy) https://github.com/nodejs/node/pull/62390
crypto:
  * (SEMVER-MINOR) accept key data in `crypto.diffieHellman()` and cleanup DH jobs (Filip Skokan) https://github.com/nodejs/node/pull/62527
  * (SEMVER-MINOR) implement `randomUUIDv7()` (nabeel378) https://github.com/nodejs/node/pull/62553
debugger:
  * (SEMVER-MINOR) add edit-free runtime expression probes to `node inspect` (Joyee Cheung) https://github.com/nodejs/node/pull/62713
fs:
  * (SEMVER-MINOR) add `signal` option to `fs.stat()` (Mert Can Altin) https://github.com/nodejs/node/pull/57775
  * (SEMVER-MINOR) expose frsize field in statfs (Jinho Jang) https://github.com/nodejs/node/pull/62277
http:
  * (SEMVER-MINOR) harden `ClientRequest` options merge (Matteo Collina) https://github.com/nodejs/node/pull/63082
  * (SEMVER-MINOR) add `req.signal` to `IncomingMessage` (Akshat) https://github.com/nodejs/node/pull/62541
lib,src,test,doc:
  * (SEMVER-MINOR) add `node:ffi` module (Colin Ihrig) https://github.com/nodejs/node/pull/62072
process:
  * (SEMVER-MINOR) throw on `execve(2)` failure instead of aborting (Bryan English) https://github.com/nodejs/node/pull/62878
src:
  * (SEMVER-MINOR) allow empty `--experimental-config-file` (Marco Ippolito) https://github.com/nodejs/node/pull/61610
stream:
  * (SEMVER-MINOR) propagate destruction in `duplexPair` (Ahmed Elhor) https://github.com/nodejs/node/pull/61098
test_runner:
  * (SEMVER-MINOR) align mock timeout api (sangwook) https://github.com/nodejs/node/pull/62820
  * (SEMVER-MINOR) add mock-timers support for `AbortSignal.timeout` (DeveloperViraj) https://github.com/nodejs/node/pull/60751
  * (SEMVER-MINOR) support test order randomization (Pietro Marchini) https://github.com/nodejs/node/pull/61747
util:
  * (SEMVER-MINOR) colorize text with hex colors (Guilherme Araújo) https://github.com/nodejs/node/pull/61556

PR-URL: https://github.com/nodejs/node/pull/63137
2026-05-07 12:01:50 +02:00
Rafael Gonzaga a641226c91 doc: fix lint-md
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: https://github.com/nodejs/node/pull/63127
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2026-05-05 16:14:46 +00:00
RafaelGSS 9e633f94ce 2026-05-05, Version 26.0.0 (Current)
assert:
  * (SEMVER-MAJOR) allow printf-style messages as assertion error (Ruben Bridgewater) https://github.com/nodejs/node/pull/58849
build:
  * (SEMVER-MAJOR) bump GCC requirement to 13.2 (Michaël Zasso) https://github.com/nodejs/node/pull/62555
  * (SEMVER-MAJOR) enable Temporal by default (Richard Lau) https://github.com/nodejs/node/pull/61806
  * (SEMVER-MAJOR) enable V8_VERIFY_WRITE_BARRIERS in debug build (Joyee Cheung) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) target Power 9 for AIX/IBM i (Richard Lau) https://github.com/nodejs/node/pull/62296
  * (SEMVER-MAJOR) drop support for Python 3.9 (Mike McCready) https://github.com/nodejs/node/pull/61177
  * (SEMVER-MAJOR) enable maglev for Linux on s390x (Richard Lau) https://github.com/nodejs/node/pull/60863
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/60488
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/60111
build,test:
  * (CVE-2026-21717) (SEMVER-MAJOR) test array index hash collision (Joyee Cheung) https://github.com/nodejs/node/pull/61898
build,win:
  * (SEMVER-MAJOR) fix Temporal build (StefanStojanovic) https://github.com/nodejs/node/pull/61806
crypto:
  * (SEMVER-MAJOR) unify asymmetric key import through KeyObjectHandle::Init (Filip Skokan) https://github.com/nodejs/node/pull/62499
  * (SEMVER-MAJOR) runtime-deprecate DEP0203 and DEP0204 (Filip Skokan) https://github.com/nodejs/node/pull/62453
  * (SEMVER-MAJOR) decorate async crypto job errors with OpenSSL error details (Filip Skokan) https://github.com/nodejs/node/pull/62348
  * (SEMVER-MAJOR) default ML-KEM and ML-DSA pkcs8 export to seed-only format (Filip Skokan) https://github.com/nodejs/node/pull/62178
  * (SEMVER-MAJOR) move DEP0182 to End-of-Life (Tobias Nießen) https://github.com/nodejs/node/pull/61084
  * (SEMVER-MAJOR) fix DOMException name for non-extractable key error (Filip Skokan) https://github.com/nodejs/node/pull/60830
deps:
  * (SEMVER-MAJOR) V8: cherry-pick 0f024d4e66e0 (ishabi) https://github.com/nodejs/node/pull/62408
  * (SEMVER-MAJOR) fix V8 race condition for AIX (Abdirahim Musse) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick cd2c216e7658 (LuYahan) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: backport 088b7112e7ab (Igor Sheludko) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick 00f6e834029f (Joyee Cheung) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: backport bef0d9c1bc90 (Joyee Cheung) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick cf1bce40a5ef (Richard Lau) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick daf4656ba85e (Milad Fa) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick d83f479604c8 (Joyee Cheung) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick edeb0a4fa181 (Joyee Cheung) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick aa0b288f87cc (Richard Lau) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) patch V8 to fix Windows build (StefanStojanovic) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) V8: cherry-pick highway@989a498fdf3 (Richard Lau) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) support madvise(3C) across ALL illumos revisions (Dan McDonald) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) update V8 to 14.6.202.33 (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) update undici to 8.0.2 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/62384
  * (SEMVER-MAJOR) V8: backport 151d0a44a1b2 (Abdirahim Musse) https://github.com/nodejs/node/pull/60488
  * (SEMVER-MAJOR) V8: cherry-pick 47800791b35c (Jakob Kummerow) https://github.com/nodejs/node/pull/60488
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/54077
  * (SEMVER-MAJOR) update V8 to 14.3.127.12 (Michaël Zasso) https://github.com/nodejs/node/pull/60488
  * (SEMVER-MAJOR) V8: cherry-pick ff34ae20c8e3 (Chengzhong Wu) https://github.com/nodejs/node/pull/60111
  * (SEMVER-MAJOR) V8: backport fed47445bbdd (Abdirahim Musse) https://github.com/nodejs/node/pull/60111
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/54077
  * (SEMVER-MAJOR) update V8 to 14.2.231.9 (Michaël Zasso) https://github.com/nodejs/node/pull/60111
diagnostics_channel:
  * (SEMVER-MAJOR) ensure tracePromise consistency with non-Promises (René) https://github.com/nodejs/node/pull/61766
doc:
  * (SEMVER-MAJOR) remove extensionless CJS exception for type:module packages (Matteo Collina) https://github.com/nodejs/node/pull/62176
  * (SEMVER-MAJOR) update supported Windows SDK version to 11 (Mike McCready) https://github.com/nodejs/node/pull/61973
  * (SEMVER-MAJOR) drop p8 and z13 support (Milad Fa) https://github.com/nodejs/node/pull/61005
http:
  * (SEMVER-MAJOR) move writeHeader to end-of-life (Sebastian Beltran) https://github.com/nodejs/node/pull/60635
  * (SEMVER-MAJOR) fix handling of HTTP upgrades with bodies (Tim Perry) https://github.com/nodejs/node/pull/60016
lib:
  * (SEMVER-MAJOR) return undefined for localStorage without file (Matteo Collina) https://github.com/nodejs/node/pull/61333
lib,src:
  * (SEMVER-MAJOR) implement QuotaExceededError as DOMException-derived interface (Filip Skokan) https://github.com/nodejs/node/pull/62293
module:
  * (SEMVER-MAJOR) runtime-deprecate module.register() (Geoffrey Booth) https://github.com/nodejs/node/pull/62401
  * (SEMVER-MAJOR) remove --experimental-transform-types (Marco Ippolito) https://github.com/nodejs/node/pull/61803
src:
  * (SEMVER-MAJOR) replace uses of deprecated v8::External APIs (gahaas) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) stop using `v8::PropertyCallbackInfo<T>::This()` (Igor Sheludko) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) avoid deprecated Wasm API (Clemens Backes) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) avoid deprecated `FixedArray::Get` (Clemens Backes) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 147 (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) remove deprecated and unused isolate fields (Michaël Zasso) https://github.com/nodejs/node/pull/60488
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 144 (Michaël Zasso) https://github.com/nodejs/node/pull/60488
  * (SEMVER-MAJOR) include `node_api_types.h` instead of `node_api.h` in `node.h` (Anna Henningsen) https://github.com/nodejs/node/pull/60496
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 142 (Michaël Zasso) https://github.com/nodejs/node/pull/60111
stream:
  * (SEMVER-MAJOR) promote DEP0201 to runtime deprecation (René) https://github.com/nodejs/node/pull/62173
  * (SEMVER-MAJOR) move _stream_* to end-of-life (Sebastian Beltran) https://github.com/nodejs/node/pull/60657
  * (SEMVER-MAJOR) readable read one buffer at a time (Robert Nagy) https://github.com/nodejs/node/pull/60441
  * (SEMVER-MAJOR) preserve AsyncLocalStorage on finished only when needed (avcribl) https://github.com/nodejs/node/pull/59873
test:
  * (SEMVER-MAJOR) skip wasm allocation tests in workers (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) update wpt Wasm jsapi expectations (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) support presence of Temporal global (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) add type tags to uses of v8::External (gahaas) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) fix test-linux-perf-logger for V8 14.3 (Michaël Zasso) https://github.com/nodejs/node/pull/60488
tools:
  * (SEMVER-MAJOR) remove v8_initializers_slow workaround from v8.gyp (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) add Rust args to `tools/make-v8.sh` (Richard Lau) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) update V8 gypfiles for 14.6 (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) update V8 gypfiles for 14.5 (Michaël Zasso) https://github.com/nodejs/node/pull/61898
  * (SEMVER-MAJOR) update V8 gypfiles for 14.4 (Michaël Zasso) https://github.com/nodejs/node/pull/61898
util:
  * (SEMVER-MAJOR) mark proxied objects as such when inspecting them (Ruben Bridgewater) https://github.com/nodejs/node/pull/61029
  * (SEMVER-MAJOR) reduce TextEncoder.encodeInto function size (Yagiz Nizipli) https://github.com/nodejs/node/pull/60339

PR-URL: https://github.com/nodejs/node/pull/62526
2026-05-05 11:17:12 -03:00
Bryan English 0a9b67e529 process: throw on execve(2) failure instead of aborting
When the underlying execve(2) system call fails, process.execve()
previously printed an error to stderr and called ABORT(), preventing
JS code from detecting or recovering from common failures such as a
missing binary. Throw an ErrnoException instead, carrying the standard
code, errno, syscall, and path properties.

To leave the process in a clean state when execve(2) fails, no longer
run native AtExit callbacks before the call (their in-memory effects
are discarded on success anyway), and snapshot and restore the
FD_CLOEXEC flags on stdio so a failed call has no observable side
effects. Rename and update test-process-execve-abort.js accordingly
and document the new behavior.

Signed-off-by: Bryan English <bryan@bryanenglish.com>
PR-URL: https://github.com/nodejs/node/pull/62878
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2026-04-27 11:27:39 +00:00
cjihrigandPaolo Insogna d0fa608c07 lib,src,test,doc: add node:ffi module
PR-URL: https://github.com/nodejs/node/pull/62072
Co-authored-by: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Bryan English <bryan@bryanenglish.com>
2026-04-14 10:44:30 +01:00
Antoine du Hamel 86282b56d2 2026-04-01, Version 25.9.0 (Current)
Notable changes:

async_hooks:
  * (SEMVER-MINOR) add using scopes to `AsyncLocalStorage` (Stephen Belanger) https://github.com/nodejs/node/pull/61674
cli:
  * (SEMVER-MINOR) add `--max-heap-size` option (tannal) https://github.com/nodejs/node/pull/58708
crypto:
  * (SEMVER-MINOR) add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) https://github.com/nodejs/node/pull/62183
repl:
  * (SEMVER-MINOR) add customizable error handling (Anna Henningsen) https://github.com/nodejs/node/pull/62188
  * (SEMVER-MINOR) remove dependency on `node:domain` (Matteo Collina) https://github.com/nodejs/node/pull/61227
sea:
  * (SEMVER-MINOR) support code cache for ESM entrypoint in SEA (Joyee Cheung) https://github.com/nodejs/node/pull/62158
stream:
  * (SEMVER-MINOR) add stream/iter Implementation (James M Snell) https://github.com/nodejs/node/pull/62066
test_runner:
  * add exports option for module mocks (sangwook) https://github.com/nodejs/node/pull/61727

PR-URL: https://github.com/nodejs/node/pull/62522
2026-04-01 16:41:20 +02:00
Matteo Collina a9da9ffc04 repl: remove dependency on domain module
Replace the domain-based error handling with AsyncLocalStorage and
setUncaughtExceptionCaptureCallback. This removes the REPL's dependency
on the deprecated domain module while preserving all existing behavior:

- Synchronous errors during eval are caught and displayed
- Async errors (setTimeout, promises, etc.) are caught via the
  uncaught exception capture callback
- Top-level await errors are caught and displayed
- The REPL continues operating after errors
- Multiple REPL instances can coexist with errors routed correctly

Changes:
- Use AsyncLocalStorage to track which REPL instance owns an async
  context, replacing domain's automatic async tracking
- Add setupExceptionCapture() to install
  setUncaughtExceptionCaptureCallback for catching async errors and
  routing them to the correct REPL
- Extract error handling logic into REPLServer.prototype._handleError()
- Wrap eval execution in replContext.run() for async context tracking
- Update newListener protection to check AsyncLocalStorage context
- Throw ERR_INVALID_ARG_VALUE if options.domain is passed

PR-URL: https://github.com/nodejs/node/pull/61227
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2026-03-06 15:38:36 +00:00
Marco Ippolito 89f4b6cddb module: remove --experimental-transform-types
PR-URL: https://github.com/nodejs/node/pull/61803
Refs: https://github.com/nodejs/typescript/issues/51
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Jordan Harband <ljharb@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
2026-02-27 16:32:43 +00:00
Antoine du Hamel 42b261bbdc doc: fix methods being documented as properties in process.md
PR-URL: https://github.com/nodejs/node/pull/61765
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-02-10 22:05:56 +00:00
Aviv Keller 617f8321f5 doc: fix spacing in process message event
PR-URL: https://github.com/nodejs/node/pull/61756
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-02-10 07:15:36 +00:00
Yagiz Nizipli 37e40040a7 build,deps: replace cjs-module-lexer with merve
PR-URL: https://github.com/nodejs/node/pull/61456
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Daniel Lemire <daniel@lemire.me>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
2026-01-28 07:29:58 +00:00
Mike McCready 680ee6ee66 doc: remove v prefix for version references
PR-URL: https://github.com/nodejs/node/pull/61488
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-01-25 10:38:06 +01:00
Jeevankumar S 7d0417f997 doc: clarify process.argv[1] behavior for -e/--eval
Signed-off-by: Jeevankumar-S <jeevenkumar2003@email.com>
PR-URL: https://github.com/nodejs/node/pull/61366
Fixes: https://github.com/nodejs/node/issues/61363
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2026-01-21 09:25:36 +00:00
Alireza Ebrahimkhani 3bb0135783 doc: add documentation for process.traceProcessWarnings
resolves #53514

PR-URL: https://github.com/nodejs/node/pull/53641
Reviewed-By: Aviv Keller <me@aviv.sh>
2026-01-09 03:50:08 +00:00
Node.js GitHub Bot 47d8b88868 2025-12-10, Version 24.12.0 'Krypton' (LTS)
Notable changes:

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

PR-URL: https://github.com/nodejs/node/pull/61001
2025-12-10 17:40:34 +01: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
우혁 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
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
Antoine du Hamel b9dedf416b 2025-10-20, Version 22.21.0 'Jod' (LTS)
Notable changes:

cli:
  * (SEMVER-MINOR) add `--use-env-proxy` (Joyee Cheung) https://github.com/nodejs/node/pull/59151
http:
  * (SEMVER-MINOR) support http proxy for fetch under `NODE_USE_ENV_PROXY` (Joyee Cheung) https://github.com/nodejs/node/pull/57165
  * (SEMVER-MINOR) add `shouldUpgradeCallback` to let servers control HTTP upgrades (Tim Perry) https://github.com/nodejs/node/pull/59824
http,https:
  * (SEMVER-MINOR) add built-in proxy support in `http`/`https.request` and `Agent` (Joyee Cheung) https://github.com/nodejs/node/pull/58980
src:
  * (SEMVER-MINOR) add percentage support to `--max-old-space-size` (Asaf Federman) https://github.com/nodejs/node/pull/59082

PR-URL: https://github.com/nodejs/node/pull/60230
2025-10-21 01:45:50 +02:00
René 75a6fff6be doc: disambiguate top-level worker_threads module exports
PR-URL: https://github.com/nodejs/node/pull/59890
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-10-10 12:17:12 +00:00
Node.js GitHub Bot 642a7c0d46 2025-10-08, Version 24.10.0 (Current)
Notable changes:

console:
  * (SEMVER-MINOR) allow per-stream `inspectOptions` option (Anna Henningsen) https://github.com/nodejs/node/pull/60082
lib:
  * (SEMVER-MINOR) remove util.getCallSite (Rafael Gonzaga) https://github.com/nodejs/node/pull/59980
sqlite:
  * (SEMVER-MINOR) create authorization api (Guilherme Araújo) https://github.com/nodejs/node/pull/59928

PR-URL: https://github.com/nodejs/node/pull/60136
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
2025-10-08 19:44:10 -03:00
Santeri Hiltunen bb04959818 doc: mark .env files support as stable
As discussed in the referenced issue the feature should be ready to be
marked as stable.

Refs: https://github.com/nodejs/node/issues/49148#issuecomment-3307309232
PR-URL: https://github.com/nodejs/node/pull/59925
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-10-03 15:43:10 +02:00
Tobias Nießen 0a72b2cd7b doc: fix typo in section on microtask order
PR-URL: https://github.com/nodejs/node/pull/59932
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-09-23 10:33:13 +00:00
Node.js GitHub Bot fba8e6ab4a 2025-08-28, Version 22.19.0 'Jod' (LTS)
Notable changes:

cli:
  * (SEMVER-MINOR) add NODE_USE_SYSTEM_CA=1 (Joyee Cheung) https://github.com/nodejs/node/pull/59276
  * (SEMVER-MINOR) support `${pid}` placeholder in --cpu-prof-name (Haram Jeong) https://github.com/nodejs/node/pull/59072
crypto:
  * (SEMVER-MINOR) add tls.setDefaultCACertificates() (Joyee Cheung) https://github.com/nodejs/node/pull/58822
dns:
  * (SEMVER-MINOR) support max timeout (theanarkh) https://github.com/nodejs/node/pull/58440
doc:
  * update the instruction on how to verify releases (Antoine du Hamel) https://github.com/nodejs/node/pull/59113
esm:
  * (SEMVER-MINOR) unflag --experimental-wasm-modules (Guy Bedford) https://github.com/nodejs/node/pull/57038
http:
  * (SEMVER-MINOR) add server.keepAliveTimeoutBuffer option (Haram Jeong) https://github.com/nodejs/node/pull/59243
lib:
  * docs deprecate _http_* (Sebastian Beltran) https://github.com/nodejs/node/pull/59293
net:
  * (SEMVER-MINOR) update net.blocklist to allow file save and file management (alphaleadership) https://github.com/nodejs/node/pull/58087
process:
  * (SEMVER-MINOR) add threadCpuUsage (Paolo Insogna) https://github.com/nodejs/node/pull/56467
zlib:
  * (SEMVER-MINOR) add dictionary support to zstdCompress and zstdDecompress (lluisemper) https://github.com/nodejs/node/pull/59240

PR-URL: https://github.com/nodejs/node/pull/59641
2025-08-28 23:08:02 +02:00
Alex Yang 3e5885b3cb doc: clarify maxRSS unit in process.resourceUsage()
PR-URL: https://github.com/nodejs/node/pull/59511
Fixes: https://github.com/nodejs/node/issues/59508
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-08-20 05:36:07 +00:00
fengmk2andJoyee Cheung fb9e9f1e31 doc: add note on process memoryUsage
Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/59026
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-07-28 14:24:37 -07:00
Aviv Keller 4102dcc226 doc: fix typed list formatting
PR-URL: https://github.com/nodejs/node/pull/59019
Refs: https://github.com/nodejs/api-docs-tooling/issues/348
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Claudio Wunder <cwunder@gnome.org>
2025-07-15 17:18:42 +00:00
James M Snell a3dfca90d1 process: move multipleResolves event to EOL
The `multipleResolves` event has been deprecated for several
years now. It's time.

PR-URL: https://github.com/nodejs/node/pull/58707
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2025-06-29 04:23:09 -07:00
Chengzhong Wu 40d8983a3d doc,lib: update source map links to ECMA426
PR-URL: https://github.com/nodejs/node/pull/58597
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-06-08 10:30:11 +00:00
Allon Murienik 27edff5cb9 doc: fix the order of process.md sections
Fixes: https://github.com/nodejs/node/issues/58402
PR-URL: https://github.com/nodejs/node/pull/58403
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-05-22 16:19:14 +02:00
Antoine du Hamel 0bd9680a84 2025-05-21, Version 22.16.0 'Jod' (LTS)
Notable changes:

deps:
  * update timezone to 2025b (Node.js GitHub Bot) https://github.com/nodejs/node/pull/57857
doc:
  * add dario-piotrowicz to collaborators (Dario Piotrowicz) https://github.com/nodejs/node/pull/58102
  * (SEMVER-MINOR) graduate multiple experimental apis (James M Snell) https://github.com/nodejs/node/pull/57765
esm:
  * (SEMVER-MINOR) graduate import.meta properties (James M Snell) https://github.com/nodejs/node/pull/58011
  * (SEMVER-MINOR) support top-level Wasm without package type (Guy Bedford) https://github.com/nodejs/node/pull/57610
sqlite:
  * (SEMVER-MINOR) add StatementSync.prototype.columns() (Colin Ihrig) https://github.com/nodejs/node/pull/57490
src:
  * (SEMVER-MINOR) set default config as `node.config.json` (Marco Ippolito) https://github.com/nodejs/node/pull/57171
  * (SEMVER-MINOR) create `THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING` (Marco Ippolito) https://github.com/nodejs/node/pull/57016
  * (SEMVER-MINOR) add config file support (Marco Ippolito) https://github.com/nodejs/node/pull/57016
  * (SEMVER-MINOR) add ExecutionAsyncId getter for any Context (Attila Szegedi) https://github.com/nodejs/node/pull/57820
stream:
  * (SEMVER-MINOR) preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) https://github.com/nodejs/node/pull/57865
util:
  * (SEMVER-MINOR) add `types.isFloat16Array()` (Livia Medeiros) https://github.com/nodejs/node/pull/57879
worker:
  * (SEMVER-MINOR) add worker.getHeapStatistics() (Matteo Collina) https://github.com/nodejs/node/pull/57888

PR-URL: https://github.com/nodejs/node/pull/58388
2025-05-21 17:20:47 +02:00
RafaelGSS e272637d5e 2025-05-06, Version 24.0.0 (Current)
Semver-Major Commits:

assert,util:
  * (SEMVER-MAJOR) Revert "assert,util: revert recursive breaking change (Ruben Bridgewater) https://github.com/nodejs/node/pull/57622
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (James M Snell) https://github.com/nodejs/node/pull/58008
  * (SEMVER-MAJOR) make `buflen` in integer range (zhenweijin) https://github.com/nodejs/node/pull/51821
build:
  * (SEMVER-MAJOR) update list of installed cppgc headers (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) fix V8 TLS config for shared lib builds (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) pass `-fPIC` to linker as well for shared builds (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) add `/bigobj` to compile V8 on Windows (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) enable shared RO heap with ptr compression (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) remove support for s390 32-bit (Richard Lau) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) downgrade armv7 support to experimental (Michaël Zasso) https://github.com/nodejs/node/pull/58071
  * (SEMVER-MAJOR) bump supported macOS version to 13.5 (Michaël Zasso) https://github.com/nodejs/node/pull/57115
  * (SEMVER-MAJOR) increase minimum Xcode version to 16.1 (Michaël Zasso) https://github.com/nodejs/node/pull/56824
  * (SEMVER-MAJOR) link V8 with atomic library (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) remove support for ppc 32-bit (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/55014
build,src,tools:
  * (SEMVER-MAJOR) adapt build config for V8 13.3 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
child_process:
  * (SEMVER-MAJOR) deprecate passing `args` to `spawn` and `execFile` (Daniel Venable) https://github.com/nodejs/node/pull/57199
deps:
  * (SEMVER-MAJOR) remove deps/simdutf (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) V8: backport 954187bb1b87 (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 to 13.6.233.8 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) V8: cherry-pick f915fa4c9f41 (Olivier Flückiger) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) V8: cherry-pick 0d5d6e71bbb0 (Yagiz Nizipli) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) V8: cherry-pick 0c11feeeca4a (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) always define V8_NODISCARD as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) update V8 to 13.0.245.25 (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) upgrade npm to 11.0.0 (npm team) https://github.com/nodejs/node/pull/56274
  * (SEMVER-MAJOR) update undici to 7.0.0 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/56070
fs:
  * (SEMVER-MAJOR) remove ability to call truncate with fd (Yagiz Nizipli) https://github.com/nodejs/node/pull/57567
  * (SEMVER-MAJOR) deprecate passing invalid types in `fs.existsSync` (Carlos Espa) https://github.com/nodejs/node/pull/55753
  * (SEMVER-MAJOR) runtime deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) https://github.com/nodejs/node/pull/49686
  * (SEMVER-MAJOR) remove `dirent.path` (Antoine du Hamel) https://github.com/nodejs/node/pull/55548
http:
  * (SEMVER-MAJOR) remove outgoingmessage _headers and _headersList (Yagiz Nizipli) https://github.com/nodejs/node/pull/57551
http2:
  * (SEMVER-MAJOR) session tracking and graceful server close (Kushagra Pandey) https://github.com/nodejs/node/pull/57586
lib:
  * (SEMVER-MAJOR) remove obsolete Cipher export (James M Snell) https://github.com/nodejs/node/pull/57266
  * (SEMVER-MAJOR) unexpose six process bindings (Michaël Zasso) https://github.com/nodejs/node/pull/57149
  * (SEMVER-MAJOR) make ALS default to AsyncContextFrame (Stephen Belanger) https://github.com/nodejs/node/pull/55552
  * (SEMVER-MAJOR) runtime deprecate SlowBuffer (Rafael Gonzaga) https://github.com/nodejs/node/pull/55175
net:
  * (SEMVER-MAJOR) make _setSimultaneousAccepts() end-of-life deprecated (Yagiz Nizipli) https://github.com/nodejs/node/pull/57550
readline:
  * (SEMVER-MAJOR) add stricter validation for functions called after closed (Dario Piotrowicz) https://github.com/nodejs/node/pull/57680
  * (SEMVER-MAJOR) fix unicode line separators being ignored (Dario Piotrowicz) https://github.com/nodejs/node/pull/57591
repl:
  * (SEMVER-MAJOR) runtime deprecate instantiating without new (Aviv Keller) https://github.com/nodejs/node/pull/54869
src:
  * (SEMVER-MAJOR) enable `Float16Array` on global object (Michaël Zasso) https://github.com/nodejs/node/pull/58154
  * (SEMVER-MAJOR) enable explicit resource management (Michaël Zasso) https://github.com/nodejs/node/pull/58154
  * (SEMVER-MAJOR) use non-deprecated WriteUtf8V2() method (Yagiz Nizipli) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use non-deprecated Utf8LengthV2() method (Yagiz Nizipli) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use V8-owned CppHeap (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) use `v8::ExternalMemoryAccounter` (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) replace uses of FastApiTypedArray (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 137 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update GetForegroundTaskRunner override (Etienne Pierre-doray) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 134 (Michaël Zasso) https://github.com/nodejs/node/pull/55014
  * (SEMVER-MAJOR) drop --experimental-permission in favour of --permission (Rafael Gonzaga) https://github.com/nodejs/node/pull/56240
  * (SEMVER-MAJOR) add async context frame to AsyncResource (Gerhard Stöbich) https://github.com/nodejs/node/pull/56082
  * (SEMVER-MAJOR) nuke deprecated and un-used enum members in `OptionEnvvarSettings` (Juan José) https://github.com/nodejs/node/pull/53079
src,test:
  * (SEMVER-MAJOR) unregister the isolate after disposal and before freeing (Joyee Cheung) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) add V8 API to test the hash seed (Michaël Zasso) https://github.com/nodejs/node/pull/58070
stream:
  * (SEMVER-MAJOR) catch and forward error from dest.write (jakecastelli) https://github.com/nodejs/node/pull/55270
test:
  * (SEMVER-MAJOR) fix test-fs-write for V8 13.6 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) handle explicit resource management globals (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) adapt assert tests to stack trace changes (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update test-linux-perf-logger (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) Revert "test: disable fast API call count checks (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) disable fast API call count checks (Michaël Zasso) https://github.com/nodejs/node/pull/55014
test_runner:
  * (SEMVER-MAJOR) remove promises returned by t.test() (Colin Ihrig) https://github.com/nodejs/node/pull/56664
  * (SEMVER-MAJOR) remove promises returned by test() (Colin Ihrig) https://github.com/nodejs/node/pull/56664
  * (SEMVER-MAJOR) automatically wait for subtests to finish (Colin Ihrig) https://github.com/nodejs/node/pull/56664
timers:
  * (SEMVER-MAJOR) check for immediate instance in clearImmediate (Gürgün Dayıoğlu) https://github.com/nodejs/node/pull/57069
  * (SEMVER-MAJOR) set several methods EOL (Yagiz Nizipli) https://github.com/nodejs/node/pull/56966
tls:
  * (SEMVER-MAJOR) remove deprecated tls.createSecurePair (Jonas) https://github.com/nodejs/node/pull/57361
  * (SEMVER-MAJOR) make server.prototype.setOptions end-of-life (Yagiz Nizipli) https://github.com/nodejs/node/pull/57339
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 13.6 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.5 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update license-builder and LICENSE for V8 deps (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.4 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.2 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.1 (Michaël Zasso) https://github.com/nodejs/node/pull/58070
  * (SEMVER-MAJOR) update V8 gypfiles for 13.0 (Michaël Zasso) https://github.com/nodejs/node/pull/55014
url:
  * (SEMVER-MAJOR) expose urlpattern as global (Jonas) https://github.com/nodejs/node/pull/56950
  * (SEMVER-MAJOR) runtime deprecate url.parse (Yagiz Nizipli) https://github.com/nodejs/node/pull/55017
zlib:
  * (SEMVER-MAJOR) deprecate classes usage without `new` (Yagiz Nizipli) https://github.com/nodejs/node/pull/55718

PR-URL: https://github.com/nodejs/node/pull/57609
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
2025-05-06 11:26:35 -03:00