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.2 proposal #6311

Closed
wants to merge 66 commits into from
Closed

V5.10.2 proposal #6311

wants to merge 66 commits into from

Conversation

MylesBorins
Copy link
Contributor

2016-04-20, Version 5.10.2 (Stable), @thealphanerd

Notable Changes

  • npm:
    • upgrade npm to 3.8.6 (Kat Marchán) #6153

Commits

  • [4cc52ad7ec] - assert: respect assert.doesNotThrow message. (Ilya Shaisultanov) #2407
  • [134a3dbf2b] - benchmark: add module loader benchmark parameter (Brian White) #5172
  • [2ba1e78603] - buffer: standardize array index check (Trevor Norris) #6084
  • [8a3fd53246] - build: allow test-ci to run tests in parallel (Johan Bergström) #6208
  • [8952330a70] - build: remove -f{data,function}-sections flags (Ben Noordhuis) #6077
  • [b456cf41e4] - deps: floating fix for npm's test-node script (Kat Marchán) #6153
  • [3344c6dbb9] - deps: upgrade npm to 3.8.6 (Kat Marchán) #6153
  • [c3c35d34e3] - deps: cherry-pick 1383d00 from v8 upstream (Fedor Indutny) #6179
  • [81793c1f17] - deps: backport 125ac66 from v8 upstream (Myles Borins) #6086
  • [44ac67033c] - doc: fix broken references (Alexander Gromnitsky) #6100
  • [3c6f97dd2f] - doc: path.format provide more examples (John Eversole) #5838
  • [377c39c831] - doc: replace functions with arrow functions (abouthiroppy) #6203
  • [a6dacd20f5] - doc: DCO anchor that doesn't change (William Kapke) #6257
  • [ebac107c60] - doc: fix http response event, Agent#getName (Matthew Douglass) #5993
  • [fe32472d10] - doc: document intention and dangers of fs module Buffer API (Nikolai Vavilov) #6020
  • [f6155ae238] - doc: explain differences in console.assert between node and browsers (James M Snell) #6169
  • [c3afe2ebfb] - doc: native module reloading is not supported (Bryan English) #6168
  • [5a03217873] - doc: clarify fs.watch() and inodes on linux, os x (Joran Dirk Greef) #6099
  • [1233bd00ee] - doc: add domain postmortem (Trevor Norris) #6159
  • [7aaa35bae8] - doc: add stefanmb to collaborators (Stefan Budeanu) #6227
  • [73cfcb6e8f] - doc: add iWuzHere to collaborators (Imran Iqbal) #6226
  • [8c944fc3d3] - doc: add santigimeno to collaborators (Santiago Gimeno) #6225
  • [4c6377b1e2] - doc: add addaleax to collaborators (Anna Henningsen) #6224
  • [597020925a] - doc: fix incorrect references in buffer docs (Amery) #6194
  • [527bf2d58c] - doc: add copy about how to curl SHA256.txt (Myles Borins) #6120
  • [363b6fd7a3] - doc: clarification for maxBuffer and Unicode output (James M Snell) #6030
  • [450a2ff594] - doc: describe child.kill() pitfalls on linux (Robert Jefe Lindstaedt) #2098
  • [b9db45c89d] - doc: fix scrolling on iOS devices (Luigi Pinca) #5878
  • [8573174a52] - doc: add topic - event loop, timers, nextTick() (Jeff Harris) #4936
  • [a339203479] - doc: add example using algorithms not directly exposed (Brad Hill) #6108
  • [8c42ed8564] - doc: update openssl LICENSE using license-builder.sh (Steven R. Loomis) #6065
  • [f77b78ecaf] - doc: simple doc typo fix (Brendon Pierson) #6041
  • [fd8e7de971] - doc: note about Android support (Rich Trott) #6040
  • [60a73a2ed2] - doc: fix a typo in 5.10.1's changelog (Vladimir Varankin) #6076
  • [184269a9c3] - gitignore: adding .vs/ directory to .gitignore (Mike Kaufman) #6070
  • [4375c35fb0] - gitignore: ignore VS 2015 *.VC.opendb files (Mike Kaufman) #6070
  • [d4abca5b27] - lib: remove bootstrap global context indirection (Jeremiah Senkpiel) #5881
  • [0bede1669e] - lib,test,tools: alignment on variable assignments (Rich Trott) #6242
  • [9de3efb2dc] - path: fixing a test that breaks on some machines. (Mike Kaufman) #6067
  • [4cb2ea432b] - process: fix incorrect usage of assert.fail() (Rich Trott) #6211
  • [04272dd6db] - repl: don’t complete non-simple expressions (Anna Henningsen) #6192
  • [a67e7b6e3c] - repl: refactor repl.js (Rich Trott) #6071
  • [f6d16c1a39] - src: add missing 'inline' keywords (Ben Noordhuis) #6056
  • [20bb92f5c8] - src: use size_t for http parser array size fields (Ben Noordhuis) #5969
  • [2fd8be2dbe] - src: replace ARRAY_SIZE with typesafe arraysize (Ben Noordhuis) #5969
  • [897c0d1f5e] - stream: Fix readableState.awaitDrain mechanism (Anna Henningsen) #6023
  • [4f6891e156] - streams: support unlimited synchronous cork/uncork cycles (Matteo Collina) #6164
  • [97012b55b6] - test: move debugger tests to sequential (Rich Trott) #6205
  • [41199916d0] - test: move some test from sequential to parallel (Santiago Gimeno) #6087
  • [f95cffaa42] - test: move the debugger tests back to parallel (Santiago Gimeno) #6246
  • [ac43bd7a3a] - test: fix issues for ESLint 2.7.0 (silverwind) #6132
  • [f55a5956c7] - test: fix flaky test-http-set-timeout-server (Santiago Gimeno) #6248
  • [9749bc3d82] - test: fix test-net-settimeout flakiness (Santiago Gimeno) #6166
  • [e49bb44905] - test: fix flaky test-child-process-fork-net (Rich Trott) #6138
  • [11df00d6bf] - test: fix flaky test-http-client-abort (Rich Trott) #6124
  • [7055188bf5] - test: refactor test-file-write-stream3 (Rich Trott) #6050
  • [8ab2d73b39] - test: enforce strict mode for test-domain-crypto (Rich Trott) #6047
  • [eb15c8d83b] - test: fix pummel test failures (Rich Trott) #6012
  • [bf9392ea5f] - test,repl: use deepStrictEqual for false-y values (Jeremiah Senkpiel) #6196
  • [46193b289e] - test,vm: enable strict mode for vm tests (Rich Trott) #6209
  • [0fd1dd5b36] - tools: move message listener to worker objects (Brian White) #6212
  • [5357131975] - tools: improve js linter (Brian White) #5638
  • [683ee6ebbf] - tools: lint for alignment of variable assignments (Rich Trott) #6242
  • [5526980b67] - tools: update ESLint to 2.7.0 (silverwind) #6132
  • [f5aadd5eed] - tools: fix license-builder.sh again for ICU (Steven R. Loomis) #6068
  • [47a70fe461] - tools: remove simplejson dependency (Sakthipriyan Vairamani) #6101
  • [0a92d6bb1f] - tools,doc: parse types in braces everywhere (Alexander Makarenko) #5329
  • [3fdd5926ff] - tools,doc: fix json for grouped optional params (firedfox) #5977
  • [53c609711c] - tools,doc: fix incomplete json produced by doctool (firedfox) #5966
  • [61167c3e23] - zlib: fix gzip member head/buffer boundary issue (Anna Henningsen) #5973

Trott and others added 30 commits April 20, 2016 11:20
A handful of tests in `test/pummel` were failing due to undefined
variables.

The tests in pummel are not run in CI or otherwise exercised regularly
so these failures can go unnoticed for a long time.

PR-URL: #6012
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
The BaseObject constructor and destructor should not have external
linkage because BaseObject is a header-only construct.  Add the
necessary 'inline' keywords.

PR-URL: #6056
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #6040
Refs: #6035
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Brian White <[email protected]>
The last change to this test landed before a nit about strict mode was
addressed, so this change addresses that.

PR-URL: #6047
Refs: #6017
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
We don't link with `--gc-sections` because it's unreliable with some
toolchains, so all these flags do is make the compiler generate slightly
worse code.  Drop them.

Refs: #6056
PR-URL: #6077
Reviewed-By: Trevor Norris <[email protected]>
decipher.setAuthPadding canged to decipher.setAutoPadding

PR-URL: #6041
Reviewed-By: Brian White <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
* due to: openssl bump in 1f43478

PR-URL: #6065
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: James M Snell <[email protected]>
As requested in #5221

Original commit message:

  fix debug command processor wrt restart frame.

  [email protected]
  BUG=v8:4757
  LOG=N

  Review URL: https://codereview.chromium.org/1700693002

  Cr-Commit-Position: refs/heads/master@{#33983}

PR-URL: #6086
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: James M Snell <[email protected]>
* use common.mustCall() to verify all tests have run
* eliminate unneeded removeTestFile()
* eliminate unneeded var leaking into global scope
* var -> const
* remove instance of let

PR-URL: #6050
Reviewed-By: James M Snell <[email protected]>
PR-URL: #6108
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
ParseArrayIndex() was requesting a Uint32Value(), but assigning it to an
in32_t. This caused slight differences in error message reported in edge
cases of argument parsing. Fixed by getting the IntegerValue() before
checking if the value is < 0. Added test of API that was affected.

PR-URL: #6084
Reviewed-By: James M Snell <[email protected]>
Adds a new topic that provides an overview of the event loop, timers, and
`process.nextTick()` that is based upon a NodeSource "Need to Node" presentation
hosted by @trevnorris: Event Scheduling and the Node.js Event
Loop (https://nodesource.com/resources).

PR-URL: #4936
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Calvin W. Metcalf <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
There is some unnecessary logic in repl.js. Remove it.

PR-URL: #6071
Reviewed-By: James M Snell <[email protected]>
A win32-only test was verifying that path.win32._makeLong('C:')
would return the current working directory.  This would only work if
current working directory was also on the C: device.  Fix is to grab
the device letter for current working directory, and pass that to
_makeLong().

PR-URL: #6067
Reviewed-By: Trott - Rich Trott <[email protected]>
Reviewed-By: Joao Reis <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Fixes: #6080
PR-URL: #6124
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Brian White <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Fixes an issue that prevented scrolling from going past large code
blocks on iOS devices. Also fixes a few minor styling issues that
came up in the discussion.

Fixes: #5861
PR-URL: #5878
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Robert Lindstädt <[email protected]>
Doc tool produces incomplete json when it meets unordered lists that
directly following a heading. Add a default case to processList function
to handle the lists.

PR-URL: #5966
Fixes: #1545
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Robert Lindstädt <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Current tools/doc/json.js only supports one bracket style for optional
params methodName(param0[,param1],param2). Add support to other styles
such as methodName(param0,[param1,]param2) or
methodName(param0[,param1,param2]) or
methodName(param0[,param1[,param2]]).

PR-URL: #5977
Fixes: #5976
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Robert Lindstädt <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
This commit refines the documentation around child.kill(), where kill
attempts against shells will lead to unexpected results. Namely, on
linux the child process of a child process will not terminate, when
its parent gets terminated. This is different across the the
platforms.

PR-URL: #2098
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Closes: #2098
Clarify caveats on `maxBuffer` with regards to Unicode output.

Refs: #1901
PR-URL: #6030
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Currently we include instructions on how to check the sha of a
downloaded tar-ball, but do not include instruction on how to
get the `SHA256.txt` file. This has led to confusion with people
thinking that the SHA256.txt is included in that tarball.

This commit includes instructions on how to use curl to download the
`SHA256.txt` prior to the instructions on how to verify the sha.

Refs: nodejs/help#113
Refs: nodejs/help#137
PR-URL: #6120
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
In 6899094 (#2325),
the conditions for increasing `readableState.awaitDrain` when
writing to a piping destination returns false were changed so
that they could not actually be met, effectively leaving
`readableState.awaitDrain` with a constant value of 0.

This patch changes the conditions to testing whether the
stream for which `.write()` returned false is still a piping
destination, which was likely the intention of the original
patch.

Fixes: #5820
Fixes: #5257
PR-URL: #6023
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: James M Snell <[email protected]>
As Node.js expects either Python 2.6 or 2.7 installed to work properly,
simplejson module is no longer necessary. It was included in Python 2.6
as the json module.

PR-URL: #6101
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reduce client connections from 10 to 4 in a test that is causing issues
on Raspberry Pi 2 devices in CI.

Fixes: #5122
PR-URL: #6138
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Original commit message:

    tools: fix tickprocessor Cpp symbols on mac

    Despite man page documentation:

        -f Display the symbol table of a dynamic library flat (as one
           file not separate modules).

    `nm` on mac treats `-f` as a shorthand for `-format`. The `-f` argument
    does not seem to be required, so just remove it completely.

    (For `-format` documentation - see `nm --help` on mac).

    BUG=

    Review URL: https://codereview.chromium.org/1840633002

    Cr-Commit-Position: refs/heads/master@{#35445}

Fix: #5903
PR-URL: #6179
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
net streams can request multiple chunks to be written in a synchronous
fashion. If this is combined with cork/uncork, en error is currently
thrown because of a regression introduced in:
89aeab9
(#4354).

Fixes: #6154
PR-URL: #6164
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Mathias Buus <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Change the regular expression that recognizes “simple” JS expressions
to requiring that the full line needs to match it.

Previously, in terms like `a().b.`, `b.` would be a partial match.
This meant that completion would evaluate `b` and either fail with
a `ReferenceError` or, if `b` was some global, return the properties
of the global `b` object.

PR-URL: #6192
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
PR-URL: #6194
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
PR-URL: #6153
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Upstream PR: npm/npm#12310

PR-URL: #6153
Reviewed-By: Jeremiah Senkpiel <[email protected]>
srl295 and others added 21 commits April 20, 2016 11:23
* Modify tools/license-builder.sh to support ICU 57.1's plain text
license. (Separate issue to add ICU 57.1 in #6058)
* Update/regenerate LICENSE to include ICU 57.1's license
* Note that because the tool was rerun, the change in #6065 is already
included here.

PR-URL: #6068
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Removes the options block from the http 'response' event and attaches
it to Agent#getName where it belongs. Removes socketPath and documents
localAddress option.

PR-URL: #5993
Reviewed-By: James M Snell <[email protected]>
PR-URL: #6257
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Special handling to detect when user has supplied a custom message.
Added a test for user message.
When testing if `actual` value is an error use
`util.isError` instead of `instanceof`.

Fixes: #2385
PR-URL: #2407
Reviewed-By: James M Snell <[email protected]>
Wait for the data to be received by the socket before creating the
clean-up timer. This way, a possible (though unlikely) `ECONNRESET`
error can be avoided.

PR-URL: #6166
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Make the servers listen on a free port number picked by the OS to avoid
rare `EADDRINUSE` errors on `SmartOS`.

Fixes: #6197
PR-URL: #6248
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #6132
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: thefourtheye <[email protected]>
PR-URL: #6132
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: thefourtheye <[email protected]>
Correct alignment on variable assignments that span multiple lines in
preparation for lint rule to enforce such alignment.

PR-URL: #6242
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Enforce alignment/indentation on variable assignments that span multiple
lines.

PR-URL: #6242
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This commit switches from the eslint command-line tool to a custom
tool that uses eslint programmatically in order to perform linting
in parallel and to display linting results incrementally instead of
buffering them until the end.

Fixes: #5596
PR-URL: #5638
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Run tests in parallel if the environment variable JOBS
(which should contain a number of parallel jobs) is set.

PR-URL: #6208
Reviewed-By: Rod Vagg <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Run the debugger with `--port=common.PORT` to avoid the use of the same
port.

PR-URL: #6246
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
The only test with modifications is `test-stdin-child-proc` that was
passing when it should not because the exit code of the child process
was not being checked.

PR-URL: #6087
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Claudio Rodriguez <[email protected]>
This change was to add upon the algorithm description of path.format
by adding examples for unix systems that clarified behavior in
various scenarios.

PR-URL: #5838
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
Moving the `message` event listener from the cluster object to each
worker object allows easier backporting of the recent jslint
changes since v5.x and older do not have v6.x's `worker` parameter
in the cluster object's `message` event.

PR-URL: #6212
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
PR-URL: #6100
Reviewed-By: James M Snell <[email protected]>
The debugger tests in parallel fail with `make test` sometimes (all the
time?). This appears to be related to running in parallel, as it does
not fail with `make test-ci`, when run via `tools/test.py` or directly
from the command line with `./node
test/parallel/test-debugger-util-regression.js`.

A separate issue may be opened to find out why it is failing in
parallel, but for now, I think it's important to fix `make test`
promptly.

I suspect the issue is that the tests are relying on a default port
somewhere and so they are colliding when run in parallel. But that's
just a guess for the moment.

PR-URL: #6205
Fixes: #6201
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
npm:
  * upgrade npm to 3.8.6 (Kat Marchán)
    #6153
@MylesBorins MylesBorins added meta Issues and PRs related to the general management of the project. v5.x labels Apr 20, 2016
@MylesBorins
Copy link
Contributor Author

@nodejs/collaborators please take a look at the change log and let me know what should be put in the notable changes section.

Since this has the potential to be the last release of v5 I have opted to not include any minor changes or anything that might cause a regression. If you see a commit that might cause an issue please let me know and I'll take it out.

@jasnell
Copy link
Member

jasnell commented Apr 20, 2016

LGTM

@MylesBorins
Copy link
Contributor Author

Looks like this is going to have to be a minor. Will close this and open v5.11.0-proposal when it is ready

@MylesBorins
Copy link
Contributor Author

moved to #6322

@MylesBorins MylesBorins deleted the v5.10.2-proposal branch April 21, 2016 06:24
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.