Stephen Belanger
9ee4b16bd8
lib: rewrite AsyncLocalStorage without async_hooks
...
PR-URL: https://github.com/nodejs/node/pull/48528
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2024-08-14 08:14:49 +02:00
RafaelGSS
b096e41b48
2024-08-06, Version 22.6.0 (Current)
...
Notable changes:
deps:
* (SEMVER-MINOR) V8: backport 7857eb34db42 (Stephen Belanger) https://github.com/nodejs/node/pull/53997
http:
* (SEMVER-MINOR) add diagnostics channel `http.client.request.error` (Kohei Ueno) https://github.com/nodejs/node/pull/54054
inspector:
* (SEMVER-MINOR) add initial support for network inspection (Kohei Ueno) https://github.com/nodejs/node/pull/53593
lib,src:
* drop --experimental-network-imports (Rafael Gonzaga) https://github.com/nodejs/node/pull/53822
meta:
* add jake to collaborators (jakecastelli) https://github.com/nodejs/node/pull/54004
module:
* (SEMVER-MINOR) add --experimental-strip-types (Marco Ippolito) https://github.com/nodejs/node/pull/53725
stream:
* (SEMVER-MINOR) expose DuplexPair API (Austin Wright) https://github.com/nodejs/node/pull/34111
test_runner:
* (SEMVER-MINOR) fix support watch with run(), add globPatterns option (Matteo Collina) https://github.com/nodejs/node/pull/53866
* (SEMVER-MINOR) refactor snapshots to get file from context (Colin Ihrig) https://github.com/nodejs/node/pull/53853
* (SEMVER-MINOR) add context.filePath (Colin Ihrig) https://github.com/nodejs/node/pull/53853
PR-URL: https://github.com/nodejs/node/pull/54123
2024-08-05 14:23:50 -03:00
Rafael Gonzaga
15a94e67b1
lib,src: drop --experimental-network-imports
...
PR-URL: https://github.com/nodejs/node/pull/53822
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2024-08-05 11:15:46 -03:00
Marco Ippolito
92439fc160
module: add --experimental-strip-types
...
PR-URL: https://github.com/nodejs/node/pull/53725
Refs: https://github.com/nodejs/loaders/issues/217
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Paolo Insogna <paolo@cowtech.it >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruy Adorno <ruy@vlt.sh >
2024-08-05 11:15:43 -03:00
Aviv Keller
6b35994b6f
doc: fix documentation for --run
...
PR-URL: https://github.com/nodejs/node/pull/53976
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2024-08-05 11:15:42 -03:00
Colin Ihrig
e907236dd9
doc: move --test-coverage-{ex,in}clude to proper location
...
This commit moves the documentation for two CLI flags to the
proper sorted location.
PR-URL: https://github.com/nodejs/node/pull/53926
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-07-28 09:51:33 +02:00
Kohei Ueno
de1fbc292f
inspector: add initial support for network inspection
...
PR-URL: https://github.com/nodejs/node/pull/53593
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Paolo Insogna <paolo@cowtech.it >
2024-07-28 09:51:31 +02:00
Aviv Keller
66f7c595c7
cli: document --inspect port 0 behavior
...
PR-URL: https://github.com/nodejs/node/pull/53782
Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com >
2024-07-28 08:53:29 +02:00
Antoine du Hamel
34de83994e
2024-07-17, Version 22.5.0 (Current)
...
Notable changes:
http:
* (SEMVER-MINOR) expose websockets (Natalia Venditto) https://github.com/nodejs/node/pull/53721
lib:
* (SEMVER-MINOR) add `node:sqlite` module (Colin Ihrig) https://github.com/nodejs/node/pull/53752
module:
* add `__esModule` to `require()`'d ESM (Joyee Cheung) https://github.com/nodejs/node/pull/52166
path:
* (SEMVER-MINOR) add `matchesGlob` method (Aviv Keller) https://github.com/nodejs/node/pull/52881
process:
* (SEMVER-MINOR) port on-exit-leak-free to core (Vinicius Lourenço) https://github.com/nodejs/node/pull/53239
stream:
* (SEMVER-MINOR) pipeline wait for close before calling the callback (jakecastelli) https://github.com/nodejs/node/pull/53462
test_runner:
* support glob matching coverage files (Aviv Keller) https://github.com/nodejs/node/pull/53553
worker:
* (SEMVER-MINOR) add `postMessageToThread` (Paolo Insogna) https://github.com/nodejs/node/pull/53682
PR-URL: https://github.com/nodejs/node/pull/53826
2024-07-17 10:15:03 +02:00
Aviv Keller
3a0fcbb17a
test_runner: support glob matching coverage files
...
PR-URL: https://github.com/nodejs/node/pull/53553
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-07-16 12:06:33 +02:00
Colin Ihrig
b31394920d
lib,src,test,doc: add node:sqlite module
...
PR-URL: https://github.com/nodejs/node/pull/53752
Fixes: https://github.com/nodejs/node/issues/53264
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Paolo Insogna <paolo@cowtech.it >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-07-16 12:01:19 +02:00
Michaël Zasso
7e13cc5407
2024-07-02, Version 22.4.0 (Current)
...
Notable changes:
deps,lib,src:
* (SEMVER-MINOR) add experimental web storage (Colin Ihrig) https://github.com/nodejs/node/pull/52435
doc:
* move `node --run` stability to rc (Yagiz Nizipli) https://github.com/nodejs/node/pull/53433
* mark WebSocket as stable (Matthew Aitken) https://github.com/nodejs/node/pull/53352
* mark --heap-prof and related flags stable (Joyee Cheung) https://github.com/nodejs/node/pull/53343
* mark --cpu-prof and related flags stable (Joyee Cheung) https://github.com/nodejs/node/pull/53343
* doc-only deprecate OpenSSL engine-based APIs (Richard Lau) https://github.com/nodejs/node/pull/53329
inspector:
* fix disable async hooks on Debugger.setAsyncCallStackDepth (Joyee Cheung) https://github.com/nodejs/node/pull/53473
lib:
* (SEMVER-MINOR) add diagnostics_channel events to module loading (RafaelGSS) https://github.com/nodejs/node/pull/44340
util:
* (SEMVER-MINOR) support `--no-` for argument with boolean type for parseArgs (Zhenwei Jin) https://github.com/nodejs/node/pull/53107
PR-URL: https://github.com/nodejs/node/pull/53583
2024-07-01 15:33:39 +02:00
cjihrig
9e30724b53
deps,lib,src: add experimental web storage
...
This commit introduces an experimental implementation of the Web
Storage API using SQLite as the backing data store.
PR-URL: https://github.com/nodejs/node/pull/52435
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev >
2024-06-20 15:38:01 +02:00
Yagiz Nizipli
201266706b
doc: move node --run stability to rc
...
PR-URL: https://github.com/nodejs/node/pull/53433
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Xuguang Mei <meixuguang@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-06-20 14:42:21 +02:00
EhsanKhaki
fa113b8fc7
doc: fix typo
...
PR-URL: https://github.com/nodejs/node/pull/53397
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com >
2024-06-20 14:40:41 +02:00
Joyee Cheung
cf375e73c1
doc: mark --heap-prof and related flags stable
...
PR-URL: https://github.com/nodejs/node/pull/53343
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Paolo Insogna <paolo@cowtech.it >
Reviewed-By: Ruy Adorno <ruy@vlt.sh >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
2024-06-20 14:40:37 +02:00
Joyee Cheung
0160745057
doc: mark --cpu-prof and related flags stable
...
PR-URL: https://github.com/nodejs/node/pull/53343
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Paolo Insogna <paolo@cowtech.it >
Reviewed-By: Ruy Adorno <ruy@vlt.sh >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
2024-06-20 14:40:36 +02:00
RafaelGSS
2e7a7765d6
2024-06-11, Version 22.3.0 (Current)
...
Notable changes:
buffer:
* (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) https://github.com/nodejs/node/pull/53221
cli:
* (SEMVER-MINOR) add `NODE_RUN_PACKAGE_JSON_PATH` env (Yagiz Nizipli) https://github.com/nodejs/node/pull/53058
* (SEMVER-MINOR) add `NODE_RUN_SCRIPT_NAME` env to `node --run` (Yagiz Nizipli) https://github.com/nodejs/node/pull/53032
doc:
* (SEMVER-MINOR) add context.assert docs (Colin Ihrig) https://github.com/nodejs/node/pull/53169
* (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) https://github.com/nodejs/node/pull/52762
* add StefanStojanovic to collaborators (StefanStojanovic) https://github.com/nodejs/node/pull/53118
* add Marco Ippolito to TSC (Rafael Gonzaga) https://github.com/nodejs/node/pull/53008
fs:
* mark recursive cp methods as stable (Théo LUDWIG) https://github.com/nodejs/node/pull/53127
lib:
* (SEMVER-MINOR) add EventSource Client (Aras Abbasi) https://github.com/nodejs/node/pull/51575
* (SEMVER-MINOR) replace MessageEvent with undici's (Matthew Aitken) https://github.com/nodejs/node/pull/52370
module:
* (SEMVER-MINOR) print amount of load time of a cjs module (Vinicius Lourenço) https://github.com/nodejs/node/pull/52213
net:
* (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) https://github.com/nodejs/node/pull/53136
process:
* (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) https://github.com/nodejs/node/pull/52762
src:
* (SEMVER-MINOR) traverse parent folders while running `--run` (Yagiz Nizipli) https://github.com/nodejs/node/pull/53154
src,permission:
* (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) https://github.com/nodejs/node/pull/53124
test_runner:
* (SEMVER-MINOR) add snapshot testing (Colin Ihrig) https://github.com/nodejs/node/pull/53169
* (SEMVER-MINOR) add context.fullName (Colin Ihrig) https://github.com/nodejs/node/pull/53169
* (SEMVER-MINOR) support module mocking (Colin Ihrig) https://github.com/nodejs/node/pull/52848
PR-URL: https://github.com/nodejs/node/pull/53379
2024-06-10 09:53:43 -03:00
Yagiz Nizipli
5a41bcf9ca
src: traverse parent folders while running --run
...
PR-URL: https://github.com/nodejs/node/pull/53154
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Daniel Lemire <daniel@lemire.me >
Reviewed-By: James M Snell <jasnell@gmail.com >
2024-06-10 09:30:25 -03:00
Juan José
638b510ce7
cli: add --expose-gc flag available to NODE_OPTIONS
...
This commits allows users to send `--expose-gc` via `NODE_OPTIONS`
environment variable.
Using `node --expose-gc` is possible but via `NODE_OPTIONS` won't
work.
```sh
NODE_OPTIONS='--expose-gc' node
node: --expose-gc is not allowed in NODE_OPTIONS
```
Signed-off-by: Juan José Arboleda <soyjuanarbol@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/53078
Reviewed-By: Tierney Cyren <hello@bnb.im >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
2024-06-07 10:37:15 -03:00
Rafael Gonzaga
75e5612fae
src,permission: --allow-wasi & prevent WASI exec
...
PR-URL: https://github.com/nodejs/node/pull/53124
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2024-06-03 08:48:32 +02:00
cjihrig
8c6dffc269
test_runner: add snapshot testing
...
This commit adds a t.assert.snapshot() method that implements
snapshot testing. Serialization uses JSON.stringify() by default,
but users can configure the serialization to meet their needs.
PR-URL: https://github.com/nodejs/node/pull/53169
Fixes: https://github.com/nodejs/node/issues/48260
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
2024-06-01 10:55:09 +02:00
Rafael Gonzaga
7aa9519ad4
src: fix external module env and kDisableNodeOptionsEnv
...
PR-URL: https://github.com/nodejs/node/pull/52905
Fixes: https://github.com/nodejs/node/issues/51227
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com >
2024-06-01 10:54:59 +02:00
Yagiz Nizipli
cfcde78513
cli: add NODE_RUN_PACKAGE_JSON_PATH env
...
PR-URL: https://github.com/nodejs/node/pull/53058
Refs: https://github.com/nodejs/node/issues/52673
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Daniel Lemire <daniel@lemire.me >
2024-06-01 10:54:56 +02:00
Colin Ihrig
7a67ecf161
test_runner: support module mocking
...
This commit adds experimental module mocking to the test runner.
PR-URL: https://github.com/nodejs/node/pull/52848
Fixes: https://github.com/nodejs/node/issues/51164
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
2024-06-01 10:54:56 +02:00
Aras Abbasi
ee56aecced
lib: add EventSource Client
...
PR-URL: https://github.com/nodejs/node/pull/51575
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2024-06-01 10:54:53 +02:00
Yagiz Nizipli
c70b2f7a76
cli: add NODE_RUN_SCRIPT_NAME env to node --run
...
PR-URL: https://github.com/nodejs/node/pull/53032
Refs: https://github.com/nodejs/node/issues/52673
Reviewed-By: Daniel Lemire <daniel@lemire.me >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-05-21 15:50:16 +02:00
Michaël Zasso
d57af10d1b
2024-05-15, Version 22.2.0 (Current)
...
Notable changes:
cli:
* (SEMVER-MINOR) allow running wasm in limited vmem with
--disable-wasm-trap-handler (Joyee Cheung)
https://github.com/nodejs/node/pull/52766
doc:
* add pimterry to collaborators (Tim Perry)
https://github.com/nodejs/node/pull/52874
fs:
* (SEMVER-MINOR) allow 'withFileTypes' to be used with globs
(Aviv Keller) https://github.com/nodejs/node/pull/52837
inspector:
* (SEMVER-MINOR) introduce the `--inspect-wait` flag (Kohei Ueno)
https://github.com/nodejs/node/pull/52734
lib,src:
* remove --experimental-policy (Rafael Gonzaga)
https://github.com/nodejs/node/pull/52583
perf_hooks:
* (SEMVER-MINOR) add `deliveryType` and `responseStatus` fields
(Matthew Aitken) https://github.com/nodejs/node/pull/51589
test_runner:
* (SEMVER-MINOR) support test plans (Colin Ihrig)
https://github.com/nodejs/node/pull/52860
zlib:
* (SEMVER-MINOR) expose zlib.crc32() (Joyee Cheung)
https://github.com/nodejs/node/pull/52692
PR-URL: https://github.com/nodejs/node/pull/52971
2024-05-15 08:45:30 +02:00
Kohei Ueno
8748dd6477
inspector: introduce the --inspect-wait flag
...
PR-URL: https://github.com/nodejs/node/pull/52734
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
2024-05-12 21:21:55 +02:00
Joyee Cheung
fb85d38e80
cli: allow running wasm in limited vmem with --disable-wasm-trap-handler
...
By default, Node.js enables trap-handler-based WebAssembly bound
checks. As a result, V8 does not need to insert inline bound checks
int the code compiled from WebAssembly which may speedup WebAssembly
execution significantly, but this optimization requires allocating
a big virtual memory cage (currently 10GB). If the Node.js process
does not have access to a large enough virtual memory address space
due to system configurations or hardware limitations, users won't
be able to run any WebAssembly that involves allocation in this
virtual memory cage and will see an out-of-memory error.
```console
$ ulimit -v 5000000
$ node -p "new WebAssembly.Memory({ initial: 10, maximum: 100 });"
[eval]:1
new WebAssembly.Memory({ initial: 10, maximum: 100 });
^
RangeError: WebAssembly.Memory(): could not allocate memory
at [eval]:1:1
at runScriptInThisContext (node:internal/vm:209:10)
at node:internal/process/execution:118:14
at [eval]-wrapper:6:24
at runScript (node:internal/process/execution:101:62)
at evalScript (node:internal/process/execution:136:3)
at node:internal/main/eval_string:49:3
```
`--disable-wasm-trap-handler` disables this optimization so that
users can at least run WebAssembly (with a less optimial performance)
when the virtual memory address space available to their Node.js
process is lower than what the V8 WebAssembly memory cage needs.
PR-URL: https://github.com/nodejs/node/pull/52766
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
2024-05-11 18:55:51 +02:00
Rafael Gonzaga
9a7ae9b6c4
lib,src: remove --experimental-policy
...
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com >
PR-URL: https://github.com/nodejs/node/pull/52583
Refs: https://github.com/nodejs/node/issues/52575
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-05-08 07:16:04 +02:00
Antoine du Hamel
87b87a8f60
2024-05-02, Version 22.1.0 (Current)
...
Notable changes:
buffer:
* improve `base64` and `base64url` performance (Yagiz Nizipli) https://github.com/nodejs/node/pull/52428
dns:
* (SEMVER-MINOR) add order option and support ipv6first (Paolo Insogna) https://github.com/nodejs/node/pull/52492
events,doc:
* mark CustomEvent as stable (Daeyeon Jeong) https://github.com/nodejs/node/pull/52618
lib, url:
* (SEMVER-MINOR) add a `windows` option to path parsing (Aviv Keller) https://github.com/nodejs/node/pull/52509
module:
* (SEMVER-MINOR) implement NODE_COMPILE_CACHE for automatic on-disk code caching (Joyee Cheung) https://github.com/nodejs/node/pull/52535
net:
* (SEMVER-MINOR) add CLI option for autoSelectFamilyAttemptTimeout (Paolo Insogna) https://github.com/nodejs/node/pull/52474
src:
* (SEMVER-MINOR) add `string_view` overload to snapshot FromBlob (Anna Henningsen) https://github.com/nodejs/node/pull/52595
src,permission:
* throw async errors on async APIs (Rafael Gonzaga) https://github.com/nodejs/node/pull/52730
test_runner:
* (SEMVER-MINOR) add --test-skip-pattern cli option (Aviv Keller) https://github.com/nodejs/node/pull/52529
url:
* (SEMVER-MINOR) implement parse method for safer URL parsing (Ali Hassan) https://github.com/nodejs/node/pull/52280
PR-URL: https://github.com/nodejs/node/pull/52768
2024-05-02 09:54:38 +02:00
Aviv Keller
e247a61d15
test_runner: add --test-skip-pattern cli option
...
PR-URL: https://github.com/nodejs/node/pull/52529
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-04-29 22:46:26 +02:00
Joyee Cheung
4d77fd2c46
module: implement NODE_COMPILE_CACHE for automatic on-disk code caching
...
This patch implements automatic on-disk code caching that can be enabled
via an environment variable NODE_COMPILE_CACHE.
When set, whenever Node.js compiles a CommonJS or a ECMAScript Module,
it will use on-disk [V8 code cache][] persisted in the specified
directory to speed up the compilation. This may slow down the first
load of a module graph, but subsequent loads of the same module graph
may get a significant speedup if the contents of the modules do not
change. Locally, this speeds up loading of
test/fixtures/snapshot/typescript.js from ~130ms to ~80ms.
To clean up the generated code cache, simply remove the directory.
It will be recreated the next time the same directory is used for
`NODE_COMPILE_CACHE`.
Compilation cache generated by one version of Node.js may not be used
by a different version of Node.js. Cache generated by different versions
of Node.js will be stored separately if the same directory is used
to persist the cache, so they can co-exist.
Caveat: currently when using this with V8 JavaScript code coverage, the
coverage being collected by V8 may be less precise in functions that are
deserialized from the code cache. It's recommended to turn this off when
running tests to generate precise coverage.
Implementation details:
There is one cache file per module on disk. The directory layout
is:
- Compile cache directory (from NODE_COMPILE_CACHE)
- 8b23c8fe: CRC32 hash of CachedDataVersionTag + NODE_VERESION
- 2ea3424d:
- 10860e5a: CRC32 hash of filename + module type
- 431e9adc: ...
- ...
Inside the cache file, there is a header followed by the actual
cache content:
```
[uint32_t] code size
[uint32_t] code hash
[uint32_t] cache size
[uint32_t] cache hash
... compile cache content ...
```
When reading the cache file, we'll also check if the code size
and code hash match the code that the module loader is loading
and whether the cache size and cache hash match the file content
read. If they don't match, or if V8 rejects the cache passed,
we'll ignore the mismatch cache, and regenerate the cache after
compilation succeeds and rewrite it to disk.
PR-URL: https://github.com/nodejs/node/pull/52535
Refs: https://github.com/nodejs/node/issues/47472
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
2024-04-29 22:46:25 +02:00
Paolo Insogna
3c37ce5710
dns: add order option and support ipv6first
...
PR-URL: https://github.com/nodejs/node/pull/52492
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
2024-04-29 22:46:25 +02:00
Paolo Insogna
d79ae74f71
net: add CLI option for autoSelectFamilyAttemptTimeout
...
PR-URL: https://github.com/nodejs/node/pull/52474
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
2024-04-29 22:46:25 +02:00
RafaelGSS and Marco Ippolito
12fb157f79
2024-04-24, Version 22.0.0 (Current)
...
Semver-Major Commits:
build:
* (SEMVER-MAJOR) compile with C++20 support on Windows (StefanStojanovic) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/50115
console:
* (SEMVER-MAJOR) treat non-strings as separate argument in console.assert() (Jacob Hummer) https://github.com/nodejs/node/pull/49722
crypto:
* (SEMVER-MAJOR) runtime deprecate hmac constructor (Marco Ippolito) https://github.com/nodejs/node/pull/52071
* (SEMVER-MAJOR) runtime deprecate Hash constructor (Marco Ippolito) https://github.com/nodejs/node/pull/51880
* (SEMVER-MAJOR) move createCipher and createDecipher to eol (Marco Ippolito) https://github.com/nodejs/node/pull/50973
deps:
* (SEMVER-MAJOR) V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) V8: revert CL 5331688 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) silence internal V8 deprecation warning (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) update V8 to 12.4.254.14 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) V8: backport c4be0a97f981 (Richard Lau) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) silence internal V8 deprecation warning (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) patch V8 to support compilation with MSVC (Stefan Stojanovic) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) update V8 to 12.3.219.16 (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) V8: backport c4be0a97f981 (Richard Lau) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) V8: cherry-pick f8d5e576b814 (Richard Lau) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) update V8 to 12.2.281.27 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) V8: cherry-pick de611e69ad51 (Keyhan Vakil) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) V8: cherry-pick 0fd478bcdabd (Joyee Cheung) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) V8: cherry-pick 0f9ebbc672c7 (Chengzhong Wu) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) V8: cherry-pick 8f0b94671ddb (Lu Yahan) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) V8: cherry-pick f7d000a7ae7b (Luke Albao) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) V8: cherry-pick 25902244ad1a (Joyee Cheung) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) update V8 to 11.9.169.7 (Michaël Zasso) https://github.com/nodejs/node/pull/50115
doc:
* (SEMVER-MAJOR) runtime deprecate flag --trace-atomics-wait (marco-ippolito) https://github.com/nodejs/node/pull/51179
* (SEMVER-MAJOR) bump FreeBSD experimental support to 13.2 (Michaël Zasso) https://github.com/nodejs/node/pull/51231
* (SEMVER-MAJOR) add migration paths for deprecated utils (Marco Ippolito) https://github.com/nodejs/node/pull/50488
fs:
* (SEMVER-MAJOR) runtime deprecate fs.Stats constructor (Marco Ippolito) https://github.com/nodejs/node/pull/52067
* (SEMVER-MAJOR) use private fields instead of symbols for `Dir` (Jungku Lee) https://github.com/nodejs/node/pull/51037
* (SEMVER-MAJOR) make stats date fields lazy (Yagiz Nizipli) https://github.com/nodejs/node/pull/50908
http:
* (SEMVER-MAJOR) preserve raw header duplicates in writeHead after setHeader calls (Tim Perry) https://github.com/nodejs/node/pull/50394
lib:
* (SEMVER-MAJOR) enable WebSocket by default (Aras Abbasi) https://github.com/nodejs/node/pull/51594
lib,test:
* (SEMVER-MAJOR) handle new Iterator global (Michaël Zasso) https://github.com/nodejs/node/pull/51362
process:
* (SEMVER-MAJOR) wait for `'exit'` before printing result (Antoine du Hamel) https://github.com/nodejs/node/pull/52172
src:
* (SEMVER-MAJOR) update NODE_MODULE_VERSION to 127 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) update NODE_MODULE_VERSION to 126 (Michaël Zasso) https://github.com/nodejs/node/pull/52293
* (SEMVER-MAJOR) use supported API to get stalled TLA messages (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) update default V8 platform to override functions with location (Etienne Pierre-Doray) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) add missing TryCatch (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) update NODE_MODULE_VERSION to 124 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) use non-deprecated v8::Uint8Array::kMaxLength (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) adapt to v8::Exception API change (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) use non-deprecated version of CreateSyntheticModule (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) update NODE_MODULE_VERSION to 122 (Michaël Zasso) https://github.com/nodejs/node/pull/50115
stream:
* (SEMVER-MAJOR) bump default highWaterMark (Robert Nagy) https://github.com/nodejs/node/pull/52037
test:
* (SEMVER-MAJOR) mark test-worker-arraybuffer-zerofill as flaky (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) mark some GC-related tests as flaky (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) allow slightly more diff in memory leak test (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) replace always-opt flag with alway-turbofan (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) remove tests that create very large buffers (Michaël Zasso) https://github.com/nodejs/node/pull/50115
* (SEMVER-MAJOR) adapt to new V8 trusted memory spaces (Michaël Zasso) https://github.com/nodejs/node/pull/50115
test_runner:
* (SEMVER-MAJOR) omit filtered test from output (Colin Ihrig) https://github.com/nodejs/node/pull/52221
* (SEMVER-MAJOR) improve `--test-name-pattern` to allow matching single test (Michał Drobniak) https://github.com/nodejs/node/pull/51577
tools:
* (SEMVER-MAJOR) update V8 gypfiles for 12.4 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
* (SEMVER-MAJOR) roughly port v8_abseil to gyp (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) update V8 gypfiles for 12.2 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) update V8 gypfiles for 12.1 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
* (SEMVER-MAJOR) update V8 gypfiles for 12.0 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
trace_events:
* (SEMVER-MAJOR) use private fields instead of symbols for `Tracing` (Jungku Lee) https://github.com/nodejs/node/pull/51180
util:
* (SEMVER-MAJOR) runtime deprecate util.log (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isUndefined (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isSymbol (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isString (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isRegExp (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isPrimitive (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isObject (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isNumber (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isNullOrUndefined (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isNull (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isFunction (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isError (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isDate (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecation util.isBuffer (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecation util.isBoolean (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecate util.isArray (Marco Ippolito) https://github.com/nodejs/node/pull/50488
* (SEMVER-MAJOR) runtime deprecation util._extend (Marco Ippolito) https://github.com/nodejs/node/pull/50488
v8:
* (SEMVER-MAJOR) enable maglev on supported architectures (Keyhan Vakil) https://github.com/nodejs/node/pull/51360
PR-URL: https://github.com/nodejs/node/pull/52505
Co-Authored-By: Marco Ippolito <marcoippolito54@gmail.com >
2024-04-23 10:47:15 +01:00
RafaelGSS
204018bba6
doc: deprecate --experimental-policy
...
PR-URL: https://github.com/nodejs/node/pull/52602
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2024-04-22 19:11:06 -03:00
Yagiz Nizipli and Daniel Lemire
128c60d906
cli: implement node --run <script-in-package-json>
...
Co-authored-by: Daniel Lemire <daniel@lemire.me >
PR-URL: https://github.com/nodejs/node/pull/52190
Reviewed-By: Daniel Lemire <daniel@lemire.me >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Paolo Insogna <paolo@cowtech.it >
Reviewed-By: Tierney Cyren <hello@bnb.im >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Ruy Adorno <ruy@vlt.sh >
2024-04-08 00:49:14 +00:00
Daeyeon Jeong
ba07e4e5e6
doc: fix typo in cli.md
...
Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/52388
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2024-04-06 18:49:45 +00:00
Richard Lau
6d2d3f17ba
2024-03-26, Version 20.12.0 'Iron' (LTS)
...
Notable changes:
build:
* (SEMVER-MINOR) build opt to set local location of headers (Michael Dawson) https://github.com/nodejs/node/pull/51525
crypto:
* (SEMVER-MINOR) implement crypto.hash() (Joyee Cheung) https://github.com/nodejs/node/pull/51044
* update root certificates to NSS 3.98 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/51794
doc:
* add lemire to collaborators (Daniel Lemire) https://github.com/nodejs/node/pull/51572
* add zcbenz to collaborators (Cheng Zhao) https://github.com/nodejs/node/pull/51812
lib:
* (SEMVER-MINOR) move encodingsMap to internal/util (Joyee Cheung) https://github.com/nodejs/node/pull/51044
sea:
* (SEMVER-MINOR) support sea.getRawAsset() (Joyee Cheung) https://github.com/nodejs/node/pull/50960
* (SEMVER-MINOR) support embedding assets (Joyee Cheung) https://github.com/nodejs/node/pull/50960
src:
* (SEMVER-MINOR) print string content better in BlobDeserializer (Joyee Cheung) https://github.com/nodejs/node/pull/50960
util:
* (SEMVER-MINOR) add styleText API to text formatting (Rafael Gonzaga) https://github.com/nodejs/node/pull/51850
vm:
* (SEMVER-MINOR) support using the default loader to handle dynamic import() (Joyee Cheung) https://github.com/nodejs/node/pull/51244
PR-URL: https://github.com/nodejs/node/pull/52212
2024-03-26 17:42:38 +00:00
Gabriel Bota
305375ac16
doc: fix --env-file docs for valid quotes for defining values
...
PR-URL: https://github.com/nodejs/node/pull/52157
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2024-03-23 19:33:07 +00:00
Michael Dawson
3fcaf7b900
doc: clarify what is supported in NODE_OPTIONS
...
Signed-off-by: Michael Dawson <midawson@redhat.com >
PR-URL: https://github.com/nodejs/node/pull/52076
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com >
2024-03-22 18:02:21 -04:00
Joyee Cheung
5f7fad2605
module: support require()ing synchronous ESM graphs
...
This patch adds `require()` support for synchronous ESM graphs under
the flag `--experimental-require-module`
This is based on the the following design aspect of ESM:
- The resolution can be synchronous (up to the host)
- The evaluation of a synchronous graph (without top-level await) is
also synchronous, and, by the time the module graph is instantiated
(before evaluation starts), this is is already known.
If `--experimental-require-module` is enabled, and the ECMAScript
module being loaded by `require()` meets the following requirements:
- Explicitly marked as an ES module with a `"type": "module"` field in
the closest package.json or a `.mjs` extension.
- Fully synchronous (contains no top-level `await`).
`require()` will load the requested module as an ES Module, and return
the module name space object. In this case it is similar to dynamic
`import()` but is run synchronously and returns the name space object
directly.
```mjs
// point.mjs
export function distance(a, b) {
return (b.x - a.x) ** 2 + (b.y - a.y) ** 2;
}
class Point {
constructor(x, y) { this.x = x; this.y = y; }
}
export default Point;
```
```cjs
const required = require('./point.mjs');
// [Module: null prototype] {
// default: [class Point],
// distance: [Function: distance]
// }
console.log(required);
(async () => {
const imported = await import('./point.mjs');
console.log(imported === required); // true
})();
```
If the module being `require()`'d contains top-level `await`, or the
module graph it `import`s contains top-level `await`,
[`ERR_REQUIRE_ASYNC_MODULE`][] will be thrown. In this case, users
should load the asynchronous module using `import()`.
If `--experimental-print-required-tla` is enabled, instead of throwing
`ERR_REQUIRE_ASYNC_MODULE` before evaluation, Node.js will evaluate the
module, try to locate the top-level awaits, and print their location to
help users fix them.
PR-URL: https://github.com/nodejs/node/pull/51977
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Guy Bedford <guybedford@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
2024-03-18 18:10:06 +08:00
Moshe Atlow
4f68c7c1c9
watch: mark as stable
...
PR-URL: https://github.com/nodejs/node/pull/52074
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-03-15 13:09:48 +00:00
Colin Ihrig
84de97a61e
test_runner: support forced exit
...
This commit updates the test runner to allow a forced exit once
all known tests have finished running.
Fixes: https://github.com/nodejs/node/issues/49925
PR-URL: https://github.com/nodejs/node/pull/52038
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-03-13 10:49:15 +00:00
Geoffrey Booth
63d04d4d80
module: fix detect-module not retrying as esm for cjs-only errors
...
PR-URL: https://github.com/nodejs/node/pull/52024
Reviewed-By: Guy Bedford <guybedford@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
2024-03-12 13:37:51 +00:00
Aras Abbasi
999c6b34fb
doc: test for cli options
...
PR-URL: https://github.com/nodejs/node/pull/51623
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br >
2024-03-07 18:00:11 +00:00
marco-ippolito
2246cd9735
2024-03-06, Version 21.7.0 (Current)
...
Notable changes:
build:
* (SEMVER-MINOR) build opt to set local location of headers (Michael Dawson) https://github.com/nodejs/node/pull/51525
crypto:
* (SEMVER-MINOR) implement crypto.hash() (Joyee Cheung) https://github.com/nodejs/node/pull/51044
* update root certificates to NSS 3.98 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/51794
doc:
* add zcbenz to collaborators (Cheng Zhao) https://github.com/nodejs/node/pull/51812
* add lemire to collaborators (Daniel Lemire) https://github.com/nodejs/node/pull/51572
http2:
* (SEMVER-MINOR) add h2 compat support for appendHeader (Tim Perry) https://github.com/nodejs/node/pull/51412
* (SEMVER-MINOR) add server handshake utility (snek) https://github.com/nodejs/node/pull/51172
* (SEMVER-MINOR) receive customsettings (Marten Richter) https://github.com/nodejs/node/pull/51323
lib:
* (SEMVER-MINOR) move encodingsMap to internal/util (Joyee Cheung) https://github.com/nodejs/node/pull/51044
sea:
* (SEMVER-MINOR) support sea.getRawAsset() (Joyee Cheung) https://github.com/nodejs/node/pull/50960
* (SEMVER-MINOR) support embedding assets (Joyee Cheung) https://github.com/nodejs/node/pull/50960
src:
* (SEMVER-MINOR) print string content better in BlobDeserializer (Joyee Cheung) https://github.com/nodejs/node/pull/50960
* (SEMVER-MINOR) support multi-line values for .env file (IlyasShabi) https://github.com/nodejs/node/pull/51289
* (SEMVER-MINOR) add `process.loadEnvFile` and `util.parseEnv` (Yagiz Nizipli) https://github.com/nodejs/node/pull/51476
* (SEMVER-MINOR) do not coerce dotenv paths (Tobias Nießen) https://github.com/nodejs/node/pull/51425
stream:
* (SEMVER-MINOR) implement `min` option for `ReadableStreamBYOBReader.read` (Mattias Buelens) https://github.com/nodejs/node/pull/50888
util:
* (SEMVER-MINOR) add styleText API to text formatting (Rafael Gonzaga) https://github.com/nodejs/node/pull/51850
vm:
* (SEMVER-MINOR) support using the default loader to handle dynamic import() (Joyee Cheung) https://github.com/nodejs/node/pull/51244
PR-URL: https://github.com/nodejs/node/pull/51932
2024-03-06 15:35:16 -03:00
Ethan Arrowood and Joyee Cheung
009665fb56
report: add --report-exclude-network option
...
New option `--report-exclude-network`, also available as
`report.excludeNetwork`, enables the user to exclude
networking interfaces in their diagnostic report.
On some systems, this can cause the report to take minutes
to generate so this option can be used to optimize that.
Fixes: https://github.com/nodejs/node/issues/46060
PR-URL: https://github.com/nodejs/node/pull/51645
Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2024-03-01 21:50:04 +00:00