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

V5.10.1 proposal #6059

Closed
wants to merge 1,120 commits into from
Closed

V5.10.1 proposal #6059

wants to merge 1,120 commits into from

Conversation

MylesBorins
Copy link
Contributor

2016-04-05, Version 5.10.1 (Stable), @thealphanerd

Notable changes

http:

  • Enclose IPv6 Host header in square brackets. This will enable proper seperation of the host adress from any port reference (Mihai Potra) #5314
    path:
  • Make win32.isAbsolute more consistent (Brian White) #6028

Commits

  • [0f5a51ae4b] - assert: Check typed array view type in deepEqual (Anna Henningsen) #5910
  • [e966d1f5db] - buffer: don't set kNoZeroFill flag in allocUnsafe (Vladimir Kurchatkin) #6007
  • [3f75751c2e] - build: introduce ci targets for lint/benchmark (Johan Bergström) #5921
  • [781290b61d] - doc: refine child_process detach behaviour (Robert Jefe Lindstaedt) #5330
  • [aa9fb03202] - doc: use HTTPS for links where possible (Rich Trott) #6019
  • [dd25984838] - doc: note assert.throws() pitfall (Rich Trott) #6029
  • [f879f5e68a] - doc: document unspecified behavior for buf.write* methods (James M Snell) #5925
  • [f12c3861e0] - doc: clarify stdout/stderr arguments to callback (James M Snell) #6015
  • [ce173716be] - doc: add 'Command Line Options' to 'View on single page' (firedfox) #6011
  • [7337ef6422] - doc: minor argument formatting in stream.markdown (James M Snell) #6016
  • [0ae5d027c6] - doc: clarify that __dirname is module local (James M Snell) #6018
  • [8bec8aa41f] - doc: consolidate timers docs in timers.markdown (Bryan English) #5837
  • [0a13099c42] - etw: add event messages (João Reis) #5936
  • [c6ac6f2ea1] - http: Corrects IPv6 address in Host header (Mihai Potra) #5314
  • [8317778925] - meta: add "joining a wg" section to WORKING_GROUPS.md (Matteo Collina) #5488
  • [f3f19ee5e2] - net: refactor self=this to arrow functions (Benjamin Gruenbaum) #5857
  • [1c4007927d] - path: fix win32.isAbsolute() inconsistency (Brian White) #6028
  • [059b607a4f] - test: make use of globals explicit (Rich Trott) #6014
  • [cc8fcc5a07] - test: be explicit about polluting of global (Rich Trott) #6017
  • [7db7a820b9] - test: make arch available in status files (Santiago Gimeno) #5997
  • [02f2ebd9b4] - test: explicitly set global in test-repl (Rich Trott) #6026
  • [2ab1237137] - test: fix flaky test-net-socket-timeout-unref (Rich Trott) #6003
  • [0127c2bd39] - test: fix test-dns.js flakiness (Rich Trott) #5996
  • [6052ced37f] - test: fix error message checks in test-module-loading (James M Snell) #5986
  • [a40b0cb673] - test: refactor http-end-throw-socket-handling (Santiago Gimeno) #5676
  • [96bb315262] - test: ensure _handle property existence (Rich Trott) #5916
  • [4f1fa2adeb] - test: fix offending max-len linter error (Sakthipriyan Vairamani) #5980
  • [f14d71ccea] - test: stdin is not always a net.Socket (Jeremiah Senkpiel) #5935
  • [50a062e691] - tools: remove obsolete lint config file (Rich Trott) #5959
  • [7491fdcfe9] - tools: remove disabling of already-disabled rule (Rich Trott) #6013

mscdex and others added 30 commits February 28, 2016 12:41
Fixes: #5383
PR-URL: #5389
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Fixes: #5393
PR-URL: #5394
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
when the basename of "to" was a prefix of the basename of "from" win32
relative() would miss including it in the result

Fixes: #5447
PR-URL: #5456
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
win32 normalize() will output a trailing '\' for some UNC paths. trim
them before processing

Change by @mscdex

Add basic UNC path tests to win32 relative()

PR-URL: #5456
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
adds posix test cases for paths similar to those that caused #5447

PR-URL: #5456
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
In the hopes of soon having the benchmark code linted, this change
groups all the likely non-controversial lint-compliance changes such as
indentation, semi-colon usage, and single-vs.-double quotation marks.

Other lint rules may have subtle performance implications in the V8
currently shipped with Node.js. Those changes will require more careful
review and will be in a separate change.

PR-URL: #5429
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Brian White <[email protected]>
There is a benchmark for the class method `Buffer.compare()` but not for
the instance method `buf.compare()`. This adds that benchmark.

I used this to confirm a performance regression in an implementation I
was considering. While the implementation was a bust, it does seem like
the benchmark is worthwhile.

The benchmark is nearly identical to the existing `Buffer.compare()`
benchmark except, of course, that it calls `buf.compare()` instead.

PR-URL: #5441
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Fixes a regression introduced by: #4374.
Adds a new test to avoid similar issue in the future.
The test is disabled on windows, because this feature never worked
there.

Fixes: #5398
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Fix several typos. Add missing links.

PR-URL: #5230
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Kelvin Knighton <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
On strict mode, "'use strict'; void 0; " is added as prefix
in order to prevent "use strict" as the result value
for let/const statements. It causes wrong column number in
stack trace.

PR-URL: #5416
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
`readable.setEncoding(null)` - may be the most preferable way to proxy
a binary data without any encoding/decoding overhead

PR-URL: #5155
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
TSCP should be TCP

PR-URL: #5474
Reviewed-By: Colin Ihrig <[email protected]>
Fix path.win32.parse("/foo/bar") retuns `{root: '' ...}`(v5.7.0),
but not `{root: '/' ...}`(v5.6.0).

PR-URL: #5484
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>

Conflicts:
	test/parallel/test-path-parse-format.js
`test-tls-ticket-cluster` and `test-vm-syntax-error-stderr` are no
longer flaky.

Refs: #2510
Refs: #2660
PR-URL: #5459
Reviewed-By: Colin Ihrig <[email protected]>
Fixes #5485

PR-URL: #5490
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: Brian White <[email protected]>
The test is still failing sometimes because when trying to establish the
second connection, the server is already closed. Bring back the code
that handled this case and was removed in the last refactoring of the
test. Also ignore the errors that might happen when sending the second
handle to the worker because it may already have exited.

PR-URL: #5422
Reviewed-By: Rich Trott <[email protected]>
As mentioned in the comment of the changed file, "a libuv limitation
makes it necessary to bind()". But, that is not the case in this test.
The subsequent call to send() results in an implicit bind().

PR-URL: #5023
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
Reorder slashed protocols so they are grouped by protocol name. This is
done so it doesn't look like we're duplicating protocol names at the
bottom of the list.

PR-URL: #5380
Reviewed-By: Evan Lucas <[email protected]>
Change types of all PBKDF2 params to `int` as they are `int` in `evp.h`.

Check that `raw_keylen` fits into `int` before passing it to OpenSSL.

Fix: #5396
PR-URL: #5397
Reviewed-By: Shigeki Ohtsu <[email protected]>
Reviewed-By: Ben Noorhduis <[email protected]>

Conflicts:
	test/parallel/test-crypto-pbkdf2.js
Make `HTTPParser` an instance of `AsyncWrap` and make it use
`MakeCallback`. This means that async wrap hooks will be called on
consumed TCP sockets as well as on non-consumed ones.

Additional uses of `AsyncCallbackScope` are necessary to prevent
improper state from progressing that triggers failure in the
test-http-pipeline-flood.js test. Optimally this wouldn't be necessary,
but for the time being it's the most sure way to allow operations to
proceed as they have.

Fix: #4416
PR-URL: #5419
Reviewed-By: Fedor Indutny <[email protected]>
PR-URL: #5507
Reviewed-By: Fedor Indutny <[email protected]>
There is a known issue with SmartOS that is generally worked around
in `tools/test.py`. However, a more robust workaround is required for
some tests that open many network connections.

`test-http-regr-gh-2928` is one such test.

Fixes: #5445
Refs: #3941
PR-URL: #5454
Reviewed-By: Fedor Indutny <[email protected]>
In order to comply with linting rules used in the rest of the code base,
eliminate redeclared variables. A conservative approach is used so as to
avoid unintentional performance issues (for example, as might be seen in
some situations when using `let` instead of `var`).

PR-URL: #5468
Reviewed-By: Brian White <[email protected]>
Have `make test` run linting tools before tests rather than after. Lint
is likely to find issues quickly. Tests may take a while to run. So do
the linting first.

Refs: #4546 (comment)
PR-URL: #5470
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Allow extra options when testing v8 in Node tree

PR-URL: #5502
Reviewed-By: Ben Noordhuis <[email protected]>
Do not try Ubuntu/SUSE/Debian-specific hostnames for IPv6 localhost
unless we are on Linux.

Fixes: #4546
PR-URL: #5471
Reviewed-By: Evan Lucas <[email protected]>
Reviewed-By: Ben Noorhduis <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Increase timeout for test from 500ms to 1000ms so busy slow machines
don't produce false positives.

Fixes: #4964
PR-URL: #5466
Reviewed-By: Alexis Campailla <[email protected]>
* Restrict the receiver to instances of the FunctionTemplate.
* Use `args.This()` instead of `args.Holder()`.

Fixes: #3682
PR-URL: #5521
Reviewed-By: Fedor Indutny <[email protected]>
PR-URL: #5410
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Array#pop() is known to be faster than Array#shift().
To be exact, it's O(1) vs. O(n). In this case there's no difference
from which side of the "pool" array the object is retrieved,
so .pop() should be preferred.

PR-URL: #2174
Reviewed-By: mscdex - Brian White <[email protected]>
Reviewed-By: jasnell - James M Snell <[email protected]>
Reviewed-By: ofrobots - Ali Ijaz Sheikh <[email protected]>
joaocgreis and others added 29 commits April 5, 2016 10:29
Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: #5936
`<`-ing a file into stdin actually results in a `fs.ReadStream`, rather
than a `tty.ReadStream`, and as such does not inherit from net.Socket,
unlike the other possible stdin options.

Refs: #5916
PR-URL: #5935
Reviewed-By: Colin Ihrig <[email protected]>
Refer: #5935
PR-URL: #5980
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Phillip Johnsen <[email protected]>
`test-stdtout-close-unref.js` will fail if `process.stdin._handle` does
not exist. On UNIX-like operating systems, you can see this failure this
way:

    ./node test/parallel/test-stdout-close-unref.js < /dev/null

This issue has been experienced by @bengl and @drewfish in a Docker
container. I'm not sure why they are experiencing it in their
environment, but since it is possible that the `_handle` property does
not exist, let's use `child_process.spawn()` to make sure it exists.

PR-URL: #5916
Reviewed-By: Jeremiah Senkpiel <[email protected]>
IPv6 addresses in Host header (URI), must be enclosed within
square brackets, in order to properly separate the host address
from any port reference.

PR-URL: #5314
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Introduce two new targets we will populate with actions
once merged into all branches we need to support through CI.

PR-URL: #5921
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: João Reis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Remove timer to avoid the test timing out occasionally.

PR-URL: #5676
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Claudio Rodriguez <[email protected]>
Rather than attempting to keep two versions of docs for timers up to
date, keep them in timers.markdown, and leave references to them in
globals.markdown.

Add setImmediate and clearImmediate to globals.markdown.

Change "To schedule" to "Schedules" in timers.markdown.

PR-URL: #5837
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Claudio Rodriguez <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Fixes: #5525
PR-URL: #6018
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Fixes: #4350
PR-URL: #6016
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
`require-buffer` is only enabled in the `lib` directory. There is no
need to disable it in `test`.

PR-URL: #6013
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Includes cli.markdown in all.markdown

PR-URL: #6011
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Clarify that the arguments to child_process.execFile
and child_process.exec callback can be Buffer or strings.

Fixes: #3389
PR-URL: #6015
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Per #1161, when the
buf.write*() methods are given anything other than what
they expect, indicate that the behavior is unspecified.

Fixes: #1161
PR-URL: #5925
Reviewed-By: Claudio Rodriguez <[email protected]>
Use empty string instead of `www.google.com` for tests where we are just
doing parameter evaluation. This will avoid DNS lookups which appear to
be causing flakiness on Raspberry Pi devices in CI.

PR-URL: #5996
Fixes: #5554
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #6029
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Throw immediately on socket timeout rather than checking boolean in exit
handler.

PR-URL: #6003
Fixes: #5128
Reviewed-By: Myles Borins <[email protected]>
Provide encrypted links to freenode IRC.

PR-URL: #6019
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
This commit fixes an inconsistency in absolute path checking compared
to the absolute path detection used by the other path.win32 functions.

Fixes: #6027
PR-URL: #6028
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
The test intentionally assigns a global. Use `global` namespace to make
it clear that it is intentional and not an accidental leak.

PR-URL: #6026
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
The value is retrieved from `process.arch` in node itself.

PR-URL: #5997
Reviewed-By: João Reis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
There was a comment in `test-domain-crypto.js` indicating that the
pollution of the `global` object with a `domain` property was
intentional. Provide more information in the comment so someone may
easily determine why. Use `global.domain` rather than declaring `domain`
without the `var` keyword to more clearly signal that the pollution is
intentional.

PR-URL: #6017
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Use `global` to be explicit that a global variable is intended.

PR-URL: #6014
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Do not convert typed arrays to `Buffer` for deepEqual since
their values may not be accurately represented by 8-bit ints.
Instead perform binary comparison of underlying `ArrayBuffer`s,
but only when the array types match.

Never apply any kind of optimization for floating-point typed
arrays since bit pattern equality is not the right kind of check
for them.

PR-URL: #5910
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Fixes: #5907
All JS files have been moved out of the `src` directory so the
`.eslintrc` file in that directory can also be removed.

PR-URL: #5959
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
In the WORKING_GROUPS.md documentation, it is described how to start a
wg, but not how to join an existing wg. This commit addresses that
issue.

Fixes: #5448
PR-URL: #5488
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: James M Snell <[email protected]>
this adds an example of a long running node process that actually
executes node code.
Also it mentions the not to harmonic detach behaviours of the
different platforms, whereas detaching on unix requires ignoring
the child_process' stdio explicitely.

PR-URL: #5330
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Notable changes:

http:
  * Enclose IPv6 Host header in square brackets. This will enable
  proper seperation of the host adress from any port reference
  (Mihai Potra) #5314
path:
  * Make win32.isAbsolute more consistent (Brian White)
  #6028
@MylesBorins MylesBorins closed this Apr 5, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.