Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

22.14.0 'Jod' (LTS) release proposal #56910

Merged
merged 205 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
205 commits
Select commit Hold shift + click to select a range
e69d35f
doc: add history info for Permission Model
aduh95 Jan 22, 2025
928540d
doc: fix typos
NathanBaulch Sep 29, 2024
9ec67e7
meta: move MoLow to TSC regular member
MoLow Dec 18, 2024
12f716b
build: build v8 with -fvisibility=hidden on macOS
joyeecheung Dec 19, 2024
721104a
doc: fix links in `module.md`
aduh95 Dec 19, 2024
a3f5ef2
test: make `test-permission-sqlite-load-extension` more robust
aduh95 Dec 19, 2024
9cf9046
Revert "events: add hasEventListener util for validate"
origranot Dec 17, 2024
8e149aa
test: add test case for listeners
origranot Dec 17, 2024
fa56ab2
test: deflake test-esm-loader-hooks-inspect-brk
lpinca Dec 19, 2024
df06524
lib: suppress source map lookup exceptions
legendecas Dec 17, 2024
dc00321
lib: optimize `prepareStackTrace` on builtin frames
legendecas Dec 17, 2024
406e7db
test: remove async-hooks/test-writewrap flaky designation
lpinca Dec 20, 2024
e658ea6
stream: validate undefined sizeAlgorithm in WritableStream
jazelly Dec 20, 2024
7245245
node-api: remove deprecated attribute from napi_module_register
vmoroz Dec 20, 2024
2a3cdd3
build: test macos-13 on GitHub actions
targos Dec 20, 2024
acba5dc
module: use buffer.toString base64
legendecas Dec 21, 2024
105c4ed
tools: add release line label when opening release proposal
aduh95 Dec 21, 2024
b197dfa
build: fix GN build for ngtcp2
zcbenz Dec 18, 2024
53b29b0
tools: fix `require-common-first` lint rule from subfolder
aduh95 Dec 22, 2024
4352bf6
test: check typescript loader
marco-ippolito Dec 23, 2024
6eacd19
deps: update simdutf to 5.7.0
nodejs-github-bot Dec 24, 2024
8319dc6
deps: update ngtcp2 to 1.10.0
nodejs-github-bot Dec 24, 2024
6ae9950
test: migrate message eval tests from Python to JS
yiyunlei Oct 31, 2023
8ffeb8b
test: increase spin for eventloop test on s390
mhdawson Dec 10, 2024
ca6ed21
test: skip `test-sqlite-extensions` when SQLite is not built by us
aduh95 Dec 24, 2024
0f7aed8
doc: fix the `crc32` documentation
kevinuehara Dec 24, 2024
ad3d857
src: use starts_with in fs_permission.cc
IlyasShabi Dec 25, 2024
68819b4
test: deflake test-watch-file-shared-dependency
lpinca Dec 25, 2024
e4ec134
doc: clarify that WASM is trusted
mcollina Dec 25, 2024
a6491ef
doc: use `<ul>` instead of `<ol>` in `SECURITY.md`
aduh95 Dec 23, 2024
b4ece22
meta: move one or more collaborators to emeritus
nodejs-github-bot Dec 25, 2024
30f61f4
url: use resolved path to convert UNC paths to URL
aduh95 Dec 25, 2024
cc648ef
test: enable ts test on win arm64
marco-ippolito Dec 26, 2024
b6c3869
test: improve abort signal dropping test
geeksilva97 Dec 26, 2024
516d074
doc: expand description of `parseArg`'s `default`
bakkot Dec 27, 2024
c99de1f
assert: make partialDeepStrictEqual throw when comparing [0] with [-0]
puskin94 Dec 12, 2024
9761e7d
deps: update googletest to e54519b
nodejs-github-bot Dec 28, 2024
3462263
sqlite: pass conflict type to conflict resolution handler
louwers Dec 29, 2024
0362924
test: use unusual chars in the path to ensure our tests are robust
aduh95 Dec 30, 2024
d938d7c
deps: update googletest to 7d76a23
nodejs-github-bot Dec 31, 2024
18d4b50
deps: update amaro to 0.2.1
nodejs-github-bot Dec 31, 2024
01e69be
node-api: define version 10
gabrielschulhof Dec 31, 2024
03f2505
doc: add example for piping ReadableStream
gabrielschulhof Jan 1, 2025
7e5ea06
src: use v8::LocalVector consistently with other minor cleanups
jasnell Dec 31, 2024
8ead9c6
deps: update simdutf to 5.7.2
nodejs-github-bot Jan 2, 2025
fb4661a
test_runner: finish marking snapshot testing as stable
cjihrig Jan 3, 2025
1705cbe
tools: bump the eslint group in /tools/eslint with 4 updates
dependabot[bot] Jan 3, 2025
d5c0532
tools: use a configurable value for number of open dependabot PRs
aduh95 Jan 3, 2025
3e729ce
tools: disable unneeded rule ignoring in Python linting
Trott Jan 3, 2025
ec2940b
test: update test-child-process-windows-hide to use node:test
cjihrig Jan 4, 2025
926cf84
test_runner: add assert.register() API
cjihrig Jan 4, 2025
059f81e
test: update test-set-http-max-http-headers to use node:test
cjihrig Jan 4, 2025
b40f503
test: add initial test426 coverage
legendecas Jan 4, 2025
ccb2ddb
test: update compiled sqlite tests to match other tests
cjihrig Jan 5, 2025
b6c2e91
sqlite: enable SQL math functions
cjihrig Jan 5, 2025
07ff3dd
sqlite: support TypedArray and DataView in `StatementSync`
himself65 Jan 5, 2025
2c6124c
inspector: report loadingFinished until the response data is consumed
legendecas Jan 5, 2025
48493e9
src: use LocalVector in more places
jasnell Jan 3, 2025
f959805
worker: flush stdout and stderr on exit
mcollina Jan 6, 2025
843c238
test: update error code in tls-psk-circuit for for OpenSSL 3.4
sebastianas Jan 6, 2025
5614993
src: drain platform tasks before creating startup snapshot
legendecas Jan 7, 2025
98d3474
tools: fix loong64 build failed
Xiao-Tao Jan 7, 2025
6eec5e7
src: lock the thread properly in snapshot builder
joyeecheung Jan 7, 2025
5aa436f
src: make some minor ToLocalChecked cleanups
jasnell Jan 7, 2025
04f623b
src: fixup more ToLocalChecked uses in node_file
jasnell Jan 5, 2025
b89f123
crypto: make generatePrime/checkPrime interruptible
jasnell Jan 3, 2025
e232789
assert: show diff when doing partial comparisons
puskin94 Jan 8, 2025
3f0d1dd
src: move more crypto impl detail to ncrypto dep
jasnell Dec 31, 2024
76921b8
src: minor cleanups on OneByteString usage
jasnell Jan 5, 2025
0dae4bb
inspector: add undici http tracking support
legendecas Jan 8, 2025
97ece4a
doc: allow request for TSC reviews via the GitHub UI
aduh95 Jan 8, 2025
b7fe54f
fs: allow `exclude` option in globs to accept glob patterns
daeyeon Jan 8, 2025
19b4aa4
test_runner: run single test file benchmark
pmarchini Jan 9, 2025
b46bad3
src: refactor --trace-env to reuse option selection and handling
joyeecheung Jan 9, 2025
6594ee8
src: fix undefined script name in error source
legendecas Jan 9, 2025
4844fa2
test: mark test-http-server-request-timeouts-mixed as flaky
joyeecheung Jan 9, 2025
e222e36
assert: make partialDeepStrictEqual work with urls and File prototypes
puskin94 Jan 9, 2025
047537b
test_runner: add t.assert.fileSnapshot()
cjihrig Jan 9, 2025
294e4c4
tools: validate commit list as part of `lint-release-commit`
aduh95 Jan 9, 2025
d3207cc
doc: add message for Ambassadors to promote
mhdawson Dec 11, 2024
6701360
doc: add esm examples to node:trace_events
mfdebian Jan 10, 2025
c6fd867
esm: fix jsdoc type refs to `ModuleJobBase` in esm/loader
JakobJingleheimer Jan 10, 2025
b40b01b
doc: include CVE to EOL lines as sec release process
RafaelGSS Jan 10, 2025
697e799
test: add error only reporter for node:test
Ceres6 Jan 11, 2025
5edb7b5
crypto: fix warning of ignoring return value
zcbenz Jan 11, 2025
bad1ad8
assert: make myers_diff function more performant
puskin94 Jan 11, 2025
a533420
test: clarify fork inherit permission flags
RafaelGSS Jan 11, 2025
ed1785d
tools: edit `create-release-proposal` workflow
aduh95 Jan 11, 2025
d77c707
sqlite: disable memstatus APIs at build time
cjihrig Jan 12, 2025
4aa57b5
doc: fix parentheses in options
tniessen Jan 12, 2025
ace19a0
doc: update gcc-version for ubuntu-lts
KunalKumar-1 Jan 12, 2025
2386fd5
benchmark: add validateStream to styleText bench
RafaelGSS Jan 12, 2025
900c6c3
tls: fix error stack conversion in cryptoErrorListToException()
joyeecheung Jan 12, 2025
2042628
doc: add section about using npx with permission model
RafaelGSS Jan 13, 2025
28bec2d
diagnostics_channel: capture console messages
Qard Jan 13, 2025
0bfbb68
util: expose CallSite.scriptId
legendecas Jan 13, 2025
7d1676e
stream: fix typo in ReadableStreamBYOBReader.readIntoRequests
MattiasBuelens Jan 13, 2025
94d3fe1
src: add --disable-sigusr1 to prevent signal i/o thread
RafaelGSS Jan 13, 2025
1950fbf
test: make test-crypto-hash compatible with OpenSSL > 3.4.0
jelly Dec 6, 2024
2dc4a30
test: disable openssl 3.4.0 incompatible tests
jelly Dec 6, 2024
12a2cae
test: update test-child-process-bad-stdio to use node:test
cjihrig Jan 13, 2025
1641a28
doc: document CLI way to open the nodejs/bluesky PR
aduh95 Jan 13, 2025
890eef2
crypto: fix checkPrime crash with large buffers
santigimeno Jan 11, 2025
82a9000
crypto: update root certificates to NSS 3.107
nodejs-github-bot Jan 14, 2025
46bd4b8
deps: update simdutf to 6.0.3
nodejs-github-bot Jan 14, 2025
5afffb4
src,worker: add isInternalWorker
Ceres6 Jan 14, 2025
14c562c
tools: remove github reporter
Ceres6 Jan 14, 2025
17f931c
src: cleaning up more crypto internals for ncrypto
jasnell Jan 8, 2025
67c10cd
src: update ECDASSigPointer implementation in ncrypto
jasnell Jan 8, 2025
2a3a36e
src: update ECGroupPointer in ncrypto
jasnell Jan 8, 2025
01922f8
src: update ECPointPointer in ncrypto
jasnell Jan 8, 2025
d6a7acc
src: update ECKeyPointer in ncrypto
jasnell Jan 9, 2025
9cdc3b3
util: do not crash on inspecting function with `Symbol` name
ljharb Jan 15, 2025
1faabdb
meta: add codeowners of security release document
RafaelGSS Jan 15, 2025
b47076f
deps: update amaro to 0.2.2
nodejs-github-bot Jan 12, 2025
1a4fa2b
deps: update amaro to 0.3.0
nodejs-github-bot Jan 14, 2025
152df4d
module: rethrow amaro error message
marco-ippolito Jan 14, 2025
59be346
test: mark test-worker-prof as flaky on smartos
joyeecheung Jan 15, 2025
ea66bf3
util: rename CallSite.column to columnNumber
legendecas Jan 15, 2025
b1a6ffa
doc: improve internal documentation on built-in snapshot
joyeecheung Jan 15, 2025
a8a0603
util: inspect: do not crash on an Error with a regex `name`
ljharb Jan 15, 2025
697a851
test_runner: add TestContext.prototype.waitFor()
cjihrig Jan 16, 2025
bcdb42d
src: handle duplicate paths granted
RafaelGSS Jan 16, 2025
d9e5a81
test: add line break at end of file
RafaelGSS Jan 16, 2025
3299505
doc: add type stripping to ambassadors program
marco-ippolito Jan 16, 2025
d3c0a28
doc: tweak info on reposts in ambassador program
mhdawson Jan 16, 2025
1f426ba
test_runner: remove unused errors
pmarchini Jan 17, 2025
f5b8499
test: add maxCount and gcOptions to gcUntil()
joyeecheung Jan 14, 2025
9827f7d
tools: fix permissions in `lint-release-proposal` workflow
aduh95 Jan 17, 2025
8346b8f
crypto: add missing return value check
mhdawson Jan 17, 2025
acd2a2f
doc: mention prepare --security
RafaelGSS Jan 17, 2025
fa49f0f
punycode: limit deprecation warning
cjihrig Jan 18, 2025
c5ca15b
child_process: fix parsing messages with splitted length field
MGorkov Jan 18, 2025
8c9eaf8
src: initialize FSReqWrapSync in path that uses it
targos Jan 19, 2025
fa869ea
deps: fixup some minor coverity warnings
jasnell Jan 19, 2025
de81d90
test: test-stream-compose.js doesn't need internals
nektro Jan 19, 2025
6ca27c2
http2: omit server name when HTTP2 host is IP address
islandryu Dec 29, 2024
ae360c3
doc: `WeakSet` and `WeakMap` comparison details
ishon19 Jan 20, 2025
8e978bd
doc: clarify cjs/esm diff in `queueMicrotask()` vs `process.nextTick()`
dario-piotrowicz Jan 21, 2025
feba5d3
tools: do not throw on missing `create-release-proposal.sh`
aduh95 Jan 22, 2025
48b72f1
test: use --permission instead of --experimental-permission
RafaelGSS Jan 22, 2025
2e5d038
worker: refactor stdio to improve performance
mcollina Jan 23, 2025
55533bf
doc: add RafaelGSS as latest sec release stewards
RafaelGSS Jan 23, 2025
fade522
doc: fix inconsistencies in `WeakSet` and `WeakMap` comparison details
ishon19 Jan 23, 2025
df8b835
tools: fix tools-deps-update
lemire Jan 23, 2025
c96792d
test: fix localization data for ICU 74.2
aduh95 Jan 23, 2025
e08af61
test: enforce strict mode in test-zlib-const
Trott Jan 24, 2025
362272b
tools: do not throw on missing `create-release-proposal.sh`
aduh95 Jan 24, 2025
a0aef4d
util: inspect: do not crash on an Error stack that contains a Symbol
ljharb Jan 12, 2025
fe79d63
test: add missing test for env file
JonasBa Jan 24, 2025
1c3204a
test: move crypto related common utilities in common/crypto
jasnell Jan 25, 2025
92e9978
test: move hasMultiLocalhost to common/net
jasnell Jan 25, 2025
5be29a2
test: simplify common/index.js
jasnell Jan 22, 2025
1795202
test: rely less on duplicative common test harness utilities
jasnell Jan 22, 2025
eb97076
test: make common/index slightly less node.js specific
jasnell Jan 22, 2025
b811dea
test: replace more uses of `global` with `globalThis`
jasnell Jan 22, 2025
52ef376
test: add test that uses multibyte for path and resolves modules
yamachu Jan 22, 2025
432a4b8
src: fix to generate path from wchar_t via wstring
yamachu Jan 22, 2025
7bae51e
src: fix build with GCC 15
tjuhaszrh Jan 25, 2025
927c7e4
doc: fix typo in example code for util.styleText
rmehner Jan 25, 2025
89a7c82
src: add default value for RSACipherConfig mode field
wooffie Jan 22, 2025
49405bd
test: make some requires lazy in common/index
jasnell Jan 23, 2025
5dd7116
watch: reload env file for --env-file-if-exists
JonasBa Jan 25, 2025
cd7ce18
module: fix bad `require.resolve` with option paths for `.` and `..`
dario-piotrowicz Jan 25, 2025
1a79e87
doc: add note regarding commit message trailers
dario-piotrowicz Jan 26, 2025
89ba3af
src: add nullptr handling from X509_STORE_new()
wooffie Jan 22, 2025
f1442d6
test: do not use common.isMainThread
lpinca Jan 26, 2025
5c030da
test: cleanup and simplify test-crypto-aes-wrap
jasnell Jan 26, 2025
edeb157
doc: improve accessibility of expandable lists
aduh95 Jan 26, 2025
d423638
doc: add "Skip to content" button
aduh95 Jan 26, 2025
74cccc8
deps: macro ENODATA is deprecated in libc++
zcbenz Jan 26, 2025
6096e38
doc: fix styles of the expandable TOC
aduh95 Jan 26, 2025
7644c7e
tools: update inspector_protocol roller
legendecas Jan 15, 2025
9f1fa19
inspector: roll inspector_protocol
legendecas Jan 15, 2025
a48430d
deps: move inspector_protocol to deps
legendecas Jan 17, 2025
d2bfbfa
test: use strict mode in global setters test
Trott Jan 27, 2025
6fdf187
test: fix invalid common.mustSucceed() usage
lpinca Jan 27, 2025
801cde9
test: reduce number of written chunks
lpinca Jan 27, 2025
31bf9c7
doc: move anatoli to emeritus
mhdawson Jan 27, 2025
35335a5
meta: move one or more collaborators to emeritus
nodejs-github-bot Jan 27, 2025
e9f185b
tools: update doc to new version
nodejs-github-bot Dec 15, 2024
63c1859
deps: update corepack to 0.31.0
nodejs-github-bot Jan 28, 2025
efbba18
doc: add entry to changelog about SQLite Session Extension
louwers Dec 21, 2024
6d6cffa
module: add `findPackageJSON` util
JakobJingleheimer Oct 25, 2024
bbedffa
module: simplify `findPackageJSON` implementation
aduh95 Nov 2, 2024
1f4f9be
module: fix async resolution error within the sync `findPackageJSON`
JakobJingleheimer Dec 31, 2024
fcfe650
doc: add note for features using `InternalWorker` with permission model
aduh95 Jan 23, 2025
d519d33
doc: update macOS and Xcode versions for releases
targos Dec 25, 2024
0307e4d
module: unify TypeScript and .mjs handling in CommonJS
joyeecheung Oct 31, 2024
299d6fa
module: fix jsdoc for `format` parameter in cjs/loader
pacexy Jan 15, 2025
d33eaf2
lib: ensure FORCE_COLOR forces color output in non-TTY environments
pmarchini Oct 23, 2024
d35333a
process: add process.ref() and process.unref() methods
jasnell Dec 29, 2024
3f69b18
process: fix symbol key and mark experimental new `node:process` methods
aduh95 Jan 10, 2025
c78e110
process: remove support for undocumented symbol
aduh95 Jan 12, 2025
d5bf3db
lib: allow skipping source maps in node_modules
legendecas Jan 23, 2025
8cbb7cc
test_runner: print failing assertion only once with spec reporter
pmarchini Jan 19, 2025
174d88e
module: support eval with ts syntax detection
marco-ippolito Dec 24, 2024
3ac92ef
lib: add typescript support to STDIN eval
marco-ippolito Dec 29, 2024
f041742
test: remove empty lines from snapshots
marco-ippolito Dec 24, 2024
96ec862
lib: refactor execution.js
marco-ippolito Dec 24, 2024
e4f133c
test: add ts eval snapshots
marco-ippolito Dec 25, 2024
c658a8a
worker: add eval ts input
marco-ippolito Jan 3, 2025
1614e8e
module: add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX
marco-ippolito Jan 17, 2025
bae4b2e
module: use more defensive code when handling SWC errors
aduh95 Jan 23, 2025
5d2feb2
2025-02-11, Version 22.14.0 'Jod' (LTS)
aduh95 Feb 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@
/src/permission/* @nodejs/security-wg
/test/parallel/test-permission-* @nodejs/security-wg

# Security Release
/doc/contributing/security-release-process.md @nodejs/security-stewards

# Dependency Update Tools

/.github/workflows/tools.yml @nodejs/security-wg
Expand Down
6 changes: 3 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ updates:
interval: monthly
commit-message:
prefix: meta
open-pull-requests-limit: 10
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}

- package-ecosystem: npm
directory: /tools/eslint
schedule:
interval: monthly
commit-message:
prefix: tools
open-pull-requests-limit: 10
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}
groups:
eslint:
applies-to: version-updates
Expand All @@ -29,7 +29,7 @@ updates:
interval: monthly
commit-message:
prefix: tools
open-pull-requests-limit: 10
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}
groups:
lint-md:
applies-to: version-updates
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ jobs:
- name: Test
run: |
cd $TAR_DIR
make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9"
make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9"
2 changes: 1 addition & 1 deletion .github/workflows/coverage-linux-without-intl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
# The cause is most likely coverage's use of the inspector.
- name: Test
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9" || exit 0
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9" || exit 0
- name: Report JS
run: npx c8 report --check-coverage
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
# The cause is most likely coverage's use of the inspector.
- name: Test
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9" || exit 0
run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9" || exit 0
- name: Report JS
run: npx c8 report --check-coverage
env:
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/create-release-proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
- name: Set up ghauth config (Ubuntu)
run: |
mkdir -p "${XDG_CONFIG_HOME:-~/.config}/changelog-maker"
echo '{}' | jq '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json"
jq --null-input '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json"
env:
TOKEN: ${{ github.token }}

Expand All @@ -73,9 +73,8 @@ jobs:
- name: Start git node release prepare
# The curl command is to make sure we run the version of the script corresponding to the current workflow.
run: |
git update-index --assume-unchanged tools/actions/create-release.sh
curl -fsSLo tools/actions/create-release.sh https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release.sh
./tools/actions/create-release.sh "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}"
curl -fsSL https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release-proposal.sh |\
sh -s -- "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}"
env:
GH_TOKEN: ${{ github.token }}
# We want the bot to push the push the release commit so CI runs on it.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ jobs:
name: docs
path: out/doc
- name: Test
run: NODE=$(command -v node) make test-doc-ci TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
run: NODE=$(command -v node) make test-doc-ci TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
37 changes: 26 additions & 11 deletions .github/workflows/lint-release-proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ permissions:
jobs:
lint-release-commit:
runs-on: ubuntu-latest
permissions:
pull-requests: read
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
Expand All @@ -33,30 +35,43 @@ jobs:
echo "COMMIT_SUBJECT=$COMMIT_SUBJECT" >> "$GITHUB_ENV"
- name: Lint release commit message trailers
run: |
EXPECTED_TRAILER="^PR-URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$"
EXPECTED_TRAILER="^$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$"
echo "Expected trailer format: $EXPECTED_TRAILER"
ACTUAL="$(git --no-pager log -1 --format=%b | git interpret-trailers --parse --no-divider)"
PR_URL="$(git --no-pager log -1 --format='%(trailers:key=PR-URL,valueonly)')"
echo "Actual: $ACTUAL"
echo "$ACTUAL" | grep -E -q "$EXPECTED_TRAILER"
echo "$PR_URL" | grep -E -q "$EXPECTED_TRAILER"

PR_URL="${ACTUAL:8}"
PR_HEAD="$(gh pr view "$PR_URL" --json headRefOid -q .headRefOid)"
echo "Head of $PR_URL: $PR_HEAD"
echo "Current commit: $GITHUB_SHA"
[ "$PR_HEAD" = "$GITHUB_SHA" ]
env:
GH_TOKEN: ${{ github.token }}
- name: Verify it's release-ready
run: |
SKIP_XZ=1 make release-only
- name: Validate CHANGELOG
id: releaser-info
run: |
EXPECTED_CHANGELOG_TITLE_INTRO="## $COMMIT_SUBJECT, @"
echo "Expected CHANGELOG section title: $EXPECTED_CHANGELOG_TITLE_INTRO"
CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "doc/changelogs/CHANGELOG_V${COMMIT_SUBJECT:20:2}.md")"
MAJOR="$(awk '/^#define NODE_MAJOR_VERSION / { print $3 }' src/node_version.h)"
CHANGELOG_PATH="doc/changelogs/CHANGELOG_V${MAJOR}.md"
CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "$CHANGELOG_PATH")"
echo "Actual: $CHANGELOG_TITLE"
[ "${CHANGELOG_TITLE%%@*}@" = "$EXPECTED_CHANGELOG_TITLE_INTRO" ]
- name: Verify NODE_VERSION_IS_RELEASE bit is correctly set
run: |
grep -q '^#define NODE_VERSION_IS_RELEASE 1$' src/node_version.h
- name: Check for placeholders in documentation
run: |
! grep "REPLACEME" doc/api/*.md
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--jq '.commits.[] | { smallSha: .sha[0:10] } + (.commit.message|capture("^(?<title>.+)\n\n(.*\n)*PR-URL: (?<prURL>.+)\n"))' \
"/repos/${GITHUB_REPOSITORY}/compare/v${MAJOR}.x...$GITHUB_SHA" --paginate \
| node tools/actions/lint-release-proposal-commit-list.mjs "$CHANGELOG_PATH" "$GITHUB_SHA" \
| while IFS= read -r PR_URL; do
LABEL="dont-land-on-v${MAJOR}.x" gh pr view \
--json labels,url \
--jq 'if (.labels|map(.name==env.LABEL)|any) then error("\(.url) has the \(env.LABEL) label, forbidding it to be in this release proposal") end' \
"$PR_URL" > /dev/null
done
shell: bash # See https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference, we want the pipefail option.
env:
GH_TOKEN: ${{ github.token }}
2 changes: 1 addition & 1 deletion .github/workflows/test-asan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@ jobs:
- name: Build
run: make build-ci -j4 V=1
- name: Test
run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
12 changes: 10 additions & 2 deletions .github/workflows/test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
path: node
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
Expand All @@ -51,6 +52,13 @@ jobs:
- name: Environment Information
run: npx envinfo
- name: Build
run: make build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn"
- name: Test
run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
- name: Re-run test in a folder whose name contains unusual chars
run: |
mv node "$DIR"
cd "$DIR"
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
env:
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
20 changes: 16 additions & 4 deletions .github/workflows/test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ permissions:
jobs:
test-macOS:
if: github.event.pull_request.draft == false
runs-on: macos-14
strategy:
fail-fast: false
matrix:
macos-version: [macos-13, macos-14]
runs-on: ${{ matrix.macos-version }}
env:
CC: sccache gcc
CXX: sccache g++
Expand All @@ -47,6 +51,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
path: node
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
Expand All @@ -64,7 +69,7 @@ jobs:
# happen anymore running this step here first, that's also useful
# information.)
- name: tools/doc/node_modules workaround
run: make tools/doc/node_modules
run: make -C node tools/doc/node_modules
# This is needed due to https://github.com/nodejs/build/issues/3878
- name: Cleanup
run: |
Expand All @@ -80,8 +85,15 @@ jobs:
df -h
echo "::endgroup::"
- name: Build
run: make build-ci -j$(getconf _NPROCESSORS_ONLN) V=1 CONFIG_FLAGS="--error-on-warn"
run: make -C node build-ci -j$(getconf _NPROCESSORS_ONLN) V=1 CONFIG_FLAGS="--error-on-warn"
- name: Free Space After Build
run: df -h
- name: Test
run: make run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
run: make -C node run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9"
- name: Re-run test in a folder whose name contains unusual chars
run: |
mv node "$DIR"
cd "$DIR"
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
env:
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
2 changes: 1 addition & 1 deletion .github/workflows/test-ubsan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ jobs:
- name: Build
run: make build-ci -j2 V=1
- name: Test
run: make run-ci -j2 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
run: make run-ci -j2 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9"
23 changes: 8 additions & 15 deletions .github/workflows/tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ on:
- cjs-module-lexer
- corepack
- doc
- github_reporter
- googletest
- gyp-next
- histogram
Expand Down Expand Up @@ -135,14 +134,6 @@ jobs:
npm install --ignore-scripts $NEW_VERSION
npm install --ignore-scripts
fi
- id: github_reporter
subsystem: tools
label: tools
run: |
./tools/dep_updaters/update-github-reporter.sh > temp-output
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- id: googletest
subsystem: deps
label: dependencies, test
Expand Down Expand Up @@ -293,6 +284,10 @@ jobs:
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
steps:
- name: Setup Git config
run: |
git config --global user.name "Node.js GitHub Bot"
git config --global user.email "github-bot@iojs.org"
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id
with:
Expand All @@ -310,17 +305,15 @@ jobs:
if: env.COMMIT_MSG == '' && (github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id)
run: |
echo "COMMIT_MSG=${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}" >> "$GITHUB_ENV"
- uses: gr2m/create-or-update-pull-request-action@86ec1766034c8173518f61d2075cc2a173fb8c97 # v1.9.4
- uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id
# Creates a PR or update the Action's existing PR, or
# no-op if the base branch is already up-to-date.
env:
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
with:
author: Node.js GitHub Bot <github-bot@iojs.org>
body: This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}.
token: ${{ secrets.GH_USER_TOKEN }}
branch: actions/tools-update-${{ matrix.id }} # Custom branch *just* for this Action.
delete-branch: true
commit-message: ${{ env.COMMIT_MSG }}
labels: ${{ matrix.label }}
title: '${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}'
update-pull-request-title-and-body: true
body: This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}.
7 changes: 4 additions & 3 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@ Binaries at <https://nodejs.org/download/release/> are produced on:
| Binary package | Platform and Toolchain |
| ----------------------- | ----------------------------------------------------------------------------------------------------------- |
| aix-ppc64 | AIX 7.2 TL04 on PPC64BE with GCC 10 |
| darwin-x64 | macOS 11, Xcode 13 with -mmacosx-version-min=11.0 |
| darwin-arm64 (and .pkg) | macOS 11 (arm64), Xcode 13 with -mmacosx-version-min=11.0 |
| darwin-x64 | macOS 13, Xcode 16 with -mmacosx-version-min=11.0 |
| darwin-arm64 (and .pkg) | macOS 13 (arm64), Xcode 14 with -mmacosx-version-min=11.0 |
| linux-arm64 | RHEL 8 with GCC 10[^6] |
| linux-armv7l | Cross-compiled on RHEL 8 x64 with [custom GCC toolchain](https://github.com/rvagg/rpi-newer-crosstools)[^7] |
| linux-ppc64le | RHEL 8 with gcc-toolset-10[^6] |
Expand Down Expand Up @@ -244,7 +244,7 @@ Consult previous versions of this document for older versions of Node.js:

Installation via Linux package manager can be achieved with:

* Ubuntu, Debian: `sudo apt-get install python3 g++ make python3-pip`
* Ubuntu, Debian: `sudo apt-get install python3 g++-12 gcc-12 make python3-pip`
* Fedora: `sudo dnf install python3 gcc-c++ make python3-pip`
* CentOS and RHEL: `sudo yum install python3 gcc-c++ make python3-pip`
* OpenSUSE: `sudo zypper install python3 gcc-c++ make python3-pip`
Expand Down Expand Up @@ -272,6 +272,7 @@ fail.
To build Node.js:

```bash
export CXX=g++-12
./configure
make -j4
```
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.13.1">22.13.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.14.0">22.14.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.13.1">22.13.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.13.0">22.13.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.12.0">22.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.11.0">22.11.0</a><br/>
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2098,7 +2098,7 @@ The externally maintained libraries used by Node.js are:
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""

- inspector_protocol, located at tools/inspector_protocol, is licensed as follows:
- inspector_protocol, located at deps/inspector_protocol, is licensed as follows:
"""
// Copyright 2016 The Chromium Authors. All rights reserved.
//
Expand Down
Loading
Loading