build: update node.js to v19 - autoclosed
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
node | stage | major |
18.7.0-alpine -> 19.0.0-alpine
|
Release Notes
nodejs/node
v19.0.0
Node.js 19 is here! Highlights include the update of the V8 JavaScript engine to 10.7, HTTP(s)/1.1 KeepAlive enabled by default, and ESM Resolution adjustments.
Node.js 19 will replace Node.js 18 as our ‘Current’ release line when Node.js 18 enters long-term support (LTS) later this month. As per the release schedule, Node.js 19 will be ‘Current' release for the next 6 months, until April 2023.
Notable Changes
Deprecations and Removals
- [
7dd2f41c73
] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495 - [
ada2d053ae
] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer inprocess.exit()
(Daeyeon Jeong) #44711
HTTP(S)/1.1 KeepAlive by default
Starting with this release, Node.js sets keepAlive
to true by default. This means that any outgoing HTTP(s) connection will automatically use HTTP 1.1 Keep-Alive. The default waiting window is 5 seconds.
Enable keep-alive will deliver better throughput as connections are reused by default.
Additionally, the agent is now able to parse the response Keep-Alive
which the servers might send. This header instructs the client on how much to stay connected.
On the other side, the Node.js HTTP server will now automatically disconnect idle clients (which are using HTTP Keep-Alive to reuse the connection) when close()
is invoked).
Node.js HTTP(S)/1.1 requests may experience a better throughput/performance by default.
Contributed by Paolo Insogna in #43522
DTrace/SystemTap/ETW Support were removed
The main reason is the lack of resources from the Node.js team. The complexity to keep the support up-to-date has proved not worth it without a clear plan to support those tools. Hence, an issue was raised in the Node.js repository to assess better support, for DTrace
in specific.
Contributed by Ben Noordhuis in #43651 and #43652
V8 10.7
The V8 engine is updated to version 10.7, which is part of Chromium 107.
This version include a new feature to the JavaScript API: Intl.NumberFormat
.
Intl.NumberFormat
v3 API is a new TC39 ECMA402 stage 3 proposal
extend the pre-existing Intl.NumberFormat
.
The V8 update was a contribution by Michaël Zasso in #44741.
llhttp 8.1.0
llhttp has been updated to version 8.1.0. Collectively, this version brings many updates to the llhttp API, introducing new callbacks and allow all callback to be pausable.
Contributed by Paolo Insogna in #44967
Other Notable Changes
- [
46a3afb579
] - doc: graduate webcrypto to stable (Filip Skokan) #44897 - [
f594cc85b7
] - esm: remove specifier resolution flag (Geoffrey Booth) #44859
Semver-Major Commits
- [
53f73d1cfe
] - (SEMVER-MAJOR) build: enable V8's trap handler on Windows (Michaël Zasso) #44741 - [
06aaf8a1c4
] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #44741 - [
aa3a572e6b
] - (SEMVER-MAJOR) build: remove dtrace & etw support (Ben Noordhuis) #43652 - [
38f1e2793c
] - (SEMVER-MAJOR) build: remove systemtap support (Ben Noordhuis) #43651 - [
2849283c4c
] - (SEMVER-MAJOR) crypto: remove non-standardwebcrypto.Crypto.prototype.CryptoKey
(Antoine du Hamel) #42083 - [
a1653ac715
] - (SEMVER-MAJOR) crypto: do not allow to call setFips from the worker thread (Sergey Petushkov) #43624 - [
fd36a8dadb
] - (SEMVER-MAJOR) deps: update llhttp to 8.1.0 (Paolo Insogna) #44967 - [
89ecdddaab
] - (SEMVER-MAJOR) deps: bump minimum ICU version to 71 (Michaël Zasso) #44741 - [
66fe446efd
] - (SEMVER-MAJOR) deps: V8: cherry-pick0cccb6f
(Michaël Zasso) #44741 - [
88ed027d57
] - (SEMVER-MAJOR) deps: V8: cherry-pick7ddb839
(Michaël Zasso) #44741 - [
26c651c34e
] - (SEMVER-MAJOR) deps: V8: cherry-pick1b3a4f0
(Michaël Zasso) #44741 - [
c8ff2dfd11
] - (SEMVER-MAJOR) deps: V8: cherry-pickb161a08
(Michaël Zasso) #44741 - [
7a8fa2d517
] - (SEMVER-MAJOR) deps: fix V8 build on Windows with MSVC (Michaël Zasso) #44741 - [
83b0aaa800
] - (SEMVER-MAJOR) deps: fix V8 build on SmartOS (Michaël Zasso) #44741 - [
7a952e8ea5
] - (SEMVER-MAJOR) deps: silence irrelevant V8 warning (Michaël Zasso) #44741 - [
6bd756d7c6
] - (SEMVER-MAJOR) deps: update V8 to 10.7.193.13 (Michaël Zasso) #44741 - [
03fb789fb9
] - (SEMVER-MAJOR) events: add null check for the signal of EventTarget (Masashi Hirano) #43153 - [
a4fa526ddc
] - (SEMVER-MAJOR) fs: add directory autodetection to fsPromises.symlink() (Livia Medeiros) #42894 - [
bb4891d8d4
] - (SEMVER-MAJOR) fs: add validateBuffer to improve error (Hirotaka Tagawa / wafuwafu13) #44769 - [
950a4411fa
] - (SEMVER-MAJOR) fs: remove coercion to string in writing methods (Livia Medeiros) #42796 - [
41a6d82968
] - (SEMVER-MAJOR) fs: harden fs.readSync(buffer, options) typecheck (LiviaMedeiros) #42772 - [
2275faac2b
] - (SEMVER-MAJOR) fs: harden fs.read(params, callback) typecheck (LiviaMedeiros) #42772 - [
29953a0b88
] - (SEMVER-MAJOR) fs: harden filehandle.read(params) typecheck (LiviaMedeiros) #42772 - [
4267b92604
] - (SEMVER-MAJOR) http: use Keep-Alive by default in global agents (Paolo Insogna) #43522 - [
0324529e0f
] - (SEMVER-MAJOR) inspector: introduce inspector/promises API (Erick Wendel) #44250 - [
80270994d6
] - (SEMVER-MAJOR) lib: enable global CustomEvent by default (Daeyeon Jeong) #44860 - [
f529f73bd7
] - (SEMVER-MAJOR) lib: brand check event handler property receivers (Chengzhong Wu) #44483 - [
6de2673a9f
] - (SEMVER-MAJOR) lib: enable global WebCrypto by default (Antoine du Hamel) #42083 - [
73ba8830d5
] - (SEMVER-MAJOR) lib: use private field in AbortController (Joyee Cheung) #43820 - [
7dd2f41c73
] - (SEMVER-MAJOR) module: runtime deprecate exports double slash maps (Guy Bedford) #44495 - [
22c39b1ddd
] - (SEMVER-MAJOR) path: the dot will be added(path.format) if it is not specified inext
(theanarkh) #44349 - [
587367d107
] - (SEMVER-MAJOR) perf_hooks: expose webperf global scope interfaces (Chengzhong Wu) #44483 - [
364c0e196c
] - (SEMVER-MAJOR) perf_hooks: fix webperf idlharness (Chengzhong Wu) #44483 - [
ada2d053ae
] - (SEMVER-MAJOR) process: runtime deprecate coercion to integer inprocess.exit()
(Daeyeon Jeong) #44711 - [
e0ab8dd637
] - (SEMVER-MAJOR) process: make process.config read only (Sergey Petushkov) #43627 - [
481a959adb
] - (SEMVER-MAJOR) readline: removequestion
method fromInterfaceConstructor
(Antoine du Hamel) #44606 - [
c9602ce212
] - (SEMVER-MAJOR) src: use new v8::OOMErrorCallback API (Michaël Zasso) #44741 - [
19a70c11e4
] - (SEMVER-MAJOR) src: override CreateJob instead of PostJob (Clemens Backes) #44741 - [
fd52c62bee
] - (SEMVER-MAJOR) src: use V8_ENABLE_SANDBOX macro (Michaël Zasso) #44741 - [
c10988db44
] - (SEMVER-MAJOR) src: use non-deprecated V8 inspector API (Michaël Zasso) #44741 - [
3efe901dd6
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 111 (Michaël Zasso) #44741 - [
77e585657f
] - (SEMVER-MAJOR) src: turn embedder api overload into default argument (Alena Khineika) #43629 - [
dabda03ea9
] - (SEMVER-MAJOR) src: per-environment time origin value (Chengzhong Wu) #43781 - [
2e49b99cc2
] - (SEMVER-MAJOR) src,test: disable freezing V8 flags on initialization (Clemens Backes) #44741 - [
2b32985c62
] - (SEMVER-MAJOR) stream: use null for the error argument (Luigi Pinca) #44312 - [
36805e8524
] - (SEMVER-MAJOR) test: adapt test-repl for V8 update (Michaël Zasso) #44741 - [
96ef25793d
] - (SEMVER-MAJOR) test: adapt test-repl-pretty-*stack to V8 changes (Michaël Zasso) #44741 - [
71c193e581
] - (SEMVER-MAJOR) test: adapt to new JSON SyntaxError messages (Michaël Zasso) #44741 - [
b5f1564880
] - (SEMVER-MAJOR) test: rename always-opt flag to always-turbofan (Michaël Zasso) #44741 - [
1acf0339dd
] - (SEMVER-MAJOR) test: fix test-hash-seed for new V8 versions (Michaël Zasso) #44741 - [
57ff476c33
] - (SEMVER-MAJOR) test: remove duplicate test (Luigi Pinca) #44051 - [
77def91bf9
] - (SEMVER-MAJOR) tls,http2: send fatal alert on ALPN mismatch (Tobias Nießen) #44031 - [
4860ad99b9
] - (SEMVER-MAJOR) tools: update V8 gypfiles for 10.7 (Michaël Zasso) #44741
Semver-Minor Commits
- [
af0921d877
] - (SEMVER-MINOR) esm: add--import
flag (Moshe Atlow) #43942 - [
0633e9a0b5
] - (SEMVER-MINOR) lib: add diagnostics channel for process and worker (theanarkh) #44045 - [
ca5be26b31
] - (SEMVER-MINOR) src: add support for externally shared js builtins (Michael Dawson) #44376 - [
e86a638305
] - (SEMVER-MINOR) src: add initial shadow realm support (Chengzhong Wu) #42869 - [
71ca6d7d6a
] - (SEMVER-MINOR) util: addmaxArrayLength
option to Set and Map (Kohei Ueno) #43576
Semver-Patch Commits
- [
78508028e3
] - bootstrap: generate bootstrapper arguments in BuiltinLoader (Joyee Cheung) #44488 - [
5291096ca2
] - bootstrap: check more metadata when loading the snapshot (Joyee Cheung) #44132 - [
d0f73d383d
] - build: go faster, drop -fno-omit-frame-pointer (Ben Noordhuis) #44452 - [
214354fc9f
] - crypto: fix webcrypto HMAC "get key length" in deriveKey and generateKey (Filip Skokan) #44917 - [
40a0757b21
] - crypto: remove webcrypto HKDF and PBKDF2 default-applied lengths (Filip Skokan) #44945 - [
eeec3eb16a
] - crypto: simplify webcrypto ECDH deriveBits (Filip Skokan) #44946 - [
0be1c57281
] - deps: V8: cherry-pickc2792e5
(Jiawen Geng) #44961 - [
488474618c
] - deps: V8: cherry-pickc3dffe6
(Michaël Zasso) #44958 - [
34ba631a0b
] - deps: V8: cherry-picke7f0f26
(Michaël Zasso) #44958 - [
690a837f4f
] - deps: V8: cherry-pick3d59a3c
(Michaël Zasso) #44958 - [
bab8b3aad6
] - deps: V8: cherry-pick8b87039
(Michaël Zasso) #44958 - [
37e5152245
] - doc: add notable changes to latest v18.x release changelog (Danielle Adams) #44996 - [
19a909902a
] - doc: deprecate url.parse() (Rich Trott) #44919 - [
6686d9000b
] - doc: fix backticks in fs API docs (Livia Medeiros) #44962 - [
46a3afb579
] - doc: graduate webcrypto to stable (Filip Skokan) #44897 - [
6e3c55cc35
] - doc: fix v16.17.1 security release changelog (Ruy Adorno) #44759 - [
77cb88b91c
] - doc: mark--import
as experimental (Moshe Atlow) #44067 - [
46dcfb3c7b
] - doc,crypto: update webcrypto docs for global access (Filip Skokan) #44723 - [
f594cc85b7
] - esm: remove specifier resolution flag (Geoffrey Booth) #44859 - [
3c040348fe
] - Revert "esm: convertresolve
hook to synchronous" (Jacob Smith) #43526 - [
90b634a5a5
] - esm: convertresolve
hook to synchronous (Jacob Smith) #43363 - [
7c06eab1dc
] - Revert "http: do not leak error listeners" (Luigi Pinca) #44921 - [
464d1c1558
] - lib: resetRegExp
statics before running user code (Antoine du Hamel) #43741 - [
15f10515e3
] - module: fix segment deprecation for imports field (Guy Bedford) #44883 - [
7cdf745fdd
] - perf_hooks: convert maxSize to IDL value in setResourceTimingBufferSize (Chengzhong Wu) #44902 - [
be525d7d04
] - src: consolidate exit codes in the code base (Joyee Cheung) #44746 - [
d5ce285c8b
] - src: refactor BaseObject methods (Joyee Cheung) #44796 - [
717465433c
] - src: create BaseObject with node::Realm (Chengzhong Wu) #44348 - [
45f2258f74
] - src: restore IS_RELEASE to 0 (Bryan English) #44758 - [
1f54fc25cb
] - src: use automatic memory mgmt in SecretKeyGen (Tobias Nießen) #44479 - [
7371d335ac
] - src: use V8 entropy source if RAND_bytes() != 1 (Tobias Nießen) #44493 - [
81d9cdb8cd
] - src: introduce node::Realm (Chengzhong Wu) #44179 - [
ad41c919df
] - src: remove v8abbr.h (Tobias Nießen) #44402 - [
fddc701d3c
] - src: support diagnostics channel in the snapshot (Joyee Cheung) #44193 - [
d70aab663c
] - src: support WeakReference in snapshot (Joyee Cheung) #44193 - [
4ca398a617
] - src: iterate over base objects to prepare for snapshot (Joyee Cheung) #44192 - [
8b0e5b19bd
] - src: fix cppgc incompatibility in v8 (Shelley Vohr) #43521 - [
3fdf6cfad9
] - stream: fixsize
function returned from QueuingStrategies (Daeyeon Jeong) #44867 - [
331088f4a4
] - Revert "tools: refactortools/license2rtf
to ESM" (Richard Lau) #43214 - [
30cb1bf8b8
] - tools: refactortools/license2rtf
to ESM (Feng Yu) #43101 - [
a3ff4bfc66
] - url: revert "validate ipv4 part length" (Antoine du Hamel) #42940 - [
87d0d7a069
] - url: validate ipv4 part length (Yagiz Nizipli) #42915 - [
5b1bcf82f1
] - vm: make ContextifyContext a BaseObject (Joyee Cheung) #44796
v18.11.0
Notable changes
watch mode (experimental)
Running in 'watch' mode using node --watch
restarts the process when an imported file is changed.
Contributed by Moshe Atlow in #44366
Other notable changes
-
fs:
- (SEMVER-MINOR) add
FileHandle.prototype.readLines
(Antoine du Hamel) #42590
- (SEMVER-MINOR) add
-
http:
- (SEMVER-MINOR) add writeEarlyHints function to ServerResponse (Wing) #44180
-
http2:
- (SEMVER-MINOR) make early hints generic (Yagiz Nizipli) #44820
-
lib:
- (SEMVER-MINOR) refactor transferable AbortSignal (flakey5) #44048
-
src:
- (SEMVER-MINOR) add detailed embedder process initialization API (Anna Henningsen) #44121
-
util:
- (SEMVER-MINOR) add default value option to parsearg (Manuel Spigolon) #44631
Commits
- [
27b4b782ce
] - benchmark: add vm context global proxy benchmark (Joyee Cheung) #44796 - [
4e82521af1
] - bootstrap: update comments in bootstrap/node.js (Joyee Cheung) #44726 - [
725be0ea50
] - buffer: initialize TextDecoder once on blob.text() (Yagiz Nizipli) #44787 - [
653c3b1f62
] - buffer,lib: update atob to align wpt's base64.json (Khaidi Chu) #43901 - [
37808b3355
] - build: convert V8 test JSON to JUnit XML (Keyhan Vakil) #44049 - [
f92871a52b
] - build: update timezone-update.yml (Alex) #44717 - [
f85d3471ee
] - child_process: remove lookup of undefined property (Colin Ihrig) #44766 - [
2f5f41c315
] - (SEMVER-MINOR) cli: add--watch
(Moshe Atlow) #44366 - [
7fb9cc70f3
] - cluster: use inspector utils (Moshe Atlow) #44592 - [
99a2c16040
] - crypto: add causes to applicable webcrypto's OperationError (Filip Skokan) #44890 - [
e0fbba0939
] - crypto: use EVP_PKEY_CTX_set_dsa_paramgen_q_bits when available (David Benjamin) #44561 - [
a90386b0a1
] - deps: update undici to 5.11.0 (Node.js GitHub Bot) #44929 - [
aa68d40fbf
] - deps: update corepack to 0.14.2 (Node.js GitHub Bot) #44775 - [
c892f35815
] - deps: V8: fix debug build (Ben Noordhuis) #44392 - [
91514393dc
] - dns: support dns module in the snapshot (Joyee Cheung) #44633 - [
ce3cb29319
] - doc: add fsPromises.readFile() example (Tierney Cyren) #40237 - [
97df9b84a2
] - doc: improve building doc for Android (BuShe Pie) #44888 - [
8c69da893b
] - doc: mentioncorepack prepare
supports tag or range (Michael Rienstra) #44646 - [
842bc64833
] - doc: remove Legacy status from querystring (Rich Trott) #44912 - [
ddb5402f5f
] - doc: fix label name in collaborator guide (Rich Trott) #44920 - [
d08b024a3d
] - doc: fix typo in Node.js 12 changelog (Lorand Horvath) #42880 - [
b6b9c427c5
] - doc: move release keys we don't use anymore in README (Rich Trott) #44899 - [
e92b074b32
] - doc: fix grammar in dns docs (#44850) (Colin Ihrig) #44850 - [
780144c339
] - doc: remove unnecessary leading commas (Colin Ihrig) #44854 - [
6ae9bc8fbc
] - doc: add extra step for reporter pre-approval (Rafael Gonzaga) #44806 - [
ccf31d8bca
] - doc: add anchor link for --preserve-symlinks (Kohei Ueno) #44858 - [
7c5c19ee54
] - doc: update node prefix require.cache example (Simone Busoli) #44724 - [
2a5bce6318
] - doc: include last security release date (Vladimir de Turckheim) #44794 - [
4efaf4265c
] - doc: remove "currently" and comma splice from child_process.md (Rich Trott) #44789 - [
3627616b40
] - doc,crypto: mark experimental algorithms more visually (Filip Skokan) #44892 - [
3c653cf23a
] - doc,crypto: add missing CFRG curve algorithms to supported lists (Filip Skokan) #44876 - [
70f55020d3
] - doc,crypto: add null length to crypto.subtle.deriveBits (Filip Skokan) #44876 - [
910fbd0ece
] - esm: fix duplicated test (Geoffrey Booth) #44779 - [
bc00f3bde1
] - fs: fix opts.filter issue in cp async (Tho) #44922 - [
11d1c23fa0
] - (SEMVER-MINOR) fs: addFileHandle.prototype.readLines
(Antoine du Hamel) #42590 - [
67fb76519a
] - fs: improve promise based readFile performance for big files (Ruben Bridgewater) #44295 - [
dc6379bdc2
] - fs: don't hard code name in validatePosition() (Colin Ihrig) #44767 - [
eb19b1e97c
] - http: be more aggressive to reply 400, 408 and 431 (ywave620) #44818 - [
4c869c8d9e
] - (SEMVER-MINOR) http: add writeEarlyHints function to ServerResponse (Wing) #44180 - [
9c7e66478c
] - (SEMVER-MINOR) http2: make early hints generic (Yagiz Nizipli) #44820 - [
3f20e5b15c
] - (SEMVER-MINOR) lib: refactor transferable AbortSignal (flakey5) #44048 - [
ada7d82b16
] - lib: require JSDoc in internal validators code (Rich Trott) #44896 - [
67eaa303af
] - lib: add cause to DOMException (flakey5) #44703 - [
0db86ee98e
] - meta: update AUTHORS (Node.js GitHub Bot) #44930 - [
2efe4d985b
] - meta: label test.js and test.md with test_runner label (Moshe Atlow) #44863 - [
fd9feb3a6c
] - meta: update AUTHORS (Node.js GitHub Bot) #44857 - [
a854bb39c9
] - node-api: create reference only when needed (Gerhard Stöbich) #44827 - [
fd5c26b8db
] - path: change basename() argument from ext to suffix (Rich Trott) #44774 - [
803fbfb168
] - process: fix uid/gid validation to avoid crash (Tobias Nießen) #44910 - [
9f2dd48fc3
] - src: remove uid_t/gid_t casts (Tobias Nießen) #44914 - [
3abb607f3a
] - src: remove UncheckedMalloc(0) workaround (Tobias Nießen) #44543 - [
0606f9298f
] - src: deduplicate setting RSA OAEP label (Tobias Nießen) #44849 - [
daf3152f7e
] - src: implement GetDetachedness() in MemoryRetainerNode (Joyee Cheung) #44803 - [
7ca77dd4ef
] - src: avoid X509_free in loops in crypto_x509.cc (Tobias Nießen) #44855 - [
781ad96227
] - src: use OnScopeLeave instead of multiple free() (Tobias Nießen) #44852 - [
b27b336a7a
] - src: remove ParseIP() in cares_wrap.cc (Tobias Nießen) #44771 - [
f99f5d3c01
] - (SEMVER-MINOR) src: add detailed embedder process initialization API (Anna Henningsen) #44121 - [
281fd7a09a
] - src,stream: improve DoWrite() and Write() (ywave620) #44434 - [
a33cc22bf7
] - src,worker: fix race of WorkerHeapSnapshotTaker (ywave620) #44745 - [
f300f197da
] - stream: handle enqueuing chunks when a pending BYOB pull request exists (Daeyeon Jeong) #44770 - [
9ac029ea11
] - test: bump memory limit for abort fatal error (Danielle Adams) #44984 - [
b9b671f25f
] - test: debug watch mode inspect (Moshe Atlow) #44861 - [
2308b71d09
] - test: don't clobber RegExp.$_ on startup (Ben Noordhuis) #44864 - [
fe91bebb67
] - test: loosen test for negative timestamps intest-fs-stat-date
(Livia Medeiros) #44707 - [
a080608552
] - test: check--test
is disallowed in NODE_OPTIONS (Kohei Ueno) #44846 - [
dc2af265d7
] - test: improve lib/internal/source_map/source_map.js coverage (MURAKAMI Masahiko) #42771 - [
60a05d6dea
] - test: skip some binding tests on IBMi PASE (Richard Lau) #44810 - [
8dacedaa3d
] - test: remove unused variable in addon test (Joyee Cheung) #44809 - [
c54cee1c3f
] - test: check server status in test-tls-psk-client (Richard Lau) #44824 - [
ee3c6a4dc5
] - test: use async/await in test-debugger-exceptions (pete3249) #44690 - [
9f14625fe5
] - test: use async/await in test-debugger-help (Chandana) #44686 - [
8033ad846b
] - test: update test-debugger-scripts to use await/async (mmeenapriya) #44692 - [
f4f08be384
] - test: use await in test-debugger-invalid-json (Anjana Krishnakumar Vellore) #44689 - [
d2f36169f3
] - test: use async/await in test-debugger-random-port-with-inspect-port (Monu-Chaudhary) #44695 - [
ddf029725b
] - test: use async/await in test-debugger-heap-profiler (Brinda Ashar) #44693 - [
117f068250
] - test: use async/await in test-debugger-auto-resume (samyuktaprabhu) #44675 - [
143c428cae
] - test: migrated from Promise chains to Async/Await (Rathi N Das) #44674 - [
e609a3309c
] - test: change promises to async/await in test-debugger-backtrace.js (Juliet Zhang) #44677 - [
eeabd23ca6
] - test: use async/await in test-debugger-sb-before-load (Hope Olaidé) #44697 - [
5c63d1464e
] - test: add extra tests for basename with ext option (Connor Burton) #44772 - [
f8b2d7a059
] - test: refactor to async/await (Divya Mohan) #44694 - [
9864bde9ab
] - test: modify test-debugger-custom-port.js to use async-await (Priya Shastri) #44680 - [
af30823881
] - test: upgrade all 1024 bit RSA keys to 2048 bits (Momtchil Momtchev) #44498 - [
0fb669e31f
] - test: update test-debugger-breakpoint-exists.js to use async/await (Archana Kamath) #44682 - [
cca253503e
] - test: use async/await in test-debugger-preserve-breaks (poorvitusam) #44696 - [
0b2e8b1681
] - test: use async/await in test-debugger-profile (surbhirjain) #44684 - [
4db72a65cf
] - test: change the promises to async/await in test-debugger-exec-scope.js (Ankita Khiratkar) #44685 - [
56c9c98963
] - test: fix test-runner-inspect (Moshe Atlow) #44620 - [
36227ed862
] - test: fix watch mode test flake (Moshe Atlow) #44739 - [
3abd71a0ea
] - test: deflake watch mode tests (Moshe Atlow) #44621 - [
0c9f38f2be
] - test: split watch mode inspector tests to sequential (Moshe Atlow) #44551 - [
d762a34128
] - test_runner: add --test-name-pattern CLI flag (Colin Ihrig) - [
c7ece464a1
] - test_runner: remove runtime experimental warning (Colin Ihrig) #44844 - [
3c1e9d41c8
] - test_runner: support using--inspect
with--test
(Moshe Atlow) #44520 - [
4bdef48732
] - tools: remove faulty early termination logic from update-timezone.mjs (Darshan Sen) #44870 - [
19d8574996
] - tools: fix timezone update tool (Darshan Sen) #44870 - [
ad8b8ae7d3
] - tools: update eslint to 8.25.0 (Node.js GitHub Bot) #44931 - [
fd99b17a4d
] - tools: makeutils.SearchFiles
deterministic (Bruno Pitrus) #44496 - [
131adece37
] - tools: fix typo in tools/update-authors.mjs (Darshan Sen) #44780 - [
ab22777e65
] - tools: refactor deprecated format in no-unescaped-regexp-dot (Madhuri) #44763 - [
3ad0fae89d
] - tools: update eslint-check.js to object style (andiemontoyeah) #44706 - [
e9d572a9bd
] - tools: update eslint to 8.24.0 (Node.js GitHub Bot) #44778 - [
984b0b4a6c
] - tools: update lint-md-dependencies to rollup@2.79.1 (Node.js GitHub Bot) #44776 - [
db5aeed702
] - (SEMVER-MINOR) util: add default value option to parsearg (Manuel Spigolon) #44631 - [
576ccdf125
] - util: increase robustness with primordials (Jordan Harband) #41212
v18.10.0
Notable changes
- doc:
-
gyp:
- libnode for ios app embedding (chexiongsheng) #44210
-
http:
- (SEMVER-MINOR) throw error on content-length mismatch (sidwebworks) #44588
-
stream:
- (SEMVER-MINOR) add
ReadableByteStream.tee()
(Daeyeon Jeong) #44505
- (SEMVER-MINOR) add
Commits
- [
f497368679
] - benchmark: fix startup benchmark (Evan Lucas) #44727 - [
0c9a94684e
] - benchmark: add stream destroy benchmark (SindreXie) #44533 - [
9c5c1459a8
] - bootstrap: clean up inspector console methods during serialization (Joyee Cheung) #44279 - [
19f67dba8a
] - bootstrap: remove unused global parameter in per-context scripts (Joyee Cheung) #44472 - [
9da11426f6
] - build: remove redundant entry in crypto (Jiawen Geng) #44604 - [
70898b4e67
] - build: rewritten the Android build system (BuShe Pie) #44207 - [
a733f7faac
] - Revert "build: go faster, drop -fno-omit-frame-pointer" (Ben Noordhuis) #44566 - [
1315a83333
] - build: fix bad upstream merge (Stephen Gallagher) #44642 - [
993bd9b134
] - crypto: restrict PBKDF2 args to signed int (Tobias Nießen) #44575 - [
ca5fb67b4e
] - deps: update to ngtcp2 0.8.1 and nghttp3 0.7.0 (Tobias Nießen) #44622 - [
8da1d6ebc4
] - deps: update corepack to 0.14.1 (Node.js GitHub Bot) #44704 - [
d36c4a3088
] - deps: update ngtcp2 update instructions (Tobias Nießen) #44619 - [
7129106aa0
] - deps: upgrade npm to 8.19.2 (npm team) #44632 - [
3cc8f4bb56
] - deps: update to uvwasi 0.0.13 (Colin Ihrig) #44524 - [
4686579d4b
] - dns: remove unnecessary parameter from validateOneOf (Yagiz Nizipli) #44635 - [
729dd95f1f
] - dns: refactor default resolver (Joyee Cheung) #44541 - [
6dc038262a
] - doc: mention git node backport (RafaelGSS) #44764 - [
fd971f5176
] - doc: ensure to revert node_version changes (Rafael Gonzaga) #44760 - [
f274b08f8e
] - doc: fix description fornapi_get_cb_info()
inn-api.md
(Daeyeon Jeong) #44761 - [
2502f2353d
] - doc: update the deprecation for exit code to clarify its scope (Daeyeon Jeong) #44714 - [
064543d0ae
] - doc: update guidance for adding new modules (Michael Dawson) #44576 - [
33a2f17534
] - doc: add registry number for Electron 22 (Keeley Hammond) #44748 - [
10a0d75c26
] - doc: include code examples for webstreams consumers (Lucas Santos) #44387 - [
4dbe4a010c
] - doc: mention where to push security commits (RafaelGSS) #44691 - [
82cb8151ad
] - doc: remove extra space on threadpool usage (Connor Burton) #44734 - [
6ef9af2748
] - doc: make legacy banner slightly less bright (Rich Trott) #44665 - [
b209c83e66
] - doc: improve building doc for Windows Powershell (Brian Muenzenmeyer) #44625 - [
05b17e9250
] - doc: maintain only one list of MODP groups (Tobias Nießen) #44644 - [
ec1cbdb69b
] - doc: add legendecas to TSC list (Michael Dawson) #44662 - [
9341fb4446
] - doc: remove comma in README.md (Taha-Chaudhry) #44599 - [
3dabb44dda
] - doc: use serial comma in report docs (Daeyeon Jeong) #44608 - [
226d90a95a
] - doc: use serial comma in stream docs (Daeyeon Jeong) #44609 - [
3f710fa636
] - doc: remove empty line in YAML block (Claudio Wunder) #44617 - [
4ad1b0abc3
] - (SEMVER-MINOR) doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) #44588 - [
2d92610525
] - doc: remove old OpenSSL ENGINE constants (Tobias Nießen) #44589 - [
03705639c4
] - doc: fix heading levels for test runner hooks (Fabian Meyer) #44603 - [
6c557346a7
] - doc: fix errors in http.md (Luigi Pinca) #44587 - [
48d944b71c
] - doc: fix vm.Script createCachedData example (Chengzhong Wu) #44487 - [
2813323120
] - doc: mention how to get commit release (Rafael Gonzaga) #44572 - [
ea7b44d474
] - doc: fix link inprocess.md
(Antoine du Hamel) #44594 - [
39b65d2fb7
] - doc: do not use weak MODP group in example (Tobias Nießen) #44585 - [
f5549afd90
] - doc: remove ebpf from supported tooling list (Rafael Gonzaga) #44549 - [
a3360b1f4f
] - doc: emphasize that createCipher is never secure (Tobias Nießen) #44538 - [
4e6f7862ba
] - doc: document attribute Script.cachedDataRejected (Chengzhong Wu) #44451 - [
01e584ecab
] - doc: move policy docs to the permissions scope (Rafael Gonzaga) #44222 - [
57dac53c22
] - doc,crypto: cleanup removed pbkdf2 behaviours (Filip Skokan) #44733 - [
c209bd6fb9
] - doc,inspector: document changes of inspector.close (Chengzhong Wu) #44628 - [
9b3b7d6978
] - esm,loader: tidy ESMLoader internals (Jacob Smith) #44701 - [
daf63d2fa3
] - fs: fix typo in mkdir example (SergeyTsukanov) #44791 - [
85ab2f857f
] - fs: remove unused option infs.fstatSync()
(Livia Medeiros) #44613 - [
a6091f5496
] - gyp: libnode for ios app embedding (chexiongsheng) #44210 - [
f158656e4c
] - (SEMVER-MINOR) http: throw error on content-length mismatch (sidwebworks) #44378 - [
1b160517f5
] - inspector: expose inspector.close on workers (Chengzhong Wu) #44489 - [
a2eb55a2c9
] - lib: don't matchsourceMappingURL
in strings (Alan Agius) #44658 - [
2baf532518
] - lib: fix reference leak (falsandtru) #44499 - [
d8d34ae6bc
] - lib: resetRegExp
statics before running user code (Antoine du Hamel) #44247 - [
eb3635184b
] - lib,test: fix bug in InternalSocketAddress (Tobias Nießen) #44618 - [
74dc4d198f
] - meta: update AUTHORS (Node.js GitHub Bot) #44777 - [
97d2ed7296
] - meta: add mailmap entry for dnlup (Rich Trott) #44716 - [
35fbd2cc14
] - meta: update AUTHORS (Node.js GitHub Bot) #44705 - [
c5c1bc40a2
] - meta: move dnlup to emeriti (dnlup) #44667 - [
c62dfe0427
] - meta: update test_runner in label-pr-config (Shrujal Shah) #44615 - [
fe56efd0bc
] - meta: update AUTHORS (Node.js GitHub Bot) #44591 - [
4436ffb536
] - module: open stat/readPackage to mutations (Maël Nison) #44537 - [
f8ec946c82
] - module: exports & imports map invalid slash deprecation (Guy Bedford) #44477 - [
64cb43a2b6
] - node-api: add deprecation code of uncaught exception (Chengzhong Wu) #44624 - [
ce1704c2c7
] - src: avoid using v8 on Isolate termination (Santiago Gimeno) #44669 - [
3036b85d71
] - src: remove <unistd.h> from node_os.cc (Tobias Nießen) #44668 - [
29f57b7899
] - src: avoid copy when creating Blob (Tobias Nießen) #44616 - [
75cfb13ea6
] - src: make ReqWrap weak (Rafael Gonzaga) #44074 - [
c12abb5ece
] - src: make NearHeapLimitCallback() more robust (Joyee Cheung) #44581 - [
81ea507e8e
] - src: dump isolate stats when process exits (daomingq) #44534 - [
687844822f
] - src: consolidate environment cleanup queue (Chengzhong Wu) #44379 - [
3d42aaaac0
] - stream: handle a pending pull request from a released reader (Daeyeon Jeong) #44702 - [
73ad9db6c5
] - stream: refactor use es2020 statement (SindreXie) #44533 - [
0af6e420b3
] - stream: removeabortReason
fromWritableStreamDefaultController
(Daeyeon Jeong) #44540 - [
2f2f8d5821
] - (SEMVER-MINOR) stream: addReadableByteStream.tee()
(Daeyeon Jeong) #44505 - [
667e8bf3fb
] - stream: fixwritableStream.abort()
(Daeyeon Jeong) #44327 - [
3112d5dae0
] - test: verify napi_remove_wrap with napi_delete_reference (Chengzhong Wu) #44754 - [
b512436841
] - test: change promises to async/await (Madhulika Sharma) #44683 - [
858631f720
] - test: use async/await in test-debugger-invalid-args (Nupur Chauhan) #44678 - [
6c9ded810c
] - test: update test-debugger-low-level to use await/async (Meghana Ramesh) #44688 - [
945aa74e57
] - test: check that sysconf returns a positive value (Tobias Nießen) #44666 - [
79f0f48a6f
] - test: change promise to async/await in debugger-watcher (“Pooja) #44687 - [
a56cb65bd6
] - test: fix addon tests compilation with OpenSSL 1.1.1 (Adam Majer) #44725 - [
8a68a80a06
] - test: fix test-performance-measure (smitley) #44637 - [
55de0136b3
] - test: improve lib/readline.js coverage (MURAKAMI Masahiko) #42686 - [
a3095d217f
] - test: fixtest-repl
not validating leaked globals properly (Antoine du Hamel) #44640 - [
7db2974692
] - test: ignore stale process cleanup failures on Windows (Joyee Cheung) #44480 - [
6c35f338c3
] - test: use python3 instead of python (Luigi Pinca) #44545 - [
20e04c6d44
] - test: fix DebugSymbolsTest.ReqWrapList on PPC64LE (Daniel Bevenius) #44341 - [
eb25fe73b0
] - test: add more cases for parse-encoding (Tony Gorez) #44427 - [
5ab3bc9419
] - test_runner: include stack of uncaught exceptions (Moshe Atlow) #44614 - [
752e1472e1
] - tls: fix out-of-bounds read in ClientHelloParser (Tobias Nießen) #44580 - [
0cddb0af99
] - tools: add update-llhttp.sh (Paolo Insogna) #44652 - [
ef0dc47df9
] - tools: fix typo in update-nghttp2.sh (Luigi Pinca) #44664 - [
0df181a5a1
] - tools: add timezone update workflow (Lenvin Gonsalves) #43988 - [
dd4348900d
] - tools: update eslint to 8.23.1 (Node.js GitHub Bot) #44639 - [
b9cfb71e12
] - tools: update lint-md-dependencies to @rollup/plugin-node-resolve@14.1.0 (Node.js GitHub Bot) #44638 - [
5ae142d7ad
] - tools: update gyp-next to v0.13.0 (Jiawen Geng) #44605 - [
5dd86c3faf
] - tools: update lint-md-dependencies to @rollup/plugin-node-resolve@14.0.1 (Node.js GitHub Bot) #44590 - [
caad4748cf
] - tools: increase timeout of running WPT (Joyee Cheung) #44574 - [
5db9779f14
] - tools: fix shebang to use python3 by default (Himself65) #44531 - [
9aa6a560e9
] - v8: add setHeapSnapshotNearHeapLimit (theanarkh) #44420 - [
360b74e94f
] - win: fix fs.realpath.native for long paths (StefanStojanovic) #44536
v18.9.1
This is a security release.
Notable changes
The following CVEs are fixed in this release:
-
CVE-2022-32212: DNS rebinding in --inspect on macOS (High)
- Insufficient fix for macOS devices on v18.5.0
- CVE-2022-32222: Node 18 reads openssl.cnf from /home/iojs/build/ upon startup on MacOS (Medium)
-
CVE-2022-32213: HTTP Request Smuggling - Flawed Parsing of Transfer-Encoding (Medium)
- Insufficient fix on v18.5.0
-
CVE-2022-32215: HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)
- Insufficient fix on v18.5.0
- CVE-2022-35256: HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)
- CVE-2022-35255: Weak randomness in WebCrypto keygen
More detailed information on each of the vulnerabilities can be found in September 22nd 2022 Security Releases blog post.
llhttp updated to 6.0.10
llhttp
is updated to 6.0.10 which includes fixes for the following vulnerabilities.
-
HTTP Request Smuggling - CVE-2022-32213 bypass via obs-fold mechanic (Medium)(CVE-2022-32213 ): The
llhttp
parser in thehttp
module does not correctly parse and validate Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS). -
HTTP Request Smuggling - Incorrect Parsing of Multi-line Transfer-Encoding (Medium)(CVE-2022-32215): The
llhttp
parser in thehttp
module does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS). -
HTTP Request Smuggling - Incorrect Parsing of Header Fields (Medium)(CVE-35256): The llhttp parser in the
http
does not correctly handle header fields that are not terminated with CLRF. This can lead to HTTP Request Smuggling (HRS).
Commits
- [
0c2a5723be
] - crypto: fix weak randomness in WebCrypto keygen (Ben Noordhuis) nodejs-private/node-private# - [
ffb6f4d51d
] - deps: MacOS - fix location of OpenSSL config file (Michael Dawson) nodejs-private/node-private#345 - [
01bffcdd93
] - http: disable chunked encoding when OBS fold is used (Paolo Insogna) nodejs-private/node-private#341 - [
2c379d341d
] - src: fix IPv4 non routable validation (RafaelGSS) nodejs-private/node-private#337
v18.9.0
Notable changes
-
doc
- add daeyeon to collaborators (Daeyeon Jeong) #44355
-
lib
- (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) #44045
-
os
- (SEMVER-MINOR) add machine method (theanarkh) #44416
-
report
- (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) #44255
-
src
- (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) #44362
-
vm
- include vm context in the embedded snapshot (Joyee Cheung) #44252
Commits
- [
e27e709d3c
] - build: add --libdir flag to configure (Stephen Gallagher) #44361 - [
30da2b4d89
] - build: added NINJA env to customize ninja binary (Jeff Dickey) #44293 - [
3c5354869e
] - cluster: fix cluster rr distribute error (theanarkh) #44202 - [
5cefd02618
] - crypto: handle invalid prepareAsymmetricKey JWK inputs (Filip Skokan) #44475 - [
c868e36385
] - crypto: add digest name to INVALID_DIGEST errors (Tobias Nießen) #44468 - [
35cbe1ad85
] - crypto: use actual option name in error message (Tobias Nießen) #44455 - [
c3dbe18e4c
] - crypto: simplify control flow in HKDF (Tobias Nießen) #44272 - [
28781a1f7e
] - crypto: improve RSA-PSS digest error messages (Tobias Nießen) #44307 - [
b1eafe14fd
] - debugger: decrease timeout used to wait for the port to be free (Joyee Cheung) #44359 - [
8ef5c40a83
] - deps: update corepack to 0.14.0 (Node.js GitHub Bot) #44509 - [
cf19a79dfc
] - deps: upgrade npm to 8.19.1 (npm team) #44486 - [
c5630ad1a7
] - deps: V8: backportff8d67c
(Michaël Zasso) #44423 - [
255e7fbd08
] - deps: update Acorn to v8.8.0 (Michaël Zasso) #44437 - [
754d26a53e
] - deps: patch V8 to 10.2.154.15 (Michaël Zasso) #44294 - [
1b50ff2600
] - deps: update icu tzdata to 2022b (Matías Zúñiga) #44283 - [
1e451dca99
] - deps: upgrade llhttp to 6.0.9 (Paolo Insogna) #44344 - [
57da3db522
] - deps: update undici to 5.9.1 (Node.js GitHub Bot) #44319 - [
1c87a7e8f6
] - doc: add missing parenthesis in TLSSocket section (Tobias Nießen) #44512 - [
05006eddb2
] - doc: do not use "Returns:" for crypto.constants (Tobias Nießen) #44481 - [
54b6ed58bc
] - doc: use serial comma in addons docs (Tobias Nießen) #44482 - [
11452a97b3
] - doc: add --update-assert-snapshot to node.1 (Colin Ihrig) #44429 - [
ae028e8ac3
] - doc: improve assert.snapshot() docs (Colin Ihrig) #44429 - [
71c869688a
] - doc: add missing imports in events sample code (Brian Evans) #44337 - [
92046e8027
] - doc: apply scroll-margin-top to h2, h3 elements (metonym) #44414 - [
3e6cde5931
] - doc: fix spacing issue in--build-snapshot
help text (Shohei YOSHIDA) #44435 - [
8e41dbb81b
] - doc: mention cherry-pick edge-case on release (RafaelGSS) #44408 - [
cef30f9afc
] - doc: note on release guide to updatemain
branch (Ruy Adorno) #44384 - [
21437f7a7f
] - doc: fix release guide example consistency (Ruy Adorno) #44385 - [
ed52bd0a18
] - doc: fix style of n-api.md (theanarkh) #44377 - [
65c1f4015f
] - doc: add history for net.createServer() options (Luigi Pinca) #44326 - [
4a0f750a6c
] - doc: add daeyeon to collaborators (Daeyeon Jeong) #44355 - [
8cc5556f76
] - doc: fix typo in test runner code examples (Moshe Atlow) #44351 - [
b660b7467d
] - doc,worker: document resourceLimits overrides (Keyhan Vakil) #43992 - [
2ed3b30696
] - inspector: prevent integer overflow in open() (Tobias Nießen) #44367 - [
b8f08e5e7e
] - lib: codify findSourceMap return value when not found (Chengzhong Wu) #44397 - [
a86ef1ba3e
] - lib: use safePromise
alternatives when available (Antoine du Hamel) #43476 - [
e519ac7842
] - meta: update AUTHORS (Node.js GitHub Bot) #44511 - [
c03f28b960
] - meta: update AUTHORS (Node.js GitHub Bot) #44422 - [
ef08cbddac
] - node-api: avoid calling virtual methods in base's dtor (Chengzhong Wu) #44424 - [
256340197c
] - node-api: cleanup redundant static modifiers (Chengzhong Wu) #44301 - [
6714736706
] - (SEMVER-MINOR) os: add machine method (theanarkh) #44416 - [
807b1e5533
] - report: get stack trace with cross origin contexts (Chengzhong Wu) #44398 - [
b17cc877d0
] - report: fix missing section javascriptHeap on OOMError (Chengzhong Wu) #44398 - [
1f23c17ae0
] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255 - [
df259005d9
] - report: add queue info for udp (theanarkh) #44345 - [
fc17b808c9
] - src: rename misleading arg in ClientHelloParser (Tobias Nießen) #44500 - [
125ab7da2a
] - src: improve error handling in CloneSSLCerts (Tobias Nießen) #44410 - [
aa34f7347b
] - src: fix incorrect comments in crypto (Tobias Nießen) #44470 - [
18b720805f
] - src: avoid casting std::trunc(... / ...) to size_t (Tobias Nießen) #44467 - [
4331bbe2af
] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362 - [
c5413a1146
] - src: simplify enable_if logic ofToStringHelper::BaseConvert
(Feng Yu) #44306 - [
dcc1cf4f4e
] - src: add error handling touv_uptime
call (Juan José Arboleda) #44386 - [
fd611cc272
] - src: remove base64_select_table and base64_table (Tobias Nießen) #44425 - [
4776b4767b
] - src: fix uv_err_name memory leak (theanarkh) #44421 - [
8db2e66d3a
] - src: make Endianness an enum class (Tobias Nießen) #44411 - [
048e440878
] - src: fix ssize_t error from nghttp2.h (Darshan Sen) #44393 - [
dc1c95ede3
] - src: trace fs async api (theanarkh) #44057 - [
0f4e98ba2c
] - src: restore context default IsCodeGenerationFromStringsAllowed value (Chengzhong Wu) #44324 - [
05fb650b54
] - src: simplify and optimize GetOpenSSLVersion() (Tobias Nießen) #44395 - [
7f16177f96
] - src: useif constexpr
where appropriate (Anna Henningsen) #44291 - [
2be8acad18
] - src: simplify ECDH::GetCurves() (Tobias Nießen) #44309 - [
3eb7918f8e
] - src: make minor improvements to EnabledDebugList (Tobias Nießen) #44350 - [
88d9566593
] - src: remove KeyObjectData::symmetric_key_len_ (Tobias Nießen) #44346 - [
768c9cb872
] - src: fix multiple format string bugs (Tobias Nießen) #44314 - [
6857ee8299
] - src: make minor improvements to SecureBuffer (Tobias Nießen) #44302 - [
2facf8b8e0
] - stream: fix setting abort reason inReadableStream.pipeTo()
(Daeyeon Jeong) #44418 - [
65134d696b
] - stream: fixReadableStreamReader.releaseLock()
(Daeyeon Jeong) #44292 - [
4c33e5d4ce
] - test: avoid race in file write stream handle tests (Joyee Cheung) #44380 - [
0d77342a39
] - test: style updates for assert.snapshot() (Colin Ihrig) #44429 - [
e36ed44b26
] - test: deflake child process exec timeout tests (Joyee Cheung) #44390 - [
0af15c71fb
] - test: make the vm timeout escape tests more lenient (Joyee Cheung) #44433 - [
0f071b800e
] - test: split heap prof tests (Joyee Cheung) #44388 - [
2dd88b8425
] - test: fix multiple incorrect mustNotCall() uses (Tobias Nießen) #44022 - [
4ae1f4990c
] - test: split report OOM tests (Joyee Cheung) #44389 - [
3a5fdacdc2
] - test: fix WPT runner result (Daeyeon Jeong) #44238 - [
e001aafee3
] - test: raise sleep times in child process tests (Joyee Cheung) #44375 - [
8e2dcafc24
] - test: remove duplicate test (Luigi Pinca) #44313 - [
c65d7fb1fa
] - test: add OpenSSL 3.x providers test (Richard Lau) #44148 - [
11e9d6e173
] - test: make tmpdir.js importable from esm (Geoffrey Booth) #44322 - [
a35c2f9ef4
] - test_runner: fixduration_ms
to be milliseconds (Moshe Atlow) #44450 - [
8175c65b4d
] - test_runner: support programmatically running--test
(Moshe Atlow) #44241 - [
1cdccbc845
] - tls: remove SecureContext setFreeListLength (Tobias Nießen) #44300 - [
70399166f3
] - tls: use OpenSSL constant for client random size (Tobias Nießen) #44305 - [
6fe189b62a
] - tools: update lint-md-dependencies to rollup@2.79.0 (Node.js GitHub Bot) #44510 - [
1e62bb14dd
] - tools: fix typo inavoid-prototype-pollution
lint rule (Antoine du Hamel) #44446 - [
78c6827688
] - tools: don't use f-strings in test.py (Santiago Gimeno) #44407 - [
443730c419
] - tools: update doc to unist-util-visit@4.1.1 (Node.js GitHub Bot) #44370 - [
96df99375e
] - tools: update eslint to 8.23.0 (Node.js GitHub Bot) #44419 - [
b6709544e9
] - tools: refactoravoid-prototype-pollution
lint rule (Antoine du Hamel) #43476 - [
8b0a4afcae
] - tty: fix TypeError when stream is closed (Antoine du Hamel) #43803 - [
c4a45a93f3
] - vm: avoid unnecessary property getter interceptor calls (Joyee Cheung) #44252 - [
736a04aa13
] - vm: include vm context in the embedded snapshot (Joyee Cheung) #44252 - [
bce827e5d1
] - vm: make ContextifyContext template context-independent (Joyee Cheung) #44252
v18.8.0
Notable changes
bootstrap: implement run-time user-land snapshots via --build-snapshot and --snapshot-blob
This patch introduces --build-snapshot
and --snapshot-blob
options for creating and using user land snapshots.
To generate a snapshot using snapshot.js as an entry point and write the snapshot blob to snapshot.blob:
echo "globalThis.foo = 'I am from the snapshot'" > snapshot.js
node --snapshot-blob snapshot.blob --build-snapshot snapshot.js
To restore application state from snapshot.blob, with index.js as the entry point script for the deserialized application:
echo "console.log(globalThis.foo)" > index.js
node --snapshot-blob snapshot.blob index.js
### => I am from the snapshot
Users can also use the v8.startupSnapshot
API to specify an entry point at snapshot building time, thus avoiding the need of an additional entry script at deserialization time:
echo "require('v8').startupSnapshot.setDeserializeMainFunction(() => console.log('I am from the snapshot'))" > snapshot.js
node --snapshot-blob snapshot.blob --build-snapshot snapshot.js
node --snapshot-blob snapshot.blob
### => I am from the snapshot
Contributed by Joyee Cheung in #38905
Other notable changes
- crypto:
-
deps:
- upgrade npm to 8.18.0 (npm team) #44263 - Adds a new
npm query
command
- upgrade npm to 8.18.0 (npm team) #44263 - Adds a new
- doc:
-
http:
- (SEMVER-MINOR) make idle http parser count configurable (theanarkh) #43974
-
net:
- (SEMVER-MINOR) add local family (theanarkh) #43975
-
src:
- (SEMVER-MINOR) print source map error source on demand (Chengzhong Wu) #43875
-
tls:
- (SEMVER-MINOR) pass a valid socket on
tlsClientError
(Daeyeon Jeong) #44021
- (SEMVER-MINOR) pass a valid socket on
Commits
- [
0e20072e32
] - assert: addgetCalls
andreset
to callTracker (Moshe Atlow) #44191 - [
126fbbab74
] - assert: add assert.Snapshot (Moshe Atlow) #44095 - [
87d7845b4f
] - bootstrap: fixup Error.stackTraceLimit for user-land snapshot (Joyee Cheung) #44203 - [
597a5171ee
] - (SEMVER-MINOR) bootstrap: clean up warning setup during serialization (Joyee Cheung) #38905 - [
3561514ff5
] - (SEMVER-MINOR) bootstrap: implement --snapshot-blob and --build-snapshot (Joyee Cheung) #38905 - [
123b2d6795
] - bootstrap: turn on FunctionCodeHandling::kKeep in the snapshot builder (Joyee Cheung) #44104 - [
e7d101fbd4
] - bootstrap: support more builtins in the embedded code cache (Joyee Cheung) #44018 - [
2ae2828040
] - build: enable pointer authentication for branch protection on arm64 (Jeremiah Gowdy) #43200 - [
fecec4d3ba
] - build: add workflow to label flaky-test platform (Rafael Gonzaga) #44042 - [
c975c4f674
] - build: optimized and fixed building configuration to Android (BuShe) #44016 - [
ec1b31e6ad
] - build: allow test-internet on forks if not scheduled (Rich Trott) #44073 - [
ea48c5673b
] - build: skip test-internet run on forks (Rich Trott) #44054 - [
1c0d66e927
] - (SEMVER-MINOR) crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) #44201 - [
07d90c8a71
] - (SEMVER-MINOR) crypto: allow zero-length secret KeyObject (Filip Skokan) #44201 - [
ac2b10e0c7
] - crypto: fix webcrypto deriveBits validations (Filip Skokan) #44173 - [
4c902be5a5
] - crypto: fix webcrypto EC key namedCurve validation errors (Filip Skokan) #44172 - [
81e1ec4f6f
] - crypto: fix webcrypto generateKey() AES key length validation error (Filip Skokan) #44170 - [
ad8ef3a56c
] - crypto: fix webcrypto operation errors to be OperationError (Filip Skokan) #44171 - [
c270b9a0aa
] - deps: update corepack to 0.13.0 (Node.js GitHub Bot) #44318 - [
bce8041d67
] - deps: upgrade npm to 8.18.0 (npm team) #44263 - [
a26997263b
] - deps: update corepack to 0.12.3 (Node.js GitHub Bot) #44229 - [
b1590bbca2
] - deps: upgrade npm to 8.17.0 (npm team) #44205 - [
818271c1c3
] - deps: update undici to 5.8.2 (Node.js GitHub Bot) #44187 - [
d09bc5402d
] - deps: update undici to 5.8.1 (Node.js GitHub Bot) #44158 - [
a92d90b482
] - deps: update corepack to 0.12.2 (Node.js GitHub Bot) #44159 - [
52a516a281
] - deps: V8: cherry-pick9861ce1
(Milad Fa) #44115 - [
763b956f07
] - deps: remove unnecessary file (Brian White) #44133 - [
194587e767
] - deps: upgrade npm to 8.16.0 (npm team) #44119 - [
116dcccc79
] - deps: upgrade base64 todc6a41c
(Brian White) #44032 - [
b7aaf3d4ca
] - deps: upgrade npm to 8.15.1 (npm team) #44013 - [
a0c57837c4
] - deps: cherry-pick00704f5
from V8 upstream (Keyhan Vakil) #43921 - [
19557ad6a4
] - dgram: add dgram send queue info (theanarkh) #44149 - [
a93371205b
] - doc: fix optionality of callback arg of checkPrime (Tobias Nießen) #44311 - [
d3f3bf602d
] - doc: fix typo (Hana) #44262 - [
7a567875b0
] - doc: add TypeScript execution requirements (Michael Dawson) #44030 - [
e8916fa758
] - doc: add cola119 to collaborators (cola119) #44248 - [
8c1fe86026
] - doc: fix added version for readable.closed/destroyed (Matthew Peveler) #44033 - [
f39a0514d3
] - doc: improved building doc for Android (BuShe) #44166 - [
4d26cb9bb2
] - doc: add MoLow to collaborators (Moshe Atlow) #44214 - [
6bff14b6f1
] - doc: update tags in adding-new-napi-api.md (Chengzhong Wu) #44190 - [
721639a1d4
] - doc: fix typo in diagnostics_channel (Evan Lucas) #44199 - [
0fffc24caa
] - doc: add Retry CI in collaborator guide (Livia Medeiros) #44130 - [
fb11643e31
] - doc: add performance note to--enable-source-maps
docs (Saurabh Daware) #43817 - [
cb7a9e78fd
] - doc: remove unused code in call tracker example (Colin Ihrig) #44127 - [
8c26daff7c
] - doc: add theanarkh to collaborators (theanarkh) #44131 - [
46f8fb8e53
] - doc: clarify tls.tlsSocket.getCipher().version (Adam Majer) #44086 - [
02236032f0
] - doc: update repository list in onboarding doc (Rich Trott) #44089 - [
58f2739e32
] - doc: add Erick Wendel to collaborators (Erick Wendel) #44088 - [
fe83d514b2
] - doc: update collaborator email (Ruy Adorno) #44044 - [
76011dd7f7
] - doc: copyedittest.md
(Antoine du Hamel) #44061 - [
1d6029aa3d
] - doc: add kvakil to triagers (Keyhan Vakil) #43996 - [
7f7a0eb2f5
] - doc: clarify part of onboarding guide regarding adding to teams (Darshan Sen) #44024 - [
2ae5d853a7
] - doc: fix code examples incrypto.md
(Antoine du Hamel) #44053 - [
1b9537b6a5
] - doc: claim ABI version for Electron 21 (Keeley Hammond) #44034 - [
d23dfa4dcb
] - doc: remove old reference from crypto/README.md (Tobias Nießen) #44012 - [
222ecd6e14
] - doc: add missing env vars to man page (cola119) #43492 - [
374b77619b
] - doc: list supported MODP groups explicitly (Tobias Nießen) #43986 - [
72a9ecf94f
] - doc: fix typo in packages.md (Dominic Saadi) #44005 - [
1b328305f0
] - doc: fix typos intest.md
(Antoine du Hamel) #43997 - [
7af55dbc40
] - doc: add missing test runner option (Moshe Atlow) #43989 - [
e8441a2864
] - doc,report: document special filenames (Chengzhong Wu) #44257 - [
da7bc5acdf
] - doc,worker: deprecate--trace-atomics-wait
(Keyhan Vakil) #44093 - [
37a9d7a754
] - errors: refactor to use optional chaining (SindreXie) #44184 - [
a6dccc969f
] - esm: do not bind loader hook functions (Antoine du Hamel) #44122 - [
5e9c197d85
] - esm: fix loader hooks accepting too many arguments (Jacob Smith) #44109 - [
e072c3aa70
] - esm: move package config helpers (Geoffrey Booth) #43967 - [
d57178cdfc
] - events: use bitset to save memory (Basit Chonka) #43700 - [
4ec3f671af
] - fs: add encoding parameter to benchmarks (Yagiz Nizipli) #44278 - [
851264ca90
] - http: add max for http keepalive (theanarkh) #44217 - [
340ca4d8fe
] - http: fix error message when specifying headerTimeout for createServer (Nick Sia) #44163 - [
c340344641
] - http: trace http request / response (theanarkh) #44102 - [
a2cd8b316c
] - (SEMVER-MINOR) http: make idle http parser count configurable (theanarkh) #43974 - [
5dc39a10bd
] - http: reuse socket only when it is drained (ywave620) #43902 - [
8c2d19b2d6
] - http: do not leak error listeners (Paolo Insogna) #43587 - [
1a44fbc19e
] - lib: add diagnostics channel and perf hooks detail (Danielle Adams) #43984 - [
8cfc8b0e7b
] - lib: refactor to avoid prototype pollution (Antoine du Hamel) #43474 - [
04007f2f51
] - lib: fix diagnostics channel (theanarkh) #44154 - [
c02bbdd921
] - lib: pass env variables to child process on z/OS (alexcfyung) #42255 - [
617ea4af1c
] - lib: add missing env vars to --help (cola119) #43492 - [
94912bb09c
] - lib: addPromise
methods toavoid-prototype-pollution
lint rule (Antoine du Hamel) #43849 - [
8977a87504
] - meta: update AUTHORS (Node.js GitHub Bot) #44321 - [
f7be92fe86
] - meta: updateweb streams
in label-pr-config (Daeyeon Jeong) #44235 - [
2c72ded880
] - meta: update AUTHORS (Node.js GitHub Bot) #44231 - [
c59dc7a4c1
] - meta: update AUTHORS (Node.js GitHub Bot) #44161 - [
e0efd9af50
] - meta: add codeowner for src/node_snapshot* (Chengzhong Wu) #44113 - [
a996f53c78
] - meta: update AUTHORS (Node.js GitHub Bot) #44065 - [
697dbfb174
] - meta: shorten PowerShell snippet for bug-report template (NicoNekoru) #44011 - [
05802c2877
] - module: protect against prototype mutation (Antoine du Hamel) #44007 - [
1b3fcf765f
] - (SEMVER-MINOR) net: create diagnostics channels lazily (Joyee Cheung) #38905 - [
aa7c053926
] - net: remove unused callback (theanarkh) #44204 - [
b6b632c09c
] - (SEMVER-MINOR) net: add local family (theanarkh) #43975 - [
c3d87564d4
] - net, dns: socket should handle its output as input (Adam Majer) #44083 - [
3ba75b341b
] - (SEMVER-MINOR) net,tls: pass a valid socket ontlsClientError
(Daeyeon Jeong) #44021 - [
0e38fba552
] - perf_hooks: add resourcetiming buffer limit (Chengzhong Wu) #44220 - [
b9fd240f63
] - perf_hooks: fix gc elapsed time (theanarkh) #44058 - [
8cf64998e2
] - report: print javascript stack on fatal error (Chengzhong Wu) #44242 - [
c842ab36b6
] - report: skip report if uncaught exception is handled (Chengzhong Wu) #44208 - [
ab73cc8706
] - src: disambiguate terms used to refer to builtins and addons (Joyee Cheung) #44135 - [
e9d19ac64c
] - src: use imported namespaces innode_contextify.cc
(Juan José) #44299 - [
3dadc95cd2
] - src: refactor to avoid using a moved object (Tobias Nießen) #44269 - [
3765c6335b
] - src: extract common context embedder tag checks (Chengzhong Wu) #44258 - [
d2dce59729
] - src: avoid copying BaseObjectPtrs in loop (Tobias Nießen) #44270 - [
9614907104
] - src: remove usage on ScriptCompiler::CompileFunctionInContext (Chengzhong Wu) #44198 - [
4e1ffd932e
] - src: fix --heapsnapshot-near-heap-limit error hint (Chengzhong Wu) #44216 - [
960a20928f
] - src: prevent copying ArrayBufferViewContents (Keyhan Vakil) #44091 - [
4755ad5495
] - src: remove usages of GetBackingStore in crypto (Keyhan Vakil) #44079 - [
a2022e5aff
] - src: remove unowned usages of GetBackingStore (Keyhan Vakil) #44080 - [
8e1b7e2b8f
] - src: remove usages of GetBackingStore in node-api (Keyhan Vakil) #44075 - [
cddf3eda28
] - src: remove usages of GetBackingStore in modules (Keyhan Vakil) #44076 - [
a54e4d4170
] - src: remove usages of GetBackingStore in WASI (Keyhan Vakil) #44077 - [
38cdb1f9b6
] - src: remove usages of GetBackingStore in startup (Keyhan Vakil) #44078 - [
c4783e37d7
] - src: nest namespace report in namespace node (Chengzhong Wu) #44069 - [
04bcdf63a0
] - src: use a typed array internally for process._exiting (Darshan Sen) #43883 - [
b90b8abdd5
] - src: fix bug in GetErrorSource() (Tobias Nießen) #44019 - [
728e18e025
] - src: fix to use replacement character (Kohei Ueno) #43999 - [
cc6e0fc8ff
] - src: improve SPKAC::ExportChallenge() (Tobias Nießen) #44002 - [
9763e2fba9
] - src: fix typo in src/README.md (Anna Henningsen) #44009 - [
460397709b
] - src: remove unnecessary cast in crypto_sig.cc (Tobias Nießen) #44001 - [
68ee8e9089
] - src: split property helpers from node::Environment (Chengzhong Wu) #44056 - [
9990dc7d18
] - src,buffer: remove unused chars_written parameter (Keyhan Vakil) #44092 - [
ecf82186e0
] - src,fs: refactor duplicated code in fs.readdir (Daeyeon Jeong) #43204 - [
ee6412a992
] - src,lib: print prinstine source when source map source not found (Chengzhong Wu) #44052 - [
4249276783
] - (SEMVER-MINOR) src,lib: print source map error source on demand (Chengzhong Wu) #43875 - [
1dabdbf05c
] - src,test: fix typos (SADIK KUZU) #44110 - [
a3ac445198
] - stream: fixisDetachedBuffer
validations (Daeyeon Jeong) #44114 - [
c079abe017
] - stream: improve views validation onBYOBRequest
(Daeyeon Jeong) #44155 - [
2f904bc8bf
] - stream: update TextEncoderStream to align the latest spec (Kohei Ueno) #44101 - [
40b817cfb9
] - (SEMVER-MINOR) test: test snapshotting TypeScript compiler (Joyee Cheung) #38905 - [
d4189ab609
] - (SEMVER-MINOR) test: add UMD module test with marked (Joyee Cheung) #38905 - [
514e5162d2
] - test: deflake test-diagnostics-channel-net (Keyhan Vakil) #44144 - [
a2707d0f48
] - test: add coverage for invalid RSA-PSS digests (Tobias Nießen) #44271 - [
7b6126a59a
] - test: update Web Streams WPT (Daeyeon Jeong) #44234 - [
a02492f96c
] - test: move "errors" test to "parallel" (Michaël Zasso) #44233 - [
b4224dd192
] - test: reduce http-server-request-timeouts-mixed flakiness (Nick Sia) #44169 - [
f5e2f6c362
] - test: remove cjs loader from stack traces (Geoffrey Booth) #44197 - [
e37314497a
] - test: add filesystem check totest-fs-stat-date.mjs
(Livia Medeiros) #44174 - [
9755b1f979
] - test: mark connection leak test flaky on IBM i (Richard Lau) #44215 - [
beaf5f5776
] - test: usemustSucceed
instead ofmustCall
withassert.ifError
(MURAKAMI Masahiko) #44196 - [
11f74e72a7
] - test: update WPT runner (Filip Skokan) #43455 - [
b2a15b6275
] - test: update wpt url status (Kohei Ueno) #44175 - [
6b84451d70
] - test: update wasm/jsapi web platform tests (Yagiz Nizipli) #44100 - [
537d52fa0f
] - test: update hr-time web platform tests (Yagiz Nizipli) #44100 - [
79445cb215
] - test: update console web platform tests (Yagiz Nizipli) #44100 - [
70267a0eeb
] - test: move tests with many workers to sequential (Keyhan Vakil) #44139 - [
86a7fb0c8a
] - test: deflake gc-http-client tests by restricting number of requests (Nick Sia) #44146 - [
e17117dfda
] - test: move test-vm-break-on-sigint to sequential (Keyhan Vakil) #44140 - [
e5113fab05
] - test: remove test-http-client-response-timeout flaky designation (Luigi Pinca) #44145 - [
f1b5f933d7
] - test: s390x z15 accelerated zlib fixes (Adam Majer) #44117 - [
86bbd5e61a
] - test: tune down parallelism for some flaky tests (Keyhan Vakil) #44090 - [
40e2ca7f66
] - test: fixinternet/test-inspector-help-page
(Daeyeon Jeong) #44025 - [
b19564b9d2
] - test: refactor ESM tests to improve performance (Jacob Smith) #43784 - [
d964b308ae
] - test: remove test-gc-http-client-timeout from flaky list (Feng Yu) #43971 - [
2cab7bb791
] - test: reduce loop times for preventing test from timeout (theanarkh) #43981 - [
9244d6d416
] - test: fix test-cluster-concurrent-disconnect (Daeyeon Jeong) #43961 - [
3c8037a9fa
] - test: change misleading variable name (Tobias Nießen) #43990 - [
82164344e2
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #44223 - [
c0b160c842
] - test_runner: fix test runner hooks failure stack (Moshe Atlow) #44284 - [
8ed39397d5
] - test_runner: refactor to use more primordials (Antoine du Hamel) #44062 - [
d8749c3b87
] - test_runner: verbous error when entire test tree is canceled (Moshe Atlow) #44060 - [
0d007471fa
] - test_runner: empty pending tests queue post running (Moshe Atlow) #44059 - [
c3fa82f007
] - test_runner: add before/after/each hooks (Moshe Atlow) #43730 - [
50c854bbfe
] - test_runner: fix top leveldescribe
queuing (Moshe Atlow) #43998 - [
04fdc3e1fa
] - test_runner: graceful termination on--test
only (Moshe Atlow) #43977 - [
51a0310398
] - test_runner: validateconcurrency
option (Antoine du Hamel) #43976 - [
ecf7b0720a
] - tls: use logical OR operator (Mohammed Keyvanzadeh) #44236 - [
f7c1b838ba
] - tools: update lint-md-dependencies to rollup@2.78.1 (Node.js GitHub Bot) #44320 - [
36b39db74d
] - tools: update ESLint to 8.22.0 (Luigi Pinca) #44243 - [
87f75a27fb
] - tools: update lint-md-dependencies to rollup@2.78.0 (Node.js GitHub Bot) #44244 - [
a3cc8ce959
] - tools: update lint-md-dependencies to rollup@2.77.3 (Node.js GitHub Bot) #44230 - [
873941a43e
] - tools: update eslint to 8.21.0 (Node.js GitHub Bot) #44162 - [
6be7e6d136
] - tools: update lint-md-dependencies to @rollup/plugin-commonjs@22.0.2 (Node.js GitHub Bot) #44160 - [
b252f389d7
] - tools: update undici CPE in vuln checking script (Facundo Tuesca) #44128 - [
3eacf25789
] - tools: update lint-md-dependencies to rollup@2.77.2 (Node.js GitHub Bot) #44064 - [
1175d9036a
] - tools: add verbose flag to find-inactive-collaborators (Rich Trott) #43964 - [
2cf3ce83d8
] - trace_events: add example (theanarkh) #43253 - [
2efce0fe5b
] - typings: add JSDoc forinternal/validators
(Yagiz Nizipli) #44181
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.