Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-202020-10-20, Version 15.0.0 (Current)Beth Griggs
Notable changes: Deprecations and Removals: - **build**: remove --build-v8-with-gn configure option (Yang Guo) (https://github.com/nodejs/node/pull/27576) - **build**: drop support for VS2017 (Michaël Zasso) (https://github.com/nodejs/node/pull/33694) - **doc**: move DEP0018 to End-of-Life (Rich Trott) (https://github.com/nodejs/node/pull/35316) - **fs**: deprecation warning on recursive rmdir (Ian Sutherland) (https://github.com/nodejs/node/pull/35562) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **net**: remove long deprecated server.connections property (James M Snell) (https://github.com/nodejs/node/pull/33647) - **repl**: remove deprecated repl.memory function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated .rli (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **src**: remove deprecated node debug command (James M Snell) (https://github.com/nodejs/node/pull/33648) - **timers**: introduce timers/promises (James M Snell) (https://github.com/nodejs/node/pull/33950) - **util**: change default value of `maxStringLength` to 10000 (unknown) (https://github.com/nodejs/node/pull/32744) - **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) npm 7 (https://github.com/nodejs/node/pull/35631): Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes with many new features - including npm workspaces and a new package-lock.json format. npm 7 also includes yarn.lock file support. One of the big changes in npm 7 is that peer dependencies are now installed by default. Throw On Unhandled Rejections (https://github.com/nodejs/node/pull/33021): As of Node.js 15, the default mode for `unhandledRejection` is changed to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection` hook is not set, the `unhandledRejection` is raised as an uncaught exception. Users that have an `unhandledRejection` hook should see no change in behavior, and it’s still possible to switch modes using the `--unhandled-rejections=mode` process flag. QUIC (https://github.com/nodejs/node/pull/32379): Node.js 15 comes with experimental support QUIC, which can be enabled by compiling Node.js with the `--experimental-quic` configuration flag. The Node.js QUIC implementation is exposed by the core `net` module. V8 8.6 (https://github.com/nodejs/node/pull/35415): The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the latest available in Node.js 14). Along with performance tweaks and improvements the V8 update also brings the following language features: * `Promise.any()` (from V8 8.5) * `AggregateError` (from V8 8.5) * `String.prototype.replaceAll()` (from V8 8.5) * Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5) Other Notable Changes: - **assert**: add `assert/strict` alias module (ExE Boss) (https://github.com/nodejs/node/pull/34001) - **dns**: add dns/promises alias (shisama) (https://github.com/nodejs/node/pull/32953) - **fs**: reimplement read and write streams using stream.construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **http2**: allow Host in HTTP/2 requests (Alba Mendez) (https://github.com/nodejs/node/pull/34664) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **lib**: unflag AbortController (James M Snell) (https://github.com/nodejs/node/pull/33527) - **lib**: initial experimental AbortController implementation (James M Snell) (https://github.com/nodejs/node/pull/33527) - **net**: autoDestroy Socket (Robert Nagy) (https://github.com/nodejs/node/pull/31806) - **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) (https://github.com/nodejs/node/pull/33874) - **stream**: construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) Semver-Major Commits: - **assert**: add `assert/strict` alias module (ExE Boss) (https://github.com/nodejs/node/pull/34001) - **build**: reset embedder string to "-node.0" (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **build**: remove --build-v8-with-gn configure option (Yang Guo) (https://github.com/nodejs/node/pull/27576) - **build**: drop support for VS2017 (Michaël Zasso) (https://github.com/nodejs/node/pull/33694) - **crypto**: refactoring internals, add WebCrypto (James M Snell) (https://github.com/nodejs/node/pull/35093) - **crypto**: move node\_crypto files to src/crypto (James M Snell) (https://github.com/nodejs/node/pull/35093) - **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: fix V8 build issue with inline methods (Jiawen Geng) (https://github.com/nodejs/node/pull/35415) - **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: update V8 postmortem metadata script (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) - **deps**: update V8 to 8.6.395 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: upgrade npm to 7.0.0 (Myles Borins) (https://github.com/nodejs/node/pull/35631) - **deps**: update npm to 7.0.0-rc.3 (Myles Borins) (https://github.com/nodejs/node/pull/35474) - **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan) (https://github.com/nodejs/node/pull/33600) - **dns**: add dns/promises alias (shisama) (https://github.com/nodejs/node/pull/32953) - **doc**: move DEP0018 to End-of-Life (Rich Trott) (https://github.com/nodejs/node/pull/35316) - **doc**: update support macos version for 15.x (Ash Cripps) (https://github.com/nodejs/node/pull/35022) - **fs**: deprecation warning on recursive rmdir (Ian Sutherland) (https://github.com/nodejs/node/pull/35562) - **fs**: reimplement read and write streams using stream.construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **http**: fixed socket.setEncoding fatal error (iskore) (https://github.com/nodejs/node/pull/33405) - **http**: emit 'error' on aborted server request (Robert Nagy) (https://github.com/nodejs/node/pull/33172) - **http**: cleanup end argument handling (Robert Nagy) (https://github.com/nodejs/node/pull/31818) - **http2**: allow Host in HTTP/2 requests (Alba Mendez) (https://github.com/nodejs/node/pull/34664) - **http2**: add `invalidheaders` test (Pranshu Srivastava) (https://github.com/nodejs/node/pull/33161) - **http2**: refactor state code validation for the http2Stream class (rickyes) (https://github.com/nodejs/node/pull/33535) - **http2**: header field valid checks (Pranshu Srivastava) (https://github.com/nodejs/node/pull/33193) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **lib**: remove ERR\_INVALID\_OPT\_VALUE and ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko) (https://github.com/nodejs/node/pull/34682) - **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys Otrishko) (https://github.com/nodejs/node/pull/34022) - **lib**: remove NodeError from the prototype of errors with code (Michaël Zasso) (https://github.com/nodejs/node/pull/33857) - **lib**: unflag AbortController (James M Snell) (https://github.com/nodejs/node/pull/33527) - **lib**: initial experimental AbortController implementation (James M Snell) (https://github.com/nodejs/node/pull/33527) - **net**: check args in net.connect() and socket.connect() calls (Denys Otrishko) (https://github.com/nodejs/node/pull/34022) - **net**: remove long deprecated server.connections property (James M Snell) (https://github.com/nodejs/node/pull/33647) - **net**: autoDestroy Socket (Robert Nagy) (https://github.com/nodejs/node/pull/31806) - **process**: update v8 fast api calls usage (Maya Lekova) (https://github.com/nodejs/node/pull/35415) - **process**: change default --unhandled-rejections=throw (Dan Fabulich) (https://github.com/nodejs/node/pull/33021) - **process**: use v8 fast api calls for hrtime (Gus Caplan) (https://github.com/nodejs/node/pull/33600) - **process**: delay throwing an error using `throwDeprecation` (Ruben Bridgewater) (https://github.com/nodejs/node/pull/32312) - **repl**: remove deprecated repl.memory function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated .rli (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **src**: implement NodePlatform::PostJob (Clemens Backes) (https://github.com/nodejs/node/pull/35415) - **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **src**: error reporting on CPUUsage (Yash Ladha) (https://github.com/nodejs/node/pull/34762) - **src**: use node:moduleName as builtin module filename (Michaël Zasso) (https://github.com/nodejs/node/pull/35498) - **src**: enable wasm trap handler on windows (Gus Caplan) (https://github.com/nodejs/node/pull/35033) - **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso) (https://github.com/nodejs/node/pull/33579) - **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) (https://github.com/nodejs/node/pull/33874) - **src**: remove \_third\_party\_main support (Anna Henningsen) (https://github.com/nodejs/node/pull/33971) - **src**: remove deprecated node debug command (James M Snell) (https://github.com/nodejs/node/pull/33648) - **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen) (https://github.com/nodejs/node/pull/32859) - **stream**: try to wait for flush to complete before 'finish' (Robert Nagy) (https://github.com/nodejs/node/pull/34314) - **stream**: cleanup and fix Readable.wrap (Robert Nagy) (https://github.com/nodejs/node/pull/34204) - **stream**: add promises version to utility functions (rickyes) (https://github.com/nodejs/node/pull/33991) - **stream**: fix writable.end callback behavior (Robert Nagy) (https://github.com/nodejs/node/pull/34101) - **stream**: construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **stream**: write should throw on unknown encoding (Robert Nagy) (https://github.com/nodejs/node/pull/33075) - **stream**: fix \_final and 'prefinish' timing (Robert Nagy) (https://github.com/nodejs/node/pull/32780) - **stream**: simplify Transform stream implementation (Robert Nagy) (https://github.com/nodejs/node/pull/32763) - **stream**: use callback to properly propagate error (Robert Nagy) (https://github.com/nodejs/node/pull/29179) - **test**: update tests after increasing typed array size to 4GB (Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415) - **test**: fix tests for npm 7.0.0 (Myles Borins) (https://github.com/nodejs/node/pull/35631) - **test**: fix test suite to work with npm 7 (Myles Borins) (https://github.com/nodejs/node/pull/35474) - **test**: update WPT harness and tests (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **timers**: introduce timers/promises (James M Snell) (https://github.com/nodejs/node/pull/33950) - **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma) (https://github.com/nodejs/node/pull/35415) - **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma) (https://github.com/nodejs/node/pull/35415) - **url**: file URL path normalization (Daijiro Wachi) (https://github.com/nodejs/node/pull/35477) - **url**: verify domain is not empty after "ToASCII" (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **url**: remove U+0000 case in the fragment state (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **url**: remove gopher from special schemes (Michaël Zasso) (https://github.com/nodejs/node/pull/33325) - **url**: forbid lt and gt in url host code point (Yash Ladha) (https://github.com/nodejs/node/pull/33328) - **util**: change default value of `maxStringLength` to 10000 (unknown) (https://github.com/nodejs/node/pull/32744) - **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) - **win, child_process**: sanitize env variables (Bartosz Sosnowski) (https://github.com/nodejs/node/pull/35210) - **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **worker**: set trackUnmanagedFds to true by default (Anna Henningsen) (https://github.com/nodejs/node/pull/34394) - **worker**: rename error code to be more accurate (Anna Henningsen) (https://github.com/nodejs/node/pull/33872) PR-URL: https://github.com/nodejs/node/pull/35014
2020-10-04doc: fix typos in quic.mdLuigi Pinca
PR-URL: https://github.com/nodejs/node/pull/35444 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
2020-10-01doc: sort md references in ASCII orderAntoine du Hamel
Refs: https://github.com/nodejs/node/pull/35244 PR-URL: https://github.com/nodejs/node/pull/35191 Fixes: https://github.com/nodejs/node/issues/35189 Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-10-01doc: use .md extension for internal linksAntoine du Hamel
This helps catch broken links as part of the test suite. This also improves the user experience when browsing the markdown files. PR-URL: https://github.com/nodejs/node/pull/35191 Fixes: https://github.com/nodejs/node/issues/35189 Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-09-08doc: fix incorrectly marked Buffer in quic.mdRich Trott
Angle brackets are being used where curly brackets are intended. PR-URL: https://github.com/nodejs/node/pull/35075 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2020-08-28doc,quic: simplify "make use of" to "use" in quic.mdRich Trott
PR-URL: https://github.com/nodejs/node/pull/34861 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2020-08-17quic: use net.BlockList for limiting access to a QuicSocketJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34741 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-08-17quic: add natRebinding argument to docsJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34669 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-08-13doc: fix headings in quic.mdAnna Henningsen
PR-URL: https://github.com/nodejs/node/pull/34717 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-08-10quic: use the SocketAddressLRU to track validation statusJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34618 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-08-05doc: use _can_ to describe actions in quic.mdRich Trott
Per Microsoft style guide: > When ability is what you need to express, it's OK to use _can_ to > describe actions or tasks that the reader or program is able to do. > Use _might_ to express possibility. Don't use _may_, which might be > interpreted as providing permission. Refs: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/c/can-may Refs: https://github.com/nodejs/node/pull/34353#issuecomment-659169228 PR-URL: https://github.com/nodejs/node/pull/34613 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2020-08-05doc: use _can_ to describe actions in quic.mdRich Trott
Per Microsoft style guide: > When ability is what you need to express, it's OK to use _can_ to > describe actions or tasks that the reader or program is able to do. > Use _might_ to express possibility. Don't use _may_, which might be > interpreted as providing permission. Refs: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/c/can-may Refs: https://github.com/nodejs/node/pull/34353#issuecomment-659169228 PR-URL: https://github.com/nodejs/node/pull/34613 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2020-08-03quic: refactor clientHelloJames M Snell
Refactor the `'clientHello'` event into a `clientHelloHandler` configuration option and async function. Remove the addContext API as it's not needed. PR-URL: https://github.com/nodejs/node/pull/34541 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-07-27quic: refactor ocsp to use async function rather than event/callbackJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34498 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-23quic: use async _construct for QuicStreamJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34351 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-23quic: documentation updatesJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34351 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-23quic: extensive refactoring of QuicStream lifecycleJames M Snell
This one was a bit of a rabbit hole... but, with this set of changes, `QuicStream` should now work with autoDestroy, supports a promisified `close()`, and fixes a number of other internal bugs that were spotted trying to get it to work. PR-URL: https://github.com/nodejs/node/pull/34351 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-23quic: remove unneeded quicstream.aborted and fixup docsJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34351 Reviewed-By: Robert Nagy <ronagy@icloud.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-23doc: use sentence-case in quic.md headersRich Trott
For consistency with the rest of our docs and our style guide, use sentence-case rather than headline-case in the headers in quic.md. PR-URL: https://github.com/nodejs/node/pull/34453 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2020-07-16quic: fixup quic.mdJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: implement QuicSession close as promiseJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: use promisified dns lookupJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: eliminate "ready"/"not ready" states for QuicSessionJames M Snell
QuicClientSession and QuicServerSessions are now always immediately ready for use when they are created, so no more need to track ready state. PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: implement QuicSocket Promise API, part 2James M Snell
PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: implement QuicSocket Promise API, part 1James M Snell
PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: implement QuicEndpoint Promise APIJames M Snell
This is the start of a conversion over to a fully Promise-centric API for the QUIC implementation. PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: fix endpointClose error handling, documentJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: restrict addEndpoint to before QuicSocket bindJames M Snell
Restricting this to pre-bind keeps things simple PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: minor reduction in code duplicationJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-16quic: replace ipv6Only option with `'udp6-only'` typeJames M Snell
Since the `ipv6Only` option was mutually exclusive with using `'udp6'`, making it it's own type simplifies things a bit. PR-URL: https://github.com/nodejs/node/pull/34283 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-10quic: use Number instead of BigInt for more statsJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34262 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-10quic: use less specific error codesJames M Snell
Stop the madness. Only you can prevent excessive error code proliferation. PR-URL: https://github.com/nodejs/node/pull/34262 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-09quic: cleanup QuicSocketFlags, used shared state structJames M Snell
Some of the flags were no longer being used. Switched to use an AliasedStruct for shared state to avoid extraneous expensive JS=>C++ calls. Removed unused QuicSocket option PR-URL: https://github.com/nodejs/node/pull/34247 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-09quic: use Number() instead of bigint for QuicSocket statsJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34247 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-09quic: refactor/improve/document QuicSocket listening eventJames M Snell
PR-URL: https://github.com/nodejs/node/pull/34247 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-09quic: refactor/improve error handling for busy eventJames M Snell
Also, change setServerBusy into a setter PR-URL: https://github.com/nodejs/node/pull/34247 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-09quic: handle errors thrown / rejections in the session eventJames M Snell
Errors thrown within the session event handler will be handled by destroying the session (allowing a proper connection close to be sent to the client peer). They will not crash the parent QuicSocket by default. Instead, a `'sessionError'` event will be emitted, allowing the error to be logged or handled. PR-URL: https://github.com/nodejs/node/pull/34247 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-07-06quic: refactor qlog handlingJames M Snell
Because of the timing of qlog events emitted by ngtcp2, it becomes difficult to handle those as events on the QuicSession object because the final qlog entry is not emitted until the ngtcp2_conn is freed, which can occur when the object is being garbage collected (meaning, we a: can't call out to javascript and b: don't have an object we can use to emit the event). This refactors it into a QLogStream object that allows the qlog data to be piped out using a separate Readable stream. PR-URL: https://github.com/nodejs/node/pull/34160 Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-06-24quic: updates to implement for h3-29James M Snell
PR-URL: https://github.com/nodejs/node/pull/34033 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-06-23doc: use a single space between sentencesRich Trott
We mostly have a single space between the punctuation that ends a sentence and the start of the next sentence. Change instances with two spaces to one. PR-URL: https://github.com/nodejs/node/pull/33995 Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2020-06-22quic: refactor and improve ipv6OnlyJames M Snell
Ignore `ipv6Only: true` when binding to `'udp4'` (this differs from dgram which will still attempt to apply the flag and will fail during bind). Improve the test so that it should work consistently. Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/33935 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2020-06-16quic: initial QUIC implementationJames M Snell
Co-authored-by: Anna Henningsen <anna@addaleax.net> Co-authored-by: Daniel Bevenius <daniel.bevenius@gmail.com> Co-authored-by: gengjiawen <technicalcute@gmail.com> Co-authored-by: James M Snell <jasnell@gmail.com> Co-authored-by: Lucas Pardue <lucaspardue.24.7@gmail.com> Co-authored-by: Ouyang Yadong <oyydoibh@gmail.com> Co-authored-by: Juan Jos<C3><A9> Arboleda <soyjuanarbol@gmail.com> Co-authored-by: Trivikram Kamat <trivikr.dev@gmail.com> Co-authored-by: Denys Otrishko <shishugi@gmail.com> PR-URL: https://github.com/nodejs/node/pull/32379 Reviewed-By: Anna Henningsen <anna@addaleax.net>