Skip to content

Commit ad9dcfc

Browse files
committed
Merge branch 'main' into repl-extract-history
2 parents cf8f53f + 7964eb3 commit ad9dcfc

File tree

1,690 files changed

+45625
-25605
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,690 files changed

+45625
-25605
lines changed

.github/codeql-config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ name: CodeQL config
22

33
paths-ignore:
44
- test
5-
- deps/v8/test
6-
- deps/v8/tools
5+
- deps
6+
- benchmark

.github/workflows/lint-release-proposal.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
lint-release-commit:
2121
runs-on: ubuntu-latest
2222
permissions:
23+
contents: read
2324
pull-requests: read
2425
steps:
2526
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

.github/workflows/notify-on-push.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ jobs:
3232
if: github.repository == 'nodejs/node'
3333
runs-on: ubuntu-latest
3434
permissions:
35+
contents: read
3536
pull-requests: write
3637
steps:
3738
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

.github/workflows/test-linux.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: Test Linux
33
on:
44
pull_request:
55
paths-ignore:
6+
- .mailmap
67
- README.md
78
- .github/**
89
- '!.github/workflows/test-linux.yml'
@@ -14,6 +15,7 @@ on:
1415
- v[0-9]+.x-staging
1516
- v[0-9]+.x
1617
paths-ignore:
18+
- .mailmap
1719
- README.md
1820
- .github/**
1921
- '!.github/workflows/test-linux.yml'

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ George Adams <[email protected]> <[email protected]>
204204
Gerhard Stöbich <[email protected]>
205205
206206
207+
Giovanni Bucci <[email protected]>
207208
Graham Fairweather <[email protected]> <xotic750@gmail>
208209
209210
Gregor Martynus <[email protected]>
@@ -270,6 +271,7 @@ John McGuirk <[email protected]>
270271
John Musgrave <[email protected]>
271272
Johnny Ray Austin <[email protected]> <http://johnnyray.me>
272273
Jon Tippens <[email protected]>
274+
273275
274276
Jonathan Gourlay <[email protected]>
275277

BUILDING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ platforms. This is true regardless of entries in the table below.
122122
| SmartOS | x64 | >= 18 | Tier 2 | |
123123
| AIX | ppc64be >=power8 | >= 7.2 TL04 | Tier 2 | |
124124
| FreeBSD | x64 | >= 13.2 | Experimental | |
125+
| OpenHarmony | arm64 | >= 5.0 | Experimental | |
125126

126127
<!--lint disable final-definition-->
127128

CHANGELOG.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
Select a Node.js version below to view the changelog history:
44

5+
* [Node.js 24](doc/changelogs/CHANGELOG_V24.md) **Current**
56
* [Node.js 23](doc/changelogs/CHANGELOG_V23.md) **Current**
67
* [Node.js 22](doc/changelogs/CHANGELOG_V22.md) **Long Term Support**
78
* [Node.js 21](doc/changelogs/CHANGELOG_V21.md) End-of-Life
@@ -32,13 +33,20 @@ release.
3233

3334
<table>
3435
<tr>
36+
<th title="Current"><a href="doc/changelogs/CHANGELOG_V24.md">24</a> (Current)</th>
3537
<th title="Current"><a href="doc/changelogs/CHANGELOG_V23.md">23</a> (Current)</th>
3638
<th title="LTS Until 2027-04"><a href="doc/changelogs/CHANGELOG_V22.md">22</a> (LTS)</th>
3739
<th title="LTS Until 2026-04"><a href="doc/changelogs/CHANGELOG_V20.md">20</a> (LTS)</th>
3840
</tr>
3941
<tr>
4042
<td valign="top">
41-
<b><a href="doc/changelogs/CHANGELOG_V23.md#23.11.0">23.11.0</a></b><br/>
43+
<b><a href="doc/changelogs/CHANGELOG_V24.md#24.0.2">24.0.2</a></b><br/>
44+
<a href="doc/changelogs/CHANGELOG_V24.md#24.0.1">24.0.1</a><br/>
45+
<a href="doc/changelogs/CHANGELOG_V24.md#24.0.0">24.0.0</a><br/>
46+
</td>
47+
<td valign="top">
48+
<b><a href="doc/changelogs/CHANGELOG_V23.md#23.11.1">23.11.1</a></b><br/>
49+
<a href="doc/changelogs/CHANGELOG_V23.md#23.11.0">23.11.0</a><br/>
4250
<a href="doc/changelogs/CHANGELOG_V23.md#23.10.0">23.10.0</a><br/>
4351
<a href="doc/changelogs/CHANGELOG_V23.md#23.9.0">23.9.0</a><br/>
4452
<a href="doc/changelogs/CHANGELOG_V23.md#23.8.0">23.8.0</a><br/>
@@ -53,7 +61,8 @@ release.
5361
<a href="doc/changelogs/CHANGELOG_V23.md#23.0.0">23.0.0</a><br/>
5462
</td>
5563
<td valign="top">
56-
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.15.0">22.15.0</a></b><br/>
64+
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.15.1">22.15.1</a></b><br/>
65+
<a href="doc/changelogs/CHANGELOG_V22.md#22.15.0">22.15.0</a><br/>
5766
<a href="doc/changelogs/CHANGELOG_V22.md#22.14.0">22.14.0</a><br/>
5867
<a href="doc/changelogs/CHANGELOG_V22.md#22.13.1">22.13.1</a><br/>
5968
<a href="doc/changelogs/CHANGELOG_V22.md#22.13.0">22.13.0</a><br/>
@@ -74,7 +83,8 @@ release.
7483
<a href="doc/changelogs/CHANGELOG_V22.md#22.0.0">22.0.0</a><br/>
7584
</td>
7685
<td valign="top">
77-
<b><a href="doc/changelogs/CHANGELOG_V20.md#20.19.1">20.19.1</a></b><br/>
86+
<b><a href="doc/changelogs/CHANGELOG_V20.md#20.19.2">20.19.2</a></b><br/>
87+
<a href="doc/changelogs/CHANGELOG_V20.md#20.19.1">20.19.1</a><br/>
7888
<a href="doc/changelogs/CHANGELOG_V20.md#20.19.0">20.19.0</a><br/>
7989
<a href="doc/changelogs/CHANGELOG_V20.md#20.18.3">20.18.3</a><br/>
8090
<a href="doc/changelogs/CHANGELOG_V20.md#20.18.2">20.18.2</a><br/>

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,16 +509,24 @@ SQLITE_BINDING_SOURCES := \
509509
$(wildcard test/sqlite/*/*.c)
510510

511511
# Implicitly depends on $(NODE_EXE), see the build-sqlite-tests rule for rationale.
512+
ifndef NOSQLITE
512513
test/sqlite/.buildstamp: $(ADDONS_PREREQS) \
513514
$(SQLITE_BINDING_GYPS) $(SQLITE_BINDING_SOURCES)
514515
@$(call run_build_addons,"$$PWD/test/sqlite",$@)
516+
else
517+
test/sqlite/.buildstamp:
518+
endif
515519

516520
.PHONY: build-sqlite-tests
521+
ifndef NOSQLITE
517522
# .buildstamp needs $(NODE_EXE) but cannot depend on it
518523
# directly because it calls make recursively. The parent make cannot know
519524
# if the subprocess touched anything so it pessimistically assumes that
520525
# .buildstamp is out of date and need a rebuild.
521526
build-sqlite-tests: | $(NODE_EXE) test/sqlite/.buildstamp ## Build SQLite tests.
527+
else
528+
build-sqlite-tests:
529+
endif
522530

523531
.PHONY: clear-stalled
524532
clear-stalled: ## Clear any stalled processes.

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,8 @@ For information about the governance of the Node.js project, see
363363
**Jason Zhang** <<[email protected]>> (he/him)
364364
* [jkrems](https://github.com/jkrems) -
365365
**Jan Martin** <<[email protected]>> (he/him)
366+
* [JonasBa](https://github.com/JonasBa) -
367+
**Jonas Badalic** <<[email protected]>> (he/him)
366368
* [joyeecheung](https://github.com/joyeecheung) -
367369
**Joyee Cheung** <<[email protected]>> (she/her)
368370
* [juanarbol](https://github.com/juanarbol) -
@@ -411,6 +413,8 @@ For information about the governance of the Node.js project, see
411413
**Tim Perry** <<[email protected]>> (he/him)
412414
* [pmarchini](https://github.com/pmarchini) -
413415
**Pietro Marchini** <<[email protected]>> (he/him)
416+
* [puskin](https://github.com/puskin) -
417+
**Giovanni Bucci** <<[email protected]>> (he/him)
414418
* [Qard](https://github.com/Qard) -
415419
**Stephen Belanger** <<[email protected]>> (he/him)
416420
* [RafaelGSS](https://github.com/RafaelGSS) -
@@ -755,6 +759,8 @@ maintaining the Node.js project.
755759
**Gireesh Punathil** <<[email protected]>> (he/him)
756760
* [gurgunday](https://github.com/gurgunday) -
757761
**Gürgün Dayıoğlu** <<[email protected]>>
762+
* [HBSPS](https://github.com/HBSPS) -
763+
**Wiyeong Seo** <<[email protected]>>
758764
* [iam-frankqiu](https://github.com/iam-frankqiu) -
759765
**Frank Qiu** <<[email protected]>> (he/him)
760766
* [KevinEady](https://github.com/KevinEady) -

benchmark/path/join-posix.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ function main({ n, paths }) {
1616

1717
bench.start();
1818
for (let i = 0; i < n; i++) {
19-
if (i % 3 === 0) {
20-
copy[1] = `${orig}${i}`;
19+
if (i % 5 === 0) {
20+
copy[1] = `${orig}/${i}`;
2121
posix.join(...copy);
2222
} else {
2323
posix.join(...args);

benchmark/path/join-win32.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ function main({ n, paths }) {
1616

1717
bench.start();
1818
for (let i = 0; i < n; i++) {
19-
if (i % 3 === 0) {
20-
copy[1] = `${orig}${i}`;
19+
if (i % 5 === 0) {
20+
copy[1] = `${orig}\\${i}`;
2121
win32.join(...copy);
2222
} else {
2323
win32.join(...args);

benchmark/path/normalize-posix.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const bench = common.createBenchmark(main, {
1717
function main({ n, path }) {
1818
bench.start();
1919
for (let i = 0; i < n; i++) {
20-
posix.normalize(i % 3 === 0 ? `${path}${i}` : path);
20+
posix.normalize(i % 5 === 0 ? `${path}/${i}` : path);
2121
}
2222
bench.end(n);
2323
}

benchmark/path/normalize-win32.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const bench = common.createBenchmark(main, {
1717
function main({ n, path }) {
1818
bench.start();
1919
for (let i = 0; i < n; i++) {
20-
win32.normalize(i % 3 === 0 ? `${path}${i}` : path);
20+
win32.normalize(i % 5 === 0 ? `${path}\\${i}` : path);
2121
}
2222
bench.end(n);
2323
}

benchmark/path/resolve-posix.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,26 @@ const { posix } = require('path');
44

55
const bench = common.createBenchmark(main, {
66
paths: [
7+
'empty',
78
'',
9+
'.',
810
['', ''].join('|'),
911
['foo/bar', '/tmp/file/', '..', 'a/../subfile'].join('|'),
1012
['a/b/c/', '../../..'].join('|'),
13+
['/a/b/c/', 'abc'].join('|'),
1114
],
1215
n: [1e5],
1316
});
1417

1518
function main({ n, paths }) {
16-
const args = paths.split('|');
19+
const args = paths === 'empty' ? [] : paths.split('|');
1720
const copy = [...args];
18-
const orig = copy[0];
21+
const orig = copy[0] ?? '';
1922

2023
bench.start();
2124
for (let i = 0; i < n; i++) {
22-
if (i % 3 === 0) {
23-
copy[0] = `${orig}${i}`;
25+
if (i % 5 === 0) {
26+
copy[0] = `${orig}/${i}`;
2427
posix.resolve(...copy);
2528
} else {
2629
posix.resolve(...args);

benchmark/path/resolve-win32.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ const { win32 } = require('path');
44

55
const bench = common.createBenchmark(main, {
66
paths: [
7+
'empty',
78
'',
9+
'.',
810
['', ''].join('|'),
911
['c:/ignore', 'd:\\a/b\\c/d', '\\e.exe'].join('|'),
1012
['c:/blah\\blah', 'd:/games', 'c:../a'].join('|'),
@@ -13,14 +15,14 @@ const bench = common.createBenchmark(main, {
1315
});
1416

1517
function main({ n, paths }) {
16-
const args = paths.split('|');
18+
const args = paths === 'empty' ? [] : paths.split('|');
1719
const copy = [...args];
18-
const orig = copy[0];
20+
const orig = copy[0] ?? '';
1921

2022
bench.start();
2123
for (let i = 0; i < n; i++) {
22-
if (i % 3 === 0) {
23-
copy[0] = `${orig}${i}`;
24+
if (i % 5 === 0) {
25+
copy[0] = `${orig}\\${i}`;
2426
win32.resolve(...copy);
2527
} else {
2628
win32.resolve(...args);

common.gypi

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
# Reset this number to 0 on major V8 upgrades.
4040
# Increment by one for each non-official patch applied to deps/v8.
41-
'v8_embedder_string': '-node.10',
41+
'v8_embedder_string': '-node.12',
4242

4343
##### V8 defaults for Node.js #####
4444

@@ -78,10 +78,9 @@
7878
'v8_win64_unwinding_info': 1,
7979

8080
# Variables controlling external defines exposed in public headers.
81-
'v8_enable_conservative_stack_scanning%': 0,
82-
'v8_enable_direct_local%': 0,
8381
'v8_enable_map_packing%': 0,
8482
'v8_enable_pointer_compression_shared_cage%': 0,
83+
'v8_enable_external_code_space%': 0,
8584
'v8_enable_sandbox%': 0,
8685
'v8_enable_v8_checks%': 0,
8786
'v8_enable_zone_compression%': 0,
@@ -115,12 +114,13 @@
115114
['target_arch in "arm ia32 mips mipsel"', {
116115
'v8_enable_pointer_compression': 0,
117116
'v8_enable_31bit_smis_on_64bit_arch': 0,
117+
'v8_enable_external_code_space': 0,
118118
'v8_enable_sandbox': 0
119119
}],
120120
['target_arch in "ppc64 s390x"', {
121121
'v8_enable_backtrace': 1,
122122
}],
123-
['OS=="linux"', {
123+
['OS=="linux" or OS=="openharmony"', {
124124
'node_section_ordering_info%': ''
125125
}],
126126
['OS == "zos"', {
@@ -202,7 +202,7 @@
202202
'LLVM_LTO': 'YES',
203203
},
204204
}],
205-
['OS=="linux"', {
205+
['OS=="linux" or OS=="openharmony"', {
206206
'conditions': [
207207
['node_section_ordering_info!=""', {
208208
'cflags': [
@@ -230,7 +230,7 @@
230230
# frames otherwise, even with --call-graph dwarf.
231231
'cflags': [ '-fno-omit-frame-pointer' ],
232232
}],
233-
['OS=="linux"', {
233+
['OS=="linux" or OS=="openharmony"', {
234234
'conditions': [
235235
['enable_pgo_generate=="true"', {
236236
'cflags': ['<(pgo_generate)'],
@@ -276,6 +276,9 @@
276276
# Defines these mostly for node-gyp to pickup.
277277
'defines': [
278278
'_GLIBCXX_USE_CXX11_ABI=1',
279+
# This help forks when building Node.js on a 32-bit arch as
280+
# libuv is always compiled with _FILE_OFFSET_BITS=64
281+
'_FILE_OFFSET_BITS=64'
279282
],
280283

281284
# Forcibly disable -Werror. We support a wide range of compilers, it's
@@ -455,6 +458,9 @@
455458
['v8_enable_sandbox == 1', {
456459
'defines': ['V8_ENABLE_SANDBOX',],
457460
}],
461+
['v8_enable_external_code_space == 1', {
462+
'defines': ['V8_EXTERNAL_CODE_SPACE',],
463+
}],
458464
['v8_deprecation_warnings == 1', {
459465
'defines': ['V8_DEPRECATION_WARNINGS',],
460466
}],
@@ -470,12 +476,6 @@
470476
['tsan == 1', {
471477
'defines': ['V8_IS_TSAN',],
472478
}],
473-
['v8_enable_conservative_stack_scanning == 1', {
474-
'defines': ['V8_ENABLE_CONSERVATIVE_STACK_SCANNING',],
475-
}],
476-
['v8_enable_direct_local == 1', {
477-
'defines': ['V8_ENABLE_DIRECT_LOCAL',],
478-
}],
479479
['OS == "win"', {
480480
'defines': [
481481
'WIN32',
@@ -495,11 +495,11 @@
495495
'NOMINMAX',
496496
],
497497
}],
498-
[ 'OS in "linux freebsd openbsd solaris aix os400"', {
498+
[ 'OS in "linux freebsd openbsd solaris aix os400 openharmony"', {
499499
'cflags': [ '-pthread' ],
500500
'ldflags': [ '-pthread' ],
501501
}],
502-
[ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi"', {
502+
[ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi openharmony"', {
503503
'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
504504
'cflags_cc': [
505505
'-fno-rtti',

0 commit comments

Comments
 (0)