v12.20.0 proposal by MylesBorins · Pull Request #35950 · nodejs/node
added
build
v12.x labels
Nov 3, 2020
panva
mentioned this pull request
4 tasks
This slightly alters the behaviour of session close by first using .end() on a session socket to finish writing the data and only then calls .destroy() to make sure the Readable side is closed. This allows the socket to finish transmitting data, receive proper FIN packet and avoid ECONNRESET errors upon graceful close. onStreamClose now directly calls stream.destroy() instead of kMaybeDestroy because the latter will first check that the stream has writableFinished set. And that may not be true as we have just (synchronously) called .end() on the stream if it was not closed and that doesn't give it enough time to finish. Furthermore there is no point in waiting for 'finish' as the other party have already closed the stream and we won't be able to write anyway. This also changes a few tests to correctly handle graceful session close. This includes: * not reading request data (on client side) * not reading push stream data (on client side) * relying on socket.destroy() (on client) to finish server session due to the destroy of the socket without closing the server session. As the goaway itself is *not* a session close. Added few 'close' event mustCall checks. Backport-PR-URL: #34845 PR-URL: #30854 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Some small fixes on HTTP/2 and its documentation: - Add a note that, on server streams, it's not necessary to start data flow. - Set EOF flag if we have marked all data for sending: there's no need to wait until the queue is actually empty (and send a separate, empty DATA). (Note that, even with this change, a separate DATA frame will always be sent, because the streams layer waits until data has been flushed before dispatching EOF) Backport-PR-URL: #34845 PR-URL: #28044 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Adds support for reading from a stream where the final frame is a non-empty DATA frame with the END_STREAM flag set, instead of hanging waiting for another frame. When writing to a stream, uses a END_STREAM flag on final DATA frame instead of adding an empty DATA frame. BREAKING: http2 client now expects servers to properly support END_STREAM flag Fixes: #31309 Fixes: #33891 Refs: https://nghttp2.org/documentation/types.html#c.nghttp2_on_data_chunk_recv_callback Backport-PR-URL: #34845 PR-URL: #33875 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
headers timeout should not occur *after* headers have been received. Fixes: #35661 PR-URL: #34578 Backport-PR-URL: #35819 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Pranshu Srivastava <rexagod@gmail.com> (cherry picked from commit da4d8de)
PR-URL: #34419 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
PR-URL: #34419 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
The `module` core module is available for both CJS and ESM users, it deserves its own page. PR-URL: #34747 Refs: nodejs/modules#539 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #34875 Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Guy Bedford <guybedford@gmail.com>
* sort references in ASCII order * replace abbreviation * split comma splice into two sentences and add appropriate punctuation * replace future tense with present tense PR-URL: #35083 Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
PR-URL: #35182 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is> Reviewed-By: Zeyu Yang <himself65@outlook.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This is currently at the end of the doc, it likely should be found right after the documentation about `package.exports`. Refactored the docs while duplicating content as little as possible. Co-authored-by: Guy Bedford <guybedford@gmail.com> Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> Co-authored-by: Rich Trott <rtrott@gmail.com> Signed-off-by: Myles Borins <mylesborins@github.com> PR-URL: #35535 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
These objects don’t hold any resources on the event loop, so they should be weak objects that can be garbage collected when nothing refers to them anymore. PR-URL: #35481 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
PR-URL: #35217 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
Add `.gitignore` to ignore the `build` directory in a similar way to the other addons under `benchmark/napi`. PR-URL: #35970 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>
Assume that the `emitter` argument of `EventEmitter.once()` is an `EventEmitter` if `emitter.on` is a function. Refs: 4b3654e923e7c3c2 Refs: websockets/ws#1795 PR-URL: #35818 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Notable changes: crypto: * update certdata to NSS 3.56 (Shelley Vohr) #35546 deps: * update llhttp to 2.1.3 (Fedor Indutny) #35435 * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) #35333 doc: * add aduh95 to collaborators (Antoine du Hamel) #35542 fs: * (SEMVER-MINOR) add .ref() and .unref() methods to watcher classes (rickyes) #33134 http: * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278 module: * (SEMVER-MINOR) exports pattern support (Guy Bedford) #34718 * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) #35249 n-api: * (SEMVER-MINOR) add more property defaults (Gerhard Stoebich) #35214 src: * (SEMVER-MINOR) move node_contextify to modern THROW_ERR_* (James M Snell) #35470 * (SEMVER-MINOR) move node_process to modern THROW_ERR* (James M Snell) #35472 * (SEMVER-MINOR) expose v8::Isolate setup callbacks (Shelley Vohr) #35512 PR-URL: #35950
MylesBorins added a commit that referenced this pull request
Nov 24, 2020Notable changes: crypto: * update certdata to NSS 3.56 (Shelley Vohr) #35546 deps: * update llhttp to 2.1.3 (Fedor Indutny) #35435 * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) #35333 doc: * add aduh95 to collaborators (Antoine du Hamel) #35542 fs: * (SEMVER-MINOR) add .ref() and .unref() methods to watcher classes (rickyes) #33134 http: * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278 module: * (SEMVER-MINOR) exports pattern support (Guy Bedford) #34718 * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) #35249 n-api: * (SEMVER-MINOR) add more property defaults (Gerhard Stoebich) #35214 src: * (SEMVER-MINOR) move node_contextify to modern THROW_ERR_* (James M Snell) #35470 * (SEMVER-MINOR) move node_process to modern THROW_ERR* (James M Snell) #35472 * (SEMVER-MINOR) expose v8::Isolate setup callbacks (Shelley Vohr) #35512 PR-URL: #35950
MylesBorins added a commit that referenced this pull request
Nov 24, 2020Notable changes: crypto: * update certdata to NSS 3.56 (Shelley Vohr) #35546 deps: * update llhttp to 2.1.3 (Fedor Indutny) #35435 * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) #35333 doc: * add aduh95 to collaborators (Antoine du Hamel) #35542 fs: * (SEMVER-MINOR) add .ref() and .unref() methods to watcher classes (rickyes) #33134 http: * (SEMVER-MINOR) added scheduling option to http agent (delvedor) #33278 module: * (SEMVER-MINOR) exports pattern support (Guy Bedford) #34718 * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) #35249 n-api: * (SEMVER-MINOR) add more property defaults (Gerhard Stoebich) #35214 src: * (SEMVER-MINOR) move node_contextify to modern THROW_ERR_* (James M Snell) #35470 * (SEMVER-MINOR) move node_process to modern THROW_ERR* (James M Snell) #35472 * (SEMVER-MINOR) expose v8::Isolate setup callbacks (Shelley Vohr) #35512 PR-URL: #35950
targos
deleted the
v12.20.0-proposal
branch
and removed build
Issues and PRs related to build files or the CI. Issues and PRs related to the c-ares dependency or the cares_wrap binding. Issues and PRs related to the documentations. Issues and PRs related to the libuv dependency or the uv binding. Issues and PRs related to the general management of the project. Issues and PRs related to the tools directory.labels
Jun 6, 2021This file contains hidden or 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