Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.2k
net: add autoSelectFamily global getter and setter#45777
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
net: add autoSelectFamily global getter and setter #45777
Uh oh!
There was an error while loading. Please reload this page.
Conversation
ShogunPanda commented Dec 7, 2022 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
nodejs-github-bot commented Dec 7, 2022
Review requested:
|
58f423b to 9fdf538Compareaddaleax commented Dec 7, 2022
Should this be a command line flag? Those are inherited by Workers by default, for example. |
mcollina commented Dec 7, 2022
I think adding a command line flag for this would be useful too. |
9fdf538 to 2efd797CompareShogunPanda commented Dec 8, 2022
mcollina left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
nodejs-github-bot commented Dec 13, 2022
nodejs-github-bot commented Dec 14, 2022
nodejs-github-bot commented Dec 14, 2022
2efd797 to 0cc09d7Comparenodejs-github-bot commented Dec 23, 2022
nodejs-github-bot commented Dec 23, 2022
PR-URL: nodejs#45777 Reviewed-By: Matteo Collina <[email protected]>
PR-URL: nodejs#45777 Reviewed-By: Matteo Collina <[email protected]>
PR-URL: nodejs#45777 Reviewed-By: Matteo Collina <[email protected]>
PR-URL: nodejs#45777 Reviewed-By: Matteo Collina <[email protected]>
PR-URL: nodejs#45777 Reviewed-By: Matteo Collina <[email protected]>
PR-URL: nodejs#45777 Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #45777 Backport-PR-URL: #49016 Reviewed-By: Matteo Collina <[email protected]>
Notable changes: net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 PR-URL: TODO
Notable changes: net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 PR-URL: TODO
Notable changes: crypto: * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 doc: * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: crypto: * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 doc: * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: crypto: * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 doc: * add vmoroz to collaborators (Vladimir Morozov) #48527 * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: crypto: * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 doc: * add vmoroz to collaborators (Vladimir Morozov) #48527 * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 events: * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) #48596 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: build: * sync libuv header change (Jiawen Geng) #48078 crypto: * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 deps: * add missing thread-common.c in uv.gyp (Santiago Gimeno) #48078 * upgrade to libuv 1.46.0 (Santiago Gimeno) #48078 * upgrade to libuv 1.45.0 (Santiago Gimeno) #48078 doc: * add vmoroz to collaborators (Vladimir Morozov) #48527 * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 events: * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) #48596 fs, stream: * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) #48518 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: build: * sync libuv header change (Jiawen Geng) #48078 crypto: * update root certificates to NSS 3.93 (Node.js GitHub Bot) #49341 * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 deps: * add missing thread-common.c in uv.gyp (Santiago Gimeno) #48078 * upgrade to libuv 1.46.0 (Santiago Gimeno) #48078 * upgrade to libuv 1.45.0 (Santiago Gimeno) #48078 doc: * add atlowChemi to collaborators (atlowChemi) #48757 * add vmoroz to collaborators (Vladimir Morozov) #48527 * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 events: * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) #48596 fs, stream: * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) #48518 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: build: * sync libuv header change (Jiawen Geng) #48078 crypto: * update root certificates to NSS 3.93 (Node.js GitHub Bot) #49341 * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 deps: * add missing thread-common.c in uv.gyp (Santiago Gimeno) #48078 * upgrade to libuv 1.46.0 (Santiago Gimeno) #48078 * upgrade to libuv 1.45.0 (Santiago Gimeno) #48078 doc: * add atlowChemi to collaborators (atlowChemi) #48757 * add vmoroz to collaborators (Vladimir Morozov) #48527 * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 events: * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) #48596 fs, stream: * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) #48518 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: build: * sync libuv header change (Jiawen Geng) #48078 crypto: * update root certificates to NSS 3.93 (Node.js GitHub Bot) #49341 * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 deps: * add missing thread-common.c in uv.gyp (Santiago Gimeno) #48078 * upgrade to libuv 1.46.0 (Santiago Gimeno) #48078 * upgrade to libuv 1.45.0 (Santiago Gimeno) #48078 doc: * add atlowChemi to collaborators (atlowChemi) #48757 * add vmoroz to collaborators (Vladimir Morozov) #48527 * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 events: * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) #48596 fs, stream: * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) #48518 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: build: * sync libuv header change (Jiawen Geng) #48078 crypto: * update root certificates to NSS 3.93 (Node.js GitHub Bot) #49341 * update root certificates to NSS 3.90 (Node.js GitHub Bot) #48416 deps: * add missing thread-common.c in uv.gyp (Santiago Gimeno) #48078 * upgrade to libuv 1.46.0 (Santiago Gimeno) #48078 * upgrade to libuv 1.45.0 (Santiago Gimeno) #48078 doc: * add atlowChemi to collaborators (atlowChemi) #48757 * add vmoroz to collaborators (Vladimir Morozov) #48527 * add kvakil to collaborators (Keyhan Vakil) #48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) #43942 events: * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) #48596 fs, stream: * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) #48518 net: * add autoSelectFamily global getter and setter (Paolo Insogna) #45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) #47885 PR-URL: #49220
Notable changes: build: * sync libuv header change (Jiawen Geng) nodejs#48078 crypto: * update root certificates to NSS 3.93 (Node.js GitHub Bot) nodejs#49341 * update root certificates to NSS 3.90 (Node.js GitHub Bot) nodejs#48416 deps: * add missing thread-common.c in uv.gyp (Santiago Gimeno) nodejs#48078 * upgrade to libuv 1.46.0 (Santiago Gimeno) nodejs#48078 * upgrade to libuv 1.45.0 (Santiago Gimeno) nodejs#48078 doc: * add atlowChemi to collaborators (atlowChemi) nodejs#48757 * add vmoroz to collaborators (Vladimir Morozov) nodejs#48527 * add kvakil to collaborators (Keyhan Vakil) nodejs#48449 esm: * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) nodejs#43942 events: * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) nodejs#48596 fs, stream: * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) nodejs#48518 net: * add autoSelectFamily global getter and setter (Paolo Insogna) nodejs#45777 url: * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) nodejs#47885 PR-URL: nodejs#49220
This commit upgrades Node.js version to v20.x in CI/CD environment. Previously used Node 18.x is moving towards end-of-life, with a planned date of 2025-04-30. In contrast, Node 20.x has been offering long-term support (LTS) since 2023-10-24. This makes Node 20.x a stable and recommended version for production environments. This commit also configures `actions/setup-node` with the `check-latest` flag to always use the latest Node 20.x version, keeping CI/CD setup up-to-date with minimal maintenance. Details: - actions/setup-node#165 - actions/setup-node#160 Using Node 20.x in CI/CD environments provides better compatibility with Electron v29.0 which moves to Node 20.x. Details: - electron/electron#40343 This upgrade improves network connection handling in CI/CD pipelines (where issues occur due to GitHub runners not supporting IPv6). Details: - actions/runner#3138 - actions/runner-images#668 - actions/runner#3213 - actions/runner-images#9540 Node 20.x adopts the Happy Eyeballs algorithm for improved IPv6 connectivity. - nodejs/node#40702 - nodejs/node#41625 - nodejs/node#44731 This mitigates issues like `UND_ERR_CONNECT_TIMEOUT` and localhost DNS resolution in CI/CD environments: Details: - nodejs/node#40537 - actions/runner#3213 - actions/runner-images#9540 Node 20 introduces `setDefaultAutoSelectFamily`, a global function from Node 19.4.0, enabling better IPv4 support, especially in environments with limited or problematic IPv6 support. Details: - nodejs/node#45777 Node 20.x defaults to the new `autoSelectFamily`, improving network connection reliability in GitHub runners lacking full IPv6 support. Details: - nodejs/node#46790
This commit upgrades Node.js version to v20.x in CI/CD environment. Previously used Node 18.x is moving towards end-of-life, with a planned date of 2025-04-30. In contrast, Node 20.x has been offering long-term support (LTS) since 2023-10-24. This makes Node 20.x a stable and recommended version for production environments. This commit also configures `actions/setup-node` with the `check-latest` flag to always use the latest Node 20.x version, keeping CI/CD setup up-to-date with minimal maintenance. Details: - actions/setup-node#165 - actions/setup-node#160 Using Node 20.x in CI/CD environments provides better compatibility with Electron v29.0 which moves to Node 20.x. Details: - electron/electron#40343 This upgrade improves network connection handling in CI/CD pipelines (where issues occur due to GitHub runners not supporting IPv6). Details: - actions/runner#3138 - actions/runner-images#668 - actions/runner#3213 - actions/runner-images#9540 Node 20.x adopts the Happy Eyeballs algorithm for improved IPv6 connectivity. - nodejs/node#40702 - nodejs/node#41625 - nodejs/node#44731 This mitigates issues like `UND_ERR_CONNECT_TIMEOUT` and localhost DNS resolution in CI/CD environments: Details: - nodejs/node#40537 - actions/runner#3213 - actions/runner-images#9540 Node 20 introduces `setDefaultAutoSelectFamily`, a global function from Node 19.4.0, enabling better IPv4 support, especially in environments with limited or problematic IPv6 support. Details: - nodejs/node#45777 Node 20.x defaults to the new `autoSelectFamily`, improving network connection reliability in GitHub runners lacking full IPv6 support. Details: - nodejs/node#46790
This PR continues #44731 by adding the following new APIs:
net.Socket.autoSelectFamilyAttemptedAddresses: It contains a list of all the addresses that were attempted when using the Happy Eyeballs algorithm.net.setDefaultAutoSelectFamilyandnet.getDefaultAutoSelectFamily: Sets or gets the default forautoSelectFamilyfornet.connect. This can also be enabled by the command line option--enable-network-family-autoselection.