Skip to content

Conversation

@ruyadorno
Copy link
Member

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: deprecate fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK (Livia Medeiros) #49683
  • [0fbbe49cf6] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684
  • [a5dd057540] - doc: deprecate util.toUSVString (Yagiz Nizipli) #49725
  • [7b6a73172f] - doc: deprecate calling promisify on a function that returns a promise (Antoine du Hamel) #49647
  • [1beefd5f16] - esm: set all hooks as release candidate (Geoffrey Booth) #49597
  • [7c5e322346] - stream: improve webstream readable async iterator performance (Raz Luvaton) #49662

Commits

joyeecheungand others added 30 commits September 27, 2023 22:17
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 <[email protected]>
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 <[email protected]>
PR-URL: #49406Fixes: #49398 Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
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 <[email protected]>
PR-URL: #49247 Refs: #49028 Reviewed-By: Geoffrey Booth <[email protected]> Reviewed-By: Guy Bedford <[email protected]>
PR-URL: #49464 Reviewed-By: Trivikram Kamat <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #49465 Reviewed-By: Jacob Smith <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
Updated to [email protected][email protected][email protected] PR-URL: #49467 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
Signed-off-by: Erick Wendel <[email protected]> PR-URL: #49476 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Chemi Atlow <[email protected]>
PR-URL: #49427 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruy Adorno <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: #49471 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
Signed-off-by: Erick Wendel <[email protected]> PR-URL: #49477 Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Moshe Atlow <[email protected]>
PR-URL: #47854 Refs: #47842 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Erick Wendel <[email protected]>
PR-URL: #49482 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
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: #49489Fixes: #49488 Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #49481Fixes: #49417 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Chemi Atlow <[email protected]>
PR-URL: #49493 Reviewed-By: Jacob Smith <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #49493 Reviewed-By: Jacob Smith <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
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] <[email protected]> PR-URL: #49437 Refs: rtCamp/action-slack-notify@b24d75f Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Debadree Chatterjee <[email protected]>
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] <[email protected]> PR-URL: #49438 Refs: github/codeql-action@00e563e Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Debadree Chatterjee <[email protected]>
Feature requests are issues, not PRs. PR-URL: #49498 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
For the breaking change in https://chromium-review.googlesource.com/c/v8/v8/+/4707972 PR-URL: #49439 Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #49463 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #49470 Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
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 <[email protected]>
PR-URL: #49525 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
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 <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Filip Skokan <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
@nodejs-github-bot
Copy link
Collaborator

Review requested:

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

@nodejs-github-botnodejs-github-bot added build Issues and PRs related to build files or the CI. dependencies Pull requests that update a dependency file. doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. v20.x Issues that can be reproduced on v20.x or PRs targeting the v20.x-staging branch. labels Sep 28, 2023
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
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Sep 28, 2023

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@meyfa
Copy link
Contributor

doc: promote fetch/webstreams from experimental to stable (Steven) #45684

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

Copy link
Member

@RafaelGSSRafaelGSS left a comment

Choose a reason for hiding this comment

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

Why we are doing semver-patch instead of semver-minor?

@ruyadorno
Copy link
MemberAuthor

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

I'll remove the commit and give them more time to discuss it then 😊

Why we are doing semver-patch instead of semver-minor?

@RafaelGSS Ooops, did I missed any semver-minor commit? I don't see any in the list.

@RafaelGSS
Copy link
Member

@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!

@targos
Copy link
Member

#49614 should probably be semver-minor.

Copy link
Member

@RafaelGSSRafaelGSS left a comment

Choose a reason for hiding this comment

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

LGTM (I agree in dropping the commit that has a revert patch open)

@targos
Copy link
Member

#49753 certainly

@targos
Copy link
Member

#49279 is semver-minor for embedders

@RafaelGSS
Copy link
Member

Good catch, so it should be a semver-minor proposal then.

@targos
Copy link
Member

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.

@ruyadorno
Copy link
MemberAuthor

awesome catch @targos, thanks! cc @MoLow two of your PRs were going to fly under the radar without the proper semver-minor attribution, good to keep in mind for the proper recognition and community awareness overall 😄

@ruyadorno
Copy link
MemberAuthor

with that in mind I'll close this PR and open a new one from a v20.8.0-proposal branch.

@ruyadornoruyadorno deleted the v20.7.1-proposal branch September 28, 2023 14:04
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to build files or the CI.dependenciesPull requests that update a dependency file.docIssues and PRs related to the documentations.metaIssues and PRs related to the general management of the project.needs-ciPRs that need a full CI run.v20.xIssues that can be reproduced on v20.x or PRs targeting the v20.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

20 participants

@ruyadorno@nodejs-github-bot@meyfa@RafaelGSS@targos@UlisesGascon@joyeecheung@MoLow@aduh95@GeoffreyBooth@ErickWendel@ovflowd@LiviaMedeiros@MrJithil@mertcanaltin@miniak@OshriAsulin@ariel-weiss@ywave620@zcbenz