Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
feeeed1
lib: add lint rule to enforce use of `kEmptyObject`
aduh95 Jun 10, 2026
d097b95
test_runner: add support for --test-coverage-include-all
avivkeller Jul 29, 2026
a3624ec
test_runner: extend tag filter with boolean expression DSL
atlowChemi Aug 13, 2026
c27900d
module: do not split a portable compile cache by uid
codebytere Aug 21, 2026
5dcda69
quic: apply multiple fixes to flow control signaling
jasnell Aug 15, 2026
be4cfcb
test: use common spawnSync helpers in more tests
greenheadHQ Aug 28, 2026
eb2f6ec
test: remove `console.log` call in `node_run_list`
aduh95 Aug 29, 2026
f748520
node-api: enter env context for async callbacks
codebytere Aug 30, 2026
deb9b0c
tools: avoid workflow shell interpolation
panva Sep 13, 2026
de7c719
test: update WPT for WebCryptoAPI to 55ce71bb9d
nodejs-github-bot Sep 7, 2026
46ce642
http: reduce per-request allocations in the server
mcollina Sep 19, 2026
5af3be0
test: deflake long timer WPTs
marcopiraccini Sep 19, 2026
ac20c2d
quic: cleanly tear down QUIC after worker.terminate()
pimterry Sep 19, 2026
ae9daa8
perf_hooks: fix truncation of uvMetricsInfo counters
jasnell Sep 17, 2026
666d9c4
doc: use Type for performanceNodeTiming.uvMetricsInfo
jasnell Sep 17, 2026
d26c7a8
perf_hooks: add performanceNodeTiming.uvMetricsInfoBigInt
jasnell Sep 17, 2026
14cc70f
stream: trim per-stream costs in webstreams
mcollina Sep 20, 2026
2b74b0f
meta: bump codecov/codecov-action from 7.0.0 to 7.1.0
dependabot[bot] Sep 20, 2026
3a5e979
perf_hooks: fix PerformanceObserver observer count leaks
jasnell Sep 17, 2026
5a196dd
perf_hooks: track GC callback installation natively
jasnell Sep 17, 2026
376515b
perf_hooks: restore GC tracking after snapshot deserialization
jasnell Sep 17, 2026
7ba72ec
https: handle invalid TLS options in proxied requests
christianaurichzm Sep 20, 2026
6b76fa6
lib: add primitive fast path to structuredClone
araujogui Sep 20, 2026
466ceb7
fs: close fd 0 on discarded FileHandle transfer
christianaurichzm Sep 21, 2026
e6fe0dd
typings: wire up quic internal binding types
agape1225 Sep 21, 2026
96e5fb9
doc: restore XadillaX to collaborators
XadillaX Sep 21, 2026
a34e624
node-api: do not crash on module version mismatch
krassx Sep 21, 2026
aa6a3d9
test: deflake test-benchmark-crypto
panva Sep 20, 2026
d520d5a
test: deflake test-http2-debug
panva Sep 20, 2026
c9ceee9
test: update WPT for WebCryptoAPI to a6a0a0292a
nodejs-github-bot Sep 22, 2026
ae4b586
typings: add mksnapshot internal binding types
leah-1ee Sep 22, 2026
abaaa6a
watch: strip watch flags from NODE_OPTIONS in child process
marcopiraccini Sep 22, 2026
c6425ed
typings: share AsyncWrap and HandleWrap types
leah-1ee Sep 22, 2026
14bc58a
test: deflake pummel/test-timers
panva Sep 22, 2026
ed673e1
fs: close file streams with fd 0
greenheadHQ Sep 22, 2026
b58212e
test: mark some tests flaky for now on riscv64
sxa Sep 4, 2026
de4e5f7
src: free placeholder nodes for cppgc wrappers in MemoryTracker
codebytere Sep 22, 2026
a8b9b14
util: show SuppressedError's error/suppressed properties on inspect
agape1225 Sep 22, 2026
3342161
test_runner: do not reuse a worker ID held by a running file
vserpokryl Sep 22, 2026
1d0b6c6
stream: ensure nested async iterators are cancellation aware
jasnell Aug 30, 2026
de2ced4
stream: make broadcast waiters use SafeSet
jasnell Aug 30, 2026
60b2148
stream: trim per-pipe and per-tee costs in webstreams
mcollina Sep 22, 2026
9d0cedc
doc: document iterable input for AbortSignal.any
haramj Sep 22, 2026
881b21c
src: add a flag to keep the embedder's wasm streaming callback
codebytere Sep 23, 2026
1dd0a9a
doc: clarify Worker execArgv vs Permission Model grants
yunshingng Sep 22, 2026
b69d90d
doc: add return type to Blocklist.isBlocklist
motokaneyuki Sep 23, 2026
c4af19f
test: deflake watch mode tests
panva Sep 23, 2026
2dc06c6
test: update WPT for url to c48d58747e
nodejs-github-bot Sep 23, 2026
95a287e
test: use heapdump test for SecureContext memory tracking
mertcanaltin Sep 23, 2026
4802849
tools: add resume-ci label handling
panva Sep 24, 2026
4db710c
test: accept ENOTEMPTY from libc++ in test-fs-rm
codebytere Sep 24, 2026
21aa2d6
meta: label permission model changes correctly
RafaelGSS Sep 24, 2026
883a430
process: graduate process.ref/unref from experimental
jasnell Sep 24, 2026
c04adc6
perf_hooks: harden histogram CBOR import validation
jasnell Sep 18, 2026
5ec251c
perf_hooks: add histogram.snapshot()
jasnell Sep 18, 2026
6d58ce5
perf_hooks: add histogram.diff()
jasnell Sep 18, 2026
770d016
buffer: fix odd UTF-16LE indexOf start
inoway46 Sep 25, 2026
8c243d7
doc: add indexed `Array.prototype` properties to primordial exclusions
Renegade334 Sep 25, 2026
514c279
crypto: match algorithm names as ASCII
panva Sep 22, 2026
88ebe32
crypto: reject short AES-KW inputs
panva Sep 22, 2026
ae35a8f
crypto: isolate cipher job errors
panva Sep 22, 2026
f6e1dad
crypto: convert getRandomValues views
panva Sep 22, 2026
9cd3d15
crypto: validate normalized hash names
panva Sep 22, 2026
8586689
crypto: allow short AES-GCM IVs
panva Sep 22, 2026
9597c4f
crypto: allow unbound SubtleCrypto.supports
panva Sep 22, 2026
a07712e
crypto: resolve supports overloads by type
panva Sep 22, 2026
e3e0703
crypto: copy detached parameters as empty
panva Sep 22, 2026
7ec1d16
crypto: convert importKey data as a union
panva Sep 22, 2026
8098e37
crypto: copy parameters without array species
panva Sep 22, 2026
dfc96ac
crypto: check RSA JWK alg with SHA-3 hashes
panva Sep 22, 2026
b2e9060
crypto: reject duplicate unknown key usages
panva Sep 22, 2026
4b6e9f5
crypto: handle PBKDF2 iteration limits
panva Sep 22, 2026
a14d443
crypto: copy derived bits without species
panva Sep 22, 2026
d1ac653
crypto: minimize RSA public exponent metadata
panva Sep 22, 2026
253b8e7
crypto: create key usage arrays without species
panva Sep 22, 2026
4a5d366
crypto: derive Argon2 without worker threads
panva Sep 22, 2026
051e785
crypto: report actual RSA modulus lengths
panva Sep 22, 2026
ebf32f5
crypto: split hybrid keys without species
panva Sep 22, 2026
7167b54
crypto: use the public CryptoKey prototype
panva Sep 22, 2026
fa99ce2
crypto: include EC public keys in PKCS8 exports
panva Sep 22, 2026
1d682c6
crypto: map JWK export failures to OperationError
panva Sep 22, 2026
0b5196c
crypto: check EC coordinate conversion results
panva Sep 22, 2026
12dbdcb
benchmark: cover Web Crypto conversion costs
panva Sep 23, 2026
4f7e913
crypto: verify empty KMAC outputs
panva Sep 23, 2026
99640f2
zlib: reject reset while a zstd frame is incomplete
xia-chao Sep 25, 2026
5458d21
module: normalize package map paths
Dansatch Sep 25, 2026
c613879
url: create URLSearchParams collision map lazily
RomainLanz Sep 25, 2026
07cfccc
net: skip IPv6 regex when the string has no colon
anonrig Sep 25, 2026
7ef78fb
test: ensure fsPromises.watch rejects on abort
hanityx Sep 25, 2026
ff02a27
net: speed up BlockList.check for strings
anonrig Sep 25, 2026
7b67993
util,assert: expose util.isPartialDeepStrictEqual()
tlhunter Sep 25, 2026
10a2377
doc,src,test: fix typos in code comments
aguashui Sep 22, 2026
962f52c
test: use spawnSync helpers in cpu-prof tests
DevJunz Sep 1, 2026
2c409d9
src: reserve shared_array_buffers capacity in Message::Deserialize
agape1225 Sep 25, 2026
c5669fb
http: preserve socket errors as response error causes
XadillaX Sep 16, 2026
ccad151
stream: support ArrayBufferView in Utf8Stream write() buffer mode
agape1225 Aug 14, 2026
8ae6c5b
build: add GZIP_COMPRESSION Make variable
inoway46 Sep 25, 2026
0297599
test: deflake debugger function name extraction
panva Sep 26, 2026
437a315
test: deflake inspector async hook setup
panva Sep 24, 2026
d90d232
test: deflake test runner timeout coverage
panva Sep 24, 2026
a1c44f9
deps: update googletest to 4267679b6887f349f17b01ccd70c9e3483689b25
nodejs-github-bot Sep 26, 2026
4fc8c3b
http: normalize CONNECT request paths
efekrskl Sep 26, 2026
8f2553f
build: add clang support for pgo on macOS/Linux
legendecas Sep 26, 2026
b7af4ad
benchmark: fix shadowing that broke h=20 on incoming_headers benchmark
pimterry Sep 26, 2026
22a86a4
zlib: reject reset after gzip/deflate emitted incomplete output
xia-chao Sep 26, 2026
41ca0e8
zlib: preserve brotli params and dictionary on reset
xia-chao Sep 26, 2026
c228ab1
stream: fix pipeline function tail deadlock
dayun6530 Sep 26, 2026
761c3d5
worker: remove messageerror listeners on exit
dayun6530 Sep 26, 2026
16899fe
fs: fix crash on negative zero file descriptor
christianaurichzm Sep 26, 2026
0c9ade5
querystring: speed up default parse and unescape
anonrig Sep 26, 2026
d863075
worker: add Symbol.toStringTag to MessageChannel and MessagePort
lazerg Aug 25, 2026
818c49c
worker: add Symbol.toStringTag to BroadcastChannel
lazerg Aug 25, 2026
f82dea9
typings: wire up spawn_sync internal binding types
agape1225 Sep 27, 2026
c3463de
watch: detect files replaced via unlink and create
marcopiraccini Sep 27, 2026
efaf0a2
tools: check CI availability and workload
panva Sep 27, 2026
5c0bd39
http: avoid toLowerCase on the server hot path
anonrig Sep 25, 2026
6faf61d
buffer: add isLatin1
jasnell Sep 28, 2026
6ba363b
stream: keep webstreams nil requests in fast mode
mcollina Sep 28, 2026
47c08e0
buffer: fix negative index for large buffers
Dansatch Sep 28, 2026
762fd1d
test: use common.PIPE in fs.cp socket tests
maksim-romanov Sep 28, 2026
077d157
deps: upgrade npm to 11.20.0
npm-cli-bot Sep 24, 2026
79c5dae
module: avoid allocating a cache key string for every require()
MarshallOfSound Sep 28, 2026
15ef1df
deps: update zlib to 1.3.2.1-motley-456ae73
nodejs-github-bot Sep 29, 2026
7859d5a
http: add isValidHeaderName() and isValidHeaderValue()
jasnell Sep 27, 2026
0102e7a
benchmark: add http header validator benchmark
jasnell Sep 27, 2026
071f355
benchmark: add a node::MakeCallback benchmark
nigrosimone Sep 26, 2026
f3eb8bf
test: check frame restore in CallbackScope
nigrosimone Sep 26, 2026
24b0739
deps: update lief to 1.0.0
nodejs-github-bot Sep 29, 2026
ff2ad5b
benchmark: add zstdCompress benchmark
Cherry Sep 28, 2026
0cab835
crypto: fix raw key export error for wrong key type
koreahghg Sep 29, 2026
7654e3a
src: fix builds without SSL and SQLite
panva Sep 30, 2026
a5b0616
src: remove `HAVE_QUIC` macro in favor of `OPENSSL_NO_QUIC`
aduh95 Sep 30, 2026
0b2fb0c
test: deflake inspector network fetch
panva Sep 26, 2026
fa710c9
test: deflake debugger PID attachment and cleanup
panva Sep 26, 2026
facfda7
test: deflake inspector close connection test
panva Sep 26, 2026
661222b
test: deflake http server mixed request timeouts
panva Sep 26, 2026
dcbee2f
test: deflake http headers timeout keepalive
panva Sep 26, 2026
a72877c
test: deflake esm loader http imports
panva Sep 26, 2026
d706d5c
test: deflake watch cwd with isolation none
panva Sep 26, 2026
ab975cc
test: probe cluster workers with signal 0
panva Sep 26, 2026
e53047b
test: isolate styleText tests from the environment
panva Sep 26, 2026
a16a13c
src: assert that an IsolateData outlives its Environments
codebytere Sep 22, 2026
0dea8f3
doc: update FreeEnvironment() notes for sibling Environments
codebytere Sep 22, 2026
1a1eb84
fs: stop recursive mkdir from retrying ENOENT forever
marcopiraccini Sep 30, 2026
0e69105
child_process: build the default env block in one native pass
codebytere Sep 30, 2026
30203d5
test_runner: do not crash on stdout that mimics a v8 frame
faizanu94 Oct 1, 2026
9ac0fbc
tools: update gyp-next to 0.22.3
nodejs-github-bot Oct 1, 2026
030ef3b
tools: keep OpenSSL update PRs in draft until arch configs committed
Renegade334 Oct 1, 2026
dd4512a
process: use a class for nextTick resources
mcollina Oct 2, 2026
7cb102e
test: do not hardcode V8 serialization header
joyeecheung Oct 2, 2026
35fd570
tools: bump brace-expansion from 5.0.9 to 5.0.12 in /tools/eslint
dependabot[bot] Oct 2, 2026
fd57ae0
tools: bump brace-expansion in /tools/clang-format
dependabot[bot] Oct 3, 2026
02b6e51
tools: add cache to `lint-js-and-md`
aduh95 Sep 30, 2026
7360801
util: fix inspect indentation of detached DataView
Kjubikstronk Oct 3, 2026
623b31b
benchmark: add implicit-framing case to http/set-header
mcollina Sep 30, 2026
4595f1e
tools: avoid repeated subtree scans in must-call-assert
inoway46 Oct 3, 2026
fda2197
tools: wait for test processes instead of polling
mcollina Oct 3, 2026
7d51ddc
http: cache parser callbacks
mcollina Sep 27, 2026
90747d4
zlib: fix abort with decodeStrings: false
Cherry Sep 29, 2026
7e15b7d
http: avoid dictionary-mode objects in responses
mcollina Sep 30, 2026
4612967
util: make mime parsing faster
jasnell Oct 5, 2026
e72b27a
build: fix vcbuild lint skipping lint-md-build
vedchaudhari Oct 5, 2026
f0adca7
tools: limit format-cpp checkout history
inoway46 Oct 5, 2026
2d8d314
build: fix vcbuild format-md install and exit
vedchaudhari Oct 5, 2026
16ff02f
tools: limit checkout for lint-cpp
inoway46 Oct 5, 2026
eb3a1e1
meta: bump github/codeql-action/upload-sarif from 4.38.0 to 4.38.2
dependabot[bot] Oct 5, 2026
4b8d7d6
meta: bump github/codeql-action/init from 4.38.0 to 4.38.2
dependabot[bot] Oct 5, 2026
982b9cb
meta: bump github/codeql-action/autobuild from 4.38.0 to 4.38.2
dependabot[bot] Oct 5, 2026
709cec3
meta: bump github/codeql-action/analyze from 4.38.0 to 4.38.2
dependabot[bot] Oct 5, 2026
0488018
watch: escape quotes and backslashes in NODE_OPTIONS
trivikr Oct 5, 2026
31b43c2
deps: update histogram to 0.12.0
nodejs-github-bot Oct 6, 2026
fe9ea33
test: update WPT for WebCryptoAPI to 3127c3a492
nodejs-github-bot Oct 6, 2026
d3c8026
test: update test426-fixtures to 9ea66b466fd37e8a4050033d23b3e1480973c3d
nodejs-github-bot Oct 6, 2026
8d748a6
build: do not include shared gtest in `node` link path
aduh95 Oct 11, 2026
06330cf
test: run instantiateStreaming-bad-imports WPT
panva Sep 26, 2026
7bc1f81
meta: bump codecov/codecov-action from 7.1.0 to 7.1.1
dependabot[bot] Oct 3, 2026
7bffdd1
tools: bump the eslint group in /tools/eslint with 5 updates
dependabot[bot] Oct 3, 2026
b84cff9
test: remove duplicated cases in permission fs-read fixture
RafaelGSS Oct 3, 2026
f716617
doc: add missing return types in cluster.md
Cayan Oct 4, 2026
0a24d06
crypto: remove select Web Crypto warnings
panva Oct 4, 2026
79963f4
stream: port remaining SonicBoom tests for Utf8Stream
mcollina Oct 5, 2026
9818249
test_runner: add mock call assertions to t.assert
araujogui Oct 6, 2026
4144f03
watch: strip underscore aliases of watch flags
trivikr Oct 6, 2026
f9f4955
quic: destroy stream on invalid promise body
christianaurichzm Oct 6, 2026
76b639e
doc: run license-builder
github-actions[bot] Oct 7, 2026
4938ab9
tools: copy hdr_histogram_internal.h in update-histogram.sh
fcostaoliveira Oct 7, 2026
756ad11
doc: clarify node binary misuse after compromise
RafaelGSS Oct 7, 2026
0fb5843
crypto: skip secret key mutex allocation
panva Sep 30, 2026
bbe2394
crypto: remove RSA-OAEP key locking
panva Sep 30, 2026
1910ae8
crypto: remove verify setup key locking
panva Sep 30, 2026
6ee93af
crypto: isolate provider EC PKCS8 encoding
panva Oct 1, 2026
69ef95d
doc: clarify revert PR label policy
aduh95 Oct 7, 2026
2744e34
test_runner: report load errors with --test-isolation=none
lazerg Oct 8, 2026
1551f16
doc: fix request.reusedSocket timeout example
efekrskl Sep 25, 2026
99f30d8
doc: document keepAliveTimeoutBuffer server option
efekrskl Sep 25, 2026
9389dd4
doc: clarify http Agent keepSocketAlive behavior
efekrskl Oct 8, 2026
eb4064a
child_process: propagate config-file permission flags to children
RafaelGSS Oct 8, 2026
5c94136
benchmark: fix url-searchparams-sort to sort a fresh list
RafaelGSS Oct 5, 2026
6aaf667
sqlite: validate aggregate() name and options
araujogui Oct 9, 2026
17c3a4d
test: tolerate async block count updates in test-fs-stat-bigint
RafaelGSS Oct 10, 2026
ffda0b0
process: mark process.finalization as release candidate
mcollina Oct 1, 2026
43f468d
stream: fix Utf8Stream flush handling
jasnell Oct 3, 2026
126b303
benchmark: add util.parseArgs benchmark
RafaelGSS Oct 10, 2026
09bce78
http2: speed up response getHeaders
rozzilla Oct 10, 2026
88f4e12
benchmark: fix buffer option in buffer read/write benchmarks
RafaelGSS Oct 10, 2026
2d2c9a7
test_runner: rerun failing todo tests in suites
barakor Oct 10, 2026
aa3b72b
benchmark: fix input passed to subtle.digest in webcrypto-digest
RafaelGSS Oct 10, 2026
dd0e725
stream: keep share buffer when all consumers detach
jasnell Oct 3, 2026
6491f01
stream: bound pre-batched async values in from()
jasnell Oct 3, 2026
5c95c1f
stream: fix fromSync() async input error messages
jasnell Oct 3, 2026
d1059dd
deps: update simdjson to 5.0.3
lemire Oct 9, 2026
e5248ee
build: support Python 3.15
MikeMcC399 Oct 11, 2026
f4dead1
module: fix require of imports with package map
lazerg Oct 11, 2026
9affbed
lib: fix AbortSignal.any() nested composite leak
DariusHQ Oct 12, 2026
6ff20e9
meta: bump nodejs/node-pr-labeler to dfe5eb3
soulee-dev Oct 12, 2026
22561b0
build: run QUIC CI for V8 changes
inoway46 Oct 12, 2026
b49f4ec
http: reduce raw header name allocations
rozzilla Oct 12, 2026
bcb1ebb
deps: update sqlite to 3.54.0
nodejs-github-bot Oct 12, 2026
7d11f19
deps: update acorn to 8.19.0
nodejs-github-bot Oct 12, 2026
0dc3498
querystring: fix value decoding after encoded keys
vedchaudhari Oct 13, 2026
0766e26
stream: skip idle webstreams start and watchers
mcollina Sep 30, 2026
d05e32b
deps: update googletest to 988ea2c1798de7779f656df2281dd36d6039a17a
nodejs-github-bot Oct 13, 2026
da6a298
doc: list futimes among fd APIs disabled by the permission model
RafaelGSS Oct 13, 2026
b123ad3
src: release uv_fs_t in permission WildcardIfDir
RafaelGSS Oct 13, 2026
978ad84
tools: restore Python 3.14 for daily WPT
panva Oct 13, 2026
fbb832f
permission: keep explicit fs grants when dropping a covering directory
RafaelGSS Oct 13, 2026
9847a56
src: fix the fs permission tree node on wildcard nodes
jasnell Sep 19, 2026
fa476db
deps: V8: cherry-pick 7d5eb1df2a72
inoway46 Oct 7, 2026
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
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions .github/label-pr-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ subSystemLabels:
/^src\/uv\./: c++, libuv
/^src\/(?:connect(?:ion)?|pipe|tcp)_/: c++, net
/^src\/node_os/: c++, os
/^src\/permission\//: c++, permission
/^src\/(?:node_main|signal_)/: c++, process
/^src\/timer[_s]/: c++, timers
/^src\/node_root_certs/: c++, tls
Expand Down Expand Up @@ -102,6 +103,7 @@ subSystemLabels:
/^lib\/test.js$/: test_runner
/^lib\/v8.js$/: v8 module
/^lib\/internal\/url\.js$/: whatwg-url
/^lib\/internal\/process\/permission\.js$/: permission
/^lib\/internal\/modules\/esm/: esm
/^lib\/internal\/modules/: module
/^lib\/internal\/source_map/: source maps
Expand All @@ -116,6 +118,13 @@ subSystemLabels:

exlusiveLabels:
# More specific tests
/^test\/(?:parallel|sequential)\/test-(?:[^/]+-)?permission(?:-|\.)/: test, permission
/^test\/ffi\/test-ffi-permissions?(?:-|\.)/: test, permission
/^test\/addons\/no-addons\/permission\.js$/: test, addons, permission
/^test\/es-module\/test-[^/]*-permission(?:-|\.)/: test, esm, permission
/^test\/module-hooks\/test-[^/]*-permission(?:-|\.)/: test, module, loaders, permission
/^test\/fixtures\/permission\//: test, permission
/^test\/fixtures\/rc\/permission-namespace\.json$/: test, permission
/^test\/addons\//: test, addons
/^test\/debugger/: test, debugger
/^test\/doctool\//: test, doc, tools
Expand Down Expand Up @@ -150,6 +159,7 @@ exlusiveLabels:
# test_runner documentation
/^doc\/api\/test.md$/: doc, test_runner
# Automatically tag JS subsystem-specific API doc changes
/^doc\/api\/permissions\.md$/: doc, permission
/^doc\/api\/(\w+)\.md$/: doc, $1
# Add deprecations label to PRs that affect doc/api/deprecations.md
/^doc\/api\/deprecations.md$/: doc, deprecations
Expand All @@ -162,6 +172,7 @@ exlusiveLabels:
/^doc\//: doc

# More specific benchmarks
/^benchmark\/fs\/readfile-permission-enabled\.js$/: benchmark, fs, permission
/^benchmark\/buffers\//: benchmark, buffer
/^benchmark\/es\//: benchmark, v8 engine
/^benchmark\/_http/: benchmark, http
Expand Down Expand Up @@ -198,6 +209,7 @@ allJsSubSystems:
- os
- path
- perf_hooks
- permission
- process
- punycode
- querystring
Expand Down
35 changes: 25 additions & 10 deletions .github/workflows/auto-start-ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# This action uses the following secrets:
# JENKINS_USER: GitHub user whose Jenkins token is defined below
# JENKINS_TOKEN: Jenkins token, to be used to start CI
# JENKINS_TOKEN: Jenkins token, to be used to start or resume CI
# Optional repository variables:
# AUTO_START_CI_BATCH_SIZE: maximum PRs to process per run (default: 5)
# AUTO_START_CI_MAX_WORKLOAD: pause at this many running or queued PR jobs (default: 15)
name: Auto Start CI

on:
Expand Down Expand Up @@ -30,16 +33,25 @@ jobs:
steps:
- name: Get Pull Requests
id: get_prs_for_ci
run: >
echo "numbers=$(gh pr list \
# Explicit bash enables pipefail so jq cannot hide a failed gh query.
shell: bash
run: |
if ! [[ "$BATCH_SIZE" =~ ^[1-9][0-9]*$ ]]; then
echo '::error::AUTO_START_CI_BATCH_SIZE must be a strictly positive integer'
exit 1
fi
# Filter before selecting the batch; UNKNOWN mergeability is retried later.
numbers=$(gh pr list \
--repo "$GITHUB_REPOSITORY" \
--label 'request-ci' \
--json 'number' \
--search 'review:approved' \
-t '{{ range . }}{{ .number }} {{ end }}' \
--limit 5)" >> "$GITHUB_OUTPUT"
--json 'number,mergeable' \
--search 'review:approved label:request-ci,resume-ci' \
--limit 100 \
| jq --argjson limit "$BATCH_SIZE" \
'[.[] | select(.mergeable == "MERGEABLE") | .number] | .[:$limit] | map(tostring) | join(" ")' -r)
echo "numbers=$numbers" >> "$GITHUB_OUTPUT"
env:
GH_TOKEN: ${{ github.token }}
BATCH_SIZE: ${{ vars.AUTO_START_CI_BATCH_SIZE || '5' }}
start-ci:
permissions:
checks: read
Expand Down Expand Up @@ -70,9 +82,12 @@ jobs:
GH_TOKEN: ${{ github.token }}
JENKINS_TOKEN: ${{ secrets.JENKINS_TOKEN }}

- name: Start the CI
- name: Start or resume the CI
run: |
read -r -a numbers <<< "$PULL_REQUESTS"
curl -fsSL "https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/start-ci.sh" \
| sh -s -- ${{ needs.get-prs-for-ci.outputs.numbers }}
| sh -s -- "${numbers[@]}"
env:
GH_TOKEN: ${{ github.token }}
PULL_REQUESTS: ${{ needs.get-prs-for-ci.outputs.numbers }}
MAX_WORKLOAD: ${{ vars.AUTO_START_CI_MAX_WORKLOAD || '15' }}
2 changes: 1 addition & 1 deletion .github/workflows/build-tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
FLAKY_TESTS: keep_retrying

permissions:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql-config.yml

- name: Autobuild
uses: github/codeql-action/autobuild@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/autobuild@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
category: /language:${{matrix.language}}
4 changes: 3 additions & 1 deletion .github/workflows/commit-queue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,8 @@ jobs:
git config --local user.email "github-bot@iojs.org"
git config --local user.name "Node.js GitHub Bot"
ncu-config set token "$GH_TOKEN"
./tools/actions/commit-queue.sh ${{ steps.get_mergeable_prs.outputs.numbers }}
read -r -a numbers <<< "$PULL_REQUESTS"
./tools/actions/commit-queue.sh "${numbers[@]}"
env:
GH_TOKEN: ${{ secrets.GH_USER_TOKEN }}
PULL_REQUESTS: ${{ steps.get_mergeable_prs.outputs.numbers }}
4 changes: 2 additions & 2 deletions .github/workflows/coverage-linux-without-intl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
FLAKY_TESTS: keep_retrying
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++
Expand Down Expand Up @@ -79,6 +79,6 @@ jobs:
- name: Clean tmp
run: rm -rf coverage/tmp && rm -rf out
- name: Upload
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1
with:
directory: ./coverage
4 changes: 2 additions & 2 deletions .github/workflows/coverage-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
FLAKY_TESTS: keep_retrying
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++
Expand Down Expand Up @@ -79,6 +79,6 @@ jobs:
- name: Clean tmp
run: rm -rf coverage/tmp && rm -rf out
- name: Upload
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1
with:
directory: ./coverage
4 changes: 2 additions & 2 deletions .github/workflows/coverage-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
FLAKY_TESTS: keep_retrying

permissions:
Expand Down Expand Up @@ -93,6 +93,6 @@ jobs:
- name: Clean tmp
run: npx rimraf ./coverage/tmp
- name: Upload
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1
with:
directory: ./coverage
8 changes: 6 additions & 2 deletions .github/workflows/daily-wpt-fyi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:
- cron: 30 0 * * *

env:
# WPT's pywebsocket3 still uses CGIHTTPRequestHandler, removed in Python 3.15.
PYTHON_VERSION: '3.14'

permissions:
Expand Down Expand Up @@ -139,7 +140,9 @@ jobs:
- name: Clone report for upload
if: ${{ env.WPT_REPORT != '' }}
working-directory: out/wpt
run: cp wptreport.json wptreport-${{ steps.setup-node.outputs.node-version }}.json
run: cp wptreport.json "wptreport-$NODE_VERSION.json"
env:
NODE_VERSION: ${{ steps.setup-node.outputs.node-version }}
- name: Upload GitHub Actions artifact
if: ${{ env.WPT_REPORT != '' }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
Expand All @@ -150,12 +153,13 @@ jobs:
- name: Upload WPT Report to wpt.fyi API
if: ${{ env.WPT_REPORT != '' }}
env:
NODE_VERSION: ${{ steps.setup-node.outputs.node-version }}
WPT_FYI_USERNAME: ${{ vars.WPT_FYI_USERNAME }}
WPT_FYI_PASSWORD: ${{ secrets.WPT_FYI_PASSWORD }}
working-directory: out/wpt
run: |
gzip wptreport.json
echo "## Node.js ${{ steps.setup-node.outputs.node-version }}" >> $GITHUB_STEP_SUMMARY
echo "## Node.js $NODE_VERSION" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "WPT Revision: [\`${WPT_REVISION:0:7}\`](https://github.com/web-platform-tests/wpt/commits/$WPT_REVISION)" >> $GITHUB_STEP_SUMMARY
for WPT_FYI_ENDPOINT in "https://wpt.fyi/api/results/upload" "https://staging.wpt.fyi/api/results/upload"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/label-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-slim

steps:
- uses: nodejs/node-pr-labeler@d4cf1b8b9f23189c37917000e5e17e796c770a6b # v1
- uses: nodejs/node-pr-labeler@dfe5eb3b099a487644e32567a482744620876ab3 # v1
with:
repo-token: ${{ secrets.GH_USER_TOKEN }}
configuration-path: .github/label-pr-config.yml
2 changes: 1 addition & 1 deletion .github/workflows/lint-release-proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
NODE_VERSION: lts/*

permissions:
Expand Down
33 changes: 28 additions & 5 deletions .github/workflows/linters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
NODE_VERSION: lts/*

permissions:
Expand All @@ -41,6 +41,12 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
# Skip large vendored trees that lint-cpp does not use.
sparse-checkout: |
/*
!/deps/openssl/
!/deps/v8/
sparse-checkout-cone-mode: false
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
Expand All @@ -53,7 +59,8 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
# The first parent of the PR merge commit is the base branch commit.
fetch-depth: 2
persist-credentials: false
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
Expand All @@ -70,7 +77,7 @@ jobs:
# because it is irrelevant. We already check if the formatter produced
# a diff in the next line.
# Refs: https://github.com/nodejs/node/pull/42764
CLANG_FORMAT_START="$(git merge-base HEAD refs/remotes/origin/$GITHUB_BASE_REF)" \
CLANG_FORMAT_START=HEAD^ \
make format-cpp || true
git --no-pager diff --exit-code && EXIT_CODE="$?" || EXIT_CODE="$?"
if [ "$EXIT_CODE" != "0" ]
Expand All @@ -91,13 +98,29 @@ jobs:
with:
persist-credentials: false
- name: Use Node.js ${{ env.NODE_VERSION }}
id: setup-node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
cache-dependency-path: |
tools/doc/package-lock.json
tools/eslint/package-lock.json
tools/lint-md/package-lock.json
- name: Cache ESLint results
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
env:
# ESLint only invalidates its cache on config changes, so the key also
# covers the custom rules and the files they read.
cache-prefix: eslint-${{ runner.os }}-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('eslint.config.mjs', '*/eslint.config_partial.mjs', 'tools/eslint/*', 'tools/eslint-rules/**', 'doc/api/errors.md', 'doc/api/deprecations.md') }}
with:
path: .eslintcache
key: ${{ env.cache-prefix }}-${{ github.sha }}
restore-keys: ${{ env.cache-prefix }}-
- name: Lint JavaScript files
run: |
set +e
NODE=$(command -v node) make lint-js
NODE=$(command -v node) make lint-js ESLINT_CACHE_FLAGS='--cache --cache-strategy content'
EXIT_CODE="$?"
if [ "$EXIT_CODE" != "0" ]; then
echo
Expand Down Expand Up @@ -127,7 +150,7 @@ jobs:
- name: Lint markdown files
run: |
echo "::add-matcher::.github/workflows/remark-lint-problem-matcher.json"
NODE=$(command -v node) make lint-md
NODE=$(command -v node) make lint-md ESLINT_CACHE_FLAGS='--cache --cache-strategy content'
env:
NODE_RELEASED_VERSIONS: ${{ steps.get-released-versions.outputs.NODE_RELEASED_VERSIONS }}
lint-py:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
uses: github/codeql-action/upload-sarif@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
with:
sarif_file: results.sarif
2 changes: 1 addition & 1 deletion .github/workflows/stress-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ on:
type: string

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
XCODE_VERSION: '16.4'
CLANG_VERSION: '19'
RUSTC_VERSION: '1.82'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-internet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
FLAKY_TESTS: keep_retrying
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-linux-quic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- configure.py
- node.gyp
- node.gypi
- deps/v8/**
- deps/ngtcp2/**
- deps/nghttp3/**
- deps/openssl/**
Expand All @@ -30,7 +31,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
FLAKY_TESTS: keep_retrying
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
FLAKY_TESTS: keep_retrying
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} clang++
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ concurrency:
cancel-in-progress: true

env:
PYTHON_VERSION: '3.14'
PYTHON_VERSION: '3.15'
XCODE_VERSION: '16.1'
FLAKY_TESTS: keep_retrying

Expand Down
Loading
Loading