-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
v16.3.0 proposal #38874
Merged
Merged
v16.3.0 proposal #38874
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PR-URL: #38702 Refs: https://coverage.nodejs.org/coverage-0996eb71edbd47d9/lib/internal/streams/readable.js.html#L401 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #38608 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Zijian Liu <[email protected]> Reviewed-By: James M Snell <[email protected]>
In addition, defer the patching of the vm module based on the value of --experimental-vm-modules to runtime. PR-URL: #38677 Refs: #35711 Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
There are many things called `url` in this page including `url` module, `URL` instances, etc. The original example was not clear where these methods come from. PR-URL: #38645 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #38644 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
The convention for js-native-api/<test_name>: * <test_name>.c or <test_name>.cc has the entry point * The name of the target is <test_name> PR-URL: #38692 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
Refs: nodejs/node-addon-api#906 Ensure that finalization is not defered during shutdown. The env for the addon is deleted immediately after iterating the list of finalizers to be run. Defering causes crashes as the finalization uses the already deleted env. Signed-off-by: Michael Dawson <[email protected]> PR-URL: #38492 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: Gabriel Schulhof <[email protected]>
Fixes: #38721 PR-URL: #38723 Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Robert Nagy <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Zijian Liu <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #38724 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Derek Lewis <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #38744 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
Fix: #37053 See: nodejs/llparse#44 PR-URL: #38665 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Daniele Belardi <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Remove unused `iostream` library in `node_main_instance.cc` and `aliased_buffer.h` files PR-URL: #38694 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anto Aravinth <[email protected]>
Writes pipe handles with `uv_pipe_getsockname()` and `uv_pipe_getpeername()`. PR-URL: #38637 Fixes: #38625 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]>
PR-URL: #38750 Reviewed-By: Myles Borins <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
The implementation of the `fs.lchmod` method has been moved to JS-land PR-URL: #38693 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anto Aravinth <[email protected]>
Replace code that's vulnerable to Prototype Pollution with Primordials. PR-URL: #38117 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: James M Snell <[email protected]>
Fixes: #38707 PR-URL: #38720 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
Added JSDoc typings for the `events` lib module. PR-URL: #38712 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Masashi Hirano <[email protected]> Reviewed-By: James M Snell <[email protected]>
Refs: https://coverage.nodejs.org/coverage-36bb31be5f0b85a0/lib/_http_outgoing.js.html#L351 Refs: https://coverage.nodejs.org/coverage-36bb31be5f0b85a0/lib/_http_outgoing.js.html#L609 PR-URL: #38734 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Zijian Liu <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #38604 Refs: https://coverage.nodejs.org/coverage-29f1b609ba5d12d3/lib/fs.js.html#L2045 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
test/[ from sbase unix tools[1] throws "too many arguments" if -a or -o is provided. The syntax has been marked obsolescent as per the manual[2]. [1] http://core.suckless.org/sbase/ [2] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html#tag_20_128_16 PR-URL: #38731 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Minwoo Jung <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
This aligns with an upstream spec change. PR-URL: #38742 Fixes: #38710 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: James M Snell <[email protected]>
Since commit 4e9ad20, elapsed time is expected to be a BigInt instead of an array. Refs: #38369 PR-URL: #38743 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Zijian Liu <[email protected]>
Do the same thing we do for other streams, and retain a reference to the Buffer that was sent over IPC while the write request is active, so that it doesn’t get garbage collected while the data is still in flight. (This is a good example of why it’s a bad idea that we’re not re-using the general streams implementation for IPC and instead maintain separate usage of the low-level I/O primitives.) Fixes: #34797 PR-URL: #38728 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
This commit adds a call to OPENSSL_init_crypto to initialize OPENSSL_INIT_LOAD_CONFIG to avoid the default behavior where errors raised during the parsing of the OpenSSL configuration file are not propagated and cannot be detected. The motivation for this is that if FIPS is configured the OpenSSL configuration file will have an .include pointing to the fipsmodule.cnf file generated by the openssl fipsinstall command. If the path to this file is incorrect no error will be reported. For Node.js this will mean that EntropySource will be called by V8 as part of its initalization process, and EntropySource will in turn call CheckEntropy. CheckEntropy will call RAND_status which will now always return 0 leading to an endless loop and the node process will appear to hang/freeze. I'll continue investigating the cause of this and see if this is expected behavior or not, but in the mean time it would be good to be able to workaround this issue with this commit. PR-URL: #38732 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Minwoo Jung <[email protected]> Refs: #38633 (review)
We don’t use C++17 as a baseline yet, but once we do, we can use `std::variant` to make a few things more performant (and cleaner). There is a similar TODO comment in the crypto source already. PR-URL: #38788 Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
The time zone output by toString() will change with user's language, use toLocaleString() to set the time zone. PR-URL: #38741 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Richard Lau <[email protected]>
The variables could be initialized to `0` to avoid the warnings from `-Wmaybe-uninitialized`. Fixes: #38718 PR-URL: #38722 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Minwoo Jung <[email protected]>
Added JSDoc typings for the `https` lib module. PR-URL: #38589 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Rich Trott <[email protected]>
Bug: #38568 Test: manual, - arm64-apple-darwin20.5.0 / Apple clang version 12.0.5 (clang-1205.0.22.9) - x86_64-pc-linux-gnu / Ubuntu clang version 13.0.0-++20210520052624+48780527dd68-1~exp1~20210520153429.417 Signed-off-by: Jesse Chan <[email protected]> PR-URL: #38751 Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Joyee Cheung <[email protected]>
Refs: https://coverage.nodejs.org/coverage-910efc2d9a69ac32/lib/internal/fs/utils.js.html#L634 PR-URL: #38746 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Khaidi Chu <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #38886 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
The new JS PromiseHooks introduced in the referenced PR are per v8::Context. This meant that code depending on them, such as AsyncLocalStorage, wouldn't behave correctly across vm.Context instances. PromiseHooks are now synchronized across the main Context and any Context created via vm.Context. Refs: #36394 Fixes: #38781 Signed-off-by: Bryan English <[email protected]> PR-URL: #38821 Reviewed-By: Stephen Belanger <[email protected]> Reviewed-By: Vladimir de Turckheim <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: Joyee Cheung <[email protected]>
danielleadams
force-pushed
the
v16.3.0-proposal
branch
from
June 2, 2021 17:45
ca7e0c6
to
e65a25c
Compare
This comment has been minimized.
This comment has been minimized.
This was referenced Jun 2, 2021
cc/ @nodejs/releasers |
BethGriggs
approved these changes
Jun 2, 2021
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.
Release commit LGTM
PR-URL: #38874
danielleadams
added a commit
to danielleadams/node
that referenced
this pull request
Jun 3, 2021
Notable changes: * cli: * add -C alias for --conditions flag (Guy Bedford) (nodejs#38755) * deps: * add workspaces support to npm install commands (Ruy Adorno) (nodejs#38750) PR-URL: nodejs#38874
danielleadams
added a commit
to nodejs/nodejs.org
that referenced
this pull request
Jun 3, 2021
danielleadams
added a commit
to nodejs/nodejs.org
that referenced
this pull request
Jun 3, 2021
targos
added
release
Issues and PRs related to Node.js releases.
and removed
build
Issues and PRs related to build files or the CI.
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.
npm
Issues and PRs related to the npm client dependency or the npm registry.
labels
Jun 6, 2021
aduh95
added a commit
to aduh95/node
that referenced
this pull request
Jun 12, 2021
nodejs-github-bot
pushed a commit
that referenced
this pull request
Jun 13, 2021
Refs: #38507 Refs: #38874 PR-URL: #39016 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Zijian Liu <[email protected]>
danielleadams
pushed a commit
that referenced
this pull request
Jun 13, 2021
Refs: #38507 Refs: #38874 PR-URL: #39016 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Zijian Liu <[email protected]>
danielleadams
pushed a commit
that referenced
this pull request
Jun 17, 2021
Refs: #38507 Refs: #38874 PR-URL: #39016 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Zijian Liu <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
2021-06-02, Version 16.3.0 (Current), @danielleadams
Notable Changes
Commits
4e58ec4aa6
] - benchmark: output JSON-compatible numbers (Michaël Zasso) #387787a9d0fd5a9
] - benchmark: fix http elapsed time (Antoine du Hamel) #38743a98d631905
] - bootstrap: include vm and contextify binding into the snapshot (Joyee Cheung) #38677f1628960e1
] - build: remove outdated dont-land-on-v6.x label (Michaël Zasso) #388866986154b30
] - build: work around bug in MSBuild v16.10.0 (Michaël Zasso) #3887324cca7c5ea
] - build: add lto build to CI (Jiawen Geng) #3856780c32b7a9a
] - build: allow LTO with Clang 3.9.1+ (Jesse Chan) #38751e9be2095cf
] - build: replace non-POSIX test -a|o (Issam E. Maghni) #38731717a8b63e1
] - child_process: retain reference to data with advanced serialization (Anna Henningsen) #38728bc8400122c
] - (SEMVER-MINOR) cli: add -C alias for --conditions flag (Guy Bedford) #38755eb7c932a6d
] - debugger: revise async iterator usage to comply with lint rules (Rich Trott) #38847f1000e0e52
] - debugger: removed unused function argument (Rich Trott) #38850ee1056da60
] - debugger: wait for V8 debugger to be enabled (Michaël Zasso) #3881147ad448def
] - deps: upgrade npm to 7.15.1 (npm-robot) #38880e8192b5e89
] - deps: upgrade npm to 7.14.0 (Ruy Adorno) #3875015aaf14690
] - deps: update llhttp to 6.0.2 (Fedor Indutny) #38665108ffdb68f
] - doc: fixed typo in n-api.md (julianjany) #38822131a6918dd
] - doc: use "Long Term Support" in collaborator guide (Rich Trott) #388414844337cd7
] - doc: use "Long Term Support" in technical values doc (Rich Trott) #38841f1e823b679
] - doc: use "Long Term Support" in README (Philip) #388394e11971a76
] - doc: fix grammar infs.md
(yotamselementor) #38818e2f28c80d1
] - doc: fixup code sample in http.md (TodorTotev) #3877696fa387082
] - doc: document null target pattern (Guy Bedford) #387245553be3f4e
] - doc: update code examples fornode:url
module (fisker Cheung) #386450c063a1258
] - doc,url: clarify domainTo* when built without ICU (Darshan Sen) #387892054efa02c
] - events: refactor to use primordials in lib/events (Akhil Marsonya) #381174884991a12
] - lib: include url in bootstrap snapshot and remove unnecessary lazy-loads (Joyee Cheung) #3882608ad2f6c18
] - lib: fix typos (bl-ue) #388467d3a8cb854
] - lib: remove unnecessary lazy loads (Joyee Cheung) #387375d9442a024
] - lib: load internal/fs/watchers and internal/fs/read_file_context early (Joyee Cheung) #387372268d1cf4c
] - lib: refactor to reuse validators (Rongjian Zhang) #38608496f7eae92
] - node-api: fix shutdown crashes (Michael Dawson) #38492e1195312b9
] - (SEMVER-MINOR) os: add os.devNull (Luigi Pinca) #385697ba305552f
] - src: set PromiseHooks by Environment (Bryan English) #3882174205b3542
] - src: replaceauto
s in node_api.cc (Khaidi Chu) #38852120849f609
] - src: cache necessary isolate & context in api/* (Khaidi Chu) #38366f25cd4f377
] - src: fix typos (bl-ue) #38845a1b0e64187
] - src: support fs_event_wrap binding in the snapshot (Joyee Cheung) #3873736d4a4331d
] - src: remove redundant v8 namespaces inenv.cc
(Juan José Arboleda) #387923e6b3b22c5
] - src: use SPrintF in ProcessEmitWarning (Darshan Sen) #387589ca5c0e29e
] - src: fix compiler warnings in node_buffer.cc (Darshan Sen) #387223741595289
] - src: set CONF_MFLAGS_DEFAULT_SECTION for OpenSSL 3 (Daniel Bevenius) #387324e3353223e
] - src: use HandleScope in StreamReq::Done() (Darshan Sen) #38720c576311954
] - src: remove commented code innode_file.cc
(Juan José Arboleda) #3869361c95f08b3
] - src: write named pipe info in diagnostic report (legendecas) #38637ba96f14233
] - src: remove unusediostream
library (Juan José Arboleda) #38694f5dd85bbe6
] - src: remove more extra semis from member fns (Shelley Vohr) #38744a47fd67154
] - src: replaceauto
s in node_contextify.cc (Khaidi Chu) #386449054d25acc
] - stream: add a non-destroying iterator to Readable (Nitzan Uziely) #385264131f94ca8
] - stream: allow empty string as source of pipeline (Qingyu Deng) #387230aa3cb5c0e
] - test: improve coverage of fs internal utils (Rongjian Zhang) #3874648ebebd2a8
] - test: remove unnecessary--pending-deprecation
flag (Antoine du Hamel) #388193c492baa51
] - test: fix writefile with fd (Nitzan Uziely) #38820e91d14c57c
] - test: simplify test-path-resolve.js (himself65) #386711f5baaa2e7
] - test: improve coverage forquestion
in readline (Qingyu Deng) #387996d86f8afd5
] - test: os, replace custom flatten method with built-in Array.flat (Wael Almattar) #38770c7a58578dc
] - test: set locale for datetime-change-notify test (ZiJian Liu) #38741695e982a42
] - test: improve coverage of lib/fs.js (Rongjian Zhang) #3860411ac9c6fcc
] - test: improve coverage of lib/_http_outgoing.js (Rongjian Zhang) #387346da4aa30c6
] - test: give js-native-api tests consistent names (Gabriel Schulhof) #38692929e8df1c0
] - test: improve coverage of stream.Readable (Rongjian Zhang) #3870236ffd58105
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #388516b8c712247
] - tools: bump cpplint to 1.5.5 (Rich Trott) #38851be8d934679
] - tools: remove exception for Node.js 8 and earlier (Rich Trott) #38840c0bde0cd4a
] - tools: update setup-node to setup-node@v2 (pengjie) #3882521ce3af904
] - tools: update ESLint to 7.27.0 (Luigi Pinca) #38764ab44106555
] - tools: use PrintCaughtException in the snapshot builder (Joyee Cheung) #3874530c0020885
] - typings: add JSDoc typings for https (Voltrex) #385897fb809b475
] - typings: add JSDoc typings for events (Voltrex) #387127773d58f1a
] - url: exit early when : delimiter is seen in hostname (Timothy Gu) #38742a2da9e254c
] - worker: use rwlock for sibling group (Anna Henningsen) #3878318f3ba3674
] - worker: leave TODO comments for using std::variant when possible (Anna Henningsen) #38788