100 Commits
Author SHA1 Message Date
Richard Lau ddba9a535f test: check html and json doc files are generated
Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/66613
Refs: https://github.com/nodejs/node/issues/66571
Reviewed-By: Claudio Wunder <cwunder@gnome.org>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2026-10-26 22:25:41 +01:00
Richard Lau 60c7958b8e build: update flags for V8 CI
Continue to use torque for now instead of metagen.
Sync unsupported clang flags with upstream builds.

Refs: https://github.com/ibmruntimes/v8-build/blob/main/bin/v8.sh
Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/66537
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2026-10-07 18:54:57 +00:00
Richard Lau 9c67491706 doc: update Node.js 27 official binary toolchains
Update `BUILDING.md` to reflect that official non-musl Linux binaries
are now built on RHEL 9.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/66377
Refs: https://github.com/nodejs/build/issues/4431
Reviewed-By: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2026-09-30 14:27:42 +00:00
Richard Lau 086d9c058d Revert "deps: V8: override depot_tools version"
This reverts commit abff716eac.

No longer required as the override points to the same commit sha of
depot_tools as `deps/v8/DEPS`.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/66110
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2026-09-20 15:32:57 +00:00
Richard Lau ea083346b6 tools: update tools/v8 for Python 3.13
The `pipes` module was removed in Python 3.13 after being deprecated in
Python 3.11.

Also remove Python 2 compatibility shim as scripts require Python 3.

Assisted-by: IBM Bob
Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/66109
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2026-09-20 14:53:48 +00:00
Richard Lau d56d2ec75c build: suppress OpenSSL asm warnings with clang
Unlike gcc, clang warns when arguments are passed that are not
used. For OpenSSL, this includes passing C preprocessor
directives when compiling `.s` files.

Suppress the warning (`-Wno-unused-command-line-argument`) when
using clang.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/66023
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2026-09-18 11:05:47 +02:00
Richard Lau cb9b8708c9 build: sync cargo/rustc version warnings
The version checks in `configure.py` were not updated when the minimum
rustc requirement was bumped to 1.86 for temporal_rs 0.2.3.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/65912
Refs: https://github.com/nodejs/node/pull/64543
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-09-09 02:51:23 +00:00
Richard Lau 626f42d437 build: target Power 9 and z14
Set compiler flags to match the minimum supported Power and z
architectures.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/65439
Refs: https://github.com/nodejs/node/pull/61005
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/7239348
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-08-22 17:18:06 +00:00
Richard Lau 92b72d4f60 doc: update list of people in SECURITY.md
Update the list of people with access to:
- Private security reports against Node.js.
- Private security patches to Node.js.

The latter by running `ncu-team sync SECURITY.md`.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/64152
Refs: https://github.com/nodejs/Release/issues/733
Refs: https://github.com/nodejs/TSC/issues/1760
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
2026-06-28 15:44:52 +00:00
Richard Lau 2d3f40a4d2 doc: add missing option to man page
Add missing `--experimental-import-text` option to `doc/node.1`.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/64156
Refs: https://github.com/nodejs/node/pull/62300
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-06-26 19:06:44 +00:00
Richard Lau 6f11fe7d67 doc: update toolchain for official AIX releases
Starting with Node.js 26.0.0, official binaries for AIX are built with
Clang 20.1.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/64068
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2026-06-24 15:44:29 +00:00
Richard Lau dcbb21e06f build: suppress compiler warnings for histogram
Synchronize compiler flags in the gyp build and unofficial gn build
of `deps/histogram`.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/63980
Fixes: https://github.com/nodejs/node/issues/63979
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2026-06-20 15:05:11 +00:00
Richard Lau 39b481b5c5 build: enable maglev by default on Linux ppc64le
Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/63474
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2026-06-01 15:02:25 +00:00
Richard Lau 9c60b08df5 doc: update toolchain for official releases
RHEL 8 machines now use clang 20.1.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/63441
Refs: https://github.com/nodejs/build/issues/4265
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2026-05-21 20:48:51 +00:00
Richard Lau e5686734ee doc: fix CHANGELOG
Remove Node.js 23 column.
Mark Node.js 20 as End-of-Life and remove the corresponding column.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/63292
Fixes: https://github.com/nodejs/node/issues/63291
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-05-15 19:26:17 +00:00
Richard Lau d5beddb735 tools: filter V8 scripts for build toolchain
Patch the build scripts for V8 when running the V8 CI for Linux on
ppc64le and s390x to workaround inconsistencies between the nightly
build toolchain used by V8 and the released versions that we use from
the Linux distribution.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/63069
Refs: https://github.com/ibmruntimes/v8-build/blob/49b55c036da148bd18b546f19b731a0fe92b6a33/bin/v8.sh#L62-L71
Refs: https://github.com/nodejs/build/issues/4265
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2026-05-13 01:15:13 +00:00
Richard Lau 66054cc90e build: add rust target for macOS cross compiles
When we build the macOS pkg, we build Node.js twice (on arm64):
- Once for arm64 (native)
- Once for x64, using a combination of Rosetta 2 and compiler flags

before combining both into a universal binary.

For the x64 case, pass target flag to `rustc` so that the binary is
built for the correct target architecture.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/63015
Reviewed-By: Stewart X Addison <sxa@redhat.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2026-04-30 15:23:41 +00:00
Richard Lau bbae66f8f5 tools: add Rust args to tools/make-v8.sh
Add args to `tools/make-v8.sh` for compiling Rust-based components,
such as Temporal, for the Linux on ppc64le and s390x V8 CI builds.

PR-URL: https://github.com/nodejs/node/pull/61898
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2026-04-24 18:01:35 +02:00
Richard Lau cc5a331715 deps: V8: cherry-pick cf1bce40a5ef
Original commit message:

    [wasm] Fix S128Const on big endian

    Since http://crrev.com/c/2944437 globals are no longer little endian
    enforced.

    S128Const handling in the initializer needs to take this into account
    and byte reverse values which are hard coded in little endian order.

    This is currently causing failures on Node.js upstream:
    https://github.com/nodejs/node/pull/59034#issuecomment-4129144461

    Change-Id: Ifcc9ade93ee51565ab19b16e9dadf0ff5752f7a6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7704213
    Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
    Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#106082}

Refs: https://github.com/v8/v8/commit/cf1bce40a5ef4c7c1da351754f5bf526c0c96463
Refs: https://github.com/v8/v8/commit/cf1bce40a5ef4c7c1da351754f5bf526c0c96463
PR-URL: https://github.com/nodejs/node/pull/61898
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2026-04-24 18:01:32 +02:00
Richard Lau ec508ddf38 deps: V8: cherry-pick aa0b288f87cc
Original commit message:

    PPC/S390: [wasm] Fix jump table offset when patching

    ... need to make sure patching of target occurs at the correct spot
    based on what `EmitFarJumpSlot` emits. Also mask the branch offset in
    PPC64 EmitJumpSlot to match `Assembler::b()`.

    Change-Id: I5a8079d0079d8ad427034761d42c90b64d5746dd
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7642190
    Reviewed-by: John <junyan1@ibm.com>
    Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#105646}

Refs: https://github.com/v8/v8/commit/aa0b288f87ccfc2ad25f5d828af6627a7dccc9cb
PR-URL: https://github.com/nodejs/node/pull/61898
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2026-04-24 18:01:31 +02:00
Richard Lau 4ec8aa0422 deps: V8: cherry-pick highway@989a498fdf3
Original commit message:

    GCC 15 removed avx10.2-512 target

    PiperOrigin-RevId: 823560321

Refs: https://github.com/google/highway/commit/989a498fdf3e2b758c48998e87a2807a1a53e494
Fixes: https://github.com/nodejs/node/issues/60566
PR-URL: https://github.com/nodejs/node/pull/61898
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2026-04-24 18:01:31 +02:00
Richard Lau c028766723 Revert "deps: V8: cherry-pick 7107287"
This reverts commit 142b593485.

PR-URL: https://github.com/nodejs/node/pull/62894
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Abdirahim Musse <abdirahim.musse@ibm.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2026-04-22 23:52:18 +00:00
Richard LauandAbdirahim Musse 5f02bdb7de src: workaround AIX libc++ std::filesystem bug
On AIX libc++ is returning `EEXIST` instead of `EACCES` when using
`std::filesystem::remove_all()` without appropriate permissions to
recursively remove the directory.

Co-authored-by: Abdirahim Musse <abdirahim.musse@ibm.com>
Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/62788
Refs: https://github.com/nodejs/node/issues/62790
Reviewed-By: Abdirahim Musse <abdirahim.musse@ibm.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2026-04-17 16:31:18 +00:00
Richard Lau fc4b33496d build: enable Temporal by default
Enabling Temporal support requires `cargo` and `rustc`, which are new
build toolchain requirements.

Add a `--v8-disable-temporal-support` option to `configure.py` to
explicitly opt-out of Temporal support (i.e. no need for Rust).

If the existing `--v8-enable-temporal-support` option is not explicitly
passed to `configure.py`:
- Attempt to detect `cargo` and `rustc`.
- If neither `cargo` and `rustc` are detected, print a warning and
  disable Temporal support.
- If both `cargo` and `rustc` are detected, enable Temporal support.

If `--v8-enable-temporal-support` is passed to `configure.py`, then
the build will error and stop if `cargo` and/or `rustc` are not
detected.

To avoid ambiguity, `configure.py` will error and stop if both
`--v8-disable-temporal-support` and `--v8-enable-temporal-support` are
used.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/61806
Fixes: https://github.com/nodejs/node/issues/57127
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Aviv Keller <me@aviv.sh>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2026-04-13 18:08:32 +00:00
Richard Lau 8a48913e1c tools: revert OpenSSL update workflow to ubuntu-latest
Workflow requires Docker, which is not available in `ubuntu-slim`.

Signed-off-by: Richard Lau <richard.lau@ibm.com>
PR-URL: https://github.com/nodejs/node/pull/62627
Refs: https://github.com/nodejs/node/pull/62625
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2026-04-07 18:59:55 +00:00
Richard Lau 7b8934d2e4 build: use CARGO environment variable if set
When enabling support for Temporal, check for the `CARGO` environment
variable to locate the `cargo` binary (defaulting to `cargo` if not
set) and use this to build `deps/crates`.

This will allow using Cargo on systems where the Cargo binary name is
suffixed with the version, e.g. `cargo-1.82` on Ubuntu 24.04.

PR-URL: https://github.com/nodejs/node/pull/62421
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-04-01 07:31:10 +00:00
Richard Lau cc967413c9 deps: V8: cherry-pick cf1bce40a5ef
Original commit message:

    [wasm] Fix S128Const on big endian

    Since http://crrev.com/c/2944437 globals are no longer little endian
    enforced.

    S128Const handling in the initializer needs to take this into account
    and byte reverse values which are hard coded in little endian order.

    This is currently causing failures on Node.js upstream:
    https://github.com/nodejs/node/pull/59034#issuecomment-4129144461

    Change-Id: Ifcc9ade93ee51565ab19b16e9dadf0ff5752f7a6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7704213
    Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
    Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#106082}

Refs: https://github.com/v8/v8/commit/cf1bce40a5ef4c7c1da351754f5bf526c0c96463
PR-URL: https://github.com/nodejs/node/pull/62449
Refs: https://github.com/v8/v8/commit/cf1bce40a5ef4c7c1da351754f5bf526c0c96463
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-03-28 22:57:44 +00:00
Richard Lau abff716eac deps: V8: override depot_tools version
For compatibility with Python >= 3.12 we need a newer version of
`depot_tools` than is used for the older versions of V8.

PR-URL: https://github.com/nodejs/node/pull/62344
Refs: https://github.com/nodejs/build/pull/4278
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2026-03-22 11:36:13 +00:00
Richard Lau 0998c37eb6 build: target Power 9 for AIX/IBM i
Minimum supported Power architecture for AIX and IBM i is now Power 9.

PR-URL: https://github.com/nodejs/node/pull/62296
Refs: https://github.com/nodejs/node/pull/61005
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2026-03-19 14:17:22 +00:00
Richard Lau 17c76c1775 deps: patch resb crate
Original commit message:

    Fix resb on big endian platforms

Refs: https://github.com/unicode-org/icu4x/commit/d310df8b3fb1cbfc551682ccf80f378ed152da8e
Refs: https://github.com/unicode-org/icu4x/pull/7658
PR-URL: https://github.com/nodejs/node/pull/62138
Fixes: https://github.com/nodejs/node/issues/61808
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2026-03-09 21:38:25 +00:00
Richard Lau 70b35704a0 tools: revert timezone update GHA workflow to ubuntu-latest
The timezone update script requires `icupkg` which doesn't
appear to be available on `ubuntu-slim`.

PR-URL: https://github.com/nodejs/node/pull/62140
Fixes: https://github.com/nodejs/node/issues/62109
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-03-09 13:06:24 +00:00
Richard Lau a0d8ea42e5 deps: V8: cherry-pick aa0b288f87cc
Original commit message:

    PPC/S390: [wasm] Fix jump table offset when patching

    ... need to make sure patching of target occurs at the correct spot
    based on what `EmitFarJumpSlot` emits. Also mask the branch offset in
    PPC64 EmitJumpSlot to match `Assembler::b()`.

    Change-Id: I5a8079d0079d8ad427034761d42c90b64d5746dd
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7642190
    Reviewed-by: John <junyan1@ibm.com>
    Commit-Queue: Milad Farazmand <mfarazma@ibm.com>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#105646}

Refs: https://github.com/v8/v8/commit/aa0b288f87ccfc2ad25f5d828af6627a7dccc9cb
PR-URL: https://github.com/nodejs/node/pull/62136
Reviewed-By: Aviv Keller <me@aviv.sh>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-03-09 03:18:27 +00:00
Richard Lau 7c4dc34c28 tools: fix example in release proposal linter
`changelog-maker` writes 10 character length short form SHA's.
Explicitly set the `git log format` in the example to match.

PR-URL: https://github.com/nodejs/node/pull/62074
Reviewed-By: Tierney Cyren <hello@bnb.im>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2026-03-04 16:43:14 +00:00
Richard Lau 101d58c63f tools: fix permissions for merve update script
Add execute permission for `tools/dep_updaters/update-merve.sh` so that
the "Tools and deps update" workflow can run it.

PR-URL: https://github.com/nodejs/node/pull/62023
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-03-01 13:50:25 +00:00
Richard Lau c9d0ef8b24 tools: revert tools GHA workflow to ubuntu-latest
The update script for undici requires Docker, which is not available
on `ubuntu-slim`.

PR-URL: https://github.com/nodejs/node/pull/62024
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>
2026-02-28 00:04:32 +00:00
Richard Lau db278835bc test: skip strace test with shared openssl
`parallel/test-strace-openat-openssl` was added to check explicitly
for a list of known files that would be opened for a set workload
(`require("crypto")`). This is not reliable when Node.js is linked
to an external/shared OpenSSL library (e.g. it might be configured
to load configuration files from a different default location and/or
load more than one configuration file) so skip this test when Node.js
is built in that way.

PR-URL: https://github.com/nodejs/node/pull/61987
Fixes: https://github.com/nodejs/node/issues/61966
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2026-02-27 16:16:21 +00:00
Richard Lau a57893b799 doc: add Temporal section to Table of Contents
Move the "Building Node.js with Temporal support" section in
`BUILDING.md` so that it is not in the middle of the OpenSSL sections
and add it to the Table of Contents.

PR-URL: https://github.com/nodejs/node/pull/61805
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2026-02-15 17:28:59 +00:00
Richard Lau 159ae48f8c build: add cargo and rustc checks for Temporal
If opting into building Node.js with statically linked Temporal
(`configure --v8-enable-temporal-support`), check for the presence
of `cargo` and `rustc` and compare the detected versions against the
documented toolchain versions in `BUILDING.md`.

PR-URL: https://github.com/nodejs/node/pull/61467
Refs: https://github.com/nodejs/node/pull/60942
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2026-01-24 01:44:16 +00:00
Richard Lau 05f8772096 tools: fix update-nghttp2 signature verification
Detached signatures must be passed to `gpgv` as a filename before
the datafile (which can be stdin but the detached signature file
cannot be stdin and cannot be piped in).

PR-URL: https://github.com/nodejs/node/pull/61035
Refs: https://github.com/nodejs/node/pull/60113
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-12-14 15:01:11 +00:00
Richard Lau 90ff75f432 tools: don't fetch V8 deps in the source tree
The Node.js source tree already includes several V8 DEPS under
`deps/v8/third_party` that are needed to build Node.js. Exclude these
in `tools/v8/fetch_deps.py` to prevent "Conflicting directory" warnings
when running the V8 CI.

PR-URL: https://github.com/nodejs/node/pull/60883
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2025-12-01 15:12:10 +00:00
Richard Lau 3c92ee1008 build: enable maglev for Linux on s390x
PR-URL: https://github.com/nodejs/node/pull/60863
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
2025-11-28 18:09:19 +00:00
Richard Lau 0771137972 build: fix OpenSSL version parsing for OpenSSL < 3
OpenSSL versions before 3.0.0 do not define
- `OPENSSL_VERSION_MAJOR`
- `OPENSSL_VERSION_MINOR`
- `OPENSSL_VERSION_PATCH`

in `openssl/opensslv.h`. For these versions, `OPENSSL_VERSION_NUMBER`
is a literal which we can parse directly.

PR-URL: https://github.com/nodejs/node/pull/60775
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-11-20 13:23:33 +00:00
Richard Lau da71ab6895 deps: V8: cherry-pick highway@989a498fdf3
Original commit message:

    GCC 15 removed avx10.2-512 target

    PiperOrigin-RevId: 823560321

Refs: https://github.com/google/highway/commit/989a498fdf3e2b758c48998e87a2807a1a53e494
PR-URL: https://github.com/nodejs/node/pull/60682
Fixes: https://github.com/nodejs/node/issues/60566
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
2025-11-13 19:32:11 +00:00
Richard Lau dec0213c83 doc: add known issue to v24.11.0 release notes
PR-URL: https://github.com/nodejs/node/pull/60467
Refs: https://github.com/nodejs/nodejs.org/pull/8280
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
2025-10-28 21:13:50 +00:00
Richard Lau fb3451512b 2025-10-28, Version 24.11.0 'Krypton' (LTS)
Notable changes:

This release marks the transition of Node.js 24.x into Long Term Support (LTS)
with the codename 'Krypton'. It will continue to receive updates through to
the end of April 2028.

Other than updating metadata, such as the `process.release` object, to reflect
that the release is LTS, no further changes from Node.js 24.10.0 are included.

PR-URL: https://github.com/nodejs/node/pull/60414
2025-10-28 16:55:56 +00:00
Richard Lau 2216a3b1d5 deps: V8: cherry-pick 1e190bbb0396
Original commit message:

    [segmented-table] Disable segments pool if pages can be too large

    The segments pool can only be used if we have 16Kb allocation
    granularity. On OSs where the page size can be configured larger we have
    to disable it, since it is currently not runtime configurabe.

    Fixed: 425634685
    Change-Id: If77e46b034fc2e324d7eabf19eff54958ea6f7cb
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6973467
    Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    Auto-Submit: Olivier Flückiger <olivf@chromium.org>
    Commit-Queue: Olivier Flückiger <olivf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#102700}

Refs: https://github.com/v8/v8/commit/1e190bbb0396f7228797bf9b74cf689e83c5354e
PR-URL: https://github.com/nodejs/node/pull/60206
Fixes: https://github.com/nodejs/build/issues/4172
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-10-12 18:39:19 +00:00
Richard Lau a1b73fe430 deps: V8: cherry-pick 2abc61361dd4
Original commit message:

    Fix scratch registers passed to mtvsrdd

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

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

Refs: https://github.com/v8/v8/commit/2abc61361dd4452f25de96b9d1241ed9f51bd202
PR-URL: https://github.com/nodejs/node/pull/60177
Refs: https://github.com/nodejs/undici/pull/4530
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2025-10-11 14:16:36 +00:00
Richard Lau 7c85aa5255 test: mark test-runner-run-watch flaky on macOS
`parallel/test-runner-run-watch` has failed 33 out of the last 100
CI runs on macOS. It is already marked flaky on other platforms.

PR-URL: https://github.com/nodejs/node/pull/60115
Refs: https://github.com/nodejs/node/issues/54534
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-10-05 16:23:09 +00:00
Richard Lau b8ea0e8e85 process: fix default env for process.execve
The `env` parameter for `process.execve` is documented to default
to `process.env`.

PR-URL: https://github.com/nodejs/node/pull/60029
Refs: https://github.com/nodejs/build/pull/4156
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-10-01 12:47:07 +00:00
Richard Lau f304bc2833 test: mark sea tests flaky on macOS x64
PR-URL: https://github.com/nodejs/node/pull/60068
Refs: https://github.com/nodejs/node/issues/59553
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2025-09-30 19:23:49 +00:00
Richard Lau f551c31297 tools: fix tools/make-v8.sh for clang
Update `tools/make-v8.sh` so that it can work with either `gcc` or
`clang`.

Adds:
- clang settings when CC/CXX environment variables set to clang/clang++.
- Turns off warnings as errors.

Removes:
- goma settings.
- Machine specific settings (moved to Jenkins job configuration).

Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5541431
PR-URL: https://github.com/nodejs/node/pull/59893
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-09-17 14:45:42 +00:00
Richard Lau 12bb03bacb test: skip more sea tests on Linux ppc64le
Theses tests are failing when compiled with clang. Skip for now to
avoid breaking the CI when we switch over to building with clang.

PR-URL: https://github.com/nodejs/node/pull/59755
Refs: https://github.com/nodejs/node/issues/59561
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2025-09-05 12:39:32 +00:00
Richard Lau 6fd67ec6e3 test: skip sea tests on Linux ppc64le
Theses tests are failing when compiled with clang. Skip for now to
avoid breaking the CI when we switch over to building with clang.

PR-URL: https://github.com/nodejs/node/pull/59563
Refs: https://github.com/nodejs/node/issues/59561
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-08-22 19:23:39 +00:00
Richard Lau 70690be494 build: do not set -mminimal-toc with clang
This is a gcc-only option, do not pass to clang.

PR-URL: https://github.com/nodejs/node/pull/59484
Refs: https://github.com/nodejs/build/issues/4091
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2025-08-20 13:55:28 +00:00
Richard Lau 2b4a09ef8b build: fix OpenSSL version detection
Fix OpenSSL version detection in `configure.py` when `pkg-config` is
used to configure building with a shared OpenSSL library.

PR-URL: https://github.com/nodejs/node/pull/59353
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-08-06 19:47:18 +00:00
Richard LauandMichaël Zasso 7232f09995 build,deps,tools: prepare to update to OpenSSL 3.5
Update the updater script and files under `deps/openssl/config` in
preparation for updating `deps/openssl` to OpenSSL 3.5.

Co-Authored-By: Michaël Zasso <targos@protonmail.com>
PR-URL: https://github.com/nodejs/node/pull/58100
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2025-07-26 22:40:19 +00:00
Richard Lau cb531b0616 test: prepare test-crypto-rsa-dsa for newer OpenSSL
Update `parallel/test-crypto-rsa-dsa` to prepare for updating
`deps/openssl` to later versions of OpenSSL which support implicit
rejections with `RSA_PKCS1_PADDING`.

PR-URL: https://github.com/nodejs/node/pull/58100
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2025-07-26 22:40:18 +00:00
Richard Lau ecc4ab19fd doc: update email address for Richard Lau
PR-URL: https://github.com/nodejs/node/pull/58910
Refs: https://github.com/nodejs/TSC/issues/1699
Refs: https://www.redhat.com/en/blog/evolving-our-middleware-strategy
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-07-03 01:50:01 +00:00
Richard Lau 4c65776a35 test: remove reliance on in-tree deps/undici
Remove the dependency on the in-tree copy of Undici in `deps/undici`
from `parallel/test-inspector-network-fetch`. For downstream rebuilders
of Node.js using an externalized Undici it is not uncommon to remove
`deps/undici` to ensure that the build is not using the in-tree copy.

PR-URL: https://github.com/nodejs/node/pull/58866
Refs: https://github.com/nodejs/node/issues/58865
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-06-29 16:33:14 +00:00
Richard Lau eafbe277b0 test: correct SIMD support comment
The comment in the test file stated that:
"SIMD is not supported on rhel8-ppc64le"

This is incorrect -- WASM SIMD support is dependent on the available
instructions, not the operating system. So it is more correct to say
that WASM SIMD is not supported on IBM Power8 architecture.

PR-URL: https://github.com/nodejs/node/pull/58767
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2025-06-21 17:19:45 +00:00
Richard Lau 8e2fb67bd9 test: mark test-http2-debug as flaky on LinuxONE
PR-URL: https://github.com/nodejs/node/pull/58494
Refs: https://github.com/nodejs/node/issues/58353
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Dario Piotrowicz <dario.piotrowicz@gmail.com>
2025-05-28 14:09:03 -07:00
Richard Lau 4805586fa6 build: remove support for s390 32-bit
V8 removed support for it.

Refs: https://github.com/v8/v8/commit/9565a9a721a7f1449be73c03aedc8532571e8bd1
PR-URL: https://github.com/nodejs/node/pull/58070
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-05-02 15:10:34 +02:00
Richard Lau 4c93107553 doc: mark Node.js 18 as End-of-Life
PR-URL: https://github.com/nodejs/node/pull/58084
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ruy Adorno <ruy@vlt.sh>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Edy Silva <edigleyssonsilva@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2025-05-02 12:07:22 +00:00
Richard Lau 0a91e988cf 2025-03-27, Version 18.20.8 'Hydrogen' (LTS)
Notable changes:

This release updates OpenSSL to 3.0.16 and root certificates to NSS 3.108.

PR-URL: https://github.com/nodejs/node/pull/57631
2025-03-27 13:04:42 +00:00
Richard Lau fab6906c5d test: update parallel/test-tls-dhe for OpenSSL 3.5
The output of the `s_client` command invoked by the test has changed
in the OpenSSL 3.5.0 version of `s_client`. Update the test so that
it works with both the old and new output -- the `s_client` binary
being run may not be at the exact same version of OpenSSL as used
by Node.js so the updated test allows either output.

PR-URL: https://github.com/nodejs/node/pull/57477
Refs: https://github.com/openssl/openssl/pull/26734
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-03-17 03:42:55 +00:00
Richard Lau 81d3db2250 doc: update maintaining-openssl.md for openssl
Update the instructions for maintaining OpenSSL in the Node.js source
tree to reflect switching back from the quictls fork of OpenSSL back
to official OpenSSL.

PR-URL: https://github.com/nodejs/node/pull/57413
Refs: https://github.com/nodejs/node/pull/57301
Refs: https://github.com/nodejs/node/pull/57142
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2025-03-13 17:42:04 +00:00
Richard Lau abd73d865a build: fix compatibility with V8's depot_tools
Recent changes to `depot_tools`'s `ninja.py` proxy is causing infinite
recursion in our V8 CI builds as we checkout `depot_tools` into a
directory with a leading `_` (i.e. `_depot_tools`) and the proxy now
checks for an exact match (i.e. `== "depot_tools"`) instead of
`endswith("depot_tools")`.

Rename our checkout to `depot_tools` (without the leading `_`) so the
`ninja.py` proxy can exclude it when reinvoking `ninja`.

PR-URL: https://github.com/nodejs/node/pull/57330
Fixes: https://github.com/nodejs/build/issues/4027
Refs: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6259139
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
2025-03-07 15:35:36 +00:00
Richard Lau 2bf0bd2c9d tools: switch back to official OpenSSL
Change `tools/dep_updaters/update-openssl.sh` to fetch updates from
official OpenSSL.

PR-URL: https://github.com/nodejs/node/pull/57301
Refs: https://github.com/nodejs/node/pull/57142
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2025-03-05 19:09:54 +00:00
Richard Lau 60dff4208f test: skip test-config-json-schema with quic
`parallel/test-config-json-schema` compares to a generated fixture that
assumes that Node.js was built with default configuration settings.

Skip the test if non-default quic is enabled (`configure --with-quic`).

Refs: https://github.com/nodejs/node/pull/57016
Refs: https://github.com/nodejs/node/pull/57142
PR-URL: https://github.com/nodejs/node/pull/57225
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-03-01 19:10:59 +00:00
Richard Lau 5ae1224cef deps: update gyp file for ngtcp2 1.11.0
Add source file introduced in ngtcp2 1.11.0 to `ngtcp2.gyp`.

Refs: https://github.com/nodejs/node/pull/57179
PR-URL: https://github.com/nodejs/node/pull/57225
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-03-01 19:10:59 +00:00
Richard Lau ad845588d0 Revert "src: modernize cleanup queue to use c++20"
This reverts commit 581b44421a.

PR-URL: https://github.com/nodejs/node/pull/56846
Refs: https://github.com/nodejs/node/pull/56063
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-02-01 08:14:18 +00:00
Richard Lau adf8e97401 test: mark test-esm-loader-hooks-inspect-wait flaky
`test-esm-loader-hooks-inspect-wait` is occasionally crashing on more
platforms than Linux. Mark the test as flaky on those platforms as well.

PR-URL: https://github.com/nodejs/node/pull/56803
Refs: https://github.com/nodejs/node/issues/54346
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-01-29 09:14:45 +00:00
Richard Lau 05b3fcb4d7 doc: fix Node.js 23 column in CHANGELOG.md
The column for Node.js 23 in `CHANGELOG.md` is missing an opening
`<td>` tag so was not correctly rendering.

PR-URL: https://github.com/nodejs/node/pull/55935
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Jason Zhang <xzha4350@gmail.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-11-22 18:01:35 +00:00
Richard Lau fe1dd26398 build: use glob for dependencies of out/Makefile
The `out/Makefile` target in `Makefile` has an incomplete list of
`.gyp` files for Node.js dependencies in `deps`, but also the ones
that are listed are unconditional. If using any of the `--shared-*`
configure options, it should be possible to still build Node.js if
the corresponding directory under `deps` is removed.

Convert the explicit list of dependency `*.gyp` files for the
`out/Makefile` target to a glob. This will pick up any toplevel
`.gyp` files for dependencies present in `deps`.

PR-URL: https://github.com/nodejs/node/pull/55789
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2024-11-10 19:20:50 +00:00
Richard Lau 7bcc250799 tools: fix exclude labels for commit-queue
The `gh` cli doesn't recognise `--no-label`. Instead exclude labels
via the `--search` flag.

Refs: https://github.com/nodejs/node/pull/55781#issuecomment-2466782441
Refs: https://github.com/cli/cli/discussions/4142
PR-URL: https://github.com/nodejs/node/pull/55809
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
2024-11-11 01:30:27 +08:00
Richard Lau e0145b4c38 tools: fix c-ares updater script for Node.js 18
GitHub Actions is by default running the tools updater workflow
with Node.js 18. Avoid use of `import.meta.dirname`, which wasn't
backported to Node.js 18.

PR-URL: https://github.com/nodejs/node/pull/55717
Refs: https://github.com/nodejs/node/pull/55445
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-11-06 15:50:12 +00:00
Richard Lau 32ff100bfa crypto: update root certificates to NSS 3.104
This is the certdata.txt[0] from NSS 3.104.

This is the version of NSS that shipped in Firefox 131.0 on 2024-10-01.

Certificates added:
- FIRMAPROFESIONAL CA ROOT-A WEB
- TWCA CYBER Root CA
- SecureSign Root CA12
- SecureSign Root CA14
- SecureSign Root CA15

[0] https://raw.githubusercontent.com/nss-dev/nss/refs/tags/NSS_3_104_RTM/lib/ckfw/builtins/certdata.txt

PR-URL: https://github.com/nodejs/node/pull/55681
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2024-11-03 19:49:10 +00:00
Richard Lau 794cb51112 tools: fix root certificate updater
Determine the NSS version from actual Firefox releases, instead of
attempting to parse a wiki page (which is sensitive to formatting
changes and relies on the page being up to date).

PR-URL: https://github.com/nodejs/node/pull/55681
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2024-11-03 19:49:09 +00:00
Richard Lau c2ff449e3f crypto: fix RSA_PKCS1_PADDING error message
The ability to revert the fix for CVE-2023-46809 was only added to
Node.js 18.x, 20.x and 21.x as, per policy, security reverts are only
added to the existing supported release lines at the time of the fix.

The error message thrown when `RSA_PKCS1_PADDING` is used on `main`
and subsequent major versions (i.e. Node.js 22 and 23) when OpenSSL
does not support implicit rejections should not have suggested that
it is possible to revert the fix.

PR-URL: https://github.com/nodejs/node/pull/55629
Fixes: https://github.com/nodejs/node/issues/55628
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2024-11-03 01:01:48 +00:00
Richard Lau 4354a1de0e 2024-10-29, Version 22.11.0 'Jod' (LTS)
Notable changes:

This release marks the transition of Node.js 22.x into Long Term Support (LTS)
with the codename 'Jod'. The 22.x release line now moves into "Active LTS"
and will remain so until October 2025. After that time, it will move into
"Maintenance" until end of life in April 2027.

Other than updating metadata, such as the `process.release` object, to reflect
that the release is LTS, no further changes from Node.js 22.10.0 are included.

PR-URL: https://github.com/nodejs/node/pull/55504
2024-10-29 13:39:57 +00:00
Richard Lau e92446536e build: conditionally compile bundled sqlite
Only compile the bundled sqlite in `deps/sqlite` if Node.js was not
configured with `--shared-sqlite`.

`node.gypi` is already correctly adding the sqlite dependency if
`node_shared_sqlite=="false"` so the unconditional entries in `node.gyp`
are not necessary.

PR-URL: https://github.com/nodejs/node/pull/55409
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2024-10-21 16:57:14 +00:00
Richard Lau c124cfb4fa build: tidy up cares.gyp
Add comment noting that `cares_sources_common` is generated by tooling.
Remove duplicated entries.

PR-URL: https://github.com/nodejs/node/pull/55445
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2024-10-20 18:09:45 +00:00
Richard Lau 236ecd7e2f build: synchronize list of c-ares source files
Run the `tools/dep_updaters/update-c-ares.mjs` script to synchronize
the list of source files in our gyp file with the lists from c-ares'
Makefiles.

PR-URL: https://github.com/nodejs/node/pull/55445
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2024-10-20 18:09:44 +00:00
Richard Lau 4bf115a9ac tools: add script to synch c-ares source lists
Add step to the updater script for c-ares to synchronize the list
of sources in our gyp file with the lists in c-ares' Makefiles.

PR-URL: https://github.com/nodejs/node/pull/55445
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2024-10-20 18:09:43 +00:00
Richard Lau 82dab76d63 test: fix tests when Amaro is unavailable
Fix two tests that fail when `node` is configured `--without-amaro`.

PR-URL: https://github.com/nodejs/node/pull/55320
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-10-11 05:27:54 +00:00
Richard Lau 4f70132972 doc: reflect toolchains used for official binaries
Update the list of toolchains used to build the official Node.js
binaries for Node.js 23 onwards.

PR-URL: https://github.com/nodejs/node/pull/54967
Refs: https://github.com/nodejs/build/issues/3806
Refs: https://github.com/nodejs/node/pull/54081
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2024-09-20 01:51:34 +00:00
Richard Lau a1a3cafc38 build: turn off -Wrestrict
PR-URL: https://github.com/nodejs/node/pull/54737
Refs: https://github.com/nodejs/node/issues/54736
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
2024-09-04 09:14:16 +02:00
Richard Lau 2bfc9e467c test: update TLS test for OpenSSL 3.2
Update `parallel/test-tls-set-sigalgs` to account for error code changes
in OpenSSL 3.2 and later.

PR-URL: https://github.com/nodejs/node/pull/54612
Refs: https://github.com/nodejs/node/pull/53384
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2024-08-30 15:40:08 +00:00
Richard Lau dc352a5ff2 tools: update V8 gypfiles for 12.7
Add/remove abseil files introduced by V8 12.7 update found by:

```
git diff-tree --no-commit-id --name-status 0ec8f7eea3 -r
  | grep '^[AD].*abseil.*'
```

PR-URL: https://github.com/nodejs/node/pull/54077
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-08-16 16:05:13 +02:00
Richard Lau 7fab6e8885 doc: use gcc 12 on AIX for Node.js >=23
Use gcc 12 to build the official binaries for Node.js 23 onwards on
AIX. Note that this will require `libstdc++12`, available from the
AIX toolbox.

PR-URL: https://github.com/nodejs/node/pull/54338
Refs: https://github.com/nodejs/build/issues/3806
Refs: https://github.com/nodejs/build/pull/3858
Refs: https://github.com/nodejs/node/pull/54081
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2024-08-16 13:10:45 +00:00
Richard Lau bc6f895030 doc: move release key for Myles Borins
Myles has stepped down as a releaser. Move his key in `README.md`
to the "Other keys used to sign some previous releases" section.

PR-URL: https://github.com/nodejs/node/pull/54059
Refs: https://github.com/nodejs/Release/pull/1024
Refs: https://github.com/nodejs/Release/blob/main/GOVERNANCE.md#offboarding-releasers
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2024-08-05 15:07:42 +00:00
Richard Lau 7fb65f6bd0 build, tools: drop leading / from r2dir
The script is commented as removing `/home/dist/` part but the `cut`
command is off by one and end up including the `/` character (so that
the resulting string starts with `/`). When this is substituted into
`s3://${cloudflare_bucket}/${r2dir}/${shafile}.asc` we end up with
`//` (one from the template and one from the `r2dir`) which appears
to cause Cloudflare to create an extra top level `/` directory in the
bucket.

PR-URL: https://github.com/nodejs/node/pull/53951
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-07-22 13:21:35 +00:00
Richard Lau 45ff44b987 2024-07-19, Version 22.5.1 (Current)
Notable changes:

This release fixes a regression introduced in Node.js 22.5.0. The
problem is known to display the following symptoms:

- Crash with
```
FATAL ERROR: v8::Object::GetCreationContextChecked No creation context available
```

- npm errors with `npm error Exit handler never called!`

- yarn hangs or outputs
```
Usage Error: Couldn't find the node_modules state file - running an install might help (findPackageLocation)
```

PR-URL: https://github.com/nodejs/node/pull/53935
Refs: https://github.com/nodejs/node/issues/53902
Refs: https://github.com/npm/cli/issues/7657
Refs: https://github.com/yarnpkg/berry/issues/6398
2024-07-19 13:41:24 +00:00
Richard Lau 02bd866298 test: use Set.difference()
Starting from V8 12.2 and Node.js 22, the built-in `Set` object now
has a `difference()` method.

Replace our implementation of Set difference in
`parallel/test-bootstrap-modules` with the built-in method.

PR-URL: https://github.com/nodejs/node/pull/53597
Refs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/difference
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-06-28 18:39:37 +00:00
Richard Lau f1db8168cd build: add version-specific library path for AIX
Add the version-specific directory containing the C/C++ runtime
libraries to `-blibpath` on AIX. This will help link `node` against
the correct libraries at run-time when compiled with a different
version of the GNU C/C++ compiler without having to manually set
a `LIBPATH` environment variable.

PR-URL: https://github.com/nodejs/node/pull/53585
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
2024-06-27 16:28:45 +00:00
Richard Lau 53ac448022 test: fix OpenSSL version checks
As per the original pull request that introduced the OpenSSL version
check in `parallel/test-crypto-dh`:

```
Error message change is test-only and uses the right error message for
versions >=3.0.12 in 3.0.x and >= 3.1.4 in 3.1.x series.
```

Fix the check so that:
- The older message is expected for OpenSSL 3.1.0.
- The newer message is expected for OpenSSL from 3.1.4 (e.g. 3.2.x).

Refs: https://github.com/nodejs/node/pull/50395
PR-URL: https://github.com/nodejs/node/pull/53503
Refs: https://github.com/nodejs/node/issues/53382
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-06-26 19:45:54 +00:00
Richard Lau 2068c4083b tools: fix skip detection of test runner output
Fix the Python test harness so that it no longer treats the `# skipped`
part of the summary at the end of the built-in test runner output as
marking the test as skipped.

PR-URL: https://github.com/nodejs/node/pull/53545
Fixes: https://github.com/nodejs/node/issues/50346
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-06-24 13:05:56 +00:00
Richard Lau cd8e61fe26 test: extend env for test-node-output-errors
Extend, rather than replace, `env` for `test-node-output-errors` so
that `node` binaries that need `LD_LIBRARY_PATH`, `LIBPATH` or
`DYLD_LIBRARY_PATH` can run.

PR-URL: https://github.com/nodejs/node/pull/53535
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-06-23 18:53:03 +00:00
Richard Lau 2cb3504064 src: reset process.versions during pre-execution
Reset `process.versions` during pre-execution so that it reflects
the versions at run-time rather than when the snapshot was taken.

PR-URL: https://github.com/nodejs/node/pull/53444
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-06-20 18:07:19 +00:00
Richard Lau 3e7129e5d6 test: check against run-time OpenSSL version
Update `common.hasOpenSSL3*` to check against the run-time version of
OpenSSL instead of the version of OpenSSL that Node.js was compiled
against.

Add a generalized `common.hasOpenSSL()` so we do not need to keep adding
new checks for each new major/minor of OpenSSL.

PR-URL: https://github.com/nodejs/node/pull/53456
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2024-06-18 14:48:25 +00:00