Skip to content

Conversation

@targos
Copy link
Member

@targos targos commented Jul 12, 2022

2022-07-13, Version 18.6.0 (Current), @targos

Notable Changes

Experimental ESM Loader Hooks API

Node.js ESM Loader hooks now support multiple custom loaders, and composition is
achieved via "chaining": foo-loader calls bar-loader calls qux-loader
(a custom loader must now signal a short circuit when intentionally not
calling the next). See the ESM docs for details.

Real-world use-cases are laid out for end-users with working examples in the
article Custom ESM loaders: Who, what, when, where, why, how.

Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - #42623

Commits

Semver-minor commits

  • [0bca7b722e] - (SEMVER-MINOR) dns: export error code constants from dns/promises (Feng Yu) #43176
  • [da61e2330f] - (SEMVER-MINOR) esm: add chaining to loaders (Jacob Smith) #42623
  • [8c97f63401] - (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) #43580
  • [b27856d3d4] - (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) #43361
  • [9d918d9923] - (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) #43396
  • [a0e7b9983c] - (SEMVER-MINOR) net: add drop event for net server (theanarkh) #43582
  • [4bda6e02a3] - (SEMVER-MINOR) test_runner: expose describe and it (Moshe Atlow) #43420
  • [34e83312a4] - (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) #43329

Semver-patch commits

Documentation commits

Other commits

  • [7ee0be71f9] - benchmark: fix output regression (Brian White) #43635
  • [d90a6f9bda] - benchmark: fix fork detection (Paolo Insogna) #43601
  • [f9c30abcdc] - benchmark: forcefully close processes (Paolo Insogna) #43557
  • [ebf962c053] - build: enable GitPod prebuilds (Rich Trott) #43698
  • [482bd53357] - build: clarify missing clang-format tool (Tobias Nießen) #42762
  • [919c5ee5c2] - build: update main branch name in GH workflow (Feng Yu) #43481
  • [3b08dfdc5d] - meta: update AUTHORS (Node.js GitHub Bot) #43750
  • [508cbbcbf9] - meta: update AUTHORS (Node.js GitHub Bot) #43660
  • [d650c9c6b0] - meta: update AUTHORS (Node.js GitHub Bot) #43573
  • [b9204c9be8] - meta: update AUTHORS (Node.js GitHub Bot) #43480
  • [294f0ef4df] - test: mark test-net-connect-reset-until-connected flaky on freebsd (Feng Yu) #43613
  • [f2f7d7b207] - test: remove unnecessary .toString() calls in HTTP tests (Anna Henningsen) #43731
  • [38e92fd88f] - test: mark test-gc-http-client-timeout as flaky on arm (Chengzhong Wu) #43754
  • [b164848c55] - test: fix typo in file name (Antoine du Hamel) #43764
  • [a0b799f645] - test: add test for profile command of node inspect (Kohei Ueno) #43058
  • [c4d88b3345] - test: use Object for tests variable in fs trace test (Feng Yu) #43585
  • [c9f130e1cf] - test: improve code coverage for performance_entry (Kohei Ueno) #43434
  • [0b4956079a] - test: add test to ensure repl doesn't support --input-type (cola119) #43507
  • [2adf4e7727] - test: fix flaky test-perf-hooks-histogram (Santiago Gimeno) #43567
  • [043756d540] - test: fill DOMException names (LiviaMedeiros) #43615
  • [e718a6e913] - test: fix Buffer.from(ArrayBufferView) call (LiviaMedeiros) #43614
  • [ac72f4e812] - test: mark test-worker-http2-stream-terminate flaky on all platforms (Finn Yu) #43620
  • [dabccef69f] - test: mark flaky tests on smartos (Feng Yu) #43596
  • [705e85e736] - test: improve code coverage for SourceMap class (italo jose) #43285
  • [7c6f548382] - test: mark test-http-server-request-timeouts-mixed flaky on macOS (F3n67u) #43597
  • [bd91337988] - test: refactor to top-level await (Meek Simbule) #43500
  • [9940dc38c1] - test: skip test-v8-serialize-leak on IBM i (Richard Lau) #43511
  • [17b92f0679] - test: use unique file names in fs trace test (Ben Noordhuis) #43504
  • [7ca58b8ee7] - test: allow EOVERFLOW errors in fs position tests (Richard Lau) #43510
  • [eece34cddb] - test: add WPT tests for dom/events (Daiki Nishikawa) #43151
  • [70d297c271] - test: replace gc(true) with gc({ type: 'minor' }) (Tobias Nießen) #43493
  • [1022c0d0d4] - test: fix flaky test-https-server-close- tests (Santiago Gimeno) #43216
  • [a9ab41cb38] - test: refactor to top-level await (Meek Simbule) #43366
  • [b1a7798821] - test: skip test-net-connect-reset-until-connected on SmartOS (Filip Skokan) #43449
  • [3b0703fd0d] - test: rename test-eventtarget-whatwg-*.js (Daeyeon Jeong) #43467
  • [5c0a24d5be] - test: mark test-worker-http2-stream-terminate flaky on Windows (Darshan Sen) #43425
  • [48ae00c0b1] - test: improve coverage for load hooks (Antoine du Hamel) #43374
  • [2b55b606f7] - Revert "test: mark test_buffer/test_finalizer flaky" (Matteo Collina) #43418
  • [3948accbf4] - test: make node-api/test_buffer/test_finalizer not flaky (Matteo Collina) #43418
  • [c954bcd20b] - tools: remove rpm build scripts (Ben Noordhuis) #43647
  • [8a06b7b9d0] - tools: update lint-md-dependencies to rollup@2.76.0 (Node.js GitHub Bot) #43749
  • [aafdf1239e] - tools: refactor tools/license2rtf to ESM (Feng Yu) #43232
  • [99ffabf2dd] - tools: update eslint to 8.19.0 (Node.js GitHub Bot) #43662
  • [c6396c179f] - tools: update lint-md-dependencies (Node.js GitHub Bot) #43572
  • [8d14d6e215] - tools: fix CJS/ESM toggle on small screens (Antoine du Hamel) #43506
  • [59d4da699e] - tools: update eslint to 8.18.0 (Node.js GitHub Bot) #43479
  • [752380a959] - tools: update main branch name (Feng Yu) #43440
  • [06c367ef8b] - tools: update lint-md-dependencies to rollup@2.75.6 (Node.js GitHub Bot) #43386
JakobJingleheimer and others added 30 commits July 12, 2022 07:40
PR-URL: #42623 Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43130 Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com> Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43164 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: Jacob Smith <jacob@frende.me>
PR-URL: #43303 Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43386 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #43359 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com> Reviewed-By: Harshitha K P <harshitha014@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
Refs: #33864 PR-URL: #43438 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Danielle Adams <adamzdanielle@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Rich Trott <rtrott@gmail.com>
Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: #43453 Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
PR-URL: #43431 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43431 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43431 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43431 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43431 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43443 Refs: #33864 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #43437 Refs: #33864 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Beth Griggs <bgriggs@redhat.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Danielle Adams <adamzdanielle@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Michael Dawson <midawson@redhat.com>
PR-URL: #43441 Refs: #33864 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43442 Refs: #33864 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43440 Refs: #33864 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Beth Griggs <bgriggs@redhat.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #43066 Fixes: #43062 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Fixes: #43274 PR-URL: #43336 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
PR-URL: #43418 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
This reverts commit 73d8db8. PR-URL: #43418 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
This resolves this TODO - https://github.com/nodejs/node/blob/71071f896aa9696b5d36bb3bec1c7217e7420509/src/stream_wrap.cc#L111-L112. Signed-off-by: Darshan Sen <raisinten@gmail.com> PR-URL: #43321 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Add the `--max_semi_space_size` flag into useful V8 option. Fixes: #42511 PR-URL: #42575 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
Refs: #33864 PR-URL: #43445 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #42790 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This adds several APIs under the `v8.startupSnapshot` namespace for specifying hooks into the startup snapshot serialization and deserialization. - isBuildingSnapshot() - addSerializeCallback() - addDeserializeCallback() - setDeserializeMainFunction() PR-URL: #43329 Fixes: #42617 Refs: #35711 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Refs: #43363 (comment) PR-URL: #43374 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com> Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com>
The test is causing a lot of CI failures, so I'd say that we should mark this test flaky until someone comes up with a proper fix. Refs: #43084 Signed-off-by: Darshan Sen <raisinten@gmail.com> PR-URL: #43425 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
This is specially prevalent in the case of having in-progress FileHandle operations in a worker thread while the Worker is exiting. Fixes: #42829 PR-URL: #42910 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
Notable changes: - esm: add chaining to loaders PR-URL: #43789
@targos targos force-pushed the v18.6.0-proposal branch from 78431a9 to cd17157 Compare July 13, 2022 14:08
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Jul 13, 2022

@targos
Copy link
Member Author

targos commented Jul 13, 2022

@nodejs/build I just tried to execute the binary downloaded from https://ci-release.nodejs.org/job/iojs+release/8603/nodes=osx11-release-tar/ and macOS doesn't let me:
image

Is this expected?
image

@richardlau

This comment was marked as outdated.

@Trott
Copy link
Member

Trott commented Jul 13, 2022

@Trott it seems that Gitpod is doing unnecessary stuff?

@targos You mean the widget status about prebuilt workspaces? I thought I configured it to only do that on the main branch and to not post a notification about it. Clearly, that's not the case. I'll look into it. If there's something else it's doing that I need to track down, let me know! Thanks!

@Trott
Copy link
Member

Trott commented Jul 13, 2022

I thought I configured it to only do that on the main branch

I see what I messed up there. I'll open a PR to fix. I assume it's not blocking the release, though. Let me know if it is, of course.

@BethGriggs
Copy link
Member

BethGriggs commented Jul 13, 2022

@targos, I am sure I vaguely recall this problem before. It was to do with opening it from a browser download. I'll try and find the historic comments.

(I am sure that is the same problem I hit before, because I can reproduce your error when downloading from https://nodejs.org/download/nightly/v19.0.0-nightly2022071390bc773fb8/node-v19.0.0-nightly2022071390bc773fb8-darwin-x64.tar.gz in the browser, but not when downloading using wget.)

(Edit: I do not see this when testing the binaries on my laptop because I always use the installer - and I think the reason I started to always use the installer for testing is because of this issue 😅)

Trott added a commit to Trott/io.js that referenced this pull request Jul 13, 2022
Disable prebuilds for pull requests. addCOmment now defaults to false so we don't need to set it anymore. Refs: nodejs#43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration
Trott added a commit to Trott/io.js that referenced this pull request Jul 13, 2022
Disable prebuilds for pull requests. addCOmment now defaults to false so we don't need to set it anymore. Refs: nodejs#43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration
@richardlau
Copy link
Member

@targos, I am sure I vaguely recall this problem before. It was to do with opening it from a browser download. I'll try and find the historic comments.

Found nodejs/build#2188 (comment) 👀

@targos
Copy link
Member Author

targos commented Jul 13, 2022

OK thanks, I don't know how to download it from Jenkins with Curl so I'll proceed assuming it's the same problem.

Trott added a commit to Trott/io.js that referenced this pull request Jul 13, 2022
Disable prebuilds for pull requests. addComment now defaults to false so we don't need to set it anymore. Refs: nodejs#43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration
@targos targos merged commit cd17157 into v18.x Jul 13, 2022
targos added a commit that referenced this pull request Jul 13, 2022
@targos targos deleted the v18.6.0-proposal branch July 13, 2022 20:51
targos added a commit that referenced this pull request Jul 13, 2022
Notable changes: - esm: add chaining to loaders PR-URL: #43789
targos added a commit to targos/nodejs.org that referenced this pull request Jul 13, 2022
Trott added a commit to Trott/io.js that referenced this pull request Jul 13, 2022
Disable prebuilds for pull requests. addComment now defaults to false so we don't need to set it anymore. Refs: nodejs#43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration
targos added a commit to nodejs/nodejs.org that referenced this pull request Jul 13, 2022
nodejs-github-bot pushed a commit that referenced this pull request Jul 14, 2022
Disable prebuilds for pull requests. addComment now defaults to false so we don't need to set it anymore. Refs: #43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration PR-URL: #43829 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
danielleadams pushed a commit that referenced this pull request Jul 26, 2022
Disable prebuilds for pull requests. addComment now defaults to false so we don't need to set it anymore. Refs: #43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration PR-URL: #43829 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
targos pushed a commit that referenced this pull request Jul 31, 2022
Disable prebuilds for pull requests. addComment now defaults to false so we don't need to set it anymore. Refs: #43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration PR-URL: #43829 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
guangwong pushed a commit to noslate-project/node that referenced this pull request Oct 10, 2022
Disable prebuilds for pull requests. addComment now defaults to false so we don't need to set it anymore. Refs: nodejs/node#43789 (comment) Refs: https://www.gitpod.io/docs/prebuilds#github-specific-configuration PR-URL: nodejs/node#43829 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. 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.