-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
v8.1.1 proposal #13598
v8.1.1 proposal #13598
Conversation
PR-URL: #13483
Incorporate note into main text. PR-URL: #13420 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Include a high-level explanation of how Collaborators are identified for Emeritus status. This is intended to supply the minimum amount of information to being assigning Emeritus status to inactive Collaborators. The documentation may be expanded subsequently. PR-URL: #13421 Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Put information about Collaborators in GOVERNANCE.md before information about the CTC. For most things, the CTC is the last place to go, not the first and Collaborators have a lot of decision-making power in the project. The governance doc should reflect that. PR-URL: #13423 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
Use `common.mustNotCall()` to confirm that callback is not invoked when `dns.lookup()` throws. PR-URL: #13456 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
* Check that noop callback is or isn't invoked as appropriate using common.mustCall() and common.mustNotCall() * Fix typo in array literal PR-URL: #13480 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
The most common way to perfom this check is by using the simple CHECK macro. This commit suggest making this consistent in favour of the most commonly used. PR-URL: #13473 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
Ref: #12789 Ref: #12790 PR-URL: #13534 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Make sure that `hook.enable()` and `hook.disable()` return `hook` consistently, as the documentation indicates. PR-URL: #13418 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Andreas Madsen <amwebdk@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
* Use `common.mustNotCall()` in place of `common.noop` where appropriate * Increase specificity of regular expressions (that is, make them match the whole error string rather than part of the error string) in `assert.throws()` calls PR-URL: #13501 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Re-use the `init` function wherever possible, and move `try { … } catch` blocks that result in fatal errors to a larger scope. Also make the argument order for `init()` consistent in the codebase. PR-URL: #13419 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Andreas Madsen <amwebdk@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
The indentation in one of the if statements blocks is four spaces instead of two. This commit changes the indentation to two spaces. PR-URL: #13543 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
PR-URL: #13459 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: #13459 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
We did not have test coverage for using a napi_value pointing to a string or symbol for the name when creating a property. Add that coverage. PR-URL: #13510 Reviewed-By: Jason Ginchereau <jasongin@microsoft.com>
Add `common.hijackStdout` and `common.hijackStderr` to provide monitor for console output. PR-URL: #13439 Reviewed-By: Refael Ackermann <refack@gmail.com>
Make the same reliability changes that were applied to the https test in ce5745b. Refs: #13312 PR-URL: #13448 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
This commit regains test coverage for EventEmitter#once() with four or more arguments. To avoid similar regressions in the future, once() is called with enough arguments to cover all of the separate code paths. PR-URL: #13524 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
With the new Ignition+TurboFan pipeline, the instanceof fast-path can be missed if the right-hand side needs a TDZ check, i.e. is const declared on a surrounding scope. This doesn't apply to Node 8 at this point, where it's at V8 5.8, but it applies as soon as V8 5.9 rolls. There's work going on in Ignition (and TurboFan) to optimize those TDZ checks properly, but those changes will land in V8 6.1, so might not end up in Node 8. One way to work-around this in Node core for now is to use var instead of const for those right-hand sides for instanceof for now, especially Buffer in case of streams. This is not beautiful, but proper ducktape. Improves readable-bigread.js by ~23% with Node LKGR. PR-URL: #13403 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Calvin Metcalf <calvin.metcalf@gmail.com>
This converts the initial implementation of a promised exec that used the customPromisifyArgs support in util.promisify with a custom implementation. This is because exec and execFile, when there is an error, still supply the stdout and stderr of the process, and yet the promisified version with customPromisifyArgs does not supply this ability. I created a custom implementation and attached it to exec and execFile using the util.promisify.custom key. Fixes: #13364 PR-URL: #13388 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
PR-URL: #13327 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Add error listener to ignore `ECONNRESET`. Makes test reliable while it still segfaults (as expected) on Node.js 7.7.3. It might not be possible to eliminate the probable race causing `ECONNRESET` without also eliminating the required segfault-inducing part of the test. (Or maybe it's totally possible. If you figure it out, hey cool, submit a pull request.) PR-URL: #13529 Fixes: #13184 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit allows self signed certificates to work with unix sockets by forwarding the rejectUnauthorized option. Fixes: #13470 PR-URL: #13505 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
* Take RegExp creation out of cycles. * Use test(), not match() in boolean context. * Remove redundant RegExp parts. PR-URL: #13536 Reviewed-By: Anna Henningsen <anna@addaleax.net>
Fresh CI: https://ci.nodejs.org/job/node-test-commit/10513/ |
I find https://ci.nodejs.org/job/node-test-commit-linux/10525/nodes=ubuntu1604_docker_alpine34-64/console a bit worrying… I’ve definitely seen this error before, it might just be flaky, but I don’t think anything should segfault (also, I’m not sure whether it’s I don’t see anything in the proposal here that seems like it would cause these kinds of problems. /cc @nodejs/build @nodejs/testing @nodejs/docker Any ideas? Is there any chance to get the core dump? (The rest of the CI/CITGM runs seems okay so far.) |
Okay, I think I have enough of an idea of what’s going on with the cctest to say it’s not worth holding up the release over, it’s something like the situation that was fixed by d5db4d2. (edit: and from reading valgrind’s complaints it doesn’t seem to be anything that wasn’t already there in the previous v8.x releases) There’s also #13636, which seems unrelated to the problem that showed up in CI. I think this release is good to go, up to maybe waiting for #13549 to land. |
e90ad78
to
c7f35e2
Compare
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
@nodejs/release I’d say this can be released once any of you have the time to do so. :) If #13549 lands by then, or if you feel comfortable landing it yourself, great, include it; otherwise, it might just need to wait for the next release. In any case, I don’t think there’s much more that I can do to prepare this. |
#13549 has landed on master. |
@addaleax ... thank you for putting this together. If you're interested I can get you nominated as a releaser. |
Fix the logic of resetting the socket timeout of keep-alive HTTP connections and add two tests: * `test-http-server-keep-alive-timeout-slow-server` is a regression test for GH-13391. It ensures that the server-side keep-alive timeout will not fire during processing of a request. * `test-http-server-keep-alive-timeout-slow-client-headers` ensures that the regular socket timeout is restored as soon as a client starts sending a new request, not as soon as the whole message is received, so that the keep-alive timeout will not fire while, e.g., the client is sending large cookies. Refs: #2534 Fixes: #13391 PR-URL: #13549 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
c7f35e2
to
3e1492a
Compare
I cherry-pick #13549 to v8.x-staging and updated the release. ci: https://ci.nodejs.org/job/node-test-pull-request/8622/ |
/cc @nodejs/platform-aix it looks like all modules are failing! Aside from aix there are still 20 failures, while it doesn't look like much of a difference from v8.1.0, we should be digging into what is going on with them... this is substantially higher than v6.x |
That looks more like (another) problem for @nodejs/build … (thanks for all the work you are doing!).
Eeeh… I’ll think about it. I don’t mind helping prepare stuff even if I’m not one. ;) I think all the CI failures from Myles’s run are known failures right now; I’ve started another one on v8.x for comparison: https://ci.nodejs.org/job/node-test-commit/10531/ As I’ve said, I think this is ready if any release has the time to push the right buttons. :) |
The error was: EACCES: permission denied, mkdir ‘/ramdisk0/citgm’ Looks like the machines were restarted, so they needed to have the citgm directories recreated and chowned to mkdir /ramdisk0/citgm
chown iojs /ramdisk0/citgm I've done that now, so rerunning CitGM: https://ci.nodejs.org/job/citgm-smoker/873/ |
@gibfahn Looks like this still doesn’t work, but you seem to have “upgraded” the error to |
😞 Okay, let's try again: https://ci.nodejs.org/job/citgm-smoker/874/ EDIT: Success! Answer was to rerun all the commands from nodejs/build#661 (comment). I guess that has to be done on every reboot. |
Ok. I'll take the todo to generate the release artifacts later on this afternoon unless any of the other releasers beat me to it. Thank you @addaleax |
I think #13570 may be included. |
Release build started: https://ci-release.nodejs.org/job/iojs+release/1760/ (not everyone will be able to see this link) |
PR-URL: #13598
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
@nodejs/release I’ve never done this before, so, uh, please take a good look. Also, obviously one of you will need to do the actual release.
2017-06-13, Version 8.1.1 (Current), @addaleax
Notable changes
Child processes
stdout
andstderr
are now available on the error output of afailed call to the
util.promisify()
ed version ofchild_process.exec
.[
d66d4fc94c
]#13388
HTTP
with the
cluster
module has been fixed.[
fff8a56d6f
]#13578
HTTPS
rejectUnauthorized
option now works properly for unix sockets.[
c4cbd99d37
]#13505
Readline
npm init
and other code which usesreadline
multiple times on the same input stream is reverted.
[
0df6c0b5f0
]#13560
Commits
61c73085ba
] - async_hooks: minor refactor to callback invocation (Anna Henningsen) #13419bf61d97742
] - async_hooks: make sure.{en|dis}able() === this
(Anna Henningsen) #1341832c87ac6f3
] - benchmark: fix some RegExp nits (Vse Mozhet Byt) #13551b967b4cbc5
] - build: merge test suite groups (Refael Ackermann) #1337800d2f7c818
] - build,windows: check for VS version and arch (Refael Ackermann) #13485d66d4fc94c
] - child_process: promisify includes stdio in error (Gil Tayar) #133880ca4bd1e18
] - child_process: reduce nextTick() usage (Brian White) #13459d1fa59fbb7
] - child_process: simplify send() result handling (Brian White) #13459d51b1c2e6f
] - cluster, dns, repl, tls, util: fix RegExp nits (Vse Mozhet Byt) #1353668c0518e48
] - doc: fix links and typos in fs.md (Vse Mozhet Byt) #1357370432f2111
] - doc: fix incorrect fs.utimes() link (Justin Beckwith) #1360826d76307d5
] - doc: fs constants for Node < v6.3.0 in fs.md (Anshul Guleria) #1269052f5e3f804
] - doc: use HTTPS URL for suggested upstream remote (Nikolai Vavilov) #136022c1133d5fe
] - doc: add readline.emitKeypressEvents note (Samuel Reed) #944753ec50d971
] - doc: fix napi_create_*_error signatures in n-api (Jamen Marzonie) #1354498d7f25181
] - doc: fix out of date sections in n-api doc (Michael Dawson) #1350885cac4ed53
] - doc: update new CTC members (Refael Ackermann) #135348c5407d321
] - doc: corrects reference to tlsClientError (Tarun) #135333d12e1b455
] - doc: emphasize Collaborators in GOVERNANCE.md (Rich Trott) #13423a9be8fff58
] - doc: minimal documentation for Emeritus status (Rich Trott) #134212778256680
] - doc: remove note highlighting in GOVERNANCE doc (Rich Trott) #13420fff8a56d6f
] - http: handle cases where socket.server is null (Luigi Pinca) #13578c4cbd99d37
] - https: support rejectUnauthorized for unix sockets (cjihrig) #135056a696d15ff
] - inspector: fix crash on exception (Nikolai Vavilov) #1345550e1f931a9
] - profiler: declare missingprintErr
(Fedor Indutny) #135900df6c0b5f0
] - Revert "readline: clean up event listener in onNewListener" (Anna Henningsen) #13560a5f415fe83
] - src: mergefn_name
in NODE_SET_PROTOTYPE_METHOD (XadillaX) #135474a96ed4896
] - src: check whether inspector is doing io (Sam Roberts) #13504f134c9d147
] - src: correct indentation for X509ToObject (Daniel Bevenius) #13543dd158b096f
] - src: make IsConstructCall checks consistent (Daniel Bevenius) #13473bf065344cf
] - stream: ensure that instanceof fast-path is hit. (Benedikt Meurer) #13403e713482147
] - test: fix typo in test-cli-node-options.js (Vse Mozhet Byt) #135584c5457fae5
] - test: fix flaky test-http-client-get-url (Sebastian Plesciuc) #13516812e0b0fbf
] - test: refactor async-hooks test-callback-error (Rich Trott) #135542ea529b797
] - test: add regression test for 13557 (Anna Henningsen) #135604d27930faf
] - test: fix flaky test-tls-socket-close (Rich Trott) #135293da56ac9fb
] - test: harden test-dgram-bind-shared-ports (Refael Ackermann) #13100f686f73465
] - test: add coverage for AsyncResource constructor (Gergely Nemeth) #1332712036a1d73
] - test: exercise once() with varying arguments (cjihrig) #135241f88cbd620
] - test: refactor test-http-server-keep-alive-timeout (realwakka) #13448bdbeb33dcb
] - test: add hijackStdout and hijackStderr (XadillaX) #134391c7f9171c0
] - test: add coverage for napi_property_descriptor (Michael Dawson) #13510c8db0475e0
] - test: refactor test-fs-read-* (Rich Trott) #13501ad07c46b00
] - test: refactor domain tests (Rich Trott) #13480fe5ea3feb0
] - test: check callback not invoked on lookup error (Rich Trott) #13456216cb3f6e9
] - test,benchmark: stabilize child-process (Refael Ackermann) #13457a0f8faa3a4
] - v8: fix debug builds on Windows (Bartosz Sosnowski) #1363438a1cfb5e6
] - v8: add a js class for Serializer/Dserializer (Rajaram Gaunker) #13541CI: https://ci.nodejs.org/job/node-test-commit/10488/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/866/
Not included are semver-minors (#13452, #13137) and #13509 which depends on one of them; I think it would be best to focus on getting the readline fix out. We can do those with the next release, which I assume will contain V8 5.9, therefore be a minor anyway, and for which we might want to do an RC process as we’ve done with V8 bumps before (but especially this one).