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.4.3 proposal #6149

Merged
merged 53 commits into from
Apr 12, 2016
Merged

V4.4.3 proposal #6149

merged 53 commits into from
Apr 12, 2016

Conversation

MylesBorins
Copy link
Member

2016-04-11, Version 4.4.3 'Argon' (LTS), @thealphanerd

Notable Changes

  • deps:
    • Fix --gdbjit for embedders. Backported from v8 upstream. (Ben Noordhuis) #5577
  • etw:
    • Correctly display descriptors for ETW events 9 and 23 on the windows platform. (João Reis) #5742
  • querystring:
    • Restore throw when attempting to stringify bad surrogate pair. (Brian White) #5858

Commits

  • [f949c273cd] - assert: Check typed array view type in deepEqual (Anna Henningsen) #5910
  • [132acea0d4] - build: introduce ci targets for lint/benchmark (Johan Bergström) #5921
  • [9a8f922dee] - build: add missing openssl_fips% to common.gypi (Fedor Indutny) #5919
  • [d275cdf202] - child_process: refactor self=this in socket_list (Benjamin Gruenbaum) #5860
  • [aadf356aa2] - deps: backport 8d00c2c from v8 upstream (Ben Noordhuis) #5577
  • [200f763c43] - deps: completely upgrade npm in LTS to 2.15.1 (Forrest L Norvell) #5989
  • [86e3903626] - dns: Use object without protoype for map (Benjamin Gruenbaum) #5843
  • [9a33f43f73] - doc: update openssl LICENSE using license-builder.sh (Steven R. Loomis) #6065
  • [9679e2dc70] - doc: clarify that __dirname is module local (James M Snell) #6018
  • [86d2af58d6] - doc: simple doc typo fix (Brendon Pierson) #6041
  • [f16802f3ca] - doc: note about Android support (Rich Trott) #6040
  • [8c2befe176] - doc: note assert.throws() pitfall (Rich Trott) #6029
  • [0870ac65f2] - doc: use HTTPS for links where possible (Rich Trott) #6019
  • [56755de96e] - doc: clarify stdout/stderr arguments to callback (James M Snell) #6015
  • [bb603b89a2] - doc: add 'Command Line Options' to 'View on single page' (firedfox) #6011
  • [c91f3d897a] - doc: add copy about how to curl SHA256.txt (Myles Borins) #6120
  • [f9cf232284] - doc: add example using algorithms not directly exposed (Brad Hill) #6108
  • [f60ce1078d] - doc: document unspecified behavior for buf.write* methods (James M Snell) #5925
  • [02401a6cbd] - doc: fix scrolling on iOS devices (Luigi Pinca) #5878
  • [aed22d0855] - doc: path.format provide more examples (John Eversole) #5838
  • [6e2bfbe1fd] - doc: fix doc for Buffer.readInt32LE() (ghaiklor) #5890
  • [940d204401] - doc: consolidate timers docs in timers.markdown (Bryan English) #5837
  • [505faf6360] - doc: refine child_process detach behaviour (Robert Jefe Lindstaedt) #5330
  • [feedca7879] - doc: add topic - event loop, timers, nextTick() (Jeff Harris) #4936
  • [6d3822c12b] - etw: fix descriptors of events 9 and 23 (João Reis) #5742
  • [56dda6f336] - fs: Remove unused branches (Benjamin Gruenbaum) #5289
  • [dfe9e157c1] - governance: remove target size for CTC (Rich Trott) #5879
  • [c4103b154f] - lib: refactor code with startsWith/endsWith (Jackson Tian) #5753
  • [16216a81de] - meta: add "joining a wg" section to WORKING_GROUPS.md (Matteo Collina) #5488
  • [65fc4e36ce] - querystring: don't stringify bad surrogate pair (Brian White) #5858
  • [4f683ab912] - src,tools: use template literals (Rich Trott) #5778
  • [ac40a4510d] - test: explicitly set global in test-repl (Rich Trott) #6026
  • [a7b3a7533a] - test: be explicit about polluting of global (Rich Trott) #6017
  • [73e3b7b9a8] - test: make use of globals explicit (Rich Trott) #6014
  • [e7877e61b6] - test: fix flaky test-net-socket-timeout-unref (Rich Trott) #6003
  • [a39051f5b3] - test: make arch available in status files (Santiago Gimeno) #5997
  • [ccf90b651a] - test: fix test-dns.js flakiness (Rich Trott) #5996
  • [1994ac0912] - test: add test for piping large input from stdin (Anna Henningsen) #5949
  • [cc1aab9f6a] - test: mitigate flaky test-https-agent (Rich Trott) #5939
  • [10fe79b809] - test: fix offending max-len linter error (Sakthipriyan Vairamani) #5980
  • [63d82960fd] - test: stdin is not always a net.Socket (Jeremiah Senkpiel) #5935
  • [fe0233b923] - test: add known_issues test for stdout/stderr buffering with TTY #2148 (Rich Trott) #5920
  • [d59be4d248] - test: ensure _handle property existence (Rich Trott) #5916
  • [9702153107] - test: fix flaky test-repl (Brian White) #5914
  • [a0a2e69097] - test: move dns test to test/internet (Ben Noordhuis) #5905
  • [8462d8f465] - test: fix flaky test-net-socket-timeout (Brian White) #5902
  • [e0b283af73] - test: fix flaky test-http-set-timeout (Rich Trott) #5856
  • [5853fec36f] - test: fix test-debugger-client.js (Rich Trott) #5851
  • [ea83c382f9] - test: ensure win32.isAbsolute() is consistent (Brian White) #6043
  • [c33a23fd1e] - tools: fix json doc generation (firedfox) #5943
  • [6f0bd64122] - tools,doc: fix incomplete json produced by doctool (firedfox) #5966
  • [f7eb48302c] - win,build: build and test add-ons on test-ci (Bogdan Lobor) #5886

othiym23 and others added 30 commits April 1, 2016 15:00
PR-URL: #5989
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Convert string concatenation to template literals. Enforce with lint
rule.

PR-URL: #5778
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Adds test cases to ensure win32.isAbsolute is consistent.

This is a backport from 3072546

Refs: #6028
PR-URL: #6043
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Roman Reiss <me@silverwind.io>
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 <jasnell@gmail.com>
Reviewed-By: Calvin W. Metcalf <calvin.metcalf@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
a few places the code was refactored to use `maybeCallback` which
always returns a function. Checking for `if (callback)` always
returns true anyway.

PR-URL: #5289
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: thefourtheye <thechargingvolcano@gmail.com>
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 <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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 <rod@vagg.org>
Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message:

    Unbreak --gdbjit for embedders.

    Embedders don't use d8.cc.  Move gdbjit initialization to api.cc.

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

Fixes: #2076
PR-URL: #5577
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Event 9 must include the string terminator in the last descriptor.
Event 23 must be published with no descriptors, in accordance with
the manifest.

PR-URL: #5742
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
reduce using RegExp for string test. This pull reuqest replaces
various usages of regular expressions in favor of the ES2015
startsWith and endsWith methods.

PR-URL: #5753
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
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 <benjamingr@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Currently we use `{}` for the `lookup` function to find the relevant
resolver to the dns.resolve function. It is preferable to use an
object without a Object.prototype, currently for example you can do
something like:

```js
dns.resolve("google.com", "toString", console.log);
```

And get `[Object undefined]` logged and the callback would never be
called. This is unexpected and strange behavior in my opinion.
In addition, if someone adds a property to `Object.prototype` might
also create unexpected results.

This pull request fixes it, with it an appropriate error is thrown.

PR-URL: #5843
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Fix long-broken test-debugger-client by adding missing `\r\n\r\n`
separator.

PR-URL: #5851
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Increase timeout on Raspberry Pi to alleviate flakiness.

Fixes: #5854
PR-URL: #5856
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
The socket list module (used by child_process) currently uses the
`var self = this;` pattern for context in several places, this PR
replaces this with arrow functions or passing a parameter in where
appropriate.

Note that the `var self = this` in the _request is intentioanlly
left in place since it is not trivial to refactor it and the current
pattern isn't bad given the use case.

PR-URL: #5860
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Update example of readInt32LE method. buf.readInt32LE(1) is supposed to
throw an error as it has only four elements and it tries to read 32
bits from three bytes.

Fixes: #5889
PR-URL: #5890
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Fixes: #5892
PR-URL: #5902
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
parallel/test-dns-cares-domains needs a working internet connection
to function (or a local DNS resolver that returns an answer quickly),
otherwise it times out.  Move it to test/internet.

PR-URL: #5905
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #5914
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
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 <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>
Fixes: #3702
PR-URL: #5858
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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 <me@silverwind.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Lindstädt <robert.lindstaedt@gmail.com>
`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 <fishrock123@rocketmail.com>
See: atom/node@cba512d

PR-URL: #5919
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
PR-URL: #5920
Refs: #2148
Reviewed-By: Brian White <mscdex@mscdex.net>
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 <mscdex@mscdex.net>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
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 <cjrodr@yahoo.com>
`<`-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 <cjihrig@gmail.com>
Refer: #5935
PR-URL: #5980
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Phillip Johnsen <johphi@gmail.com>
Reduce number of clients from 100 to 16 as Raspberry Pi in CI starts to
exhibit flakiness around 22 or so clients.

PR-URL: #5939
Fixes: #5938
Refs: #5184
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Trott and others added 3 commits April 11, 2016 13:30
PR-URL: #5879
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Fixes: #5525
PR-URL: #6018
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
* due to: openssl bump in 1f43478

PR-URL: #6065
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@MylesBorins MylesBorins added meta Issues and PRs related to the general management of the project. v4.x labels Apr 11, 2016
@MylesBorins
Copy link
Member Author

CI is green, RC built without a problem.

There was a single failure in the smoker, I spdy-transport /cc @indutny

This was only on ubuntu 64

Failures all in --> test/both/transport/connection-test.js

I'll dig in more tomorrow

@rvagg
Copy link
Member

rvagg commented Apr 11, 2016

armv6 didn't build, I've been rebuilding most of the pi's so this will be related, I'm digging in to the problem now and should have it fixed by the time you're ready to go gold

@mcollina
Copy link
Member

We might want to add a fix for redis/node-redis#1033.
(or maybe do a 4.4.4 soon).

@MylesBorins
Copy link
Member Author

@mcollina is there a fix ready? If it is something in the works I don't think there is any reason we couldn't delay this release by a week and do more testing / rc's, there is nothing in this release that is time sensitive

@mcollina
Copy link
Member

@thealphanerd A fix is available here: #6164. After that's done we would need to backport and test it on v4.4, but I don't see any major problems in there.

I would love to have confirmation from @jfhbrook and a couple of LGTMs, but anyway it's ready.

@MylesBorins
Copy link
Member Author

@mcollina based on how we currently handle LTS this fix should live in a v5 release for at least a week before we backport to v4. As such I think it would make sense to move forward with this release as planned and get that fix in the next one

@mcollina
Copy link
Member

@thealphanerd thanks for clarifying this. Ok for me to follow the process.

@MylesBorins
Copy link
Member Author

rerunning citgm on spdy-transport

https://ci.nodejs.org/job/thealphanerd-smoker/197/

looks good now

@jfhbrook
Copy link
Contributor

I would love to have confirmation from @jfhbrook

I would too, but we don't have the infrastructure for floating our own patches on deployed versions of node. Like I can ask about it but I'm not holding my breath.

@jfhbrook
Copy link
Contributor

should live in a v5 release for at least a week before we backport to v4.

I very much disagree with this.

@jasnell
Copy link
Member

jasnell commented Apr 12, 2016

@jfhbrook ... which part do you actually disagree with? We need to make sure the fix itself doesn't cause other regressions before pulling it back into v4. Landing it in v5 first then doing additional testing before pulling it into a v4 release is common at this point.

@jfhbrook
Copy link
Contributor

@mcollina I've talked to my ops team, they're willing to float patches Just This Once, so I'll lyk how it goes

@jasnell I feel like a bugfix with this level of severity should be fast-tracked. Far be it from me to tell you how to manage your open source project, but that's how I feel.

@MylesBorins
Copy link
Member Author

MylesBorins commented Apr 12, 2016 via email

@jasnell
Copy link
Member

jasnell commented Apr 12, 2016

@jfhbrook ... I get that but fast tracking fixes in the past has led to other regressions which is why we've tended towards taking a more conservative approach. If we can be reasonably certain that the likelihood of the fix causing other regressions is minimal or non-existent, then we can land it faster.

@MylesBorins
Copy link
Member Author

@johannhof if we land 4.4.3 today as is I can get an RC with the new patch together with that patch included soon after it lands in master. Would having an official RC be sufficient for your needs?

@MylesBorins
Copy link
Member Author

Ran citgm on spdy-transport one more time to be safe --> https://ci.nodejs.org/job/thealphanerd-smoker/198/

I'm going to assume that the fail was random. I opened an issue on citgm to introduce the ability to stress test so we can better handle this in the future.

Notable Changes:

deps:
  - Fix `--gdbjit` for embedders. Backported from v8 upstream.
    (Ben Noordhuis) #5577

etw:
  - Correctly display descriptors for ETW events 9 and 23 on the
    windows platform.
    (João Reis) #5742

querystring:
  - Restore throw when attempting to stringify bad surrogate pair.
    (Brian White) #5858
@MylesBorins MylesBorins merged commit d7f2bc9 into v4.x Apr 12, 2016
@MylesBorins MylesBorins deleted the v4.4.3-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.

None yet