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

v18.20.0 proposal #52165

Merged
merged 77 commits into from
Mar 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
4b960c3
build: fix incorrect g++ warning message
richardlau Feb 7, 2024
1c1a7ec
test: increase platform timeout zlib-brotli-16gb
RafaelGSS Feb 19, 2024
c7baf7b
doc,crypto: add changelog and note about disabled RSA_PKCS1_PADDING
panva Feb 18, 2024
8bfb8f5
doc,crypto: further clarify RSA_PKCS1_PADDING support
tniessen Feb 18, 2024
1743d2b
test: test surrogate pair filenames on windows
mertcanaltin Feb 18, 2024
902d8b3
test: fix flaky http-chunk-extensions-limit test
Ethan-Arrowood Mar 3, 2024
1ce901b
deps: V8: cherry-pick c400af48b5ef
joyeecheung Dec 1, 2023
d4a530e
deps: V8: cherry-pick 7f5daed62d47
joyeecheung Dec 1, 2023
fafbacd
deps: V8: cherry-pick 9a98f96b6d68
joyeecheung Dec 1, 2023
6d50966
deps: V8: cherry-pick 94e8282325a1
joyeecheung Dec 1, 2023
d87a810
deps: V8: cherry-pick 3dd9576ce336
joyeecheung Dec 1, 2023
b0e8889
deps: V8: cherry-pick 1fada6b36f8d
joyeecheung Dec 1, 2023
58c7034
deps: V8: cherry-pick 705e374124ae
joyeecheung Dec 1, 2023
5b5e519
lib: fix compileFunction throws range error for negative numbers
MrJithil Oct 6, 2023
ff334cb
src: cast v8::Object::GetInternalField() return value to v8::Value
joyeecheung Aug 2, 2023
425e011
deps: add v8::Object::SetInternalFieldForNodeCore()
joyeecheung Sep 26, 2023
2c2892b
src: set ModuleWrap internal fields only once
joyeecheung Sep 8, 2023
a86a2e1
module: use symbol in WeakMap to manage host defined options
joyeecheung Jun 21, 2023
2e05cf1
module: fix leak of vm.SyntheticModule
joyeecheung Jun 21, 2023
7552de6
module: fix the leak in SourceTextModule and ContextifySript
joyeecheung Jun 23, 2023
1586c11
test: add checkIfCollectable to test/common/gc.js
joyeecheung Sep 16, 2023
0b156c6
test: use checkIfCollectable in vm leak tests
joyeecheung Sep 16, 2023
5e42651
test: deflake test-vm-contextified-script-leak
joyeecheung Sep 23, 2023
6291c10
vm: use default HDO when importModuleDynamically is not set
joyeecheung Oct 5, 2023
9f7899e
vm: unify host-defined option generation in vm.compileFunction
joyeecheung Oct 5, 2023
052e095
vm: use internal versions of compileFunction and Script
joyeecheung Oct 11, 2023
fe66e9d
vm: reject in importModuleDynamically without --experimental-vm-modules
joyeecheung Oct 5, 2023
2a2bf57
deps: update icu to 74.1
nodejs-github-bot Nov 1, 2023
90c73d2
deps: update timezone to 2023d
nodejs-github-bot Jan 21, 2024
3184bef
tools: fix update-icu.sh
targos Feb 11, 2024
f9b229e
deps: update icu to 74.2
targos Feb 11, 2024
68fd751
deps: update timezone to 2024a
targos Feb 11, 2024
6fbf0ba
deps: V8: cherry-pick a0fd3209dda8
nicolo-ribaudo Dec 12, 2023
c13969e
deps: V8: cherry-pick ea996ad04a68
nicolo-ribaudo Dec 12, 2023
a193be3
esm: use import attributes instead of import assertions
aduh95 Dec 12, 2023
06646e1
vm: use import attributes instead of import assertions
aduh95 Dec 12, 2023
96514a8
src: iterate on import attributes array correctly
targos Nov 19, 2023
26e8f77
fs: introduce `dirent.parentPath`
aduh95 Dec 2, 2023
0f09267
doc: deprecate `dirent.path`
aduh95 Dec 4, 2023
194ff6a
doc: add deprecation notice to `dirent.path`
aduh95 Dec 5, 2023
d9ea6c1
tls: fix order of setting cipher before setting cert and key
kumarrishav Oct 16, 2023
f232064
doc: fix historical experimental fetch flag
kenrick95 Jan 20, 2024
4a6f83e
deps: escape Python strings correctly
targos Nov 14, 2023
adac0c7
deps: update corepack to 0.23.0
nodejs-github-bot Nov 7, 2023
d1a9237
deps: update corepack to 0.24.0
nodejs-github-bot Jan 2, 2024
a593985
deps: update corepack to 0.24.1
nodejs-github-bot Jan 31, 2024
5aec3af
deps: update corepack to 0.25.2
nodejs-github-bot Feb 25, 2024
40f10ea
test: fix `internet/test-inspector-help-page`
richardlau Feb 16, 2024
8fdea67
crypto: update root certificates to NSS 3.98
nodejs-github-bot Feb 25, 2024
c8876d7
deps: upgrade npm to 10.3.0
npm-cli-bot Jan 11, 2024
3a3808a
deps: upgrade npm to 10.5.0
npm-cli-bot Feb 29, 2024
cc434c1
deps: update ada to 2.7.4
nodejs-github-bot Nov 21, 2023
73a946d
deps: update ada to 2.7.5
nodejs-github-bot Jan 22, 2024
11ba859
deps: update ada to 2.7.6
nodejs-github-bot Jan 30, 2024
183cf8a
deps: update simdutf to 4.0.4
nodejs-github-bot Nov 18, 2023
b4502d3
deps: update simdutf to 4.0.8
nodejs-github-bot Dec 23, 2023
13a9e81
deps: update base64 to 0.5.1
nodejs-github-bot Nov 8, 2023
16d28a8
deps: update base64 to 0.5.2
nodejs-github-bot Jan 19, 2024
f0da591
deps: update zlib to 1.2.13.1-motley-dfc48fc
nodejs-github-bot Nov 1, 2023
4b43823
deps: update zlib to 1.2.13.1-motley-5daffc7
nodejs-github-bot Nov 24, 2023
b0ca084
deps: update zlib to 1.3-22124f5
nodejs-github-bot Dec 5, 2023
57a38c8
deps: update zlib to 1.3.0.1-motley-dd5fc13
nodejs-github-bot Dec 16, 2023
7bea2d7
deps: update zlib to 1.3.0.1-motley-40e35a7
nodejs-github-bot Dec 26, 2023
cd613e5
test: handle relative https redirect
richardlau Dec 13, 2023
95d7a75
test: fix dns test case failures after c-ares update to 1.21.0+
bradh352 Nov 15, 2023
8fb7436
deps: update c-ares to 1.25.0
nodejs-github-bot Jan 5, 2024
9498ac8
deps: compile c-ares with C11 support
targos Jan 9, 2024
c688680
deps: update c-ares to 1.26.0
nodejs-github-bot Feb 5, 2024
9ab8c3d
deps: update c-ares to 1.27.0
nodejs-github-bot Feb 25, 2024
812b126
deps: V8: cherry-pick d90d4533b053
targos Nov 13, 2023
931d02f
test, v8: fix wrong import attributes test
nicolo-ribaudo Mar 21, 2024
3d0b233
node-api: introduce experimental feature flags
gabrielschulhof Dec 1, 2023
1aa71c2
node-api: factor out common code into macros
gabrielschulhof Nov 12, 2023
32906dd
node-api: segregate nogc APIs from rest via type system
gabrielschulhof Dec 19, 2023
c70383b
build: support Python 3.12
shipujin Nov 6, 2023
270b519
stream: do not defer construction by one microtick
mcollina Mar 7, 2024
f75dc41
2024-03-26, Version 18.20.0 'Hydrogen' (LTS)
richardlau Mar 20, 2024
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
  •  
  •  
  •  
5 changes: 1 addition & 4 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,7 @@ module.exports = {
parserOptions: {
babelOptions: {
plugins: [
[
Module._findPath('@babel/plugin-syntax-import-attributes'),
{ deprecatedAssertSyntax: true },
],
Module._findPath('@babel/plugin-syntax-import-attributes'),
],
},
requireConfigFile: false,
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.19.1">18.19.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.20.0">18.20.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.19.1">18.19.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.19.0">18.19.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.18.2">18.18.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.18.1">18.18.1</a><br/>
Expand Down
35 changes: 35 additions & 0 deletions benchmark/vm/compile-script-in-isolate-cache.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
'use strict';

// This benchmarks compiling scripts that hit the in-isolate compilation
// cache (by having the same source).
const common = require('../common.js');
const fs = require('fs');
const vm = require('vm');
const fixtures = require('../../test/common/fixtures.js');
const scriptPath = fixtures.path('snapshot', 'typescript.js');

const bench = common.createBenchmark(main, {
type: ['with-dynamic-import-callback', 'without-dynamic-import-callback'],
n: [100],
});

const scriptSource = fs.readFileSync(scriptPath, 'utf8');

function main({ n, type }) {
let script;
bench.start();
const options = {};
switch (type) {
case 'with-dynamic-import-callback':
// Use a dummy callback for now until we really need to benchmark it.
options.importModuleDynamically = async () => {};
break;
case 'without-dynamic-import-callback':
break;
}
for (let i = 0; i < n; i++) {
script = new vm.Script(scriptSource, options);
}
bench.end(n);
script.runInThisContext();
}
2 changes: 1 addition & 1 deletion common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.28',
'v8_embedder_string': '-node.36',

##### V8 defaults for Node.js #####

Expand Down
3 changes: 2 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# Note that the mix of single and double quotes is intentional,
# as is the fact that the ] goes on a new line.
_=[ 'exec' '/bin/sh' '-c' '''
command -v python3.12 >/dev/null && exec python3.12 "$0" "$@"
command -v python3.11 >/dev/null && exec python3.11 "$0" "$@"
command -v python3.10 >/dev/null && exec python3.10 "$0" "$@"
command -v python3.9 >/dev/null && exec python3.9 "$0" "$@"
Expand All @@ -23,7 +24,7 @@ except ImportError:
from distutils.spawn import find_executable as which

print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info))
acceptable_pythons = ((3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6))
acceptable_pythons = ((3, 12), (3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6))
if sys.version_info[:2] in acceptable_pythons:
import configure
else:
Expand Down
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1057,7 +1057,7 @@ def check_compiler(o):
if not ok:
warn(f'failed to autodetect C++ compiler version (CXX={CXX})')
elif clang_version < (8, 0, 0) if is_clang else gcc_version < (8, 3, 0):
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 10.1.0 or clang++ 8.0.0')
warn(f'C++ compiler (CXX={CXX}, {version_str}) too old, need g++ 8.3.0 or clang++ 8.0.0')

ok, is_clang, clang_version, gcc_version = try_check_compiler(CC, 'c')
version_str = ".".join(map(str, clang_version if is_clang else gcc_version))
Expand Down
Loading
Loading