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
Contributor

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 <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Convert string concatenation to template literals. Enforce with lint
rule.

PR-URL: #5778
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
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 <[email protected]>
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Roman Reiss <[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]>
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 <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: thefourtheye <[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]>
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]>
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 <[email protected]>
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 <[email protected]>
Reviewed-By: James M Snell <[email protected]>
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 <[email protected]>
Reviewed-By: Brian White <[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]>
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 <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Fix long-broken test-debugger-client by adding missing `\r\n\r\n`
separator.

PR-URL: #5851
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Increase timeout on Raspberry Pi to alleviate flakiness.

Fixes: #5854
PR-URL: #5856
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
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 <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Brian White <[email protected]>
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 <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Fixes: #5892
PR-URL: #5902
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
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 <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #5914
Reviewed-By: Colin Ihrig <[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]>
Fixes: #3702
PR-URL: #5858
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]>
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]>
`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]>
PR-URL: #5920
Refs: #2148
Reviewed-By: Brian White <[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]>
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]>
`<`-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]>
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 <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Trott and others added 3 commits April 11, 2016 13:30
PR-URL: #5879
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Evan Lucas <[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]>
* 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]>
@MylesBorins MylesBorins added meta Issues and PRs related to the general management of the project. v4.x labels Apr 11, 2016
@MylesBorins
Copy link
Contributor 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
Contributor 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
Contributor 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
Contributor 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
Contributor 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
Contributor 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
Contributor 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.