-
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
v12.20.0 proposal #35950
v12.20.0 proposal #35950
Conversation
Review requested:
|
8227fbc
to
21e1b62
Compare
@MylesBorins can #35818 be included? |
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
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.
I'm assuming this may be updated as it looks like there are a few additional commits to be pulled in, but just so it's not missed, the PR-URL
is still TODO
21e1b62
to
288f50a
Compare
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>
This is a workaround for the REPL for a problem when multiple of the entries have the same source text Fixes: #1337 Refs: https://bugs.chromium.org/p/v8/issues/detail?id=10284 PR-URL: #34372 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
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
288f50a
to
d84392f
Compare
I've updated the commit to include the PR-URL
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
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
2020-11-24, Version 12.20.0 'Erbium' (LTS), @MylesBorins
Notable Changes
crypto: update certdata to NSS 3.56 #35546
deps: update llhttp to 2.1.3 #35435
deps: upgrade to libuv 1.40.0 #35333
doc: add aduh95 to collaborators #35542
fs: add .ref() and .unref() methods to the StatWatcher and FSWatcher #33134
http: added scheduling option to http agent #33278
module: exports patterns #34718
module: CJS exports detection for all CJS modules #35249
n-api: add more property defaults #35214
src: move node_contextify to modern THROW_ERR_* #35470
src: move node_process to modern THROW_ERR* #35472
src: expose v8::Isolate setup callbacks #35512
Commits
c6eb0b62d9
] - benchmark: ignore build artifacts for napi addons (Richard Lau) #35970f3a045720c
] - build: fuzzer that targets node::LoadEnvironment() (davkor) #3484448bc3fcd4c
] - build: improved release lint error message (Shelley Vohr) #355232e766a6adf
] - console: add Symbol.toStringTag property (Leko) #3539990244362cc
] - crypto: fix KeyObject garbage collection (Anna Henningsen) #3548142f64eba89
] - crypto: update certdata to NSS 3.56 (Shelley Vohr) #35546a6f58c0888
] - crypto: set env values in KeyObject Deserialize method (ThakurKarthik) #354166539cf2725
] - deps: upgrade to cjs-module-lexer@1.0.0 (Guy Bedford) #35928bdcc77bdf4
] - deps: update to cjs-module-lexer@0.5.2 (Guy Bedford) #359015b8d3c74e8
] - deps: upgrade to cjs-module-lexer@0.5.0 (Guy Bedford) #35871d7f0e3e5f0
] - deps: update to cjs-module-lexer@0.4.3 (Guy Bedford) #357450a1474d9df
] - deps: update llhttp to 2.1.3 (Fedor Indutny) #35435cf07a8695a
] - deps: upgrade to libuv 1.40.0 (Colin Ihrig) #35333cc11464b4e
] - deps: upgrade to c-ares v1.16.1 (Shelley Vohr) #353245405e62eaf
] - deps: update to uvwasi 0.0.11 (Colin Ihrig) #3510444c739cc49
] - deps: V8: cherry-pick 6be2f6e26e8d (Benjamin Coe) #35055b78a1a186f
] - doc: update releaser in v12.18.4 changelog (Beth Griggs) #352171cd1d0159d
] - doc: move package.import content higher (Myles Borins) #3553579f3c323f6
] - doc: fix broken links in modules.md (Rich Trott) #35182b4941cfaec
] - doc: make minor improvements to module.md (Rich Trott) #350837dc3b74c34
] - doc: add ESM examples inmodule
API doc page (Antoine du HAMEL) #34875f0b06b64ff
] - doc: move module core module doc to separate page (Antoine du HAMEL) #3474777555d8500
] - doc: put landing specifics in details tag (Rich Trott) #35296b50b34b30e
] - doc: put release script specifics in details (Myles Borins) #352601a8f3a844e
] - doc: copyedit esm.md (Rich Trott) #35414d99120040c
] - doc: error code fix in resolver spec (Guy Bedford) #34998df52814113
] - doc: document Buffer.concat may use internal pool (Andrey Pechkurov) #3554142a587f9ba
] - doc: use test username instead of real (Pooja D.P) #35611bfff4fc3c9
] - doc: revise description of process.ppid (Pooja D.P) #35589a9ac75480f
] - doc: add symlink information for process.execpath (Pooja D.P) #355905fea51b66c
] - doc: add PoojaDurgad as a triager (Pooja D.P) #35153a0b541c3e0
] - doc: use kbd element in process doc (Rich Trott) #35584992355cdf9
] - doc: simplify wording in tracing APIs doc (Pooja D.P) #3555605db4b8343
] - doc: improve SIGINT error text (Rich Trott) #3555842c479572c
] - doc: use sentence case for class property (Rich Trott) #35540fb9bb05ee2
] - doc: fix util.inspect change history (Antoine du Hamel) #355286952c45202
] - doc: add aduh95 to collaborators (Antoine du Hamel) #35542b5f752528b
] - doc: update AUTHORS list (Anna Henningsen) #35280370f8e3afd
] - doc: update sxa's email address to Red Hat from IBM (Stewart X Addison) #35442edf3fbbd14
] - doc: update contact information for @BethGriggs (Beth Griggs) #354518be289e58c
] - doc: update contact information for richardlau (Richard Lau) #3545042c0dfcc23
] - doc: importable node protocol URLs (Bradley Meck) #35434c192af66e7
] - doc: unhide resolver spec (Guy Bedford) #35358b0e43c718c
] - doc: add gpg key export directions to releases doc (Danielle Adams) #35298884755f1e5
] - doc: simplify circular dependencies text in modules.md (Rich Trott) #3512685c47d753c
] - doc: avoid double-while sentence in perf_hooks.md (Rich Trott) #3507868c5ee45a2
] - doc: update fs promise-based examples (Richard Lau) #3576066f8730441
] - doc: add history entry for exports patterns (Antoine du Hamel) #35410a7e66b635d
] - doc: fix conditional exports flag removal version (Antoine du Hamel) #354289197a6651d
] - doc: copyedit packages.md (Rich Trott) #35427f507ca9e21
] - doc: packages docs feedback (Guy Bedford) #353705330930128
] - doc: refine require/import conditions constraints (Guy Bedford) #353115f0b1571a7
] - doc: edit subpath export patterns introduction (Rich Trott) #35254d6a13a947e
] - doc: document support for package.json fields (Antoine du HAMEL) #349707c1700e143
] - doc: move package config docs to separate page (Antoine du HAMEL) #347487510667d87
] - doc: rename module pages (Antoine du HAMEL) #34663b644ab6ae6
] - doc: fix line length in worker_threads.md (Jucke) #34419fb9b66bdd7
] - doc: fix typos in n-api, tls and worker_threads (Jucke) #344191f34230373
] - doc,esm: document experimental warning removal (Antoine du Hamel) #35750985b96a7d5
] - doc,esm: add history support info (Antoine du Hamel) #35395548137f4ec
] - errors: simplify ERR_REQUIRE_ESM message generation (Rich Trott) #35123f22672de18
] - errors: improve ERR_INVALID_OPT_VALUE error (Denys Otrishko) #346717a98961a26
] - esm: fix hook mistypes and links to types (Derek Lewis) #342400f757bc2df
] - esm: use "node:" namespace for builtins (Guy Bedford) #35387b48473228c
] - events: assume an EventEmitter if emitter.on is a function (Luigi Pinca) #3581819d711391e
] - fs: simplify realpathSync (himself65) #35413decfc2ae5c
] - fs: add .ref() and .unref() methods to watcher classes (rickyes) #33134cce464513e
] - http: added scheduling option to http agent (delvedor) #33278d477e2e147
] - http: only set keep-alive when not exists (atian25@qq.com) #35138f10d721737
] - http: reset headers timeout on headers complete (Robert Nagy) #34578c8a778985b
] - http2: avoid unnecessary buffer resize (Denys Otrishko) #34480b732c92e3d
] - http2: use and support non-empty DATA frame with END_STREAM flag (Carlos Lopez) #33875bfce0eb13a
] - Revert "http2: streamline OnStreamRead streamline memory accounting" (Rich Trott) #34315e85ca7af43
] - http2: wait for session socket writable end on close/destroy (Denys Otrishko) #308542471197099
] - http2: wait for session to finish writing before destroy (Denys Otrishko) #3085482af8acc8e
] - http2,doc: minor fixes (Alba Mendez) #28044a3e8829d4a
] - inspector: do not hardcode Debugger.CallFrameId in tests (Dmitry Gozman) #355706efa140f8f
] - lib: change http client path assignment (Yohanan Baruchel) #35508ad7281b081
] - lib: use remaining typed arrays from primordials (Michaël Zasso) #35499a9a606f06b
] - lib: use full URL to GitHub issues in comments (Rich Trott) #34686ea239392c2
] - module: cjs-module-lexer@0.4.1 big endian fix (Guy Bedford) #35634354f358c1b
] - module: use Wasm CJS lexer when available (Guy Bedford) #3558376f76017bf
] - module: fix builtin reexport tracing (Guy Bedford) #35500992af4e112
] - module: fix specifier resolution option value (himself65) #350981ff956f49e
] - module: remove experimental modules warning (Guy Bedford) #3197441af927efb
] - module: exports pattern support (Guy Bedford) #34718a18d0df33a
] - module: update to cjs-module-lexer@0.4.0 (Guy Bedford) #355016ca8fb552d
] - module: refine module type mismatch error cases (Guy Bedford) #354269eb1fa1924
] - module: named exports for CJS via static analysis (Guy Bedford) #35249a93ca2d494
] - n-api: revert change to finalization (Michael Dawson) #357775faaa603d8
] - n-api: support for object freeze/seal (Shelley Vohr) #35359d938e8508b
] - n-api: add more property defaults (Gerhard Stoebich) #3521418f01ddcb5
] - repl: improve static import error message in repl (Myles Borins) #3358870768ce109
] - repl: give repl entries unique names (Bradley Meck) #34372e9bee3950c
] - src: move node_contextify to modern THROW_ERR_* (James M Snell) #35470b741f2ff84
] - src: move node_process to modern THROW_ERR* (James M Snell) #354722d5393bb28
] - src: fix freeing unintialized pointer bug in ParseSoaReply (Aastha Gupta) #35502dec004f742
] - src: expose v8::Isolate setup callbacks (Shelley Vohr) #355127f8834f76c
] - src: more idiomatic error pattern in node_wasi (James M Snell) #35493ade27b732b
] - src: use env->ThrowUVException in pipe_wrap (James M Snell) #35493e70b05208f
] - src: remove invalid ToLocalChecked in EmitBeforeExit (Anna Henningsen) #35484cd80195524
] - src: make MakeCallback() check can_call_into_js before getting method (Anna Henningsen) #354248a1091648c
] - stream: destroy wrapped streams on error (Robert Nagy) #34102fdc67ebf5f
] - test: replace annonymous functions with arrow (Pooja D.P) #34921c3e1bf78c4
] - test: add wasi readdir() test (Colin Ihrig) #35202607f3c5d84
] - test: fix comment about DNS lookup test (Tobias Nießen) #3508002787ce5d1
] - test: add ALPNProtocols option to clientOptions (Luigi Pinca) #3548212d76b8e8e
] - tls: reset secureConnecting on client socket (David Halls) #33209adf4f90bce
] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #355691173efca27
] - tools: bump cpplint.py to 1.4.6 (Rich Trott) #3556909552670fe
] - tools: add missing uv_setup_argv() calls (Anna Henningsen) #35491ae149232a1
] - tools: exclude gyp from markdown link checker (Michaël Zasso) #35423a9ce9b2614
] - tools: update ESLint to 7.10.0 (Colin Ihrig) #35366bc7da0c22c
] - tools: ignore build folder when checking links (Ash Cripps) #35315f29717437f
] - tools,doc: enforce alphabetical order for md refs (Antoine du Hamel) #3524411b10d7d1f
] - tools,doc: upgrade dependencies (Antoine du Hamel) #35244