Commit Graph

7583 Commits

Author SHA1 Message Date
marco-ippolito
be528ab11e util: move util.isBoolean to eol
PR-URL: https://github.com/nodejs/node/pull/52744
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-05-06 09:37:58 +00:00
marco-ippolito
ac97a532f5 util: move util._extend to eol
PR-URL: https://github.com/nodejs/node/pull/52744
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-05-06 09:37:58 +00:00
John Lamp
e22bc1e730
doc: add OpenSSL errors to API docs
Fixes: https://github.com/nodejs/node/issues/33705
PR-URL: https://github.com/nodejs/node/pull/34213
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2024-05-05 13:58:06 +02:00
Antoine du Hamel
15e7563062
fs: runtime deprecate dirent.path
PR-URL: https://github.com/nodejs/node/pull/51050
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
2024-05-05 09:45:20 +00:00
codershiba
2c556521df
doc: fix grammatical mistake
PR-URL: https://github.com/nodejs/node/pull/52808
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2024-05-03 13:30:09 +00:00
Rafael Gonzaga
15456e4e57
src,permission: resolve path on fs_permission
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: https://github.com/nodejs/node/pull/52761
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2024-05-03 03:40:49 +00:00
Antoine du Hamel
08c3256527
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 16:01:20 +02:00
Joyee Cheung
2cfabb11e1
zlib: expose zlib.crc32()
This patch exposes the crc32() function from zlib to user-land.

It computes a 32-bit Cyclic Redundancy Check checksum of `data`. If
`value` is specified, it is used as the starting value of the checksum,
otherwise, 0 is used as the starting value.

```js
const zlib = require('node:zlib');
const { Buffer } = require('node:buffer');

let crc = zlib.crc32('hello');  // 907060870
crc = zlib.crc32('world', crc);  // 4192936109

crc = zlib.crc32(Buffer.from('hello'));  // 907060870
crc = zlib.crc32(Buffer.from('world'), crc);  // 4192936109
```

PR-URL: https://github.com/nodejs/node/pull/52692
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-05-02 12:54:46 +00:00
Marco Ippolito
8f37492b65
cli: move --trace-atomics-wait to eol
PR-URL: https://github.com/nodejs/node/pull/52747
Fixes: https://github.com/nodejs/node/issues/42982
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: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
2024-05-01 12:24:48 +00:00
ishabi
78e74e3df9
doc: update process.versions properties
PR-URL: https://github.com/nodejs/node/pull/52736
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Qingyu Deng <i@ayase-lab.com>
2024-04-30 15:44:48 +00:00
Joyee Cheung
4d59a9deda
module: support ESM detection in the CJS loader
This patch:

1. Adds ESM syntax detection to compileFunctionForCJSLoader()
  for --experimental-detect-module and allow it to emit the
  warning for how to load ESM when it's used to parse ESM as
  CJS but detection is not enabled.
2. Moves the ESM detection of --experimental-detect-module for
  the entrypoint from executeUserEntryPoint() into
  Module.prototype._compile() and handle it directly in the
  CJS loader so that the errors thrown during compilation *and
  execution* during the loading of the entrypoint does not
  need to be bubbled all the way up. If the entrypoint doesn't
  parse as CJS, and detection is enabled, the CJS loader will
  re-load the entrypoint as ESM on the spot asynchronously using
  runEntryPointWithESMLoader() and cascadedLoader.import(). This
  is fine for the entrypoint because unlike require(ESM) we don't
  the namespace of the entrypoint synchronously, and can just
  ignore the returned value. In this case process.mainModule is
  reset to undefined as they are not available for ESM entrypoints.
3. Supports --experimental-detect-module for require(esm).

PR-URL: https://github.com/nodejs/node/pull/52047
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-04-29 20:21:53 +00:00
Daeyeon Jeong
f7e73cd1f2
cli: remove --no-experimental-global-customevent flag
Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/52723
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
2024-04-29 15:15:40 +00:00
Rafael Gonzaga
708bffa999
doc: remove relative limitation to pm
PR-URL: https://github.com/nodejs/node/pull/52648
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2024-04-24 18:56:56 +00:00
RafaelGSS
d40d21c6b4 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-24 15:20:02 -03:00
Aviv Keller
ac9aa37bcb
lib, url: add a windows option to path parsing
PR-URL: https://github.com/nodejs/node/pull/52509
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
2024-04-24 15:47:48 +00:00
Mathieu Leenhardt
91dc8c93a3
doc: fix info string causing duplicated code blocks
Two fenced code blocks were incorrectly labeled as `js` instead of
`cjs`, causing both ESM and CJS version to be shown on
https://nodejs.org/api/test.html#timers instead of being conditionally
shown depending on the value of the "CJS / ESM" toggle.

PR-URL: https://github.com/nodejs/node/pull/52660
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-04-24 10:00:24 +02:00
Tobias Nießen
ff826069a8
crypto: move DEP0182 to runtime deprecation
This introduces a runtime deprecation for using GCM authentication tags
that are shorter than the cipher's block size, unless the user
specified the authTagLength option. This behavior has been doc-only
deprecated since 8f61b658de.

Refs: https://github.com/nodejs/node/issues/52327
Refs: https://github.com/nodejs/node/pull/52345
PR-URL: https://github.com/nodejs/node/pull/52552
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2024-04-23 14:38:06 +00:00
Daeyeon Jeong
9fe0e46807
events,doc: mark CustomEvent as stable
Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/52618
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-04-23 07:09:23 +00:00
Filip Skokan
311504125f
cli: remove --no-experimental-fetch flag
PR-URL: https://github.com/nodejs/node/pull/52611
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2024-04-22 15:43:58 +00:00
RafaelGSS
01c281fa9f 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 10:46:10 -03:00
Malte Legenhausen
461722d64c
doc: correct unsafe URL example in http docs
The previous documentation example for converting `request.url` to an
`URL` object was unsafe, as it could allow a server crash through
malformed URL inputs and potentially enable host header attacks.

This commit revises the example to use string concatenation over the
usage of the `baseUrl` and removes the usage of the `req.headers.host`
as the authority part of the url, mitigating both the crash and security
risks by ensuring the host part of the URL remains controlled and
predictable.

Fixes #52494

Co-authored-by: @astlouisf
Co-authored-by: @samhh
PR-URL: https://github.com/nodejs/node/pull/52555
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
2024-04-21 12:56:11 +00:00
Luigi Pinca
a6f9a34c54
doc: replace U+00A0 with U+0020
Replace NO-BREAK SPACE (U+00A0) with SPACE (U+0020) in `doc/api/net.md`.

PR-URL: https://github.com/nodejs/node/pull/52590
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2024-04-21 09:03:50 +00:00
Luigi Pinca
ba9e1e0ffb
doc: sort options alphabetically
Sort options alphabetically in `doc/api/net.md`.

PR-URL: https://github.com/nodejs/node/pull/52589
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2024-04-21 08:55:04 +00:00
KaKa
93da936f14
doc: correct stream.finished changes
PR-URL: https://github.com/nodejs/node/pull/52551
Reviewed-By: Qingyu Deng <i@ayase-lab.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2024-04-20 18:37:01 +00:00
Filip Skokan
a30ae50860
cli: remove --no-experimental-global-webcrypto flag
PR-URL: https://github.com/nodejs/node/pull/52564
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2024-04-19 13:02:01 +00:00
Aviv Keller
e9c233cd6b
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-18 20:59:50 +00:00
Joyee Cheung
87abd023aa
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-17 23:39:45 +02:00
Paolo Insogna
7e89369166
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-17 15:24:28 +00:00
Paolo Insogna
833e342f15
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-17 09:06:12 +00:00
Moshe Atlow
7453480b5a
doc: update test runner coverage limitations
PR-URL: https://github.com/nodejs/node/pull/52515
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2024-04-15 21:32:28 +00:00
Michaël Zasso
ca7c8c6f75
tools: use stylistic ESLint plugin for formatting
Refs: https://eslint.org/blog/2023/10/deprecating-formatting-rules/
PR-URL: https://github.com/nodejs/node/pull/50714
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2024-04-15 15:08:10 +00:00
Jacob Smith
e0ed09d519
module: tidy code and comments
PR-URL: https://github.com/nodejs/node/pull/52437
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Feng Yu <F3n67u@outlook.com>
2024-04-13 19:41:20 +00:00
Tobias Nießen
8f61b658de
crypto: deprecate implicitly shortened GCM tags
This introduces a doc-only deprecation of using GCM authentication tags
that are shorter than the cipher's block size, unless the user specified
the authTagLength option.

Refs: https://github.com/nodejs/node/issues/52327
PR-URL: https://github.com/nodejs/node/pull/52345
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-04-10 08:16:33 +00:00
Jacob Smith
c82f3c9e80
doc: update process.execArg example to be more useful
PR-URL: https://github.com/nodejs/node/pull/52412
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
2024-04-09 20:42:05 +00:00
mathis-west-1
655b327a4d
doc: call out http(s).globalAgent default
Despite the `http.Agent` stating:

> The default `http.globalAgent` that is used by `http.request()` has
> all of these values set to their respective defaults.

this isn't true anymore since node.js 19. Both, the http as well as the
https `globalAgent` now set `{ keepAlive: true, scheduling: 'lifo',
timeout: 5000 }` as options. `'lifo'` is the default anyway, but
`keepAlive` is turned off and no `timeout` is set on `new Agent()`.

Document the diverging behaviour in the `globalAgent` sections, remove
the false statement from `http.Agent` section, and extend the changelog
to call out the timeout change as well.

PR-URL: https://github.com/nodejs/node/pull/52392
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-04-08 20:33:46 +00:00
Joyee Cheung
db1746182b
module: disallow CJS <-> ESM edges in a cycle from require(esm)
This patch disallows CJS <-> ESM edges when they come from
require(esm) requested in ESM evalaution.

Drive-by: don't reuse the cache for imported CJS modules to stash
source code of required ESM because the former is also used for
cycle detection.

PR-URL: https://github.com/nodejs/node/pull/52264
Fixes: https://github.com/nodejs/node/issues/52145
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-04-08 14:45:55 +00:00
Yagiz Nizipli
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
Emmanuel Ferdman
2c77be5488
doc: update the location of build_with_cmake
PR-URL: https://github.com/nodejs/node/pull/52356
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-04-07 20:34:28 +00:00
Rich Trott
756acd0877
doc: use consistent plural form of "index"
Our documentation uses both "indices" and "indexes" as the plural form
of "index". The Microsoft Style Guide, which we've adopted for
documentation, says to use "indexes" so let's standardize on that.

Ref: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/i/index-indexes-indices
PR-URL: https://github.com/nodejs/node/pull/52373
Refs: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/i/index-indexes-indices
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2024-04-07 06:46:29 +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
atlowChemi
d0c364a844 doc: document missing options of events.on
Fixes: https://github.com/nodejs/node/issues/52078
Refs: https://github.com/nodejs/node/pull/41276
PR-URL: https://github.com/nodejs/node/pull/52080
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2024-04-05 14:07:48 +00:00
Rich Trott
4df34cf6dd
doc: replace "below" with "following"
Ref: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/b/below
PR-URL: https://github.com/nodejs/node/pull/52315
Refs: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/b/below
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2024-04-03 20:21:28 +00:00
Moshe Atlow
ac9e5e7527
test_runner: improve describe.only behavior
PR-URL: https://github.com/nodejs/node/pull/52296
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2024-04-02 22:46:06 +00:00
Colin Ihrig
29de7f82cd
test_runner: omit filtered test from output
This commit updates the test runner to suppress any output for
filtered tests. Filtered tests no longer generate reporter events,
and the unfiltered tests are renumbered in the output as though
the filtered tests were not present. Skipped tests that are not
filtered are still included in the output.

This change is particularly useful when filtering a large number
of tests, as the previously displayed skip output could be
distracting.

Fixes: https://github.com/nodejs/node/issues/51383
PR-URL: https://github.com/nodejs/node/pull/52221
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-03-28 15:57:34 +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
Richard Lau
b9dc2a3243
2024-03-26, Version 18.20.0 'Hydrogen' (LTS)
Notable changes:

Added support for import attributes:

Support has been added for import attributes, to replace the old import
assertions syntax. This will aid migration by making the new syntax
available across all currently supported Node.js release lines.

For more details, see

* [#50134](https://github.com/nodejs/node/issues/50134)
* [#51622](https://github.com/nodejs/node/issues/51622)

Doc deprecation for `dirent.path`:

Please use newly added `dirent.parentPath` instead.

Experimental node-api feature flags

Introduces an experimental feature to segregate finalizers that affect GC state.
A new type called `node_api_nogc_env` has been introduced as the const version
of `napi_env` and `node_api_nogc_finalize` as a variant of `napi_finalize` that
accepts a `node_api_nogc_env` as its first argument.

This feature can be turned off by defining
`NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT`.

Root certificates updated to NSS 3.98:

Certificates added:

* Telekom Security TLS ECC Root 2020
* Telekom Security TLS RSA Root 2023

Certificates removed:

* Security Communication Root CA

Updated dependencies:

* ada updated to 2.7.6.
* base64 updated to 0.5.2.
* c-ares updated to 1.27.0.
* corepack updated to 0.25.2.
* ICU updated to 74.2. Includes CLDR 44.1 and Unicode 15.1.
* npm updated to 10.5.0. Fixes a regression in signals not being passed onto child processes.
* simdutf8 updated to 4.0.8.
* Timezone updated to 2024a.
* zlib updated to 1.3.0.1-motley-40e35a7.

vm: fix V8 compilation cache support for vm.Script:

Previously repeated compilation of the same source code using `vm.Script`
stopped hitting the V8 compilation cache after v16.x when support for
`importModuleDynamically` was added to `vm.Script`, resulting in a performance
regression that blocked users (in particular Jest users) from upgrading from
v16.x.

The recent fixes allow the compilation cache to be hit again
for `vm.Script` when `--experimental-vm-modules` is not used even in the
presence of the `importModuleDynamically` option, so that users affected by the
performance regression can now upgrade. Ongoing work is also being done to
enable compilation cache support for `vm.CompileFunction`.

PR-URL: https://github.com/nodejs/node/pull/52165
2024-03-26 17:31:12 +00:00
cjihrig
fa13ed6d79 doc: add section explaining todo tests
This commit adds a section to the test runner docs explaining
what a TODO test is.

Refs: https://github.com/nodejs/node/issues/49013
PR-URL: https://github.com/nodejs/node/pull/52204
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-03-26 16:52:38 +00:00
theanarkh
312ebd97c2
doc: edit ChildProcess 'message' event docs
- Clarify which types of objects can be sent through `process.send`.
- Clarify that IPC handles are not supported on win32 platform.

PR-URL: https://github.com/nodejs/node/pull/52154
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-03-26 11:31:23 +01:00
Fabian Meyer
f1635f442f
doc: quote test_runner glob parameters
Refs: https://github.com/nodejs/node/issues/52191
PR-URL: https://github.com/nodejs/node/pull/52201
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-03-26 09:00:45 +00:00
wh0
8bd3cb2f8c
doc: http event order correction
PR-URL: https://github.com/nodejs/node/pull/51464
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-03-25 07:53:58 +00:00