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.2.4 Release Proposal #4336

Closed
wants to merge 153 commits into from
Closed

v4.2.4 Release Proposal #4336

wants to merge 153 commits into from

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Dec 17, 2015

#2015-12-17, Version 4.2.4 "Argon" (LTS) Release

Maintenance Update (looking to release by Tuesday, Dec 22)

Notable changes

  • Large update. 152 commits. Roughly 78% of the commits are documentation and test improvements
  • domains:
    ** Fix handling of uncaught exceptions (Julien Gilli) #3884
  • deps:
    ** Upgrade to npm 2.14.12 (Kat Marchán) #4110
    ** Backport 819b40a from V8 upstream (Michaël Zasso) #3938
    ** Updated node LICENSE file with new npm license (Kat Marchán) #4110

othiym23 and others added 30 commits December 17, 2015 09:37
Dependency upgrades.

PR-URL: #3686
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This patch

  - issues a TAP plugin parsable message on non darwin/windows boxes
  - uses `const` wherever applicable
  - moves the test to parallel

PR-URL: #2599
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Fix configure_library() to produce correct LDFLAGS when configuring with
prebuilt 3rd-party libraries (libuv, openssl, etc) using `pkg-config' or
`--shared-{LIBRARY}-includes=xxx --shared-{LIBRARY}-libpath=xxx'.

PR-URL: #3135
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #2796
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Update the documentation for `process.stdout` and `process.stdout` to
clarify that writes can block when stdio is redirected to a file.  In
all other cases, it's non-blocking.

PR-URL: #3170
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Added referenced method links.

PR-URL: #3187
Reviewed-By: Roman Reiss <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
When the user hits `^C` in the REPL show more info about `.exit`.

The idea was to give more info to the user when they hit ^C.
Current version just displays `(^C again to quit)` and most
of the users are not aware of the `.exit` command that would
Exit the repl.

PR-URL: #3368
Reviewed-By: James M Snell <[email protected]>
Add description of user responsibility in the choice of cypto
algorithms and its key length. Some of recommendations for the safer
use are also described.

PR-URL: #3479
Reviewed-By: James M Snell <[email protected]>
This reverts 8cee8f5 which was causing stdin to behave strangely on
Windows 8 and 10. The suspected explanation for the issue is that there
might be a race condition occuring when stdin._readableState.reading is
set indirectly through `push('')`.

PR-URL: #3490
Fixes: #2996
Fixes: #2504
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
When setTimeout() and setInterval() are called with `delay` greater than
TIMEOUT_MAX (2147483647), the supplied value is ignored and 1 is used
instead. Add a note about this in the timers docs.

PR-URL: #3512
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
PR-URL: #3533
Reviewed-By: Evan Lucas <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Bug spotted by @bnoordhuis while doing code review on #3534

Refs: #3534 (comment)
PR-URL: #3534
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
When stream.flush() is called without a callback, an empty listener is
being added. Since flush may be called multiple times to push SSE's
down to the client, multiple noop listeners are being added. This in
turn causes the memory leak detected message.

PR-URL: #3534
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This test assures that if flush is called while the zlib object needs
to be drained that it will defer the callback until after the drain.

PR-URL: #3534
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
as of https://github.com/nodejs/node/blob/v5.x/src/node_buffer.cc#L555

buf.copy returns the number of bytes copied.

PR-URL: #3555
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #3565
Reviewed-By: Brian White <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This makes the code spans in the API docs more visible and
therefore readable by adding some background color.

PR-URL: #3573
Reviewed-By: Evan Lucas <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
`debuglog` uses `%j` as a placeholder for replacement with
`JSON.stringify`. So that `JSON.stringify` is only called when the
appropriate debug flag is on. The other `%s` changes are for style
consistency.

PR-URL: #3578
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
The examples for implementing the simplified constructor API
was missing some details on its correct usages.

PR-URL: #3602
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Chris Dickinson <[email protected]>
Use path join to construct the path instead of concatenating strings.
Replace backslash with double backslash so that they are escaped
correctly in the string passed to REPL.

PR-URL: #3608
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Fix regarding description of the following functions:

Certificate.exportPublicKey(spkac)
Certificate.exportChallenge(spkac)

The descriptions were applied incorrectly.

PR-URL: #3614
Reviewed-By: Ben Noordhuis <[email protected]>
Previously, if we are unable to open the history file, an error would
be thrown. Now, print an error message that we could not open
the history file, but don't fail.

Fixes: #3610
PR-URL: #3630
Reviewed-By: Jeremiah Senkpiel <[email protected]>
As per #2525 a bunch of WGs are renamed from iojs-* to nodejs-*.
Update the WORKING_GROUPS.md to match.

Note specifically iojs-cn and iojs-tw were renamed to nodejs-zh-CN and
nodejs-zh-TW respectively.

Fixes: #3247
PR-URL: #3634
Reviewed-By: James M Snell <[email protected]>
* A known issue was resolved but not removed from the list
* The wrong date was documented in the changelog for v4.2.2

PR-URL: #3650
Reviewed-By: Michaël Zasso <[email protected]>
Fixed an intermittent issue on AIX where the 600ms timeout was reached
before the 'connection' event was fired. This resulted in a failure as
serverConnection would be undefined and the assert.equal would throw an
error. Changed the flow of the test so that the timeout is only set
after a connection has been made.

PR-URL: #3646
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Minor typo fix in the list of keys

Reviewed-By: James M Snell <[email protected]>
PR-URL: #3649
When a compiled library file does not have the proper format,
musl returns the error message ENOEXEC as 'Exec format error' but
glibc returns 'file too short' if the file is under a certain size.

Reference:
http://git.musl-libc.org/cgit/musl/tree/src/errno/__strerror.h#n46

This patch consists of tolerating musl's error.

PR-URL: #3657
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
There is currently no information in the Collaborators guide regarding
LTS. This commit adds some basic copy explaining what LTS is, what is
considered for LTS, and a simple way collaborators can help.

Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Steven R. Loomis <[email protected]>
PR-URL: #3442
test fails intermittently due to the assertion that the 'disconnect'
event should come before the 'exit' event. This is caused be the
non-deteministic behaviour of pollset_poll[1] on AIX
(see deps/uv/src/unix/aix.c). This API makes no garauntee for the order
in which file descriptors are returned. On linux epoll_wait[2] is used,
which also does not make a garauntee on order of file descriptors
returned. In the failing case we recieve our file descriptor with a
callback of uv__signal_event (which causes JavaScript to receive the
exit event) before our file descriptor with uv__stream_io as its
callback (which in turn causes JavaScript receive the disconnect event).
This change simply removes the assertion that the disconnect event
happens before exit event and processes the test regardless of which
event comes first.

[1] https://www-01.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.ai
x.basetrf1/pollset.htm
[2] http://linux.die.net/man/2/epoll_pwait

PR-URL: #3666
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

Ok, early results are that running the dedupe at least allowed the windows machines to clone properly and the CI test build is progressing.

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

New CI looks good with the exception of what I believe are flaky tests on Windows.

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

@nodejs/lts @nodejs/ctc @nodejs/collaborators ... I will be cutting an RC.1 build for 4.2.4 shortly

@MylesBorins
Copy link
Contributor

🎉🎉🎉🎉

I'll smoke test once it is cut

@Fishrock123
Copy link
Contributor

@jasnell / @thealphanerd could you make sure sudo make install && make test-npm still works?

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

@Fishrock123 .. yep, was just going to do that. Is there a reason that hasn't been added to CI yet, btw?

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

Arrghhh... IOError: [Errno 2] No such file or directory: 'deps/npm/node_modules/.bin/marked'

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

Ok, npm-test currently fails using the .12 npm update. @zkat is looking into it. Until that is resolved we're on hold. If necessary, I will drop back to the .9 update. That one should be ok but will have to confirm. If that one fails also, I might back the npm updates out entirely and hold off delivering the updated npm until 4.2.5 in January

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

Turns out the failure is apparently in my local git setup... tho the exact cause is uncertain. @zkat ran the tests and things look good. Cutting the release candidate branch next.

@MylesBorins
Copy link
Contributor

tests ran cleanly on my machine as well

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

RC.1 build running now: https://ci.nodejs.org/job/iojs+release/333/

@jasnell
Copy link
Member Author

jasnell commented Dec 21, 2015

v4.2.4-rc.1 => https://nodejs.org/download/rc/v4.2.4-rc.1/

@MylesBorins
Copy link
Contributor

When smoke testing the rc I'm getting some weird errors. specifically around the stack size being exceeded

/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:8
 * @param String str string to repeat
                      ^

RangeError: Maximum call stack size exceeded
    at String.replace (native)
    at module.exports (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/node_modules/strip-ansi/index.js:5:39)
    at module.exports (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/width.js:5:18)
    at splitLongWords (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:117:7)
    at splitLongWords (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:137:10)
    at splitLongWords (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:137:10)
    at splitLongWords (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:137:10)
    at splitLongWords (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:137:10)
    at splitLongWords (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:137:10)
    at splitLongWords (/Users/thealphanerd/.nvm/versions/node/v4.2.4-rc.1/lib/node_modules/citgm/node_modules/columnify/utils.js:137:10)

@MylesBorins
Copy link
Contributor

This may or may not have to do with npm printing a ton of errors due to the embedded release number in the version not being valid.

Whatever the case the stack size is exceeding due to columnify

I'm going to attempt to run citgm-all on another v4.2.2-rc.2 to see if we have the same problem.

@MylesBorins
Copy link
Contributor

So v4.2.2-rc.2 runs through citgm-all without any problems 😢

@MylesBorins
Copy link
Contributor

I built node and installed it locally and citgm-all passes as expected... that being said the output of node -v is v4.2.4 when I build locally and v4.2.4-rc.1 when I use the tarball.

Not sure the best way to move forward here /cc @jasnell

@jasnell
Copy link
Member Author

jasnell commented Dec 22, 2015

@thealphanerd ... I believe that's actually expected. I wouldn't worry about it too much actually. The -rc.1 is throwing it off.

@jasnell
Copy link
Member Author

jasnell commented Dec 22, 2015

So far, I think everything is looking good. I'll work on cutting the actual release here in an hour or so

@jasnell
Copy link
Member Author

jasnell commented Dec 23, 2015

I'm going to go ahead and push the release until the morning. Want to take another test pass.

@mcollina
Copy link
Member

LGTM, tested it with some of my apps/modules, and saw no regressions.

@jasnell
Copy link
Member Author

jasnell commented Dec 23, 2015

Ok, moving ahead with this now.

@jasnell
Copy link
Member Author

jasnell commented Dec 23, 2015

Release build job running now: https://ci.nodejs.org/job/iojs+release/334/

@jasnell
Copy link
Member Author

jasnell commented Dec 23, 2015

Done! https://nodejs.org/dist/v4.2.4/

@jasnell jasnell closed this Dec 23, 2015
Starefossen pushed a commit to Starefossen/official-images that referenced this pull request Dec 25, 2015
Related: nodejs/node#4336
Related: nodejs/docker-node#81

Signed-off-by: Hans Kristian Flaatten <[email protected]>
pierreozoux pushed a commit to pierreozoux/official-images that referenced this pull request Jan 7, 2016
Related: nodejs/node#4336
Related: nodejs/docker-node#81

Signed-off-by: Hans Kristian Flaatten <[email protected]>
@MylesBorins MylesBorins mentioned this pull request Feb 13, 2016
@targos targos deleted the v4.2.4-proposal branch April 27, 2016 13:01
RichardScothern pushed a commit to RichardScothern/official-images that referenced this pull request Jun 14, 2016
Related: nodejs/node#4336
Related: nodejs/docker-node#81

Signed-off-by: Hans Kristian Flaatten <[email protected]>
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.