Conversation
We do not actually need to deserialize the context and the whole environment to compile the code cache, since code cache are not context-dependent anyway, deserializing just the isolate snapshot is enough. PR-URL: #49288 Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
This makes it easier to locate indeterminism in the snapshot, with the following command: $ ./configure --write-snapshot-as-array-literals $ make V= $ mv out/Release/obj/gen/node_snapshot.cc ./node_snapshot.cc $ make V= $ diff out/Release/obj/gen/node_snapshot.cc ./node_snapshot.cc PR-URL: #49312 Refs: nodejs/build#3043 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Use a JS workload instead of repeating FS operations and use a timer to make it less flaky on machines with little resources. PR-URL: #49274 Refs: #26401 Refs: nodejs/reliability#640 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
PR-URL: #49464 Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #49465 Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Updated to rehype-raw@7.0.0 rehype-stringify@10.0.0 unified@11.0.2 PR-URL: #49467 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Signed-off-by: Erick Wendel <erick.workspace@gmail.com> PR-URL: #49476 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
PR-URL: #49427 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Ruy Adorno <ruyadorno@google.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
PR-URL: #49471 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Signed-off-by: Erick Wendel <erick.workspace@gmail.com> PR-URL: #49477 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
PR-URL: #49456 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: LiviaMedeiros <livia@cirno.name>
PR-URL: #49482 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
The script was missing necessary imports for the `run` function and the `path` module, causing it to fail. This commit adds the missing imports and resolves the issue. - Import `run` from the appropriate module. - Import `path` to resolve file paths. The script should now run without errors. PR-URL: #49489 Fixes: #49488 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #49493 Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #49493 Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Bumps [rtCamp/action-slack-notify](https://github.com/rtcamp/action-slack-notify) from 2.2.0 to 2.2.1. - [Release notes](https://github.com/rtcamp/action-slack-notify/releases) - [Commits](rtCamp/action-slack-notify@12e36fc...b24d75f) --- updated-dependencies: - dependency-name: rtCamp/action-slack-notify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> PR-URL: #49437 Refs: rtCamp/action-slack-notify@b24d75f Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.2 to 2.21.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@0ba4244...00e563e) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> PR-URL: #49438 Refs: github/codeql-action@00e563e Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Feature requests are issues, not PRs. PR-URL: #49498 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
For the breaking change in https://chromium-review.googlesource.com/c/v8/v8/+/4707972 PR-URL: #49439 Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #49463 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #49470 Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
It's an undocumented V8 behavior that is subject to change. Instead just check if the internal field is set to a promise. There is also no need to check IsEmpty() since the object is guaranteed to be constructed by the FileHandle constructor with enough internal fields. PR-URL: #49413 Refs: https://chromium-review.googlesource.com/c/v8/v8/+/4707972/comment/be9285cc_a49aad88/ Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
PR-URL: #49193 Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #49162 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
PR-URL: #49525 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Locally this speeds up running test-crypto-dh* from 7s to 2s. This was previously timing out in CI (took more than 2 minutes) so should see a bigger gap in the CI. PR-URL: #49492 Refs: #49202 Refs: nodejs/reliability#655 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #38771 Reviewed-By: Darshan Sen <raisinten@gmail.com>
|
Review requested:
|
Notable changes: doc: * deprecate `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #49683 * promote fetch/webstreams from experimental to stable (Steven) #45684 * deprecate `util.toUSVString` (Yagiz Nizipli) #49725 * deprecate calling `promisify` on a function that returns a promise (Antoine du Hamel) #49647 esm: * set all hooks as release candidate (Geoffrey Booth) #49597 stream: * use bitmap in writable state (Raz Luvaton) #49834 * use bitmap in readable state (Benjamin Gruenbaum) #49745 * improve webstream readable async iterator performance (Raz Luvaton) #49662 PR-URL: #49917
c4c901f to
eee298e
Compare
There is an open PR by @KhafraDev to revert this change and asking for further discussion, which maybe should be considered before this release is made: #49867 |
RafaelGSS
left a comment
There was a problem hiding this comment.
Why we are doing semver-patch instead of semver-minor?
I'll remove the commit and give them more time to discuss it then 😊
@RafaelGSS Ooops, did I missed any semver-minor commit? I don't see any in the list. |
Oh, actually not! It's rare to see a release without semver-minor. All good! |
|
#49614 should probably be semver-minor. |
RafaelGSS
left a comment
There was a problem hiding this comment.
LGTM (I agree in dropping the commit that has a revert patch open)
|
#49753 certainly |
|
#49279 is semver-minor for embedders |
|
Good catch, so it should be a semver-minor proposal then. |
|
Little reminder to those following the conversation: it's up to collaborators/triagers to add the semver-minor label to PRs that add new features. |
|
with that in mind I'll close this PR and open a new one from a |
2023-09-28, Version 20.7.1 (Current), @ruyadorno
Notable Changes
Stream performance improvements
Performance improvements to writable and readable streams, improving the creation and destruction by ±15% and reducing the memory overhead each stream takes in Node.js
Contributed by Raz Luvaton in #49834 and Benjamin Gruenbaum in #49745.
Other notable changes
f4041ce1c9] - doc: deprecatefs.F_OK,fs.R_OK,fs.W_OK,fs.X_OK(Livia Medeiros) #496830fbbe49cf6] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684a5dd057540] - doc: deprecateutil.toUSVString(Yagiz Nizipli) #497257b6a73172f] - doc: deprecate callingpromisifyon a function that returns a promise (Antoine du Hamel) #496471beefd5f16] - esm: set all hooks as release candidate (Geoffrey Booth) #495977c5e322346] - stream: improve webstream readable async iterator performance (Raz Luvaton) #49662Commits
4879e3fbbe] - benchmark: add a benchmark for read() of ReadableStreams (Debadree Chatterjee) #4962278a6c73157] - benchmark: shorten pipe-to by reducing number of chunks (Raz Luvaton) #495774126a6e4c9] - benchmark: fix webstream pipe-to (Raz Luvaton) #495526010a91825] - bootstrap: do not expand argv1 for snapshots (Joyee Cheung) #495068480280c4b] - bootstrap: only use the isolate snapshot when compiling code cache (Joyee Cheung) #49288b30754aa87] - build: run embedtest using node executable (Joyee Cheung) #4950631db0b8e2b] - build: add --write-snapshot-as-array-literals to configure.py (Joyee Cheung) #493126fcb51d3ba] - debugger: useinternal/url.URLinstead ofurl.parse(LiviaMedeiros) #49590aea7371506] - deps: V8: backport de9a5de2274f (Joyee Cheung) #497031f16df21f8] - deps: V8: cherry-pick b33bf2dfd261 (Joyee Cheung) #4970361d18d6473] - deps: update undici to 5.24.0 (Node.js GitHub Bot) #49559b8a4fef393] - deps: remove pthread-fixes.c from uv.gyp (Ben Noordhuis) #497446c86c0683c] - deps: update googletest to d1467f5 (Node.js GitHub Bot) #496761424404742] - deps: update nghttp2 to 1.56.0 (Node.js GitHub Bot) #4958215b54ff95d] - deps: update googletest to 8a6feab (Node.js GitHub Bot) #494632ceab877c2] - deps: update corepack to 0.20.0 (Node.js GitHub Bot) #49464690cca396a] - doc: fixDEP0176number (LiviaMedeiros) #49858f4041ce1c9] - doc: deprecatefs.F_OK,fs.R_OK,fs.W_OK,fs.X_OK(Livia Medeiros) #496836a88c6a7af] - doc: add mertcanaltin as a triager (mert.altin) #498260fbbe49cf6] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684864fe56432] - doc: addgit node backportway to the backporting guide (Raz Luvaton) #49760e0f93492d5] - doc: improve documentation about ICU data fallback (Joyee Cheung) #49666a5dd057540] - doc: deprecateutil.toUSVString(Yagiz Nizipli) #49725774c1cfd52] - doc: add missing function call to example forutil.promisify(Jungku Lee) #49719fe78a34845] - doc: update output of example inmimeParams.set()(Deokjin Kim) #497184175ea33bd] - doc: add missedinspectwith numericSeparator to example (Deokjin Kim) #497173a88571972] - doc: fix history comments (Antoine du Hamel) #49701db4ab1ccbb] - doc: add missing history info forimport.meta.resolve(Antoine du Hamel) #49700a304d1ee19] - doc: link maintaining deps to pull-request.md (Marco Ippolito) #4971635294486ad] - doc: fix print results inevents(Jungku Lee) #495489f0b0e15c9] - doc: alphabetize cli.md sections (Geoffrey Booth) #496687b6a73172f] - doc: deprecate callingpromisifyon a function that returns a promise (Antoine du Hamel) #49647d316b32fff] - doc: updatecorepack.mdto account for 0.20.0 changes (Antoine du Hamel) #49486c2eac7dc7c] - doc: remove@anonrigfrom performance initiative (Yagiz Nizipli) #496413d839fbf87] - doc: mark Node.js 16 as End-of-Life (Richard Lau) #4965153fb5aead8] - doc: save user preference for JS flavor (Vidar Eldøy) #49526e3594d5658] - doc: update documentation for node:process warning (Shubham Pandey) #495178e033c3963] - doc: rename possibly confusing variable and CSS class (Antoine du Hamel) #49536d0e0eb4bb3] - doc: update outdated history info (Antoine du Hamel) #49530b4724e2e3a] - doc: close a parenthesis (Sébastien Règne) #495250471c5798e] - doc: cast GetInternalField() return type to v8::Value in addons.md (Joyee Cheung) #494399f8bea3dda] - doc: fix documentation for input option in child_process (Ariel Weiss) #49481f3fea92f8a] - doc: fix missing imports intest.runcode examples (Oshri Asulin) #49489e426b77b67] - doc: fix documentation for fs.createWriteStream highWaterMark option (Mert Can Altın) #494562b119108ff] - doc: updated releasers instructions for node.js website (Claudio W) #49427b9d4a80183] - doc: editimport.meta.resolvedocumentation (Antoine du Hamel) #49247ddf0e17a95] - doc,tools: switch to@node-core/utils(Michaël Zasso) #49851142e256fc5] - errors: improve classRegExp in errors.js (Uzlopak) #496436377f1bce2] - errors: usedetermineSpecificTypein more error messages (Antoine du Hamel) #4958005f0fcb4c4] - esm: identify parent importing a url with invalid host (Jacob Smith) #497368a6f5fb8f3] - esm: fix return type ofimport.meta.resolve(Antoine du Hamel) #49698a6140f1b8c] - esm: update loaders warning (Geoffrey Booth) #49633521a9327e0] - esm: fix support forURLinstances inregister(Antoine du Hamel) #496553a9ea0925a] - esm: clarify ERR_REQUIRE_ESM errors (Daniel Compton) #495211beefd5f16] - esm: set all hooks as release candidate (Geoffrey Booth) #49597be48267888] - esm: remove return value forModule.register(Antoine du Hamel) #49529e74a075124] - esm: refactor test-esm-loader-resolve-type (Geoffrey Booth) #4949317823b3533] - esm: refactor test-esm-named-exports (Geoffrey Booth) #49493f34bd15ac1] - esm: refactor mocking test (Geoffrey Booth) #494659363179b39] - fs: replaceSetMethodNoSideEffectin node_file (CanadaHonk) #49857e82e46ce81] - fs: improve error performance forunlinkSync(CanadaHonk) #4985607d05185e2] - fs: improvereadFileSyncwith file descriptors (Yagiz Nizipli) #49691835f9fe7b9] - fs: fix file descriptor validator (Yagiz Nizipli) #49752b618fe262f] - fs: improve error performance ofopendirSync(Yagiz Nizipli) #49705938471ef55] - fs: improve error performance of sync methods (Yagiz Nizipli) #49593db3fc6d087] - fs: fix readdir and opendir recursive with unknown file types (William Marlow) #496030f020ed22d] - gyp: put cctest filenames in variables (Cheng Zhao) #491780ce1e94d12] - lib: update encoding sets inWHATWG API(Jungku Lee) #49610efd6815a7a] - lib: fixinternalBindingtypings (Yagiz Nizipli) #497421287d5b74e] - lib: allow byob reader for 'blob.stream()' (Debadree Chatterjee) #49713bbc710522d] - lib: reset the cwd cache before execution (Maël Nison) #49684f62d649e4d] - lib: use internalfileURLToPath(Deokjin Kim) #49558e515046941] - lib: use internalpathToFileURL(Livia Medeiros) #4955300608e8070] - lib: check SharedArrayBuffer availability in freeze_intrinsics.js (Milan Burda) #494828bfbe7079c] - meta: fix linter error (Antoine du Hamel) #4975558f7a9e096] - meta: add primordials strategic initiative (Benjamin Gruenbaum) #497065366027756] - meta: bump github/codeql-action from 2.21.2 to 2.21.5 (dependabot[bot]) #49438fe26b74082] - meta: bump rtCamp/action-slack-notify from 2.2.0 to 2.2.1 (dependabot[bot]) #4943796009289fb] - node-api: enable uncaught exceptions policy by default (Chengzhong Wu) #49313f40b5ede02] - perf_hooks: reduce overhead of new performance_entries (Vinicius Lourenço) #49803ad043bac31] - process: add custom dir support for heapsnapshot-signal (Jithil P Ponnan) #478548a7c10194c] - repl: don't accumulate excess indentation in .load (Daniel X Moore) #4946110a2adeed5] - src: improve error message when ICU data cannot be initialized (Joyee Cheung) #49666ce37688bac] - src: remove unnecessary todo (Rafael Gonzaga) #49227f611583b71] - src: use SNAPSHOT_SERDES to log snapshot ser/deserialization (Joyee Cheung) #49637a597cb8457] - src: port Pipe to uv_pipe_bind2, uv_pipe_connect2 (Geoff Goodman) #49667fb21062338] - src: set --rehash-snapshot explicitly (Joyee Cheung) #4955614ece0aa76] - src: allow embedders to override NODE_MODULE_VERSION (Cheng Zhao) #492794b5e23c71b] - src: set ModuleWrap internal fields only once (Joyee Cheung) #493912d3f5c7cab] - src: fix fs_type_to_name default value (Mustafa Ateş Uzun) #49239cfbcb1059c] - src: fix comment on StreamResource (rogertyang) #4919339fb83ad16] - src: do not rely on the internal field being default to undefined (Joyee Cheung) #4941312fe6a0bfd] - stream: use bitmap in writable state (Raz Luvaton) #498340ccd4638ac] - stream: use bitmap in readable state (Benjamin Gruenbaum) #49745b29d927010] - stream: improve readable webstreampipeTo(Raz Luvaton) #496907c5e322346] - stream: improve webstream readable async iterator performance (Raz Luvaton) #496621a180342ec] - test: add os setPriority, getPriority test coverage (Wael) #38771d44a812101] - test: deflake test-runner-output (Moshe Atlow) #49878d2bcdcb177] - test: mark test-runner-output as flaky (Joyee Cheung) #49854eded29c522] - test: use mustSucceed instead of mustCall (SiddharthDevulapalli) #497883db9b40081] - test: refactor test-readline-async-iterators into a benchmark (Shubham Pandey) #492372cc5ad7859] - Revert "test: mark test-http-regr-Segfault innode::Environment::KickNextTick#2928 as flaky" (Luigi Pinca) #49708e5185b053c] - test: usefs.constantsforfs.accessconstants (Livia Medeiros) #49685b9e5b43462] - test: deflake test-http-regr-Segfault innode::Environment::KickNextTick#2928 (Luigi Pinca) #495741fffda504e] - test: fix argument computation in embedtest (Joyee Cheung) #495066e56f2db52] - test: skip test-child-process-stdio-reuse-readable-stdio on Windows (Joyee Cheung) #49621ab3afb330d] - test: mark test-runner-watch-mode as flaky (Joyee Cheung) #49627185d9b50db] - test: deflake test-tls-socket-close (Luigi Pinca) #49575c70c74a9e6] - test: show more info on failure in test-cli-syntax-require.js (Joyee Cheung) #49561ed7c6d1114] - test: mark test-http-regr-Segfault innode::Environment::KickNextTick#2928 as flaky (Joyee Cheung) #495653599eebab9] - test: use spawnSyncAndExitWithoutError in sea tests (Joyee Cheung) #49543f79b153e89] - test: use spawnSyncAndExitWithoutError in test/common/sea.js (Joyee Cheung) #49543c079c73769] - test: use setImmediate() in test-heapdump-shadowrealm.js (Joyee Cheung) #49573667a92493c] - test: skip test-child-process-pipe-dataflow.js on Windows (Joyee Cheung) #4956391af0a9a3c] - Revert "test: ignore the copied entry_point.c" (Chengzhong Wu) #49515567afc71b8] - test: avoid copying test source files (Chengzhong Wu) #49515ced25a976d] - test: increase coverage ofModule.registerandinitializehook (Antoine du Hamel) #49532be02fbdb8a] - test: isolateglobalPreloadtests (Geoffrey Booth) #49545f214428845] - test: split test-crypto-dh to avoid timeout on slow machines in the CI (Joyee Cheung) #494923987094569] - test: maketest-dotenv-node-optionslocale-independent (Livia Medeiros) #4947034c1741792] - test: add test for urlstrings usage innode:fs(Livia Medeiros) #49471c3c6c4f007] - test: make test-worker-prof more robust (Joyee Cheung) #49274843df1a4da] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #4971480b342cc38] - test_runner: accepttestOnlyinrun(Moshe Atlow) #4975376865515b9] - test_runner: fix test runner watch mode when no positional arguments (Moshe Atlow) #4957817a05b141d] - test_runner: add junit reporter (Moshe Atlow) #496145672e38457] - test_runner: add jsdocs to mock.js (Caio Borghi) #49555b4d42a8f2b] - test_runner: fix invalid timer call (Erick Wendel) #49477f755e6786b] - test_runner: add jsdocs to MockTimers (Erick Wendel) #49476e7285d4bf0] - test_runner: fix typescript coverage (Moshe Atlow) #494066db0d3d883] - tools: support updating @reporters/github manually (Moshe Atlow) #498715ac6722031] - tools: skip ruff on tools/node_modules (Moshe Atlow) #49838462228bd24] - tools: fix uvwasi updater (Michael Dawson) #49682ff81bfb958] - tools: update lint-md-dependencies to rollup@3.29.2 (Node.js GitHub Bot) #4967908ffc6344c] - tools: restrict internal code from using publicurlmodule (LiviaMedeiros) #49590728ebf6c97] - tools: update eslint to 8.49.0 (Node.js GitHub Bot) #4958620d038ffb1] - tools: update lint-md-dependencies to rollup@3.29.0 unified@11.0.3 (Node.js GitHub Bot) #49584210c15bd12] - tools: allow passing absolute path of config.gypi in js2c (Cheng Zhao) #49162e341efe173] - tools: configure never-stale label correctly (Michaël Zasso) #49498a8a8a498ce] - tools: update doc dependencies (Node.js GitHub Bot) #49467ac06607f9e] - typings: fix missing property inExportedHooks(Antoine du Hamel) #495677d91a73764] - url: improve invalid url performance (Yagiz Nizipli) #496927c2060cfac] - util: addgetCwdSafeinternal util fn (João Lenon) #48434c23c60f545] - zlib: disable CRC32 SIMD optimization (Luigi Pinca) #49511