Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v18.19.0 release proposal #50953

Merged
merged 364 commits into from
Nov 29, 2023
Merged

v18.19.0 release proposal #50953

merged 364 commits into from
Nov 29, 2023

Conversation

targos
Copy link
Member

@targos targos commented Nov 28, 2023

2023-11-29, Version 18.19.0 'Hydrogen' (LTS), @targos

Notable Changes

npm updated to v10

After two months of baking time in Node.js 20, npm 10 is backported, so that all
release lines include a supported version of npm. This release includes npm v10.2.3.

Refer to nodejs/Release#884 for the plan to land npm 10.

ESM and customization hook changes

Leverage loaders when resolving subsequent loaders

Loaders now apply to subsequent loaders, for example: --experimental-loader ts-node --experimental-loader loader-written-in-typescript.

Contributed by Maël Nison in #43772.

New node:module API register for module customization hooks; new initialize hook

There is a new API register available on node:module to specify a file that exports module customization hooks, and pass data to the hooks, and establish communication channels with them. The “define the file with the hooks” part was previously handled by a flag --experimental-loader, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread. This can now be done by calling register from the main thread and passing data, including MessageChannel instances.

We encourage users to migrate to an approach that uses --import with register, such as:

node --import ./file-that-calls-register.js ./app.js

Using --import ensures that the customization hooks are registered before any application code runs, even the entry point.

Contributed by João Lenon and Jacob Smith in #46826, Izaak Schroeder and Jacob Smith in #48842 and #48559.

import.meta.resolve unflagged

In ES modules, import.meta.resolve(specifier)
can be used to get an absolute URL string to which specifier resolves, similar
to require.resolve in CommonJS. This aligns Node.js with browsers and other server-side runtimes.

Contributed by Guy Bedford in #49028.

--experimental-default-type flag to flip module defaults

The new flag --experimental-default-type can be used to flip the default
module system used by Node.js. Input that is already explicitly defined as ES
modules or CommonJS, such as by a package.json "type" field or .mjs/.cjs
file extension or the --input-type flag, is unaffected. What is currently
implicitly CommonJS would instead be interpreted as ES modules under
--experimental-default-type=module:

  • String input provided via --eval or STDIN, if --input-type is unspecified.

  • Files ending in .js or with no extension, if there is no package.json file
    present in the same folder or any parent folder.

  • Files ending in .js or with no extension, if the nearest parent
    package.json field lacks a type field; unless the folder is inside a
    node_modules folder.

In addition, extensionless files are interpreted as Wasm if
--experimental-wasm-modules is passed and the file contains the "magic bytes"
Wasm header.

Contributed by Geoffrey Booth in #49869.

Other ESM-related changes
  • [ed2d46f4cc] - doc: move and rename loaders section (Geoffrey Booth) #49261
  • [92734d4480] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
  • [e96f7ef881] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141

Test runner changes

Many changes to the built-in test runner have been backported. This includes
the following additions:

  • [b283ae4238] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
  • [059b1945d8] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
  • [d61a505546] - (SEMVER-MINOR) test_runner: expose location of tests (Colin Ihrig) #48975
  • [b55eb2a8d1] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
  • [05e7f28b40] - (SEMVER-MINOR) test_runner: add initial draft for fakeTimers (Erick Wendel) #47775
  • [428301ad27] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996

Other notable changes

  • [0c4a84e8e9] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  • [fae60c5841] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
  • [17246be158] - (SEMVER-MINOR) lib: add api to detect whether source-maps are enabled (翠 / green) #46391
  • [2e9f7284a1] - (SEMVER-MINOR) lib: add tracing channel to diagnostics_channel (Stephen Belanger) #44943
  • [cc7bf1f641] - (SEMVER-MINOR) src: add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
  • [b5d16cd8f0] - (SEMVER-MINOR) tls: add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190

Commits

  • [0d0eb47e2a] - benchmark: add benchmarks for the test_runner (Raz Luvaton) #48931
  • [8bb03d10f4] - benchmark: differentiate whatwg and legacy url (Yagiz Nizipli) #47377
  • [3d7734cbe3] - benchmark: lower URL.canParse runs (Khafra) #47351
  • [24d3fcf415] - benchmark: stablize encode benchmark (Joyee Cheung) #46658
  • [e08fd98bcc] - bootstrap: use correct descriptor for Symbol.{dispose,asyncDispose} (Jordan Harband) #48703
  • [cf9ddcd6c8] - bootstrap: simplify initialization of source map handlers (Joyee Cheung) #48304
  • [12d731e431] - bootstrap: log isolate data info in mksnapshot debug logs (Joyee Cheung) #47768
  • [d66873871a] - bootstrap: store internal loaders in C++ via a binding (Joyee Cheung) #47215
  • [1a499c5082] - bootstrap: optimize modules loaded in the built-in snapshot (Joyee Cheung) #45849
  • [e0e09caafe] - bootstrap: make CJS loader snapshotable (Joyee Cheung) #45849
  • [5f37decd56] - bootstrap: include event_target into the built-in snapshot (Joyee Cheung) #45849
  • [c3f56a3dee] - bootstrap: support module_wrap binding in snapshot (Joyee Cheung) #45849
  • [6466acbc89] - bootstrap: lazy load non-essential modules (Joyee Cheung) #45659
  • [a0d4b69df4] - bootstrap: lazy-load Performance.prototype.timeOrigin (Joyee Cheung) #46425
  • [c1bc8118e3] - bootstrap: generate bootstrapper arguments in BuiltinLoader (Joyee Cheung) #44488
  • [075c57e88b] - build: add symlink to compile_commands.json file if needed (Juan José) #49260
  • [9e1c531b8d] - build: expand when we run internet tests (Michael Dawson) #49218
  • [a781d24624] - build: fix typo libray -> library (configure.py) (michalbiesek) #49106
  • [f2eccb7a04] - build: fix configure --link-module (Richard Lau) #48522
  • [a44d555494] - build: fix IBM i build with Python 3.9 (Richard Lau) #48056
  • [7f68e14ea2] - child_process: improve spawn performance on Linux (Keyhan Vakil) #48523
  • [76e4d4117c] - crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey (Filip Skokan) #50234
  • [7af54279b5] - deps: V8: cherry-pick 70caf337c3f6 (kxxt) #50506
  • [49c5495339] - deps: update zlib to 1.2.13.1-motley-fef5869 (Node.js GitHub Bot) #50085
  • [e0fd52bf07] - deps: update googletest to 2dd1c13 (Node.js GitHub Bot) #50081
  • [1b103cc567] - deps: update googletest to e47544a (Node.js GitHub Bot) #49982
  • [736c869eeb] - deps: update googletest to d1467f5 (Node.js GitHub Bot) #49676
  • [cd99ee1f35] - deps: update googletest to 8a6feab (Node.js GitHub Bot) #49463
  • [5c338573ff] - deps: update zlib to 1.2.13.1-motley-f5fd0ad (Node.js GitHub Bot) #49252
  • [374ec3d623] - deps: update googletest to 7e33b6a (Node.js GitHub Bot) #49034
  • [c15dd6679b] - deps: update zlib to 1.2.13.1-motley-526382e (Node.js GitHub Bot) #49033
  • [588bd5e524] - deps: update googletest to c875c4e (Node.js GitHub Bot) #48964
  • [6059b59018] - deps: update zlib to 1.2.13.1-motley-61dc0bd (Node.js GitHub Bot) #48788
  • [e455dd4003] - deps: update googletest to cc36671 (Node.js GitHub Bot) #48789
  • [747fbb49ca] - deps: V8: cherry-pick 1a782f6543ae (Keyhan Vakil) #48523
  • [272e55c66f] - deps: upgrade npm to 10.2.3 (npm team) #50531
  • [3f6dcc62e5] - deps: update archs files for openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [da26cdbe84] - deps: upgrade openssl sources to quictls/openssl-3.0.12+quic1 (Node.js GitHub Bot) #50411
  • [23069c34b2] - deps: V8: cherry-pick d69c7937c99d (Michaël Zasso) #46425
  • [5f852cc9fe] - deps: V8: cherry-pick f7d000a7ae7b (Luke Albao) #50344
  • [0c4a84e8e9] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  • [8682b90d02] - deps: update simdutf to 3.2.18 (Node.js GitHub Bot) #50091
  • [11ecd06aeb] - deps: update simdutf to 3.2.17 (Node.js GitHub Bot) #49019
  • [43bfe5f020] - deps: upgrade npm to 10.2.0 (npm team) #50027
  • [a140bc284b] - deps: upgrade npm to 10.1.0 (npm team) #49570
  • [65ca41c276] - (SEMVER-MINOR) deps: upgrade npm to 10.0.0 (npm team) #49423
  • [df1ff8e3da] - deps: fix call to undeclared functions 'ntohl' and 'htons' (MatteoBax) #49979
  • [f228dc7955] - deps: update corepack to 0.22.0 (Node.js GitHub Bot) #50325
  • [4324ebab67] - deps: update corepack to 0.21.0 (Node.js GitHub Bot) #50088
  • [1cabb77659] - deps: update corepack to 0.20.0 (Node.js GitHub Bot) #49464
  • [04227b287e] - deps: update c-ares to 1.20.1 (Node.js GitHub Bot) #50082
  • [13e69ee11c] - deps: update c-ares to 1.20.0 (Node.js GitHub Bot) #50082
  • [ac717df17e] - deps: update ada to 2.7.2 (Node.js GitHub Bot) #50338
  • [6885fc9386] - deps: update ada to 2.6.10 (Node.js GitHub Bot) #49984
  • [76c5f4039f] - deps: update ada to 2.6.9 (Node.js GitHub Bot) #49340
  • [597ea77422] - deps: update ada to 2.6.8 (Node.js GitHub Bot) #49340
  • [8e7dcba553] - deps: update ada to 2.6.7 (Node.js GitHub Bot) #49340
  • [9f2037e8ee] - deps: update ada to 2.6.5 (Node.js GitHub Bot) #49340
  • [4723976703] - deps: update ada to 2.6.3 (Node.js GitHub Bot) #49340
  • [7ccb478664] - deps: update undici to 5.26.4 (Node.js GitHub Bot) #50274
  • [88f9ebb770] - diagnostics_channel: fix ref counting bug when reaching zero subscribers (Stephen Belanger) #47520
  • [284a869540] - dns: call ada::idna::to_ascii directly from c++ (Yagiz Nizipli) #47920
  • [10968370b5] - doc: drop github actions check in sec release process (Rafael Gonzaga) #48978
  • [07c3b88c74] - doc: remove @anonrig from performance initiative (Yagiz Nizipli) #49641
  • [e26b89e8be] - doc: fix node-api call example (Chengzhong Wu) #49395
  • [4c93905f6c] - doc: add news issue for Diagnostics WG (Michael Dawson) #49306
  • [3f1a237a8f] - doc: add print results for examples in StringDecoder (Jungku Lee) #49326
  • [45caad82bb] - doc: update outdated reference to NIST SP 800-131A (Tobias Nießen) #49316
  • [62f823d5a2] - doc: use cjs as block code's type in MockTimers (Deokjin Kim) #49309
  • [0dda724d3f] - doc: update options.filter description for fs.cp (Shubham Pandey) #49289
  • [4ba11e352b] - doc: avoid "not currently recommended" (Tobias Nießen) #49300
  • [9ca85b58b3] - doc: modify param description for end(),write() in StringDecoder (Jungku Lee) #49285
  • [3f771cab67] - doc: use NODE_API_SUPPORTED_VERSION_MAX in release doc (Cheng Zhao) #49268
  • [f181c37e75] - doc: fix typo in stream.finished documentation (Antoine du Hamel) #49271
  • [c70945ddc2] - doc: update description for percent_encode sets in WHATWG API (Jungku Lee) #49258
  • [f9c2a3fb3e] - doc: clarify use of Uint8Array for n-api (Fedor Indutny) #48742
  • [bf22a5f66e] - doc: use same name in the doc as in the code (Hyunjin Kim) #49216
  • [72bd527fb6] - doc: add notable-change label mention to PR template (Rafael Gonzaga) #49188
  • [2247e52fe0] - doc: add h1 summary to security release process (Rafael Gonzaga) #49112
  • [3b82e9aed1] - doc: fix wording in napi_async_init (Tobias Nießen) #49180
  • [55171d88a0] - doc: fix Type notation in webstreams (Deokjin Kim) #49121
  • [79c0497398] - doc: make the NODE_VERSION_IS_RELEASE revert clear (Rafael Gonzaga) #49114
  • [7ee26fb8df] - doc: update with latest security release (Rafael Gonzaga) #49085
  • [9ce73964be] - doc: add description for --port flag of node inspect (Michael Bianco) #48785
  • [633b8cd181] - doc: add missing period (Rich Trott) #49094
  • [6daa9ec2a4] - doc: add ESM examples in http.md (btea) #47763
  • [12b83e81b9] - doc: detailed description of keystrokes Ctrl-Y and Meta-Y (Ray) #43529
  • [ead654f976] - doc: clarify use of process.env in worker threads on Windows (Daeyeon Jeong) #49008
  • [4047947838] - doc: remove v14 mention (Rafael Gonzaga) #49005
  • [833c643eb4] - doc: run license-builder (github-actions[bot]) #48898
  • [cb43717c97] - doc: add ver of 18.x where Node-api 9 is supported (Michael Dawson) #48876
  • [a8d5c16a2a] - doc: include experimental features assessment (Rafael Gonzaga) #48824
  • [e6d8735e2b] - doc: add new TSC members (Michael Dawson) #48841
  • [d4fe00d0c7] - doc: refactor node-api support matrix (Michael Dawson) #48774
  • [629132d84c] - doc: declare path on example of async_hooks.executionAsyncId() (Deokjin Kim) #48556
  • [dfd368ac9f] - doc: remove the . in the end to reduce confusing (Jason) #48719
  • [74d8f96413] - doc: nodejs-social over nodejs/tweet (Rafael Gonzaga) #48769
  • [73a7e00d06] - doc: add missing history info for import.meta.resolve (Antoine du Hamel) #49700
  • [c20fdb4e52] - doc: edit import.meta.resolve documentation (Antoine du Hamel) #49247
  • [1ac389ecef] - doc: update module hooks docs (Geoffrey Booth) #49265
  • [ed2d46f4cc] - doc: move and rename loaders section (Geoffrey Booth) #49261
  • [258df0e72d] - doc: add signature for module.register (Geoffrey Booth) #49251
  • [58eaf3f6ae] - doc: caveat unavailability of import.meta.resolve in custom loaders (Jacob Smith) #49242
  • [2fef28b2b9] - doc: fix name of the flag in initialize() docs (Antoine du Hamel) #49158
  • [15280fb42c] - doc: add steps about signing the binary in single-executable docs (Darshan Sen) #46764
  • [e374ba296c] - doc: add "type" to test runner event details (Phil Nash) #49014
  • [ec0a6c1f1b] - doc: add new reporter events to custom reporter examples (Chemi Atlow) #48903
  • [e8a32fb49b] - doc: change duration to duration_ms on test documentation (Ardi_Nugraha) #48892
  • [2b30c8b8a3] - doc: fix globalPreload example (bmacnaughton) #50300
  • [8a57182769] - doc,test: extend the list of platforms supported by single-executables (Darshan Sen) #47026
  • [92734d4480] - esm: use import attributes instead of import assertions (Antoine du Hamel) #50140
  • [c3c945e654] - esm: bypass CommonJS loader under --default-type (Geoffrey Booth) #49986
  • [fe691984b2] - esm: unflag extensionless javascript and wasm in module scope (Geoffrey Booth) #49974
  • [56bd9a88ac] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  • [72644d62e7] - esm: improve JSDoc annotation of internal functions (Antoine du Hamel) #49959
  • [957725f601] - esm: require braces for modules code (Geoffrey Booth) #49657
  • [c12685f82d] - esm: fix cache collision on JSON files using file: URL (Antoine du Hamel) #49887
  • [ed8dd33493] - esm: identify parent importing a url with invalid host (Jacob Smith) #49736
  • [46d730ab75] - esm: fix return type of import.meta.resolve (Antoine du Hamel) #49698
  • [12cb700478] - esm: update loaders warning (Geoffrey Booth) #49633
  • [47193a347e] - esm: fix support for URL instances in register (Antoine du Hamel) #49655
  • [51ced0f1a1] - esm: clarify ERR_REQUIRE_ESM errors (Daniel Compton) #49521
  • [4be5612bae] - esm: remove return value for Module.register (Antoine du Hamel) #49529
  • [0875867e27] - esm: refactor test-esm-loader-resolve-type (Geoffrey Booth) #49493
  • [9b7c9d93e9] - esm: refactor test-esm-named-exports (Geoffrey Booth) #49493
  • [d1f5514917] - esm: refactor mocking test (Geoffrey Booth) #49465
  • [01ca6d277d] - esm: fix globalPreload warning (Antoine du Hamel) #49069
  • [c1a84398b4] - esm: unflag import.meta.resolve (Guy Bedford) #49028
  • [ef43f084e9] - esm: import.meta.resolve exact module not found errors should return (Guy Bedford) #49038
  • [385f24c9cc] - esm: protect ERR_UNSUPPORTED_DIR_IMPORT against prototype pollution (Antoine du Hamel) #49060
  • [10e7c3a376] - esm: add initialize hook, integrate with register (Izaak Schroeder) #48842
  • [f96b610268] - esm: fix typo parentUrl -> parentURL (Antoine du Hamel) #48999
  • [03c1b5e647] - esm: unflag Module.register and allow nested loader import() (Izaak Schroeder) #48559
  • [63aa5d7270] - esm: add back globalPreload tests and fix failing ones (Antoine du Hamel) #48779
  • [1c7be606f1] - esm: remove support for arrays in import internal method (Antoine du Hamel) #48296
  • [655111fa00] - esm: handle globalPreload hook returning a nullish value (Antoine du Hamel) #48249
  • [9938a8bf13] - esm: handle more error types thrown from the loader thread (Antoine du Hamel) #48247
  • [8cab32a5d1] - esm: do not use 'beforeExit' on the main thread (Antoine du Hamel) #47964
  • [b61efcce95] - esm: rename URLCanParse to be consistent (Antoine du Hamel) #47668
  • [ca20f5931d] - esm: remove support for deprecated hooks (Antoine du Hamel) #47580
  • [5de37a1e37] - esm: initialize import.meta on eval (Antoine du Hamel) #47551
  • [39fbce7313] - esm: propagate process.exit from the loader thread to the main thread (Antoine du Hamel) #47548
  • [2a528b76e6] - esm: avoid try/catch when validating urls (Yagiz Nizipli) #47541
  • [bac9b1758f] - esm: move hook execution to separate thread (Jacob Smith) #44710
  • [dfa444477a] - esm: skip file: URL conversion to path when possible (Antoine du Hamel) #46305
  • [45de8d1bd7] - esm: allow resolve to return import assertions (Geoffrey Booth) #46153
  • [5ffc90a06b] - esm: move hooks handling into separate class (Geoffrey Booth) #45869
  • [490b598dbf] - esm: leverage loaders when resolving subsequent loaders (Maël Nison) #43772
  • [acd987287c] - events: remove weak listener for event target (Raz Luvaton) #48952
  • [69b7f91a92] - fs: remove redundant code in readableWebStream() (Deokjin Kim) #49298
  • [ae8bb162b4] - fs: remove redundant nullCheck (Livia Medeiros) #48826
  • [48c25b154b] - fs: make mkdtemp accept buffers and URL (LiviaMedeiros) #48828
  • [edf46c1b59] - fs: move fs_use_promises_symbol to per-isolate symbols (Joyee Cheung) #47768
  • [fe41d22afc] - fs: use kResistStopPropagation (Chemi Atlow) #48521
  • [7c758f60ab] - fs: fix readdir recursive sync & callback (Ethan Arrowood) #48698
  • [8874b2e11d] - http: start connections checking interval on listen (Paolo Insogna) #48611
  • [29697229b6] - https: fix connection checking interval not clearing on server close (Nitzan Uziely) #48383
  • [981aa7866d] - lib: fix MIME overmatch in data URLs (André Alves) #49104
  • [fe26f8a860] - lib: merge cjs and esm package json reader caches (Yagiz Nizipli) #48477
  • [17246be158] - (SEMVER-MINOR) lib: add api to detect whether source-maps are enabled (翠 / green) #46391
  • [2e9f7284a1] - (SEMVER-MINOR) lib: add tracing channel to diagnostics_channel (Stephen Belanger) #44943
  • [04dad9c2f6] - lib: fix BroadcastChannel initialization location (Shelley Vohr) #46864
  • [671d2c0067] - lib: fix DOMException property descriptors after being lazy loaded (Filip Skokan) #46799
  • [9a4b57d6d4] - lib: improve esm resolve performance (Yagiz Nizipli) #46652
  • [c6b2f56723] - lib: lazy-load deps in modules/run_main.js (Joyee Cheung) #45849
  • [baa280a4f6] - lib: lazy-load deps in source_map_cache.js (Joyee Cheung) #45849
  • [00bdb72b6e] - lib: add getLazy() method to internal/util (Joyee Cheung) #45849
  • [b77a6b2376] - loader: use default loader as cascaded loader in the in loader worker (Joyee Cheung) #47620
  • [7778e190b0] - meta: move Trott to TSC regular member (Rich Trott) #50297
  • [5b9575dd30] - meta: ping TSC for offboarding (Tobias Nießen) #50147
  • [d24c3a0692] - meta: update website team with new name (Rich Trott) #49883
  • [332d2aedb4] - meta: fix linter error (Antoine du Hamel) #49755
  • [dc70c444f4] - meta: add primordials strategic initiative (Benjamin Gruenbaum) #49706
  • [213a9f8a4b] - meta: bump rtCamp/action-slack-notify from 2.2.0 to 2.2.1 (dependabot[bot]) #49437
  • [2827779faa] - meta: remove modules team from CODEOWNERS (Benjamin Gruenbaum) #49412
  • [5d6daf0d01] - meta: add test/reporters to codeowners (Chemi Atlow) #49186
  • [dee7dc5d54] - meta: bump actions/upload-artifact from 3.1.2 to 3.1.3 (dependabot[bot]) #50000
  • [98294fdeee] - meta: bump actions/cache from 3.3.1 to 3.3.2 (dependabot[bot]) #50003
  • [79270327d0] - meta: bump github/codeql-action from 2.21.5 to 2.21.9 (dependabot[bot]) #50002
  • [6591a03c89] - meta: bump github/codeql-action from 2.21.2 to 2.21.5 (dependabot[bot]) #49438
  • [3a107f80bc] - meta: bump actions/checkout from 3.6.0 to 4.1.0 (dependabot[bot]) #50001
  • [26c5c3c4a2] - meta: bump actions/checkout from 3.5.3 to 3.6.0 (dependabot[bot]) #49436
  • [0fc0b88d97] - meta: bump step-security/harden-runner from 2.5.0 to 2.5.1 (dependabot[bot]) #49435
  • [dad5785d5d] - meta: bump actions/setup-node from 3.7.0 to 3.8.1 (dependabot[bot]) #49434
  • [155a275acb] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #49264
  • [bd17f0b992] - meta: mention nodejs/tsc when changing GH templates (Rafael Gonzaga) #49189
  • [f6e68a0238] - meta: bump github/codeql-action from 2.20.1 to 2.21.2 (dependabot[bot]) #48986
  • [5c352eeecb] - meta: bump step-security/harden-runner from 2.4.1 to 2.5.0 (dependabot[bot]) #48985
  • [42ac5a6e5f] - meta: bump actions/setup-node from 3.6.0 to 3.7.0 (dependabot[bot]) #48984
  • [b0d769fe7c] - meta: bump actions/setup-python from 4.6.1 to 4.7.0 (dependabot[bot]) #48983
  • [f62b24276c] - meta: add mailmap entry for atlowChemi (Chemi Atlow) #48810
  • [8c55f317a3] - module: move helpers out of cjs loader (Geoffrey Booth) #49912
  • [14e148ee6c] - module: ensure successful import returns the same result (Antoine du Hamel) #46662
  • [65dfe85f03] - module: implement register utility (João Lenon) #46826
  • [6f0458d0a6] - module: refactor to use normalizeRequirableId in the CJS module loader (Darshan Sen) #47896
  • [89ed24b94a] - module: do less CJS module loader initialization at run time (Joyee Cheung) #47194
  • [939c8764b8] - module: move callbacks and conditions into modules/esm/utils.js (Joyee Cheung) #45849
  • [a3b0f4cf55] - module: move modules/cjs/helpers.js to modules/helpers.js (Joyee Cheung) #45849
  • [97579895f2] - module, esm: jsdoc for modules files (Geoffrey Booth) #49523
  • [daca87bbef] - net: use asserts in JS Socket Stream to catch races in future (Tim Perry) #49400
  • [03063bd022] - net: fix crash due to simultaneous close/shutdown on JS Stream Sockets (Tim Perry) #49400
  • [67fe7d8822] - net: fix setting of value in 'setDefaultAutoSelectFamilyAttemptTimeout' (Deokjin Kim) #47012
  • [f449b222fd] - node-api: update headers for better wasm support (Toyo Li) #49037
  • [5148f030b8] - node-api: run finalizers directly from GC (Vladimir Morozov) #42651
  • [edef4fa668] - node-api: enable uncaught exceptions policy by default (Chengzhong Wu) #49313
  • [48a1b9336b] - node-api: fix compiler warning in node_api.h (Michael Graeb) #49103
  • [57966318fe] - node-api: avoid macro redefinition (Tobias Nießen) #48879
  • [d4f26f4651] - policy: fix path to URL conversion (Antoine du Hamel) #49133
  • [a625f22acb] - readline: add paste bracket mode (Jakub Jankiewicz) #47150
  • [bbafd42d75] - repl: display dynamic import variant in static import error messages (Hemanth HM) #48129
  • [b8634eeb16] - sea: allow requiring core modules with the "node:" prefix (Darshan Sen) #47779
  • [066d9d4492] - src: remove unused function GetName() in node_perf (Jungku Lee) #49244
  • [158c91a38a] - src: use ARES_SUCCESS instead of 0 (Jungku Lee) #49048
  • [8c33731ac6] - src: add a condition if the argument of DomainToUnicode is empty (Jungku Lee) #49097
  • [67dba57d77] - src: use ARES_SUCCESS instead of 0 (Hyunjin Kim) #48834
  • [97d87495c7] - src: remove unnecessary temporary creation (Jason) #48734
  • [f5384c3262] - src: fix nullptr access on realm (Jan Olaf Krems) #48802
  • [358273d77f] - src: remove OnScopeLeaveImpl's move assignment overload (Jason) #48732
  • [cc7bf1f641] - (SEMVER-MINOR) src: add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
  • [0a950c3752] - src: add missing to_ascii method in dns queries (Daniel Lemire) #48354
  • [3552afb904] - src: fix duplication of externalized builtin code (Keyhan Vakil) #47079
  • [66e4ba5062] - src: fix AliasedBuffer memory attribution in heap snapshots (Joyee Cheung) #46817
  • [946f19b5e3] - src: move AliasedBuffer implementation to -inl.h (Joyee Cheung) #46817
  • [d35f8702c9] - src: bootstrap prepare stack trace callback in shadow realm (Chengzhong Wu) #47107
  • [3551a19205] - src: make BuiltinLoader threadsafe and non-global (Anna Henningsen) #45942
  • [92311a0801] - src: define per-isolate internal bindings registration callback (Chengzhong Wu) #45547
  • [629fc774ca] - src: use an array for faster binding data lookup (Joyee Cheung) #46620
  • [62e2e590fc] - src: fix TLSWrap lifetime bug in ALPN callback (Ben Noordhuis) #49635
  • [fae60c5841] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745
  • [ee4fc7d78c] - stream: use Buffer.from when constructor is a Buffer (Matthew Aitken) #49250
  • [651e4504ce] - stream: add highWaterMark for the map operator (Raz Luvaton) #49249
  • [d585d13127] - stream: improve WebStreams performance (Raz Luvaton) #49089
  • [7f39f8e805] - test: replace forEach with for..of in test-http-perf_hooks.js (Niya Shiyas) #49818
  • [2f0ffde842] - test: replace forEach with for..of in test-net-isipv4.js (Niya Shiyas) #49822
  • [bbd302b5ab] - test: replace forEach with for..of in test-http2-server (Niya Shiyas) #49819
  • [128ca3e213] - test: replace forEach with for..of in test-http2-client-destroy.js (Niya Shiyas) #49820
  • [a2ca1a605f] - test: print instruction for creating missing snapshot in assertSnapshot (Raz Luvaton) #48914
  • [a0bb30cdca] - test: set test-watch-mode-inspect as flaky (Yagiz Nizipli) #50259
  • [1047d95698] - test: set test-emit-after-on-destroyed as flaky (Yagiz Nizipli) #50246
  • [91a3b57962] - test: set inspector async stack test as flaky (Yagiz Nizipli) #50244
  • [b41aa7b82a] - test: set test-worker-nearheaplimit-deadlock flaky (StefanStojanovic) #50277
  • [e81b066fb1] - test: set test-cli-node-options as flaky (Yagiz Nizipli) #50296
  • [0c05c25c4e] - test: set crypto-timing test as flaky (Yagiz Nizipli) #50232
  • [83e339dbba] - test: set test-structuredclone-* as flaky (Yagiz Nizipli) #50261
  • [866a399488] - test: set inspector async hook test as flaky (Yagiz Nizipli) #50252
  • [cb0bd2116b] - test: set parallel http server test as flaky (Yagiz Nizipli) #50227
  • [54f3d877ae] - test: set test-worker-nearheaplimit-deadlock flaky (Stefan Stojanovic) #50238
  • [5953a255b6] - test: set test-runner-watch-mode as flaky (Yagiz Nizipli) #50221
  • [5820d7e14d] - test: deflake test-runner-output (Moshe Atlow) #49878
  • [1d75da43f2] - Revert "test: mark test-http-regr-Segfault in node::Environment::KickNextTick #2928 as flaky" (Luigi Pinca) #49708
  • [5df23520e7] - test: mark test-runner-watch-mode as flaky (Joyee Cheung) #49627
  • [7e714e6497] - test: remove --no-warnings flag in test_runner fixtures (Raz Luvaton) #48989
  • [0fea550641] - test: reorder test files fixtures for better understanding (Raz Luvaton) #48787
  • [c5857bde42] - test: avoid copying test source files (Chengzhong Wu) #49515
  • [67cb6f9a34] - test: reduce length in crypto keygen tests (Joyee Cheung) #49221
  • [958e114655] - test: split JWK async elliptic curve keygen tests (Joyee Cheung) #49221
  • [344592dc00] - test: split test-crypto-keygen.js (Joyee Cheung) #49221
  • [5f1a1aeeed] - test: rename test-crypto-modp1-error (Tobias Nießen) #49348
  • [107015b45d] - test: migrate message source map tests from Python to JS (Yiyun Lei) #49238
  • [ddebd29515] - test: fix compiler warning in NodeCryptoEnv (Tobias Nießen) #49206
  • [0261c5de56] - test: make test-perf-hooks more robust and work with workers (Joyee Cheung) #49197
  • [e18de802c8] - test: use gcUntil() in test-v8-serialize-leak (Joyee Cheung) #49168
  • [52d5dd8dba] - test: add expectSyncExitWithoutError() and expectSyncExit() utils (Joyee Cheung) #49020
  • [67925bb914] - test: add Symbol.dispose support to mock timers (Benjamin Gruenbaum) #48549
  • [00c08539b6] - test: fix edge snapshot stack traces (Geoffrey Booth) #49659
  • [48f6d9a975] - test: refactor test-node-output-errors (Antoine du Hamel) #48992
  • [c1a8ae38c0] - test: deflake test-loaders-workers-spawned (Antoine du Hamel) #50251
  • [d5cc5d7956] - test: deflake test-esm-loader-resolve-type (Antoine du Hamel) #50273
  • [866d646b0e] - test: increase coverage of Module.register and initialize hook (Antoine du Hamel) #49532
  • [65201ab36b] - test: isolate globalPreload tests (Geoffrey Booth) #49545
  • [65058d9a35] - test: add tmpdir.fileURL() (Livia Medeiros) #49040
  • [e1c6f46926] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49248
  • [e8d475ffc4] - test: refactor test-esm-loader-hooks for easier debugging (Antoine du Hamel) #49131
  • [26f01669fc] - test: reduce flakiness of test-esm-loader-hooks (Antoine du Hamel) #49105
  • [d5a1153970] - test: use fixtures.fileURL when appropriate (Antoine du Hamel) #48990
  • [3424793013] - test: fix snapshot tests when cwd contains spaces or backslashes (Antoine du Hamel) #48959
  • [a9347a4635] - test: order common.mjs in ASCII order (Antoine du Hamel) #48960
  • [adb9280d8e] - test: fix some assumptions in tests (Antoine du Hamel) #48958
  • [f02637e805] - test: fix es-module/test-esm-initialization (Antoine du Hamel) #48880
  • [8c918e5e59] - test: relax version check with shared OpenSSL (Luigi Pinca) #50505
  • [c6caf13ad5] - test: fix crypto-dh error message for OpenSSL 3.x (Kerem Kat) #50395
  • [65b41ebd1f] - test: split test-crypto-dh to avoid timeout on slow machines in the CI (Joyee Cheung) #49492
  • [7606921e1d] - test: fix testsuite against zlib version 1.3 (Dominique Leuenberger) #50364
  • [4f78233254] - test: verify tracePromise does not do runStores (Stephen Belanger) #47349
  • [cb6ef74cf2] - test: fix IPv6 checks on IBM i (Abdirahim Musse) #46546
  • [bcf97ab1b2] - test: fix flaky test-runner-exit-code.js (Colin Ihrig) #46138
  • [f0e8ff90eb] - test: use an array for WPT gloablThis initialization scripts (Joyee Cheung) #46425
  • [0e0dd1fe90] - test: adapt tests for OpenSSL 3.1 (OttoHollmann) #47859
  • [e3ea906988] - test: disambiguate AIX and IBM i (Richard Lau) #48056
  • [088460d80c] - test: add os setPriority, getPriority test coverage (Wael) #38771
  • [b011a498c5] - test,benchmark: use tmpdir.fileURL() (Livia Medeiros) #49138
  • [54168b7364] - test_runner: add test location for FileTests (Colin Ihrig) #49999
  • [1d9c37161d] - test_runner: replace spurious if with else (Colin Ihrig) #49943
  • [b283ae4238] - (SEMVER-MINOR) test_runner: accept testOnly in run (Moshe Atlow) #49753
  • [103c4a088a] - test_runner: catch reporter errors (Moshe Atlow) #49646
  • [e459598cf2] - test_runner: fix test runner watch mode when no positional arguments (Moshe Atlow) #49578
  • [059b1945d8] - (SEMVER-MINOR) test_runner: add junit reporter (Moshe Atlow) #49614
  • [76a35632d3] - test_runner: add jsdocs to mock.js (Caio Borghi) #49555
  • [ba57c24fde] - test_runner: fix invalid timer call (Erick Wendel) #49477
  • [5949ae016f] - test_runner: add jsdocs to MockTimers (Erick Wendel) #49476
  • [429846f258] - test_runner: fix typescript coverage (Moshe Atlow) #49406
  • [760c98280e] - test_runner: preserve original property descriptor (Erick Wendel) #49433
  • [95cc98e14b] - test_runner: expose spec reporter as newable function (Chemi Atlow) #49184
  • [d83964031b] - test_runner: reland run global after() hook earlier (Colin Ihrig) #49116
  • [d61a505546] - (SEMVER-MINOR) test_runner: expose location of tests (Colin Ihrig) #48975
  • [00c70e12f7] - test_runner: dont set exit code on todo tests (Moshe Atlow) #48929
  • [71f7ed728d] - test_runner: fix global after not failing the tests (Raz Luvaton) #48913
  • [11fbd924ed] - test_runner: add support for setImmediate (Erick Wendel) #49397
  • [fb64d415be] - test_runner: fix timeout in *Each hook failing further tests (Raz Luvaton) #48925
  • [67d7faddb2] - test_runner: cleanup test timeout abort listener (Raz Luvaton) #48915
  • [d217435cd3] - test_runner: fix todo and only in spec reporter (Moshe Atlow) #48929
  • [9f122be15a] - test_runner: unwrap error message in TAP reporter (Colin Ihrig) #48942
  • [3a74316624] - test_runner: add __proto__ null (Raz Luvaton) #48663
  • [66ea9bdb4d] - test_runner: fix global before not called when no global test exists (Raz Luvaton) #48877
  • [0bd9704018] - test_runner: use os.availableParallelism() (Colin Ihrig) #45969
  • [b55eb2a8d1] - (SEMVER-MINOR) test_runner: add shards support (Raz Luvaton) #48639
  • [c2575c8db0] - test_runner: fix test_runner test:fail event type (Ethan Arrowood) #48854
  • [6b186d41cd] - test_runner: fix async callback in describe not awaited (Raz Luvaton) #48856
  • [2d4511baab] - test_runner: call abort on test finish (Raz Luvaton) #48827
  • [05e7f28b40] - (SEMVER-MINOR) test_runner: add initial draft for fakeTimers (Erick Wendel) #47775
  • [428301ad27] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996
  • [4b2e258c76] - test_runner,test: fix flaky test-runner-cli-concurrency.js (Colin Ihrig) #50108
  • [b5d16cd8f0] - (SEMVER-MINOR) tls: add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
  • [a1c94037ab] - tools: fix --v8-non-optimized-debug for v18.x (Joyee Cheung) #50612
  • [3b65c61f5c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #50083
  • [07941a3609] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49983
  • [ad6e7a6270] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49679
  • [3511b13c94] - tools: update lint-md-dependencies to [email protected] [email protected] (Node.js GitHub Bot) #49584
  • [b6522a2b6b] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49342
  • [01b2588acf] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49253
  • [0cb42ccb5c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #49122
  • [caa7ecca30] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #49035
  • [42846a02b3] - tools: limit the number of auto start CIs (Antoine du Hamel) #49067
  • [9cc3b2061f] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48965
  • [1cbb186039] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #48888
  • [f7d6e9ba43] - tools: update lint-md-dependencies to @rollup/[email protected] (Node.js GitHub Bot) #48791
  • [a98addb626] - tools: skip ruff on tools/node_modules (Moshe Atlow) #49838
  • [6cf8dd95d1] - tools: update eslint to 8.51.0 (Node.js GitHub Bot) #50084
  • [b8d2a29ff5] - tools: update eslint to 8.50.0 (Node.js GitHub Bot) #49989
  • [1c1cbf06f0] - tools: update eslint to 8.49.0 (Node.js GitHub Bot) #49586
  • [92d21864c5] - tools: update eslint to 8.48.0 (Node.js GitHub Bot) #49343
  • [0940de36ee] - tools: update eslint to 8.47.0 (Node.js GitHub Bot) #49124
  • [4880a05fa2] - tools: update eslint to 8.46.0 (Node.js GitHub Bot) #48966
  • [e9632454cd] - tools: update eslint to 8.45.0 (Node.js GitHub Bot) #48793
  • [ae49f319c4] - tools: drop support for osx notarization with gon (Ulises Gascón) #50291
  • [014b65e9b7] - tools: use osx notarytool for future releases (Ulises Gascon) #48701
  • [71c386a25c] - typings: update JSDoc for cwd in child_process (LiviaMedeiros) #49029
  • [4d70a2c344] - typings: sync JSDoc with the actual implementation (Hyunjin Kim) #48853
  • [945609487c] - typings: fix missing property in ExportedHooks (Antoine du Hamel) #49567
  • [2ef80f12b9] - typings: fix JSDoc in ESM loader modules (Antoine du Hamel) #48424
  • [7fc15b6d42] - url: fix isURL detection by checking path (Zhuo Zhang) #48928
  • [916a63b124] - url: improve isURL detection (Yagiz Nizipli) #47886
  • [ac27431372] - url: validate pathToFileURL(path) argument as string (LiviaMedeiros) #49161
  • [f256b160bf] - url: handle unicode hostname if empty (Yagiz Nizipli) #49396
  • [2441415c68] - url: reduce pathToFileURL cpp calls (Yagiz Nizipli) #48709
  • [227e749888] - url: validate URL constructor arg length (Matthew Aitken) #47513
  • [bf4ee17d18] - url: validate argument length in canParse (Matthew Aitken) #47513
  • [a67fa2a107] - util: add getCwdSafe internal util fn (João Lenon) #48434
  • [e96f7ef881] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #50141
  • [525de686a7] - (SEMVER-MINOR) wasi: updates required for latest uvwasi version (Michael Dawson) #49908
  • [f27d505805] - watch: decrease debounce rate (Moshe Atlow) #48926
  • [83a6d20d70] - watch: use debounce instead of throttle (Moshe Atlow) #48926
  • [879b958184] - worker: protect against user mutating well-known prototypes (Antoine du Hamel) #49270

aduh95 and others added 30 commits November 23, 2023 10:42
PR-URL: #48247
Backport-PR-URL: #50669
Refs: #48240
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
PR-URL: #48249
Backport-PR-URL: #50669
Fixes: #48240
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
This avoids initializing arrays that we never use, and simplifies the
implementation overall.

PR-URL: #48296
Backport-PR-URL: #50669
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #48424
Backport-PR-URL: #50669
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
PR-URL: #46826
Backport-PR-URL: #50669
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #48779
Backport-PR-URL: #50669
Fixes: #48778
Fixes: #48516
Refs: #46402
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Major functional changes:

- Allow `import()` to work within loaders that require other loaders,
- Unflag the use of `Module.register`.

A new interface `Customizations` has been created in order to unify
`ModuleLoader` (previously `DefaultModuleLoader`), `Hooks` and
`CustomizedModuleLoader` all of which now implement it:

```ts
interface LoadResult {
  format: ModuleFormat;
  source: ModuleSource;
}

interface ResolveResult {
  format: string;
  url: URL['href'];
}

interface Customizations {
  allowImportMetaResolve: boolean;
  load(url: string, context: object): Promise<LoadResult>
  resolve(
    originalSpecifier:
    string, parentURL: string,
    importAssertions: Record<string, string>
  ): Promise<ResolveResult>
  resolveSync(
    originalSpecifier:
    string, parentURL: string,
    importAssertions: Record<string, string>
  ) ResolveResult;
  register(specifier: string, parentUrl: string): any;
  forceLoadHooks(): void;
  importMetaInitialize(meta, context, loader): void;
}
```

The `ModuleLoader` class now has `setCustomizations` which takes an
object of this shape and delegates its responsibilities to this object
if present.

Note that two properties `allowImportMetaResolve` and `resolveSync`
exist now as a mechanism for `import.meta.resolve` – since `Hooks`
does not implement `resolveSync` other loaders cannot use
`import.meta.resolve`; `allowImportMetaResolve` is a way of checking
for that case instead of invoking `resolveSync` and erroring.

Fixes #48515
Closes #48439

PR-URL: #48559
Backport-PR-URL: #50669
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
PR-URL: #46662
Backport-PR-URL: #50669
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
PR-URL: #48880
Backport-PR-URL: #50669
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #48828
Backport-PR-URL: #50669
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Some tests are assuming they will be run from a directory that do not
contain any quote or special character in its path. That assumption is
not necessary, using `JSON.stringify` or `pathToFileURL` ensures the
test can be run whatever the path looks like.

PR-URL: #48958
Backport-PR-URL: #50669
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: #48960
Backport-PR-URL: #50669
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Both are valid characters for file names on non-Windows systems.

PR-URL: #48959
Backport-PR-URL: #50669
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #48999
Backport-PR-URL: #50669
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
Follows @giltayar's proposed API:

> `register` can pass any data it wants to the loader, which will be
passed to the exported `initialize` function of the loader.
Additionally, if the user of `register` wants to communicate with the
loader, it can just create a `MessageChannel` and pass the port to the
loader as data.

The `register` API is now:

```ts
interface Options {
  parentUrl?: string;
  data?: any;
  transferList?: any[];
}

function register(loader: string, parentUrl?: string): any;
function register(loader: string, options?: Options): any;
```

This API is backwards compatible with the old one (new arguments are
optional and at the end) and allows for passing data into the new
`initialize` hook. If this hook returns data it is passed back to
`register`:

```ts
function initialize(data: any): Promise<any>;
```

**NOTE**: Currently there is no mechanism for a loader to exchange
ownership of something back to the caller.

Refs: nodejs/loaders#147
PR-URL: #48842
Backport-PR-URL: #50669
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
PR-URL: #48990
Backport-PR-URL: #50669
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #49060
Backport-PR-URL: #50669
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
PR-URL: #49105
Backport-PR-URL: #50669
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #49038
Backport-PR-URL: #50669
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Jan Krems <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
PR-URL: #49028
Backport-PR-URL: #50669
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
PR-URL: #49069
Backport-PR-URL: #50669
Fixes: #49026
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
PR-URL: #49158
Backport-PR-URL: #50669
Reviewed-By: Debadree Chatterjee <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
- Always check stderr before stdout as the former would contain error
  information.
- Always match the full stdout to avoid surprises.
- Use `deepStrictEqual` when appropriate to get more informative test
  failures.
- Remove leading slashes from relative paths/URLs to not confuse them
  with absolute paths.
- Remove unnecessary `--no-warnings` flag.

PR-URL: #49131
Backport-PR-URL: #50669
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
PR-URL: #49242
Backport-PR-URL: #50669
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
PR-URL: #49248
Backport-PR-URL: #50669
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
PR-URL: #49251
Backport-PR-URL: #50669
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #49465
Backport-PR-URL: #50669
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #49261
Backport-PR-URL: #50669
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #49265
Backport-PR-URL: #50669
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #49247
Backport-PR-URL: #50669
Refs: #49028
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Guy Bedford <[email protected]>
@targos targos added release Issues and PRs related to Node.js releases. v18.x Issues that can be reproduced on v18.x or PRs targeting the v18.x-staging branch. labels Nov 28, 2023
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/actions
  • @nodejs/security-wg
  • @nodejs/tsc
  • @nodejs/v8-update

@nodejs-github-bot nodejs-github-bot added meta Issues and PRs related to the general management of the project. tools Issues and PRs related to the tools directory. labels Nov 28, 2023
@targos targos added request-ci Add this label to start a Jenkins CI on a PR. and removed meta Issues and PRs related to the general management of the project. tools Issues and PRs related to the tools directory. labels Nov 28, 2023
@targos
Copy link
Member Author

targos commented Nov 28, 2023

@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Nov 28, 2023
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Nov 28, 2023

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented Nov 28, 2023

@targos
Copy link
Member Author

targos commented Nov 29, 2023

@nodejs/lts PTAL

Copy link
Member

@anonrig anonrig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@targos
Copy link
Member Author

targos commented Nov 29, 2023

@targos targos merged commit 9e0c715 into v18.x Nov 29, 2023
64 checks passed
@targos targos deleted the v18.19.0-proposal branch November 29, 2023 16:56
targos added a commit that referenced this pull request Nov 29, 2023
targos added a commit that referenced this pull request Nov 29, 2023
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) #50531
doc:
  * move and rename loaders section (Geoffrey Booth) #49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) #50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  * unflag import.meta.resolve (Guy Bedford) #49028
  * move hook execution to separate thread (Jacob Smith) #44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) #43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) #46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) #44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) #48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) #48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) #47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) #49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) #50141

PR-URL: #50953
targos added a commit to targos/nodejs.org that referenced this pull request Nov 29, 2023
@GeoffreyBooth
Copy link
Member

@bengl

A test specific to v18.x fails for import-in-the-middle: ci.nodejs.org/job/citgm-smoker/3348/nodes=debian10-x64/testReport/junit/(root)/citgm/import_in_the_middle_v1_4_2

I’d guess that IITM was doing something like “if Node 18, use these hooks, if Node 20+, use these hooks” and because we backported a lot of hooks changes it needs to be updated to something like “if Node < 18.19.0, use these hooks”.

github-merge-queue bot pushed a commit to nodejs/nodejs.org that referenced this pull request Nov 29, 2023
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) nodejs/node#49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) nodejs/node#50531
doc:
  * move and rename loaders section (Geoffrey Booth) nodejs/node#49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs/node#49869
  * unflag import.meta.resolve (Guy Bedford) nodejs/node#49028
  * move hook execution to separate thread (Jacob Smith) nodejs/node#44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) nodejs/node#43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) nodejs/node#46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) nodejs/node#44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) nodejs/node#45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) nodejs/node#49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) nodejs/node#49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) nodejs/node#49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) nodejs/node#48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) nodejs/node#48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) nodejs/node#47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) nodejs/node#49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) nodejs/node#45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50141

PR-URL: nodejs/node#50953
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) nodejs/node#49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) nodejs/node#50531
doc:
  * move and rename loaders section (Geoffrey Booth) nodejs/node#49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs/node#49869
  * unflag import.meta.resolve (Guy Bedford) nodejs/node#49028
  * move hook execution to separate thread (Jacob Smith) nodejs/node#44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) nodejs/node#43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) nodejs/node#46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) nodejs/node#44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) nodejs/node#45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) nodejs/node#49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) nodejs/node#49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) nodejs/node#49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) nodejs/node#48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) nodejs/node#48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) nodejs/node#47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) nodejs/node#49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) nodejs/node#45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50141

PR-URL: nodejs/node#50953
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases. v18.x Issues that can be reproduced on v18.x or PRs targeting the v18.x-staging branch.
Projects
None yet
Development

Successfully merging this pull request may close these issues.