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

v22.3.0 proposal #53379

Merged
merged 135 commits into from
Jun 11, 2024
Merged

v22.3.0 proposal #53379

merged 135 commits into from
Jun 11, 2024

Conversation

RafaelGSS
Copy link
Member

@RafaelGSS RafaelGSS commented Jun 7, 2024

2024-06-11, Version 22.3.0 (Current), @RafaelGSS

Notable Changes

  • [5a41bcf9ca] - (SEMVER-MINOR) src: traverse parent folders while running --run (Yagiz Nizipli) #53154
  • [1d5934524b] - (SEMVER-MINOR) buffer: add .bytes() method to Blob (Matthew Aitken) #53221
  • [75e5612fae] - (SEMVER-MINOR) src,permission: --allow-wasi & prevent WASI exec (Rafael Gonzaga) #53124
  • [b5c30e2f5e] - (SEMVER-MINOR) module: print amount of load time of a cjs module (Vinicius Lourenço) #52213
  • [8c6dffc269] - (SEMVER-MINOR) test_runner: add snapshot testing (Colin Ihrig) #53169
  • [048478d351] - (SEMVER-MINOR) doc: add context.assert docs (Colin Ihrig) #53169
  • [f6d2af8ee7] - (SEMVER-MINOR) test_runner: add context.fullName (Colin Ihrig) #53169
  • [a0766bdf0e] - (SEMVER-MINOR) net: add new net.server.listen tracing channel (Paolo Insogna) #53136
  • [374743cd4e] - (SEMVER-MINOR) process: add process.getBuiltinModule(id) (Joyee Cheung) #52762
  • [1eb55f3550] - (SEMVER-MINOR) doc: improve explanation about built-in modules (Joyee Cheung) #52762
  • [6165894774] - fs: mark recursive cp methods as stable (Théo LUDWIG) #53127
  • [db5dd0c6df] - doc: add StefanStojanovic to collaborators (StefanStojanovic) #53118
  • [cfcde78513] - (SEMVER-MINOR) cli: add NODE_RUN_PACKAGE_JSON_PATH env (Yagiz Nizipli) #53058
  • [7a67ecf161] - (SEMVER-MINOR) test_runner: support module mocking (Colin Ihrig) #52848
  • [ee56aecced] - (SEMVER-MINOR) lib: add EventSource Client (Aras Abbasi) #51575
  • [6413769bc7] - (SEMVER-MINOR) lib: replace MessageEvent with undici's (Matthew Aitken) #52370
  • [c70b2f7a76] - (SEMVER-MINOR) cli: add NODE_RUN_SCRIPT_NAME env to node --run (Yagiz Nizipli) #53032
  • [badec0c38b] - doc: add Marco Ippolito to TSC (Rafael Gonzaga) #53008

Commits

  • [feb0ba2860] - benchmark: fix napi/ref addon (Michaël Zasso) #53233
  • [bb844de4e1] - benchmark: fix api restriction for the permission category (Ryan Tsien) #51528
  • [1d5934524b] - (SEMVER-MINOR) buffer: add .bytes() method to Blob (Matthew Aitken) #53221
  • [d87f9af5aa] - buffer: make compare/equals faster (Tobias Nießen) #52993
  • [ec83431d71] - build: generate binlog in out directories (Chengzhong Wu) #53325
  • [0976439417] - build: fix --v8-lite-mode build (Daeyeon Jeong) #52725
  • [350c733ae6] - build: support python 3.13 (Chengzhong Wu) #53190
  • [74cefa55a2] - build: update ruff to v0.4.5 (Yagiz Nizipli) #53180
  • [33242ff042] - build: add --skip-tests to test-ci-js target (Antoine du Hamel) #53105
  • [edcadf7f8a] - build: fix building embedtest in GN build (Cheng) #53145
  • [d711942fce] - build: use broader detection for 'help' (Aviv Keller) #53045
  • [ca655b61a7] - build: fix -j propagation to ninja (Tobias Nießen) #53088
  • [5fba67ff9f] - build: exit on unsupported host OS for Android (Mohammed Keyvanzadeh) #52882
  • [b7d7e9a084] - build: fix --enable-d8 builds (Richard Lau) #53106
  • [14547c5d32] - build: fix ./configure --help format error (Zhenwei Jin) #53066
  • [f9490806d3] - build: set "clang" in config.gypi in GN build (Cheng) #53004
  • [638b510ce7] - cli: add --expose-gc flag available to NODE_OPTIONS (Juan José) #53078
  • [cfcde78513] - (SEMVER-MINOR) cli: add NODE_RUN_PACKAGE_JSON_PATH env (Yagiz Nizipli) #53058
  • [c70b2f7a76] - (SEMVER-MINOR) cli: add NODE_RUN_SCRIPT_NAME env to node --run (Yagiz Nizipli) #53032
  • [34f20983fd] - crypto: fix propagation of "memory limit exceeded" (Tobias Nießen) #53300
  • [fef067f4f4] - deps: update nghttp2 to 1.62.1 (Node.js GitHub Bot) #52966
  • [fc949928ac] - deps: update nghttp2 to 1.62.0 (Node.js GitHub Bot) #52966
  • [4a17dda8dc] - deps: update undici to 6.18.2 (Node.js GitHub Bot) #53255
  • [e45cc2a551] - deps: update ada to 2.8.0 (Node.js GitHub Bot) #53254
  • [77907a2619] - deps: update corepack to 0.28.2 (Node.js GitHub Bot) #53253
  • [b688050778] - deps: update simdjson to 3.9.3 (Node.js GitHub Bot) #53252
  • [6303f19cbe] - deps: patch V8 to 12.4.254.20 (Node.js GitHub Bot) #53159
  • [257004c68f] - deps: update c-ares to 1.29.0 (Node.js GitHub Bot) #53155
  • [0b375a3e36] - deps: upgrade npm to 10.8.1 (npm team) #53207
  • [728c861b1c] - deps: fix FP16 bitcasts.h (Stefan Stojanovic) #53134
  • [52a78737b1] - deps: patch V8 to 12.4.254.19 (Node.js GitHub Bot) #53094
  • [4d27b32e58] - deps: update undici to 6.18.1 (Node.js GitHub Bot) #53073
  • [b94199240b] - deps: update undici to 6.18.0 (Node.js GitHub Bot) #53073
  • [793af1b3e7] - deps: update undici to 6.17.0 (Node.js GitHub Bot) #53034
  • [fe00becc03] - deps: update undici to 6.16.1 (Node.js GitHub Bot) #52948
  • [96f72ae54f] - deps: update undici to 6.15.0 (Matthew Aitken) #52763
  • [af60fbb12b] - deps: update googletest to 33af80a (Node.js GitHub Bot) #53053
  • [7b929df489] - deps: patch V8 to 12.4.254.18 (Node.js GitHub Bot) #53054
  • [626037c0fc] - deps: update zlib to 1.3.0.1-motley-4f653ff (Node.js GitHub Bot) #53052
  • [6d8589e558] - deps: patch V8 to 12.4.254.17 (Node.js GitHub Bot) #52980
  • [fd91eaab34] - deps: upgrade npm to 10.8.0 (npm team) #53014
  • [133cae0732] - doc: fix broken link in static-analysis.md (Richard Lau) #53345
  • [7bc5f964fd] - doc: indicate requirement on VS 17.6 or newer (Chengzhong Wu) #53301
  • [8c71522ced] - doc: remove cases for keys not containing "*" in PATTERN_KEY_COMPARE (Maarten Zuidhoorn) #53215
  • [718a3ab1ab] - doc: add err param to fs.cp callback (Feng Yu) #53234
  • [d89bde26ff] - doc: add err param to fs.copyFile callback (Feng Yu) #53234
  • [91971ee344] - doc: reserve 128 for Electron 32 (Keeley Hammond) #53203
  • [812f0e9e14] - doc: add note to ninjia build for macOS using -jn flag (jakecastelli) #53187
  • [048478d351] - (SEMVER-MINOR) doc: add context.assert docs (Colin Ihrig) #53169
  • [c391923445] - doc: include ESM import for HTTP (Aviv Keller) #53165
  • [1eb55f3550] - (SEMVER-MINOR) doc: improve explanation about built-in modules (Joyee Cheung) #52762
  • [67a766f7d4] - doc: fix minor grammar and style issues in SECURITY.md (Rich Trott) #53168
  • [afbfe8922a] - doc: mention pm is not enforced when using fd (Rafael Gonzaga) #53125
  • [1702d2632e] - doc: fix format in esm.md (Pop Moore) #53170
  • [070577e7d7] - doc: fix wrong variable name in example of timers.tick() (Deokjin Kim) #53147
  • [7147c1df1f] - doc: fix wrong function name in example of context.plan() (Deokjin Kim) #53140
  • [cf47384148] - doc: add note for windows users and symlinks (Aviv Keller) #53117
  • [088dff1074] - doc: move all TLS-PSK documentation to its section (Alba Mendez) #35717
  • [db5dd0c6df] - doc: add StefanStojanovic to collaborators (StefanStojanovic) #53118
  • [0f0bc98ad7] - doc: improve ninja build for --built-in-modules-path (jakecastelli) #53007
  • [4c65c52d30] - doc: avoid hiding by navigation bar in anchor jumping (Cloyd Lau) #45131
  • [63fcbcfd62] - doc: remove unavailable youtube link in pull requests (Deokjin Kim) #52982
  • [77fd504636] - doc: add missing supported timer values in timers.enable() (Deokjin Kim) #52969
  • [6708536b03] - fs: fix cp dir/non-dir mismatch error messages (Mathis Wiehl) #53150
  • [6165894774] - fs: mark recursive cp methods as stable (Théo LUDWIG) #53127
  • [7940db7be1] - fs: remove basename in favor of std::filesystem (Yagiz Nizipli) #53062
  • [505e9a425b] - lib: fix misleading argument of validateUint32 (Tobias Nießen) #53307
  • [98ae1ebdd6] - lib: fix the name of the fetch global function (Gabriel Bota) #53227
  • [fe007cd1b4] - lib: allow CJS source map cache to be reclaimed (Chengzhong Wu) #51711
  • [040be4a7b4] - lib: do not call callback if socket is closed (theanarkh) #52829
  • [ee56aecced] - (SEMVER-MINOR) lib: add EventSource Client (Aras Abbasi) #51575
  • [6413769bc7] - (SEMVER-MINOR) lib: replace MessageEvent with undici's (Matthew Aitken) #52370
  • [879679e5a3] - lib,doc: replace references to import assertions (Michaël Zasso) #52998
  • [062a0c6f67] - meta: bump ossf/scorecard-action from 2.3.1 to 2.3.3 (dependabot[bot]) #53248
  • [e59b744b30] - meta: bump actions/checkout from 4.1.4 to 4.1.6 (dependabot[bot]) #53247
  • [96924f48a0] - meta: bump github/codeql-action from 3.25.3 to 3.25.7 (dependabot[bot]) #53246
  • [b7f5662dee] - meta: bump codecov/codecov-action from 4.3.1 to 4.4.1 (dependabot[bot]) #53244
  • [e079967eb4] - meta: remove initializeCommand from devcontainer (Aviv Keller) #53137
  • [3afeced572] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #53065
  • [4b9cdea8a6] - Revert "module: have a single hooks thread for all workers" (Matteo Collina) #53183
  • [b5c30e2f5e] - (SEMVER-MINOR) module: print amount of load time of a cjs module (Vinicius Lourenço) #52213
  • [4cdb05a7a2] - module: do not set CJS variables for Worker eval (Antoine du Hamel) #53050
  • [a0766bdf0e] - (SEMVER-MINOR) net: add new net.server.listen tracing channel (Paolo Insogna) #53136
  • [374743cd4e] - (SEMVER-MINOR) process: add process.getBuiltinModule(id) (Joyee Cheung) #52762
  • [e66eb376a0] - repl: fix await object patterns without values (Luke Haas) #53331
  • [cb1329a8cf] - src: use v8::(Des|S)erializeInternalFieldsCallback (Joyee Cheung) #53217
  • [1886fe99af] - src: use __FUNCSIG__ on Windows in backtrace (Joyee Cheung) #53135
  • [3bfce6c816] - src: use new V8 API to define stream accessor (Igor Sheludko) #53084
  • [11f790d911] - src: do not use deprecated V8 API (ishell) #53084
  • [6b1731cbcc] - src: convert all endian checks to constexpr (Tobias Nießen) #52974
  • [7aa9519ad4] - src: fix external module env and kDisableNodeOptionsEnv (Rafael Gonzaga) #52905
  • [838fe59787] - src: fix execArgv in worker (theanarkh) #53029
  • [4a2c6ff05d] - src: reduce unnecessary GetCwd calls (Yagiz Nizipli) #53064
  • [ec44965b49] - src: simplify node modules traverse path (Yagiz Nizipli) #53061
  • [190129b48e] - src: remove unused base64_table_url (Yagiz Nizipli) #53040
  • [d750a3c5c4] - src: remove calls to recently deprecated V8 APIs (Adam Klein) #52996
  • [f1890abb18] - src: replace deprecated GetImportAssertions V8 API (Michaël Zasso) #52997
  • [4347bd2acb] - src: improve node::Dotenv declarations (Tobias Nießen) #52973
  • [e26166f30b] - src,permission: handle process.chdir on pm (Rafael Gonzaga) #53175
  • [75e5612fae] - (SEMVER-MINOR) src,permission: --allow-wasi & prevent WASI exec (Rafael Gonzaga) #53124
  • [7c66b27407] - stream: micro-optimize writable condition (Orgad Shaneh) #53189
  • [a656cf6bc8] - stream: fix memory usage regression in writable (Orgad Shaneh) #53188
  • [0e85a84fdc] - test: fix test when compiled without engine support (Richard Lau) #53232
  • [cebbd83e47] - test: update TLS trace tests for OpenSSL >= 3.2 (Richard Lau) #53229
  • [45c1eb19f1] - Revert "test: skip v8-updates/test-linux-perf-logger" (Luke Albao) #52869
  • [c1138db3c1] - test: unskip v8-updates/test-linux-perf-logger (Luke Albao) #52869
  • [65b64cf0f1] - test: fix Windows native test suites (Stefan Stojanovic) #53173
  • [9a47792cd1] - test: skip test-setproctitle when ps is not available (Antoine du Hamel) #53104
  • [a371dea699] - test: increase allocation so it fails for the test (Adam Majer) #53099
  • [3ce7a9a1b5] - test: remove timers from test-tls-socket-close (Luigi Pinca) #53019
  • [494fa542af] - test: replace .substr with .slice (Antoine du Hamel) #53070
  • [3f7d55b7db] - test: add AbortController to knownGlobals (Luigi Pinca) #53020
  • [c61f909ab6] - test,doc: enable running embedtest for Windows (Vladimir Morozov) #52646
  • [2d1ecbf827] - test_runner: calculate executed lines using source map (Moshe Atlow) #53315
  • [d4f5f80f6c] - test_runner: handle file rename and deletion under watch mode (jakecastelli) #53114
  • [07c601e32f] - test_runner: refactor to use min/max of validateInteger (Deokjin Kim) #53148
  • [8c6dffc269] - (SEMVER-MINOR) test_runner: add snapshot testing (Colin Ihrig) #53169
  • [f6d2af8ee7] - (SEMVER-MINOR) test_runner: add context.fullName (Colin Ihrig) #53169
  • [7a67ecf161] - (SEMVER-MINOR) test_runner: support module mocking (Colin Ihrig) #52848
  • [3ff174f2bf] - test_runner: fix t.assert methods (Colin Ihrig) #53049
  • [e2211a07c2] - test_runner: avoid error when coverage line not found (Moshe Atlow) #53000
  • [c249289121] - test_runner,doc: align documentation with actual stdout/stderr behavior (Moshe Atlow) #53131
  • [5110b19a07] - tls: fix negative sessionTimeout handling (Tobias Nießen) #53002
  • [0ecb770331] - tools: remove no-goma arg from make-v8 script (Michaël Zasso) #53336
  • [e7f3a3c296] - tools: use sccache Github action (Moshe Atlow) #53316
  • [98cc094bc5] - tools: update eslint to 9.4.0 (Node.js GitHub Bot) #53298
  • [6409b1fe65] - tools: update gyp-next to 0.18.1 (Node.js GitHub Bot) #53251
  • [86e80dcb9b] - tools: move webcrypto into no-restricted-properties (Zihong Qu) #53023
  • [6022346f0e] - tools: update error message for Type Error (Aviv Keller) #53047
  • [c1b3e0ed6f] - Revert "tools: add --certify-safe to nci-ci" (Antoine du Hamel) #53098
  • [9f764a873c] - tools: update ESLint to v9 and use flat config (Michaël Zasso) #52780
  • [2859f4c027] - watch: fix variable naming (jakecastelli) #53101

deokjinkim and others added 30 commits May 21, 2024 15:50
Some timer values such as `setImmediate` and `clearImmediate` are
missed. And `milliseconds` which is argument of `timers.tick()`
is optional and default is 1.

Refs: #49534 (comment)
PR-URL: #52969
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
PR-URL: #53008
Refs: nodejs/TSC#1550
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
PR-URL: #53014
Reviewed-By: Luke Karrys <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
This video(https://www.youtube.com/watch?v=HW0RPaJqm4g) isn't
available anymore. And I couldn't find a proper github code
review tutorial clip yet.

PR-URL: #52982
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Zijian Liu <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
There is no need to explicitly allow copy constructor and copy
assignment, and some of these functions should be marked as const.

PR-URL: #52973
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
This patch adds a V8 fast API implementation for the buffer.compare
binding, which is used both by Buffer.prototype.equals and
Buffer.prototype.compare. In particular, it significantly improves the
performance of comparing buffers for equality.

PR-URL: #52993
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Use "import attributes" and "type attribute" instead.

PR-URL: #52998
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
PR-URL: #53000
Fixes: #52775
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
The current ninja build does not work with `--node-builtin-modules-path`
flag without passing `--ninja` as it will use `make` to build from
scratch again.

PR-URL: #53007
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
For historical reasons, the second argument of SSL_CTX_set_timeout is a
signed integer, and Node.js has so far passed arbitrary (signed) int32_t
values. However, new versions of OpenSSL have changed the handling of
negative values inside SSL_CTX_set_timeout, and we should shield users
of Node.js from both the old and the new behavior. Hence, reject any
negative values by throwing an error from within createSecureContext.

Refs: openssl/openssl#19082
PR-URL: #53002
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tim Perry <[email protected]>
PR-URL: #53020
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Use `GetImportAttributes` instead.

PR-URL: #52997
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Refs: v8/v8@12.4.254.14...12.4.254.17
PR-URL: #52980
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
give appropriate permissions to the following scripts:

* permission-processhas-fs-read.js: 'ChildProcess' permission
* permission-startup.js: 'FileSystemRead' permission
  > Paths delimited by comma (,) are no longer allowed.

Refs: https://github.com/nodejs/node/blob/main/doc/api/cli.md#--allow-fs-read
Signed-off-by: Ryan Qian <[email protected]>
PR-URL: #51528
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #53032
Refs: #52673
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Closes: #52991
PR-URL: #52996
Fixes: #52991
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
PR-URL: #53040
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
PR-URL: #53004
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
The node:assert module contains several top level APIs that do
not make sense to expose as methods on t.assert. Examples include
AssertionError and CallTracker. This commit removes such APIs from
t.assert.

Refs: #52860
PR-URL: #53049
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Chemi Atlow <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #53052
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Refs: v8/v8@12.4.254.17...12.4.254.18
PR-URL: #53054
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
PR-URL: #53053
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
undici's MessageEvent is better tested and has a complete WebIDL
implementation for validation. Not only this, but it's also used in
Node's  current WebSocket implementation. There are a large number of
webidl-related issues in the current MessageEvent, such as not
implementing `MessageEvent.prototype.initMessageEvent`, not validating
arguments passed to its constructor
(#51771), not validating the values
passed to the constructor (such as not validating that `ports` is a
sequence, not converting origin to a USVString, etc.), and other issues.

fixup

PR-URL: #52370
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Robert Nagy <[email protected]>
PR-URL: #52763
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
PR-URL: #51575
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Matthew Aitken <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #52948
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
This commit adds experimental module mocking to the test runner.

PR-URL: #52848
Fixes: #51164
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
PR-URL: #53034
Reviewed-By: Matthew Aitken <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
PR-URL: #53058
Refs: #52673
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Daniel Lemire <[email protected]>
@VoltrexKeyva VoltrexKeyva removed the meta Issues and PRs related to the general management of the project. label Jun 7, 2024
@anonrig
Copy link
Member

anonrig commented Jun 7, 2024

Can you add #53154 if you don't mind?

PR-URL: #53154
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Daniel Lemire <[email protected]>
Reviewed-By: James M Snell <[email protected]>
RafaelGSS added a commit that referenced this pull request Jun 10, 2024
Notable changes:

buffer:
  * (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) #53221
cli:
  * (SEMVER-MINOR) add `NODE_RUN_PACKAGE_JSON_PATH` env (Yagiz Nizipli) #53058
  * (SEMVER-MINOR) add `NODE_RUN_SCRIPT_NAME` env to `node --run` (Yagiz Nizipli) #53032
doc:
  * (SEMVER-MINOR) add context.assert docs (Colin Ihrig) #53169
  * (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) #52762
  * add StefanStojanovic to collaborators (StefanStojanovic) #53118
  * add Marco Ippolito to TSC (Rafael Gonzaga) #53008
fs:
  * mark recursive cp methods as stable (Théo LUDWIG) #53127
lib:
  * (SEMVER-MINOR) add EventSource Client (Aras Abbasi) #51575
  * (SEMVER-MINOR) replace MessageEvent with undici's (Matthew Aitken) #52370
module:
  * (SEMVER-MINOR) print amount of load time of a cjs module (Vinicius Lourenço) #52213
net:
  * (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) #53136
process:
  * (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) #52762
src:
  * (SEMVER-MINOR) traverse parent folders while running `--run` (Yagiz Nizipli) #53154
src,permission:
  * (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) #53124
test_runner:
  * (SEMVER-MINOR) add snapshot testing (Colin Ihrig) #53169
  * (SEMVER-MINOR) add context.fullName (Colin Ihrig) #53169
  * (SEMVER-MINOR) support module mocking (Colin Ihrig) #52848

PR-URL: #53379
@RafaelGSS
Copy link
Member Author

Can you add #53154 if you don't mind?

Done.

FWIW For the ones that provided text in notable-changes. I will review it shortly (close to the release date) and update the README.

So, since there are a lot of semver-minor/notable-change updates, I decided not to elaborate too much on this to avoid bloating the CHANGELOG.

@RafaelGSS RafaelGSS added the request-ci Add this label to start a Jenkins CI on a PR. label Jun 10, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jun 10, 2024
@nodejs-github-bot
Copy link
Collaborator

Notable changes:

buffer:
  * (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) #53221
cli:
  * (SEMVER-MINOR) add `NODE_RUN_PACKAGE_JSON_PATH` env (Yagiz Nizipli) #53058
  * (SEMVER-MINOR) add `NODE_RUN_SCRIPT_NAME` env to `node --run` (Yagiz Nizipli) #53032
doc:
  * (SEMVER-MINOR) add context.assert docs (Colin Ihrig) #53169
  * (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) #52762
  * add StefanStojanovic to collaborators (StefanStojanovic) #53118
  * add Marco Ippolito to TSC (Rafael Gonzaga) #53008
fs:
  * mark recursive cp methods as stable (Théo LUDWIG) #53127
lib:
  * (SEMVER-MINOR) add EventSource Client (Aras Abbasi) #51575
  * (SEMVER-MINOR) replace MessageEvent with undici's (Matthew Aitken) #52370
module:
  * (SEMVER-MINOR) print amount of load time of a cjs module (Vinicius Lourenço) #52213
net:
  * (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) #53136
process:
  * (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) #52762
src:
  * (SEMVER-MINOR) traverse parent folders while running `--run` (Yagiz Nizipli) #53154
src,permission:
  * (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) #53124
test_runner:
  * (SEMVER-MINOR) add snapshot testing (Colin Ihrig) #53169
  * (SEMVER-MINOR) add context.fullName (Colin Ihrig) #53169
  * (SEMVER-MINOR) support module mocking (Colin Ihrig) #52848

PR-URL: #53379
@RafaelGSS RafaelGSS added the request-ci Add this label to start a Jenkins CI on a PR. label Jun 10, 2024
@RafaelGSS

This comment was marked as resolved.

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jun 10, 2024
@nodejs-github-bot

This comment was marked as outdated.

@RafaelGSS RafaelGSS merged commit 2e7a776 into v22.x Jun 11, 2024
52 checks passed
@RafaelGSS RafaelGSS deleted the v22.3.0-proposal branch June 11, 2024 18:49
RafaelGSS added a commit that referenced this pull request Jun 11, 2024
RafaelGSS added a commit that referenced this pull request Jun 11, 2024
Notable changes:

buffer:
  * (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) #53221
cli:
  * (SEMVER-MINOR) add `NODE_RUN_PACKAGE_JSON_PATH` env (Yagiz Nizipli) #53058
  * (SEMVER-MINOR) add `NODE_RUN_SCRIPT_NAME` env to `node --run` (Yagiz Nizipli) #53032
doc:
  * (SEMVER-MINOR) add context.assert docs (Colin Ihrig) #53169
  * (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) #52762
  * add StefanStojanovic to collaborators (StefanStojanovic) #53118
  * add Marco Ippolito to TSC (Rafael Gonzaga) #53008
fs:
  * mark recursive cp methods as stable (Théo LUDWIG) #53127
lib:
  * (SEMVER-MINOR) add EventSource Client (Aras Abbasi) #51575
  * (SEMVER-MINOR) replace MessageEvent with undici's (Matthew Aitken) #52370
module:
  * (SEMVER-MINOR) print amount of load time of a cjs module (Vinicius Lourenço) #52213
net:
  * (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) #53136
process:
  * (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) #52762
src:
  * (SEMVER-MINOR) traverse parent folders while running `--run` (Yagiz Nizipli) #53154
src,permission:
  * (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) #53124
test_runner:
  * (SEMVER-MINOR) add snapshot testing (Colin Ihrig) #53169
  * (SEMVER-MINOR) add context.fullName (Colin Ihrig) #53169
  * (SEMVER-MINOR) support module mocking (Colin Ihrig) #52848

PR-URL: #53379
RafaelGSS added a commit to nodejs/nodejs.org that referenced this pull request Jun 11, 2024
github-merge-queue bot pushed a commit to nodejs/nodejs.org that referenced this pull request Jun 11, 2024
sophonieb pushed a commit to sophonieb/node that referenced this pull request Jun 20, 2024
Notable changes:

buffer:
  * (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) nodejs#53221
cli:
  * (SEMVER-MINOR) add `NODE_RUN_PACKAGE_JSON_PATH` env (Yagiz Nizipli) nodejs#53058
  * (SEMVER-MINOR) add `NODE_RUN_SCRIPT_NAME` env to `node --run` (Yagiz Nizipli) nodejs#53032
doc:
  * (SEMVER-MINOR) add context.assert docs (Colin Ihrig) nodejs#53169
  * (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) nodejs#52762
  * add StefanStojanovic to collaborators (StefanStojanovic) nodejs#53118
  * add Marco Ippolito to TSC (Rafael Gonzaga) nodejs#53008
fs:
  * mark recursive cp methods as stable (Théo LUDWIG) nodejs#53127
lib:
  * (SEMVER-MINOR) add EventSource Client (Aras Abbasi) nodejs#51575
  * (SEMVER-MINOR) replace MessageEvent with undici's (Matthew Aitken) nodejs#52370
module:
  * (SEMVER-MINOR) print amount of load time of a cjs module (Vinicius Lourenço) nodejs#52213
net:
  * (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) nodejs#53136
process:
  * (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) nodejs#52762
src:
  * (SEMVER-MINOR) traverse parent folders while running `--run` (Yagiz Nizipli) nodejs#53154
src,permission:
  * (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) nodejs#53124
test_runner:
  * (SEMVER-MINOR) add snapshot testing (Colin Ihrig) nodejs#53169
  * (SEMVER-MINOR) add context.fullName (Colin Ihrig) nodejs#53169
  * (SEMVER-MINOR) support module mocking (Colin Ihrig) nodejs#52848

PR-URL: nodejs#53379
bmeck pushed a commit to bmeck/node that referenced this pull request Jun 22, 2024
Notable changes:

buffer:
  * (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) nodejs#53221
cli:
  * (SEMVER-MINOR) add `NODE_RUN_PACKAGE_JSON_PATH` env (Yagiz Nizipli) nodejs#53058
  * (SEMVER-MINOR) add `NODE_RUN_SCRIPT_NAME` env to `node --run` (Yagiz Nizipli) nodejs#53032
doc:
  * (SEMVER-MINOR) add context.assert docs (Colin Ihrig) nodejs#53169
  * (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) nodejs#52762
  * add StefanStojanovic to collaborators (StefanStojanovic) nodejs#53118
  * add Marco Ippolito to TSC (Rafael Gonzaga) nodejs#53008
fs:
  * mark recursive cp methods as stable (Théo LUDWIG) nodejs#53127
lib:
  * (SEMVER-MINOR) add EventSource Client (Aras Abbasi) nodejs#51575
  * (SEMVER-MINOR) replace MessageEvent with undici's (Matthew Aitken) nodejs#52370
module:
  * (SEMVER-MINOR) print amount of load time of a cjs module (Vinicius Lourenço) nodejs#52213
net:
  * (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) nodejs#53136
process:
  * (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) nodejs#52762
src:
  * (SEMVER-MINOR) traverse parent folders while running `--run` (Yagiz Nizipli) nodejs#53154
src,permission:
  * (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) nodejs#53124
test_runner:
  * (SEMVER-MINOR) add snapshot testing (Colin Ihrig) nodejs#53169
  * (SEMVER-MINOR) add context.fullName (Colin Ihrig) nodejs#53169
  * (SEMVER-MINOR) support module mocking (Colin Ihrig) nodejs#52848

PR-URL: nodejs#53379
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. v22.x v22.x Issues that can be reproduced on v22.x or PRs targeting the v22.x-staging branch.
Projects
None yet
Development

Successfully merging this pull request may close these issues.