Skip to content
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

V4.7.1 proposal #10395

Merged
merged 181 commits into from
Jan 4, 2017
Merged

V4.7.1 proposal #10395

merged 181 commits into from
Jan 4, 2017

Conversation

MylesBorins
Copy link
Contributor

@MylesBorins MylesBorins commented Dec 21, 2016

2016-01-03, Version 4.7.1 'Argon' (LTS), @thealphanerd

This LTS release comes with 180 commits. This includes 117 which are test related,
34 which are doc related, 15 which are build / tool related, and 1 commit which is
an update to dependencies.

Notable Changes

Coming Soon

Commits

  • [c5f82b8421] - assert: fix deepEqual/deepStrictEqual on equivalent typed arrays (Feross Aboukhadijeh) #8002
  • [60883de30f] - async_wrap: call destroy() callback in uv_idle_t (Trevor Norris)
  • [28dbc460c6] - async_wrap: make Initialize a static class member (Trevor Norris)
  • [bb05cd13db] - async_wrap: mode constructor/destructor to .cc (Trevor Norris)
  • [b1075f6193] - benchmark: split timers benchmark and refactor (Rich Trott) #9497
  • [7b4268b889] - benchmark,lib,test,tools: remove unneeded . escape (Rich Trott) #9449
  • [54f2ce8ea0] - build: prioritise --shared-X-Y over pkg-config (Rod Vagg) #9368
  • [61d377ddcd] - build: Make configure file parseable on python3 (kalrover) #9657
  • [38e0f95d24] - build: add MAKEFLAGS="-j1" to node-gyp (Daniel Bevenius) #9450
  • [d1b6407395] - build: make node-gyp output silent (Sakthipriyan Vairamani (thefourtheye)) #8990
  • [ae2eff2997] - build: start comments at beginning of line (Sakthipriyan Vairamani (thefourtheye)) #9375
  • [6f1f955b33] - build: default to ppc64 on AIX (Gibson Fahnestock) #9645
  • [f8d4577762] - build: Add option to compile for coverage reports (Wayne Andrews) #9463
  • [f2b00985f0] - build: add shared library support to AIX build (Stewart Addison) #9675
  • [e2c5f41ddf] - crypto: use SSL_get_servername. (Adam Langley) #9347
  • [724910a991] - debugger: refactor _debugger.js (Rich Trott) #9860
  • [52f14931a2] - deps: backport GYP fix to fix AIX shared suffix (Stewart Addison) #9675
  • [c77ba8ce14] - doc: consistent 'Returns:' (Roman Reiss) #9554
  • [aecb2cac37] - doc: adding missing - in README (Italo A. Casas) #10170
  • [52c022992e] - doc: removing extra space in README (Italo A. Casas) #10168
  • [e8c57bbe77] - doc: add people to cc for async_wrap (Anna Henningsen) #9471
  • [b5eae4463c] - doc: add link to net.Server in tls.md (Devon Rifkin) #10109
  • [ad841a29d1] - doc: clarify fs.createReadStream options (Wes Tyler) #10078
  • [338014ef24] - doc: rename writing_tests.md to writing-tests.md (Safia Abdalla) #9867
  • [b06b2343bc] - doc: it’s -> its in api/child_process.md (Devon Rifkin) #10090
  • [4885573080] - doc: update Collaborators list in README (Rich Trott) #9846
  • [3105becb2c] - doc: remove minor contradiction in debugger doc (Rich Trott) #9832
  • [a858e98921] - doc: clarify introductory module material (Rich Trott) #9816
  • [18c38819fe] - doc: improve description of module exports (Sam Roberts) #9622
  • [9e68b8d329] - doc: fix crypto Verify cut-n-paste from Sign (子丶言) #9796
  • [fd1a48c9c9] - doc: minor fixes event-loop-timers-and-nexttick.md (Dan Koster) #9126
  • [107735a6e1] - doc: changed order of invocations in https.request() example. (atrioom) #9614
  • [eb5972fe9b] - doc: fix crypto "decipher.setAAD()" typo (子丶言) #9782
  • [dc4c348ea3] - doc: fix typo in assert code example (Vse Mozhet Byt) #9704
  • [16e97ab6c6] - doc: fix typo in BUILDING.md (monkick) #9569
  • [4f2e25441e] - doc: remove backtick escaping for manpage refs (Anna Henningsen) #9632
  • [c0d44dfcc7] - doc: remove invalid padding from privateEncrypt (JungMinu) #9611
  • [0f523583c3] - doc: remove Sam Roberts from release team (Sam Roberts) #9862
  • [4eeac8eb8c] - doc: add guide for maintaining V8 (Ali Ijaz Sheikh) #9777
  • [34405ddb83] - doc: move TSC and CTC meeting minutes out of core repo (James M Snell) #9503
  • [198463a0ff] - doc: fix a typo in the assert.md (Vse Mozhet Byt) #9598
  • [aca0ede0d3] - doc: fix typo e.g., => e.g. (Daijiro Yamada) #9563
  • [c7997939f2] - doc: fix typo about cluster doc, (eg. -> e.g.) (YutamaKotaro) #9568
  • [229fa6921f] - doc: fix e.g., to e.g. in doc/http.md (ikasumi_wt) #9564
  • [3ad7430f12] - doc: fix the index order in pseudocode of modules (kohta ito) #9562
  • [06732babd3] - doc: remove Roadmap Working Group (William Kapke) #9545
  • [6775163a94] - doc: fix minor style issue in code examples (Daniel Bevenius) #9482
  • [aa25c74fe6] - doc: grammar and structure revisions of wg doc (Ryan Lewis) #9495
  • [1e06ed7e9d] - doc: clarify the exit code part of writing_tests (Jeremiah Senkpiel) #9502
  • [3f39a39657] - doc: Fix inaccuracy in https.request docs (Andreas Lind) #9453
  • [8380154e22] - doc: add npm link to README (Oscar Morrison) #7894
  • [65e134ff12] - meta: whitelist dotfiles in .gitignore (Claudio Rodriguez) #8016
  • [698bf2e829] - repl: don't override all internal repl defaults (cjihrig) #7826
  • [3d45b35f73] - repl: refactor lib/repl.js (Rich Trott) #9374
  • [f5b952b221] - test: refactor and fix test-dns (Michaël Zasso) #9811
  • [8b733dca05] - test: refactor test-crypto-binary-default (Michaël Zasso) #9810
  • [45af7857d7] - test: refactor and fix test-crypto (Michaël Zasso) #9807
  • [e0c8aafad8] - test: fix test-buffer-slow (Michaël Zasso) #9809
  • [e72dfce2c8] - test: added validation regex argument to test (Avery, Frank) #9918
  • [a779e7ffec] - test: clean up repl-reset-event file (Kailean Courtney) #9931
  • [4022579b6e] - test: improve domain-top-level-error-handler-throw (CodeVana) #9950
  • [d3edaa3dc3] - test: replace var with const in test-require-dot (Amar Zavery) #9916
  • [8694811ef0] - test: refactor test-net-pingpong (Michaël Zasso) #9812
  • [e849dd0ff3] - test: Use strictEqual in test-tls-writewrap-leak (Aaron Petcoff) #9666
  • [0662429268] - test: fix test-tls-connect-address-family (mkamakura) #9573
  • [420e7f17d9] - test: fix test-http-status-reason-invalid-chars (Yosuke Saito) #9572
  • [13cace140f] - test: fix helper-debugger-repl.js (Rich Trott) #9486
  • [aebbc965f9] - test: refactor large event emitter tests (cjihrig) #6446
  • [b5012f3de2] - test: add expectWarning to common (Michaël Zasso) #8662
  • [b98813d97c] - test: refactor test-fs-non-number-arguments-throw (Michaël Zasso) #9844
  • [80a752708a] - test: refactor test-dgram-exclusive-implicit-bind (Cesar Hernandez) #10066
  • [9b974b4d54] - test: use assert.strictEqual (anoff) #9975
  • [bc125bd729] - test: change assert.equal to assert.strictEqual (Aileen) #9946
  • [5049a10278] - test: changed assert.equal to assert.strictEqual (vazina robertson) #10015
  • [b5c60edeed] - test: renamed assert.Equal to assert.strictEqual (Jared Young)
  • [f44e828a36] - test: improves test-tls-client-verify (Paul Graham) #10051
  • [a1e3967f69] - test: refactor test-https-agent-session-reuse (Diego Paez) #10105
  • [9e46af6412] - test: refactor test-beforeexit-event (Rob Adelmann) #10121
  • [adcd6ea66f] - test: refactor test-domain-from-timer (Daniel Sims) #9889
  • [1377ea87eb] - test: refactor test-domain-exit-dispose-again (Ethan Arrowood) #10003
  • [8a9af6843d] - test: use const and strictEqual in test-os-homedir-no-envvar (CodeVana) #9899
  • [ee038c0e71] - test: refactor test-dgram-bind-default-address (Michael-Bryant Choa) #9947
  • [a090899e93] - test: assert.throws() should include a RegExp (Chris Bystrek) #9976
  • [542b40f410] - test: refactor test-event-emitter-method-names (Rodrigo Palma) #10027
  • [a2023a9d97] - test: refactor tls-ticket-cluster (Yojan Shrestha) #10023
  • [a64f40680f] - test: refactor test-domain-exit-dispose (Chris Henney) #9938
  • [a896d4ed36] - test: refactor test-stdin-from-file.js (amrios) #10012
  • [ce14c1e51f] - test: refactor test-require-extensions-main (Daryl Thayil) #9912
  • [b9c45026f7] - test: clean up tls junk test (Danny Guo) #9940
  • [e3712334a3] - test: update test-stdout-to-file (scalkpdev) #9939
  • [63f571e69c] - test: changed assert.Equal to asset.strictEqual (Paul Chin) #9973
  • [c3a3480606] - test: refactor test-domain-multi (Wes Tyler) #9963
  • [ad27555ff8] - test: use assert.strictEqual in test-cli-eval (Nigel Kibodeaux) #9919
  • [cffd51e815] - test: refactor test-tls-connect-simple (Russell Sherman) #9934
  • [1424c25f3e] - test: refactor test-signal-unregister (mark hughes) #9920
  • [920737180f] - test: refactor test-require-resolve (blugavere) #10120
  • [71ab88cc80] - test: refactor test-fs-read-stream-resume (Matt Webb) #9927
  • [6a485da87c] - test: replace equal with strictEqual (Tracy Hinds) #10011
  • [b5d87569e1] - test: use strictEqual instead of equal (Uttam Pawar) #9921
  • [c94c2fde8a] - test: using const and strictEqual (Fabrice Tatieze) #9926
  • [16164b5b44] - test: test-file-write-stream3.js refactor (Richard Karmazin) #10035
  • [7391983729] - test: implemented es6 conventions (Erez Weiss) #9669
  • [50ce3f91d7] - test: update assert.equal() to assert.strictEqual() (Peter Diaz) #10024
  • [3f9d75c481] - test: use const or let and assert.strictEqual (Christopher Rokita) #10001
  • [98afba5676] - test: use strictEqual() domain-http (cdnadmin) #9996
  • [07680b65fe] - test: refactor test-cluster-worker-events (fmizzell) #9994
  • [a3db54416f] - test: update repl tests (makenova) #9991
  • [db3cdd2449] - test: adding strictEqual to test-buffer-indexof.js (Eric Gonzalez) #9955
  • [f670b05603] - test: strictEqual in test-beforeexit-event.js (CodeTheInternet) #10004
  • [70b4d7d3a2] - test: refactor test-child-process-double-pipe (Dan Villa) #9930
  • [1e53cf4764] - test: updated test-stream-pipe-unpipe-stream (Raja Panidepu) #10100
  • [57d48ac3f4] - test: refactor test-crypto-ecb (michael6) #10029
  • [89feb8dc4d] - test: refactor test-require-exceptions (Oscar Martinez) #9882
  • [59f259c487] - test: refactor test-crypto-certificate (Josh Mays) #9911
  • [815715d850] - test: refactor test-domain (Johnny Reading) #9890
  • [08cc269338] - test: refactor test-cli-syntax (Exlipse7) #10057
  • [91d27ce4db] - test: refactor test-child-process-constructor (k3kathy) #10060
  • [ae9e2a21c1] - test: var to const, assert.equal to assert.strictEqual in net (Sean Villars) #9907
  • [30c9474286] - test: changed vars to const in test-net-better-error-messages-listen-path.js (anoff) #9905
  • [bcbf50d9ba] - test: refactor test-http-dns-error (Outsider) #10062
  • [00f08640ce] - test: assert.equal -> assert.strictEqual (davidmarkclements) #10065
  • [d9cca393e9] - test: assert.equal -> assert.strictEqual (davidmarkclements) #10067
  • [6c64f6c445] - test: improve test for crypto padding (Julian Duque) #9906
  • [37d734ae36] - test: polish test-net-better-error-messages-listen (Hitesh Kanwathirtha) #10087
  • [f126b44a3a] - test: change var to const in test-tls-key-mismatch.js (bjdelro) #9897
  • [7538dd5c93] - test: use strictEqual in cwd-enoent (JDHarmon) #10077
  • [39816a43af] - test: refactor test-fs-read-stream-inherit.js (Jonathan Darling) #9894
  • [7615a0f2cd] - test: refactor test-child-process-stdio-inherit (Wes Tyler) #9893
  • [2a9ab8ea2a] - test: change var to const for require and strict equality checks (Harish Tejwani) #9892
  • [5cd7e7aaf1] - test: Update to const and use regex for assertions (Daniel Flores) #9891
  • [1a73cc5357] - test: swap var->const/let and equal->strictEqual (Peter Masucci) #9888
  • [552169e950] - test: replace equal with strictEqual in crypto (Julian Duque) #9886
  • [49900e78b0] - test: replace equal with strictEqual (Julian Duque) #9879
  • [998db3a003] - test: refactor test-tls-timeout-server-2 (Devon Rifkin) #9876
  • [aaab51047f] - test: Changed assert.equal to assert.strictEqual (Daniel Pittman) #9902
  • [a4488c3cbd] - test: refactor test-vm-syntax-error-stderr.js (Jay Brownlee) #9900
  • [cff80a5c0e] - test: refactor test-tls-destroy-whilst-write (Chris Bystrek) #10064
  • [8257671bdc] - test: refactor test-https-truncate (davidmarkclements) #10074
  • [457af874b5] - test: use strictEqual in test-cli-eval-event.js (Richard Karmazin) #9964
  • [2890f0d904] - test: refactor test-tls-friendly-error-message.js (Adrian Estrada) #9967
  • [c37ae4a1b6] - test: refactor test-vm-static-this.js (David Bradford) #9887
  • [9473fc6c2f] - test: refactor test-crypto-cipheriv-decipheriv (Aileen) #10018
  • [6ecc4ffb1c] - test: refactor test for crypto cipher/decipher iv (Julian Duque) #9943
  • [a486f6bad4] - test: refactor test-cluster-setup-master-argv (Oscar Martinez) #9960
  • [384c954698] - test: refactor test-cluster-setup-master-argv (Christine Hong) #9993
  • [76645e8781] - test: use assert.strictEqual in test-crypto-ecb (Daniel Pittman) #9980
  • [9103c3d3fe] - test: update to const iin cluster test (Greg Valdez) #10007
  • [27c9171586] - test: use assert.strictEqual() cluster test (Bidur Adhikari) #10042
  • [2453d64aa7] - test: var -> let/const, .equal -> .strictEqual (shiya) #9913
  • [1467c964a4] - test: increase coverage for timers (lrlna) #10068
  • [e47195cf78] - test: change equal to strictEqual (Kevin Zurawel) #9872
  • [33da22aba1] - test: add toASCII and toUnicode punycode tests (Claudio Rodriguez) #9741
  • [4c5d24b632] - test: refine test-http-status-reason-invalid-chars (Rich Trott) #9802
  • [81d49aaeb2] - test: exclude no_interleaved_stdio test for AIX (Michael Dawson) #9772
  • [b59cf582e4] - test: refactor test-async-wrap-* (Rich Trott) #9663
  • [57cc5cb277] - test: use setImmediate() in test of stream2 (masashi.g) #9583
  • [8345ffb0a0] - test: add test case of PassThrough (Yoshiya Hinosawa) #9581
  • [beb147a08b] - test: check that process.execPath is a realpath (Anna Henningsen) #9229
  • [cef5b1fa14] - test: add test for broken child process stdio (cjihrig) #9528
  • [29ab76b791] - test: ensure nextTick is not scheduled in exit (Jeremiah Senkpiel) #9555
  • [b87fe250d2] - test: change from setTimeout to setImmediate (MURAKAMI Masahiko) #9578
  • [eca12d4316] - test: improve test-stream2-objects.js (Yoshiya Hinosawa) #9565
  • [4e36a14c15] - test: refactor test-next-tick-error-spin (Rich Trott) #9537
  • [b2b2bc2293] - test: move timer-dependent test to sequential (Rich Trott) #9487
  • [1436fd70f5] - test: convert assert.equal to assert.strictEqual (Jonathan Darling) #9925
  • [c9ed49da6e] - test: run cpplint on files in test/cctest (Ben Noordhuis) #9787
  • [10d4f470f8] - test: enable addons test to pass with debug build (Daniel Bevenius) #8836
  • [550393dc78] - test: add new.target add-on regression test (Ben Noordhuis) #9689
  • [76245b2156] - test: refactor large event emitter tests (cjihrig) #6446
  • [02e8187751] - test: allow globals to be whitelisted (cjihrig) #7826
  • [c0c5608bfc] - test,assert: add deepEqual/deepStrictEqual tests for typed arrays (Feross Aboukhadijeh) #8002
  • [759e8fdd18] - timers: bail from intervals if _repeat is bad (Jeremiah Senkpiel) #10365
  • [553d95da15] - timers: use consistent checks for canceled timers (Jeremiah Senkpiel) #9685
  • [5c6d908dd7] - tools: enable final newline in .editorconfig (Roman Reiss) #9410
  • [06e8120928] - tools: remove unneeded escaping in generate.js (Rich Trott) #9781
  • [fd6b305421] - tools: use better regexp for manpage references (Anna Henningsen) #9632
  • [9b36469a3c] - tools: improve docopen target in Makefile (Sakthipriyan Vairamani (thefourtheye)) #9436
  • [e3dc05d01b] - tools: make run-valgrind.py useful (Ben Noordhuis) #9520
  • [7b1b11a11c] - tools: fix run-valgrind.py script (Ben Noordhuis) #9520
  • [011ee0ba8b] - tools: copy run-valgrind.py to tools/ (Ben Noordhuis) #9520

Stewart Addison and others added 30 commits December 8, 2016 16:03
Required to support the shared library builds on AIX - this sets the
shared library suffix within GYP to .a instead of .so on AIX
My patch: https://codereview.chromium.org/2492233002/ was landed as
as part of this one which fixed some other (not required, but
included for completeness of the backport) changes:

Ref: https://codereview.chromium.org/2511733005/
PR-URL: #9675

Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Updates to build the shared library version of node on AIX. Adds the
same functionality to AIX that was added on Linux under this:

Ref: #6994

PR-URL: #9675
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Add --coverage option to configure to support
compiling for generation of C based coverage reports

PR-URL: #9463
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
PR-URL: #7894
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #9453
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
PR-URL: #9502
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Daniel Bevenius <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #9495
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
I've noticed that a few of the code examples have an minor
indentation issue with the first line, for example:

https://nodejs.org/api/child_process.html#child_process_child_process
This commit attempt to fix this issue by using the solution provided
provided by silverwind and hiendv.

Fixes: #9381
PR-URL: #9482
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Refs: nodejs/CTC#16
PR-URL: #9545
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
fix the index order in pseudocode of modules.

PR-URL: #9562
Reviewed-By: Shigeki Ohtsu <[email protected]>
Reviewed-By: Yosuke Furukawa <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
fix e.g., to e.g. in doc/http.md

Fixes: nodejs/code-and-learn#58
PR-URL: #9564
Reviewed-By: Yosuke Furukawa <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Shigeki Ohtsu <[email protected]>
Fixes: nodejs/code-and-learn#58
PR-URL: #9568
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Shigeki Ohtsu <[email protected]>
Fixes: nodejs/code-and-learn#58
PR-URL: #9563
Reviewed-By: Yosuke Furukawa <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Shigeki Ohtsu <[email protected]>
It was a symbolic link to deps/v8/tools/run-valgrind.py before.  We are
going to make changes to it and we don't want to carry the patch forward
so make a copy.

PR-URL: #9520
Reviewed By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
The script had a dependency on the copy of valgrind that is bundled
with V8 but that only gets checked out when doing a full depot_tools
checkout.  Use the system-provided valgrind.

PR-URL: #9520
Reviewed By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Node.js does not clean up on exit so don't complain about memory leaks
but do complain about invalid memory access.  In the future we may want
to add a cleanup-on-exit flag or put together a suppression list.

PR-URL: #9520
Reviewed By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
PR-URL: #9598
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
1. As it is, it just tries to build only the `all.html` file. If none of
   the other files are built already, generated page will not be good.
   To fix this, we process the assets and generate HTML files first.

2. After the HTML is generated, `google-chrome` is used to open the
   generated file in browser. This is not very portable as it might not
   be installed or installations might have used a different name. So,
   we use Python's webbrowser module to open the file.

PR-URL: #9436

Reviewed-By: Daniel Bevenius <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
The TSC and CTC meeting minutes are more properly placed in
the nodejs/tsc and nodejs/ctc repositories, respectively.

PR-URL: #9503
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Ref: nodejs/Release#137
PR-URL: #9777
Reviewed-By: mhdawson - Michael Dawson <[email protected]>
Reviewed-By: targos - Michaël Zasso <[email protected]>
Also, remove my key, since I never did a release.

PR-URL: #9862
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Сковорода Никита Андреевич <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
* remove unnecessary backslash (`\`) escaping in regular expressions
* favor `===` over `==`
* multiline arrays indentation consistent with other indentation

PR-URL: #9374
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
The `.` character does not need to be escaped when it appears inside a
regular expression character class. This removes instances of
unnecessary escapes of the `.` character.

This also removes a few unnecessary escapes of the `(` and `)`
characters within character classes too.

PR-URL: #9449
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: James Snell <[email protected]>
This commit adds a function to test/common.js that allows
additional global variables to be whitelisted in a test.

PR-URL: #7826
Reviewed-By: James M Snell <[email protected]>
The createInternalRepl() module accepts an options object as an
argument. However, if one is provided, it overrides all of the
default options. This commit applies the options object to the
defaults, only changing the values that are explicitly set.

PR-URL: #7826
Reviewed-By: James M Snell <[email protected]>
This commit splits several large event emitter tests into smaller
block scoped tests. This keeps the tests more isolated. This
commit also replaces var with const, assert.equal() with
assert.stictEqual(), and other small enhancements.

PR-URL: #6446
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: James M Snell <[email protected]>
The typed array's underlying ArrayBuffer is used in `Buffer.from`.
Let's respect it's .byteOffset or .byteLength (i.e. position within the
parent ArrayBuffer).

Fixes: #8001
PR-URL: #8002
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Prince John Wesley <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Let's test typed arrays which have a .byteOffset and .byteLength (i.e.
typed arrays that are slices of parent typed arrays).

PR-URL: #8002
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Prince John Wesley <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
The constructor and destructor shouldn't have been placed in the -inl.h
file from the beginning.

Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
This is how it's done everywhere else in core. Make it follow suit.

Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Avery, Frank and others added 5 commits December 26, 2016 20:05
In this change, I've added the regex pattern to the assert.throws()
in order to provide the validation argument for the call.

PR-URL: #9918
Reviewed-By: Teddy Katz <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Fix incorrect use of string instead of RegExp in `throws` assertions.

PR-URL: #9809
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Prince John Wesley <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
* var -> const.
* Group and sort imports.
* Replace use of the deprecated crypto.createCredentials.
* Fix incorrect use of string instead of RegExp in `throws` assertions.
* Clone array with `.slice()` and remove dependency on util.
* assert.notEqual -> assert.notStrictEqual.
* indexOf -> includes.

PR-URL: #9807
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
* var -> const.
* Group and sort imports.
* Correctly align function arguments.
* Fix incorrect use of string instead of RegExp in `throws` assertions.
* assert.equal -> assert.strictEqual.
* Verify that callbacks are called with common.mustCall.

PR-URL: #9810
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
* More precise length assertion.
* Fix incorrect use of string instead of RegExp in `throws` assertions.
* Add missing RegExp to `throws` assertions.

PR-URL: #9811
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
MylesBorins added a commit that referenced this pull request Dec 27, 2016
This LTS release comes with 180 commits. This includes 117 which are
test related, 34 which are doc related, 15 which are build / tool
related, and 1 commit which is an update to dependencies.

Notable Changes:

Coming Soon

PR-URL: #10395
@MylesBorins
Copy link
Contributor Author

One more run of KOA to ensure failure was flake: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/501/

CI one more time for smartOS: https://ci.nodejs.org/job/node-test-commit-smartos/6072/
failures look infra related

@MylesBorins
Copy link
Contributor Author

MylesBorins commented Jan 3, 2017

@nodejs/platform-smartos we have the exact same failures on smartOS 15 and 16... but in separate runs. This is pretty odd

https://ci.nodejs.org/job/node-test-commit-smartos/6007/nodes=smartos14-64/console
https://ci.nodejs.org/job/node-test-commit-smartos/6072/nodes=smartos15-64/console

Failures on 14

 186 - parallel/test-debug-signal-cluster  	60 ms	
 570 - parallel/test-net-better-error-messages-port 	0 ms	
 579 - parallel/test-net-connect-handle-econnrefused 	0 ms	
 582 - parallel/test-net-connect-local-error 	60 ms	
 606 - parallel/test-net-listen-shared-ports 	0 ms	
 617 - parallel/test-net-reconnect-error 	0 ms	
 619 - parallel/test-net-server-bind 	0 ms	
 630 - parallel/test-net-socket-destroy-twice 	60 ms	
 778 - parallel/test-stream-base-no-abort 	0 ms	
 903 - parallel/test-tls-connect-secure-context 	0 ms	
 960 - parallel/test-tls-ticket-cluster 	0 ms	
 1093 - sequential/test-http-regr-gh-2928 	0 ms	
 1099 - sequential/test-pipe 	1 ms	
 1100 - sequential/test-pump-file2tcp 	0 ms	
 1101 - sequential/test-pump-file2tcp-noexist 	0 ms	
 1106 - sequential/test-regress-GH-784 	0 ms

test failures on 15

 186 - parallel/test-debug-signal-cluster 	60 ms	
 570 - parallel/test-net-better-error-messages-port 	0 ms	
 579 - parallel/test-net-connect-handle-econnrefused 	0 ms	
 582 - parallel/test-net-connect-local-error 	60 ms	
 606 - parallel/test-net-listen-shared-ports 	0 ms	
 617 - parallel/test-net-reconnect-error 	0 ms	
 619 - parallel/test-net-server-bind 	0 ms	
 630 - parallel/test-net-socket-destroy-twice 	60 ms	
 778 - parallel/test-stream-base-no-abort 	0 ms	
 903 - parallel/test-tls-connect-secure-context 	0 ms	
 960 - parallel/test-tls-ticket-cluster 	1 ms	
 1093 - sequential/test-http-regr-gh-2928 	0 ms	
 1099 - sequential/test-pipe 	1 ms	
 1100 - sequential/test-pump-file2tcp 	0 ms	
 1101 - sequential/test-pump-file2tcp-noexist 	0 ms	
 1106 - sequential/test-regress-GH-784 	0 ms

@misterdjules
Copy link

@nodejs/platform-smartos we have the exact same failures on smartOS 15 and 16... but in separate runs.

I see a lot of the following:

Error: listen EADDRINUSE :::12346

in the console output of the Jenkins jobs for SmartOS. I would start looking at those.

@jbergstroem
Copy link
Member

@misterdjules said:
I would start looking at those.

Before you start digging too deep; perhaps check the machines for lingering processes. It is likely the case.

@MylesBorins
Copy link
Contributor Author

@jbergstroem I took a look at the machines and do not see any lingering processes at the moment.

One more try: https://ci.nodejs.org/job/node-test-commit-smartos/6125/

@jbergstroem
Copy link
Member

@MylesBorins me neither! (see IRC for suggestions on how to quickly look)

@MylesBorins
Copy link
Contributor Author

smartos is clean this time
¯\_(ツ)_/¯

Moving forward with the release today

@misterdjules
Copy link

smartos is clean this time
¯_(ツ)_/¯

I wouldn't think it's a SmartOS specific problem. Looking at the parallel tests that call net.Server.listen, we can see that many of them bind to a common static port:

➜  v4.x git:(v4.x) git rev-parse HEAD        
e92e3b5c4f697ac35d3a9b8796b5e37c4994735c
➜  v4.x git:(v4.x) grep -rHn 'listen.*common.PORT' test/parallel 
test/parallel/test-cluster-basic.js:20:  }).listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-bind-twice.js:70:  http.createServer(common.fail).listen(common.PORT, function() {
test/parallel/test-cluster-bind-twice.js:90:    server.listen(common.PORT, common.fail);
test/parallel/test-cluster-disconnect-leak.js:29:server.listen(common.PORT);
test/parallel/test-cluster-disconnect-race.js:37:server.listen(common.PORT, function() {
test/parallel/test-cluster-disconnect.js:10:  }).listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-disconnect.js:14:  }).listen(common.PORT + 1, '127.0.0.1');
test/parallel/test-cluster-eaddrinuse.js:15:  server.listen(common.PORT, function() {
test/parallel/test-cluster-eaddrinuse.js:26:  server.listen(common.PORT, common.fail);
test/parallel/test-cluster-eaddrinuse.js:33:      server.listen(common.PORT, common.mustCall(function() {
test/parallel/test-cluster-ipc-throw.js:11:  server.listen(common.PORT);
test/parallel/test-cluster-ipc-throw.js:18:  server.listen(common.PORT);
test/parallel/test-cluster-master-error.js:11:  }).listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-master-kill.js:10:  http.Server().listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-message.js:42:  server.listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-net-send.js:48:  server.listen(common.PORT, function() {
test/parallel/test-cluster-process-disconnect.js:15:  server.listen(common.PORT, common.mustCall(() => {
test/parallel/test-cluster-rr-domain-listen.js:14:  http.Server(function() { }).listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-rr-ref.js:13:  server.listen(common.PORT, function() {
test/parallel/test-cluster-send-deadlock.js:22:  server.listen(common.PORT, function() {
test/parallel/test-cluster-send-handle-twice.js:27:  server.listen(common.PORT, function() {
test/parallel/test-cluster-server-restart-none.js:26:  server.listen(common.PORT, common.mustCall(() => {
test/parallel/test-cluster-server-restart-none.js:29:        server.listen(common.PORT, common.mustCall(() => {
test/parallel/test-cluster-server-restart-rr.js:26:  server.listen(common.PORT, common.mustCall(() => {
test/parallel/test-cluster-server-restart-rr.js:29:        server.listen(common.PORT, common.mustCall(() => {
test/parallel/test-cluster-shared-handle-bind-error.js:11:  net.createServer(common.fail).listen(common.PORT, function() {
test/parallel/test-cluster-shared-handle-bind-error.js:21:  s.listen(common.PORT, common.fail.bind(null, 'listen should have failed'));
test/parallel/test-cluster-shared-leak.js:51:server.listen(common.PORT, function() {
test/parallel/test-cluster-worker-disconnect-on-error.js:10:  server.listen(common.PORT);
test/parallel/test-cluster-worker-disconnect-on-error.js:16:  server.listen(common.PORT);
test/parallel/test-cluster-worker-disconnect.js:10:  }).listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-worker-exit.js:22:  server.listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-worker-kill.js:18:  server.listen(common.PORT, '127.0.0.1');
test/parallel/test-cluster-worker-no-exit.js:37:  }).listen(common.PORT, function() {
test/parallel/test-cluster-worker-wait-server-close.js:15:  }).listen(common.PORT, common.localhostIPv4);
test/parallel/test-http-status-reason-invalid-chars.js:35:}).listen(common.PORT, common.mustCall(() => {
test/parallel/test-https-connect-address-family.js:18:  })).listen(common.PORT, '::1', common.mustCall(function() {
test/parallel/test-net-listen-shared-ports.js:41:    server2.listen({port: common.PORT + 1, exclusive: true}, function() {
test/parallel/test-net-server-bind.js:25:server1.listen(common.PORT);
test/parallel/test-net-server-bind.js:40:server2.listen(common.PORT + 1, function() {
test/parallel/test-net-server-bind.js:52:server3.listen(common.PORT + 2, '0.0.0.0', 127, function() {
test/parallel/test-net-server-bind.js:64:server4.listen(common.PORT + 3, 127, function() {
test/parallel/test-stream-base-no-abort.js:44:    .listen(common.PORT, function() {
test/parallel/test-stream-base-no-abort.js:53:  net.createServer(() => {}).listen(common.PORT, function() {
test/parallel/test-tls-connect-address-family.js:17:  })).listen(common.PORT, '::1', common.mustCall(function() {
test/parallel/test-tls-connect-secure-context.js:24:}).listen(common.PORT, function() {
test/parallel/test-tls-ticket-cluster.js:88:server.listen(common.PORT, function() {
➜  v4.x git:(v4.x) grep -rHn 'listen.*common.PORT' test/parallel | wc -l
      47
➜  v4.x git:(v4.x)

This seems inherently flaky on all platforms. There has been a few PRs in the past to turn some of them into using a dynamically allocated port, but not all of them have been converted to use that mechanism.

@jbergstroem
Copy link
Member

@misterdjules the problem occurs if one run leaves lingering processes and the following attempts to use the same port. SmartOS has been having more lingering processes than other test systems as of late -- so this is more a symptom than a cause.

@misterdjules
Copy link

@jbergstroem

the problem occurs if one run leaves lingering processes and the following attempts to use the same port.

Absolutely, that's one of the possible causes of this problem, and I'm well aware of it.

However, @MylesBorins mentioned:

I took a look at the machines and do not see any lingering processes at the moment.

and it seemed you confirmed that observation. Now, that does not mean that there were no leftover processes from previous tests runs at the time the error occurred, but it is a possibility.

So, with the hypothesis of no leftover processes in mind, I was wondering what else could trigger these errors. Are tests in test/parallel actually run in parallel by the node-test-commit* Jenkins jobs? It seems like it's not the case, so that would rule out the potential problem with several tests running in parallel and binding to the same port.

This LTS release comes with 180 commits. This includes 117 which are
test related, 34 which are doc related, 15 which are build / tool
related, and 1 commit which is an update to dependencies.

Notable Changes:

* build:
  - shared library support is now working for AIX builds
    (Stewart Addison) #9675
* repl:
  - Passing options to the repl will no longer overwrite defaults
    (cjihrig) #7826
* timers:
  - Re canceling a cancelled timers will no longer throw
    (Jeremiah Senkpiel) #9685

PR-URL: #10395
@MylesBorins MylesBorins merged commit 1035318 into v4.x Jan 4, 2017
MylesBorins added a commit that referenced this pull request Jan 4, 2017
MylesBorins added a commit that referenced this pull request Jan 4, 2017
This LTS release comes with 180 commits. This includes 117 which are
test related, 34 which are doc related, 15 which are build / tool
related, and 1 commit which is an update to dependencies.

Notable Changes:

* build:
  - shared library support is now working for AIX builds
    (Stewart Addison) #9675
* repl:
  - Passing options to the repl will no longer overwrite defaults
    (cjihrig) #7826
* timers:
  - Re canceling a cancelled timers will no longer throw
    (Jeremiah Senkpiel) #9685

PR-URL: #10395
MylesBorins added a commit to nodejs/nodejs.org that referenced this pull request Jan 4, 2017
imyller added a commit to imyller/meta-nodejs that referenced this pull request Mar 2, 2017
    This LTS release comes with 180 commits. This includes 117 which are
    test related, 34 which are doc related, 15 which are build / tool
    related, and 1 commit which is an update to dependencies.

    Notable Changes:

    * build:
      - shared library support is now working for AIX builds
        (Stewart Addison) nodejs/node#9675
    * repl:
      - Passing options to the repl will no longer overwrite defaults
        (cjihrig) nodejs/node#7826
    * timers:
      - Re canceling a cancelled timers will no longer throw
        (Jeremiah Senkpiel) nodejs/node#9685

    PR-URL: nodejs/node#10395

Signed-off-by: Ilkka Myller <[email protected]>
imyller added a commit to imyller/meta-nodejs that referenced this pull request Mar 2, 2017
    This LTS release comes with 180 commits. This includes 117 which are
    test related, 34 which are doc related, 15 which are build / tool
    related, and 1 commit which is an update to dependencies.

    Notable Changes:

    * build:
      - shared library support is now working for AIX builds
        (Stewart Addison) nodejs/node#9675
    * repl:
      - Passing options to the repl will no longer overwrite defaults
        (cjihrig) nodejs/node#7826
    * timers:
      - Re canceling a cancelled timers will no longer throw
        (Jeremiah Senkpiel) nodejs/node#9685

    PR-URL: nodejs/node#10395

Signed-off-by: Ilkka Myller <[email protected]>
@sam-github sam-github deleted the v4.7.1-proposal branch March 6, 2017 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues and PRs related to the general management of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.