Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
f1b74cf
test: skip tests failing when run under root
LiviaMedeiros Jun 10, 2025
9f2132a
test: deflake test-config-file
lpinca Jun 23, 2025
898e68a
test: save the config file in a temporary directory
lpinca Jun 23, 2025
7f0560d
test: skip broken sea on rhel8
marco-ippolito Jun 19, 2025
8d1f5df
module: unflag --experimental-strip-types
marco-ippolito Mar 3, 2025
354a68c
doc: add history entries to `--input-type` section
aduh95 May 7, 2025
c07745a
module: refactor commonjs typescript loader
marco-ippolito Jun 12, 2025
c898491
module: remove experimental warning from type stripping
marco-ippolito Jun 11, 2025
fe7994e
module: improve typescript error message format
marco-ippolito Mar 23, 2025
25f8682
deps: update amaro to 0.5.0
nodejs-github-bot Mar 30, 2025
81a10a6
deps: update amaro to 0.5.1
marco-ippolito Apr 3, 2025
7fcf675
deps: update amaro to 0.5.2
nodejs-github-bot Apr 16, 2025
258534d
deps: update amaro to 0.5.3
nodejs-github-bot May 7, 2025
752dde1
deps: update amaro to 1.0.0
nodejs-github-bot Jun 11, 2025
26f3711
deps: update amaro to 1.1.0
nodejs-github-bot Jun 20, 2025
6699c75
crypto: fix SHAKE128/256 breaking change introduced with OpenSSL 3.4
panva Jul 5, 2025
3ac8c68
esm: unwrap WebAssembly.Global on Wasm Namespaces
guybedford Feb 28, 2025
133b10a
doc: add path rules and validation for export targets in package.json
0hmX Jun 9, 2025
e515eb8
src: replace V8 Fast API todo comment with note comment
dario-piotrowicz Jun 9, 2025
3fc630e
test: close FileHandle objects in tests explicitly
jasnell Jun 9, 2025
9cb671f
src: add new CopyUtimes function to reduce code duplication
dario-piotrowicz Jun 9, 2025
e9c51de
deps: update zlib to 1.3.1-470d3a2
nodejs-github-bot Jun 10, 2025
7ccd848
deps: update simdjson to 3.13.0
nodejs-github-bot Jun 10, 2025
113f4e2
deps: update sqlite to 3.50.1
nodejs-github-bot Jun 10, 2025
daf65d4
src: replace std::array with static arrays in contextify
mertcanaltin Jun 10, 2025
abd5b5f
test: deflake async-hooks/test-improper-order on AIX
bakigul1 Jun 3, 2025
62f7926
fs: allow correct handling of burst in fs-events with AsyncIterator
pipobscure Jun 10, 2025
6d9d5de
test: split indirect eval import tests
legendecas Jun 11, 2025
10eb3db
module: allow cycles in require() in the CJS handling in ESM loader
joyeecheung Jun 11, 2025
d6660ba
test: update WPT for dom/abort to dc928169ee
nodejs-github-bot Jun 11, 2025
5cd8145
http2: add diagnostics channel 'http2.server.stream.close'
RaisinTen Jun 11, 2025
a7406f5
tools: improve release proposal linter
aduh95 Jun 11, 2025
42c4ca6
esm: syncify default path of `ModuleLoader.load`
JakobJingleheimer Jun 11, 2025
d28b2aa
typings: add ZSTD_COMPRESS, ZSTD_DECOMPRESS to internalBinding
nektro Jun 12, 2025
011290a
tools: edit commit-queue workflow file
aduh95 Jun 12, 2025
8c64110
doc: punctuation fix for Node-API versioning clarification
jiacai2050 Jun 12, 2025
9798511
tools: remove config.status under `make distclean`
Renegade334 Jun 12, 2025
3a099cf
tools: switch to `@stylistic/eslint-plugin`
targos Jun 13, 2025
bbf33ef
test: use `common.skipIfInspectorDisabled()` to skip tests
dario-piotrowicz Jun 13, 2025
8db92a4
tools: bump brace-expansion from 1.1.11 to 1.1.12 in /tools/eslint
dependabot[bot] Jun 14, 2025
fbbf49a
tools: bump `brace-expansion` in `/tools/clang-format`
dependabot[bot] Jun 14, 2025
fe4290a
url: add fileURLToPathBuffer API
jasnell Jun 12, 2025
17a3246
test: reduce the use of private symbols in test-events-once.js
kt3k Jun 15, 2025
9d3e451
test: add tests for REPL custom evals
dario-piotrowicz Jun 15, 2025
8ab24d2
doc: add islandryu to collaborators
islandryu Jun 16, 2025
a029a06
fs: add UV_ENOSPC to list of things to pass to err directly
jackyzha0 Jun 16, 2025
db648b9
util: inspect: do not crash on an Error stack pointing to itself
SamVerschueren Jun 16, 2025
22a4c60
repl: fix tab completion not working with computer string properties
dario-piotrowicz Jun 17, 2025
ec60473
doc: run license-builder
github-actions[bot] Jun 18, 2025
dedd9d1
fs: avoid computing time coefficient constants in runtime
LiviaMedeiros Jun 18, 2025
bbe4ad7
doc: add history entry for TS support in hooks
aduh95 Jun 18, 2025
cc8b9aa
tools: include toolchain.gypi in abseil.gyp
legendecas Jun 20, 2025
0f2b31c
inspector: add protocol methods retrieving sent/received data
legendecas Jun 20, 2025
4e9fe67
doc: fix wrong RFC number in http2
deokjinkim Jun 20, 2025
141b2b1
fs: make `Dir` disposers idempotent
Renegade334 Jun 20, 2025
28bf6ed
src: pass resource on permission checks for spawn
RafaelGSS Jun 21, 2025
ac6b822
test: correct SIMD support comment
richardlau Jun 21, 2025
a2d2d36
tools: make nodedownload module compatible with Python 3.14
frenzymadness Jun 22, 2025
9ef1cd1
repl: avoid deprecated `require.extensions` in tab completion
gulbaki Jun 23, 2025
4fd8911
build: fix typo 'Stoage' to 'Storage' in help text
ganglike248 Jun 23, 2025
8c61b96
deps: update acorn to 8.15.0
nodejs-github-bot Jun 23, 2025
2384bfd
doc: fix stability 1.x links excluding the decimal digit
dario-piotrowicz Jun 23, 2025
f67e927
lib: make `validateInternalField()` throw `ERR_INVALID_THIS`
LiviaMedeiros Jun 19, 2025
2c205d8
lib: rename `validateInternalField` into `validateThisInternalField`
LiviaMedeiros Jun 19, 2025
74ef07f
src: add FromV8Value<T>() for integral and enum types
Aditi-1400 Jun 24, 2025
50b62c9
meta: add @nodejs/inspector as codeowner
legendecas Jun 24, 2025
927d2e7
http: fix keep-alive not timing out after post-request empty line
islandryu Jun 24, 2025
ccca151
sqlite: add support for readBigInts option in db connection level
miguelmarcondesf Jun 24, 2025
54634f5
module: update tests for combined ambiguous module syntax error
mertcanaltin Jun 24, 2025
e8f4a7d
dns: set timeout to 1000ms when timeout < 0
theanarkh Jun 25, 2025
bfc68c8
module: convert schema-only core module on `convertCJSFilenameToURL`
himself65 Jun 25, 2025
af80518
tools: update gyp-next to 0.20.2
nodejs-github-bot Jun 26, 2025
79428d8
lib: fix `getTypeScriptParsingMode` jsdoc
ShenHongFei Jun 26, 2025
fa5818e
doc: fix `stream.md` section order
aduh95 Jun 26, 2025
e7591d7
deps: update minimatch to 10.0.3
nodejs-github-bot Jun 26, 2025
8bd698b
doc: add missing colon to headers in `globals.md`
avivkeller Jun 27, 2025
28fddc0
doc: add array type in http request headers
mikaws Jun 27, 2025
de2b85b
deps: update googletest to 35b75a2
nodejs-github-bot Jun 27, 2025
f8fcb1c
doc: fix jsdoc definition of assert.ifError() fn in lib/assert.js
pr4j3sh Jun 27, 2025
ba42c72
build: option to use custom inspector_protocol path
codebytere Jun 28, 2025
0e82f72
fs: throw `ERR_INVALID_THIS` on illegal invocations
LiviaMedeiros Jun 28, 2025
f0a165d
repl: fix eval errors thrown after close throwing `ERR_USE_AFTER_CLOSE`
dario-piotrowicz Jun 28, 2025
6b30c0a
src: -Wmismatched-new-delete in debug_utils.cc
codebytere Jun 28, 2025
e24dede
test: close dirs in `fs-opendir` test
LiviaMedeiros Jun 28, 2025
4dc6b4c
watch: add `--watch-kill-signal` flag
dario-piotrowicz Jun 15, 2025
d80ef2a
doc: add all watch-mode related flags to node.1
dario-piotrowicz Jun 28, 2025
ce49303
doc: add missing comma in `child_process.md`
ronijames008 Jun 29, 2025
0d538ab
test: remove reliance on in-tree `deps/undici`
richardlau Jun 29, 2025
3fd187f
test: replace `.filter()[0]` with `.find()`
LiviaMedeiros Jun 29, 2025
b19ffeb
assert: remove dead code
kt3k Jun 29, 2025
38ffed8
fs: special input `-1` on `chown`, `lchown` and `fchown`
himself65 Jun 29, 2025
f7c1698
build: disable v8_enable_pointer_compression_shared_cage on non-64bit
codebytere Jun 30, 2025
791ecfa
v8: fix missing callback in heap utils destroy
BridgeAR Jun 30, 2025
26072a7
test: add tests to ensure that node.1 is kept in sync with cli.md
dario-piotrowicz Jun 30, 2025
02e9711
deps: update sqlite to 3.50.2
nodejs-github-bot Jul 1, 2025
cd2a5d9
test: add known issue tests for fs.cp
jasnell Jul 1, 2025
114cd95
crypto: fix inclusion of OPENSSL_IS_BORINGSSL define
codebytere Jul 1, 2025
cd6bc98
doc: update vm doc links
legendecas Jul 1, 2025
7f4f6e0
meta: add IlyasShabi to collaborators
IlyasShabi Jul 1, 2025
7c54085
test: add known issue tests for recursive readdir calls with Buffer path
dario-piotrowicz Jul 1, 2025
72f75bb
src,permission: enhance permission model debug
RafaelGSS Jul 2, 2025
a84935f
tools: update inspector_protocol to 69d69dd
codebytere Jul 2, 2025
9551fa3
doc: update email address for Richard Lau
richardlau Jul 3, 2025
02031a9
doc: add ovflowd back to core collaborators
ovflowd Jul 3, 2025
e07adb3
src: cleanup uv_fs_req before uv_fs_stat on existSync
RafaelGSS Jun 16, 2025
4b0ee14
tools: bump the eslint group in /tools/eslint with 6 updates
dependabot[bot] Jul 3, 2025
0d56fec
meta: bump github/codeql-action from 3.28.18 to 3.29.2
dependabot[bot] Jul 4, 2025
12a75dc
meta: bump step-security/harden-runner from 2.12.0 to 2.12.2
dependabot[bot] Jul 4, 2025
88ee38b
doc: remove myself from security steward rotation
mhdawson Jul 4, 2025
2d8e65c
src: fix -Wunreachable-code-return in src/node_contextify.cc
codebytere Jun 30, 2025
6d1fe67
src: -Wunreachable-code error in crypto_context.cc
codebytere Jun 30, 2025
c855310
tools,doc: move more MDN links to types
aduh95 Jul 4, 2025
5f4c7a9
doc: add missing `Class:` mentions
aduh95 Jul 4, 2025
c2f9735
doc: fix `fetch` subsections in `globals.md`
aduh95 Jul 4, 2025
3856aee
doc: move "Core Promise APIs" to "Completed initiatives"
aduh95 Jul 4, 2025
a8a1c9a
os: fix GetInterfaceAddresses memory lieaky
theanarkh Jul 5, 2025
c7ebf2e
fs: close dir before throwing if `options.bufferSize` is invalid
LiviaMedeiros Jul 6, 2025
aa05823
doc: mark stability markers consistent in `globals.md`
aduh95 Jul 6, 2025
48003e8
src,permission: add support to permission.has(addon)
RafaelGSS Jul 7, 2025
5bc828b
benchmark: add source map and source map cache
miguelmarcondesf Jul 7, 2025
43d2ad8
test: deflake test-runner-watch-mode-kill-signal
dario-piotrowicz Jul 7, 2025
b8885a2
doc: clarify details of TSC public and private meetings
jasnell Jul 7, 2025
d5c1042
doc: remove broken link to permission model source code
juanarbol Jul 8, 2025
4baf216
dns: fix parse memory leaky
theanarkh Jul 8, 2025
914701d
lib,src: support DOMException ser-des
legendecas Jun 11, 2025
b722647
src: fix -Wunreachable-code in src/node_api.cc
codebytere Jun 30, 2025
65f19a0
permission: propagate permission model flags on spawn
RafaelGSS Jul 2, 2025
1e373a0
doc: update release key for aduh95
aduh95 Jul 18, 2025
f99aa74
deps: upgrade npm to 10.9.3
npm-cli-bot Jul 27, 2025
430e66b
esm: implement import.meta.main
Lordfirespeed May 26, 2025
2fc8989
module: fix typescript import.meta.main
marco-ippolito Jun 12, 2025
390654e
src: fix internalModuleStat v8 fast path
anonrig Apr 29, 2025
a381b4d
src: remove fast API for InternalModuleStat
joyeecheung Jun 3, 2025
6905258
src: simplify adding fast APIs to ExternalReferenceRegistry
Renegade334 Jul 4, 2025
8dbc6b2
worker: make Worker async disposable
jasnell May 24, 2025
66fccc2
test: add test for async disposable worker thread
jasnell May 24, 2025
805239c
typings: add Atomics primordials
Renegade334 Jun 4, 2025
c9ff1ae
2025-07-31, Version 22.18.0 'Jod' (LTS)
nodejs-github-bot Jul 28, 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
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -216,3 +216,10 @@
/src/node_options.* @nodejs/config
/test/parallel/test-config-* @nodejs/config
/test/parallel/test-dotenv-* @nodejs/config

# Inspector
/src/inspector/* @nodejs/inspector
/src/inspector_* @nodejs/inspector
/lib/internal/inspector/* @nodejs/inspector
/lib/internal/inspector_* @nodejs/inspector
/lib/inspector.js @nodejs/inspector
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql-config.yml

- name: Autobuild
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
uses: github/codeql-action/autobuild@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
category: /language:${{matrix.language}}
28 changes: 12 additions & 16 deletions .github/workflows/commit-queue.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This action requires the following secrets to be set on the repository:
# GH_USER_NAME: GitHub user whose Jenkins and GitHub token are defined below
# GH_USER_TOKEN: GitHub user token, to be used by ncu and to push changes
# JENKINS_USER: GitHub user whose Jenkins token is defined below
# JENKINS_TOKEN: Jenkins token, to be used to check CI status

name: Commit Queue
Expand Down Expand Up @@ -34,24 +34,24 @@ jobs:
id: get_mergeable_prs
run: |
prs=$(gh pr list \
--repo ${{ github.repository }} \
--base ${{ github.ref_name }} \
--repo "$GITHUB_REPOSITORY" \
--base "$GITHUB_REF_NAME" \
--label 'commit-queue' \
--json 'number' \
--search "created:<=$(date --date="2 days ago" +"%Y-%m-%dT%H:%M:%S%z") -label:blocked" \
-t '{{ range . }}{{ .number }} {{ end }}' \
--limit 100)
fast_track_prs=$(gh pr list \
--repo ${{ github.repository }} \
--base ${{ github.ref_name }} \
--repo "$GITHUB_REPOSITORY" \
--base "$GITHUB_REF_NAME" \
--label 'commit-queue' \
--label 'fast-track' \
--search "-label:blocked" \
--json 'number' \
-t '{{ range . }}{{ .number }} {{ end }}' \
--limit 100)
numbers=$(echo $prs' '$fast_track_prs | jq -r -s 'unique | join(" ")')
echo "numbers=$numbers" >> $GITHUB_OUTPUT
echo "numbers=$numbers" >> "$GITHUB_OUTPUT"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
commitQueue:
Expand All @@ -61,9 +61,6 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# Needs the whole git history for ncu to work
# See https://github.com/nodejs/node-core-utils/pull/486
fetch-depth: 0
# A personal token is required because pushing with GITHUB_TOKEN will
# prevent commits from running CI after they land. It needs
# to be set here because `checkout` configures GitHub authentication
Expand All @@ -80,24 +77,23 @@ jobs:

- name: Set variables
run: |
echo "REPOSITORY=$(echo ${{ github.repository }} | cut -d/ -f2)" >> $GITHUB_ENV
echo "OWNER=${{ github.repository_owner }}" >> $GITHUB_ENV
echo "REPOSITORY=$(echo "$GITHUB_REPOSITORY" | cut -d/ -f2)" >> "$GITHUB_ENV"

- name: Configure @node-core/utils
run: |
ncu-config set branch ${GITHUB_REF_NAME}
ncu-config set branch "${GITHUB_REF_NAME}"
ncu-config set upstream origin
ncu-config set username "$USERNAME"
ncu-config set token "$GH_TOKEN"
ncu-config set token "$GITHUB_TOKEN"
ncu-config set jenkins_token "$JENKINS_TOKEN"
ncu-config set repo "${REPOSITORY}"
ncu-config set owner "${OWNER}"
ncu-config set owner "${GITHUB_REPOSITORY_OWNER}"
env:
USERNAME: ${{ secrets.JENKINS_USER }}
GH_TOKEN: ${{ secrets.GH_USER_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
JENKINS_TOKEN: ${{ secrets.JENKINS_TOKEN }}

- name: Start the Commit Queue
run: ./tools/actions/commit-queue.sh ${{ env.OWNER }} ${{ env.REPOSITORY }} ${{ needs.get_mergeable_prs.outputs.numbers }}
run: ./tools/actions/commit-queue.sh "${GITHUB_REPOSITORY_OWNER}" "${REPOSITORY}" ${{ needs.get_mergeable_prs.outputs.numbers }}
env:
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs

Expand Down Expand Up @@ -73,6 +73,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
with:
sarif_file: results.sarif
3 changes: 2 additions & 1 deletion .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,8 @@ Rebecca Turner <[email protected]> <[email protected]>
Refael Ackermann <[email protected]> <[email protected]>
Reza Akhavan <[email protected]>
Ricardo Sánchez Gregorio <[email protected]>
Richard Lau <[email protected]> <[email protected]>
Richard Lau <[email protected]> <[email protected]>
Richard Lau <[email protected]> <[email protected]>
Rick Olson <[email protected]>
rickyes <[email protected]> <[email protected]>
rickyes <[email protected]> <[email protected]>
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.17.1">22.17.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.18.0">22.18.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.17.1">22.17.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.17.0">22.17.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.16.0">22.16.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.15.1">22.15.1</a><br/>
Expand Down
64 changes: 53 additions & 11 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,17 @@ Charter need approval by the OpenJS Foundation Cross-Project Council (CPC).
The TSC meets in a video conference call. Each year, the TSC elects a chair to
run the meetings. The TSC streams its meetings for public viewing on YouTube.

TSC meetings may consist of a public portion and a private portion. The private
portion is used to discuss sensitive topics, such as personnel issues,
security vulnerabilities, or other confidential matters. Private discussions
should be avoided as much as possible, and the TSC should strive to keep
discussions in the public portion of the meeting, but there are times when
private discussions are necessary.

The TSC agenda includes issues that are at an impasse. The intention of the
agenda is not to review or approve all patches. Collaborators review and approve
patches on GitHub.
patches on GitHub. The preference is to minimize the need for TSC meetings to
make decisions that can otherwise be made by collaborators on GitHub.

Any community member can create a GitHub issue asking that the TSC review
something. If consensus-seeking fails for an issue, a collaborator may apply the
Expand All @@ -109,21 +117,55 @@ Before each TSC meeting, the meeting chair will share the agenda with members of
the TSC. TSC members can also add items to the agenda at the beginning of each
meeting. The meeting chair and the TSC cannot veto or remove items.

The TSC may invite people to take part in a non-voting capacity.

During the meeting, the TSC chair ensures that someone takes minutes. After the
meeting, the TSC chair ensures that someone opens a pull request with the
minutes.

The TSC seeks to resolve as many issues as possible outside meetings using
[the TSC issue tracker](https://github.com/nodejs/TSC/issues). The process in
the issue tracker is:
The TSC may invite people to take part in a non-voting capacity in either the
public or private portions of the meeting.

During the public portion of the meeting, the TSC chair ensures that someone
takes minutes that include a summary of the discussion and any
decisions made. After the meeting, the TSC chair ensures that someone opens a
public pull request with the minutes from the public portion of the meeting.

The public portion of the TSC meeting is expected to be recorded and made
available for live streaming during the meeting or download by anyone after.
This expectation is to be announced to all participants at the start of the
each meeting before the recording is started. Continued participation in the
public portion of the meeting after this announcement is interpreted as consent to the
recording.

For the private portion of the meeting, the TSC chair ensures that someone
produces a summary of the discussions, gets it reviewed by the attendees,
and shares it to all the TSC members once approved by the attendees via a
private discussion channel such as the TSC private mailing list. The summary
may be made public if there is consensus within the TSC and the non-TSC
attendees to make it public.

Recording the private portion of a meeting or maintaining or publishing a
detailed transcript is only permitted when all participants present during the
private portion of the meeting explicitly agree to the recording and/or
transcript, in order to comply to privacy regulations.

All discussions made during meetings are considered provisional, receiving no
objections from folks at the TSC meeting to take an action is not equivalent to
the TSC endorsing that action.

If a quorum of TSC voting members is present, it is possible to call for an
explicit vote, and take the vote immediately if there are no objections. The
decision is considered confirmed once the rest of the TSC voting members have
been informed and no objection for taking that vote has been raised in 48 hours.
To clarify, TSC voting members can object to the vote taking place during the
meeting, but not to the vote itself.

For discussions outside of meetings, the TSC uses
[the TSC issue tracker](https://github.com/nodejs/TSC/issues) for public
issues, and the private TSC email list for private matters. The process for
public issues in the issue tracker is:

* A TSC member opens an issue explaining the proposal/issue and @-mentions
@nodejs/tsc.
* The proposal passes if, after 72 hours, there are two or more TSC voting
member approvals and no TSC voting member opposition.
* If there is an extended impasse, a TSC member may make a motion for a vote.
* If there is an extended impasse, a TSC member may ask for the issue to be
added to the TSC agenda, or make a motion for a vote.

## Collaborator nominations

Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -1545,9 +1545,9 @@ The externally maintained libraries used by Node.js are:
- zlib, located at deps/zlib, is licensed as follows:
"""
zlib.h -- interface of the 'zlib' general purpose compression library
version 1.3.0.1, August xxth, 2023
version 1.3.1, January 22nd, 2024

Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler
Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ testclean: ## Remove test artifacts.
distclean: ## Remove all build and test artifacts.
$(RM) -r out
$(RM) config.gypi icu_config.gypi
$(RM) config.mk
$(RM) config.mk config.status
$(RM) -r $(NODE_EXE) $(NODE_G_EXE)
$(RM) -r node_modules
$(RM) -r deps/icu
Expand Down
20 changes: 13 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ For information about the governance of the Node.js project, see
* [RaisinTen](https://github.com/RaisinTen) -
**Darshan Sen** <<[email protected]>> (he/him)
* [richardlau](https://github.com/richardlau) -
**Richard Lau** <<rlau@redhat.com>>
**Richard Lau** <<richard.lau@ibm.com>>
* [ronag](https://github.com/ronag) -
**Robert Nagy** <<[email protected]>>
* [ruyadorno](https://github.com/ruyadorno) -
Expand Down Expand Up @@ -355,6 +355,10 @@ For information about the governance of the Node.js project, see
**Harshitha K P** <<[email protected]>> (she/her)
* [himself65](https://github.com/himself65) -
**Zeyu "Alex" Yang** <<[email protected]>> (he/him)
* [IlyasShabi](https://github.com/IlyasShabi) -
**Ilyas Shabi** <<[email protected]>> (he/him)
* [islandryu](https://github.com/islandryu) -
**Ryuhei Shima** <<[email protected]>> (he/him)
* [jakecastelli](https://github.com/jakecastelli) -
**Jake Yuesong Li** <<[email protected]>> (he/him)
* [JakobJingleheimer](https://github.com/JakobJingleheimer) -
Expand Down Expand Up @@ -407,6 +411,8 @@ For information about the governance of the Node.js project, see
**Moshe Atlow** <<[email protected]>> (he/him)
* [MrJithil](https://github.com/MrJithil) -
**Jithil P Ponnan** <<[email protected]>> (he/him)
* [ovflowd](https://github.com/ovflowd) -
**Claudio Wunder** <<[email protected]>> (he/they)
* [panva](https://github.com/panva) -
**Filip Skokan** <<[email protected]>> (he/him) - [Support me](https://github.com/sponsors/panva)
* [pimterry](https://github.com/pimterry) -
Expand All @@ -422,7 +428,7 @@ For information about the governance of the Node.js project, see
* [RaisinTen](https://github.com/RaisinTen) -
**Darshan Sen** <<[email protected]>> (he/him) - [Support me](https://github.com/sponsors/RaisinTen)
* [richardlau](https://github.com/richardlau) -
**Richard Lau** <<rlau@redhat.com>>
**Richard Lau** <<richard.lau@ibm.com>>
* [rluvaton](https://github.com/rluvaton) -
**Raz Luvaton** <<[email protected]>> (he/him)
* [ronag](https://github.com/ronag) -
Expand Down Expand Up @@ -635,8 +641,6 @@ For information about the governance of the Node.js project, see
**Alexis Campailla** <<[email protected]>>
* [othiym23](https://github.com/othiym23) -
**Forrest L Norvell** <<[email protected]>> (they/them/themself)
* [ovflowd](https://github.com/ovflowd) -
**Claudio Wunder** <<[email protected]>> (he/they)
* [oyyd](https://github.com/oyyd) -
**Ouyang Yadong** <<[email protected]>> (he/him)
* [petkaantonov](https://github.com/petkaantonov) -
Expand Down Expand Up @@ -786,7 +790,7 @@ responding to new issues.
Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):

* **Antoine du Hamel** <<[email protected]>>
`C0D6248439F1D5604AAFFB4021D900FFDB233756`
`5BE8A3F6C8A5C01D106C0AD820B1A390B168D356`
* **Juan José Arboleda** <<[email protected]>>
`DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7`
* **Marco Ippolito** <<[email protected]>>
Expand All @@ -795,7 +799,7 @@ Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
`8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600`
* **Rafael Gonzaga** <<[email protected]>>
`890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4`
* **Richard Lau** <<rlau@redhat.com>>
* **Richard Lau** <<richard.lau@ibm.com>>
`C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C`
* **Ruy Adorno** <<[email protected]>>
`108F52B48DB57BB0CC439B2997B01419BD92F80A`
Expand All @@ -806,7 +810,7 @@ To import the full set of trusted release keys (including subkeys possibly used
to sign releases):

```bash
gpg --keyserver hkps://keys.openpgp.org --recv-keys C0D6248439F1D5604AAFFB4021D900FFDB233756 # Antoine du Hamel
gpg --keyserver hkps://keys.openpgp.org --recv-keys 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 # Antoine du Hamel
gpg --keyserver hkps://keys.openpgp.org --recv-keys DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 # Juan José Arboleda
gpg --keyserver hkps://keys.openpgp.org --recv-keys CC68F5A3106FF448322E48ED27F5E38D5B0A215F # Marco Ippolito
gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 # Michaël Zasso
Expand All @@ -823,6 +827,8 @@ verify a downloaded file.

<summary>Other keys used to sign some previous releases</summary>

* **Antoine du Hamel** <<[email protected]>>
`C0D6248439F1D5604AAFFB4021D900FFDB233756`
* **Beth Griggs** <<[email protected]>>
`4ED778F539E3634C779C87C6D7062848A1AB005C`
* **Bryan English** <<[email protected]>>
Expand Down
60 changes: 60 additions & 0 deletions benchmark/source_map/source-map-cache.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
'use strict';

const common = require('../common.js');
const assert = require('assert');
const fixtures = require('../../test/common/fixtures');

const bench = common.createBenchmark(
main,
{
operation: [
'findSourceMap-valid',
'findSourceMap-generated-source',
],
n: [1e5],
},
);

function main({ operation, n }) {
const Module = require('node:module');

Module.setSourceMapsSupport(true, {
generatedCode: true,
});
const validFileName = fixtures.path('test-runner/source-maps/line-lengths/index.js');

const fileNameKey = '/source-map/disk.js';
const generatedFileName = fixtures.path(fileNameKey);
const generatedFileContent = fixtures.readSync(fileNameKey, 'utf8');
const sourceMapUrl = generatedFileName.replace(/\.js$/, '.map');
const sourceWithGeneratedSourceMap =
`${generatedFileContent}\n//# sourceMappingURL=${sourceMapUrl}\n//# sourceURL=${generatedFileName}`;
const generatedExpectedUrl = `file://${generatedFileName}`;

let sourceMap;
switch (operation) {
case 'findSourceMap-valid':
require(validFileName);

bench.start();
for (let i = 0; i < n; i++) {
sourceMap = Module.findSourceMap(validFileName);
}
bench.end(n);
break;

case 'findSourceMap-generated-source':
eval(sourceWithGeneratedSourceMap);

bench.start();
for (let i = 0; i < n; i++) {
sourceMap = Module.findSourceMap(generatedExpectedUrl);
}
bench.end(n);
break;

default:
throw new Error(`Unknown operation: ${operation}`);
}
assert.ok(sourceMap);
}
Loading
Loading