-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
Release proposal: v4.1.2 #3127
Closed
Closed
Release proposal: v4.1.2 #3127
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PR-URL: nodejs#2591 Reviewed-By: Sakthipriyan Vairamani <[email protected]>
nodejs#2541 fixed flakiness in test-process-argv-0.js. However, it was not removed from the list of flaky tests. This removes it from the list of flaky tests. PR-URL: nodejs#2613 Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
PR-URL: nodejs#2438 Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
PR-URL: nodejs#2625 Reviewed-By: orangemocha - Alexis Campailla <[email protected]> Reviewed-By: joaocgreis - João Reis <[email protected]>
now need to specify "nodejs" or "iojs", also remove .gpg file PR-URL: nodejs#2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
to match nodejs.org directory name PR-URL: nodejs#2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
new server has "nodejs" and "iojs" directories, upload to the appropriate one PR-URL: nodejs#2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
PR-URL: nodejs#2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
String concatenation in the assert messages has drastic impact on test runtime. Removal of these messages is unlikely to affect debugging if any breaking changes are made. Previous time to run: $ time ./iojs test/parallel/test-stringbytes-external.js real 0m2.321s user 0m2.256s sys 0m0.092s With fix: $ time ./iojs test/parallel/test-stringbytes-external.js real 0m0.518s user 0m0.508s sys 0m0.008s PR-URL: nodejs#2544 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
Both pointer arguments to memcmp are defined as non-null and compiler optimizes upon that. PR-URL: nodejs#2544 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
PR-URL: nodejs#2310 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
PR-URL: nodejs#2645 Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
ParseArgs sets the first element of v8_args to argv[0], so v8_argc will always be at least 1. This change only calls V8::SetFlagsFromCommandLine if v8_argc > 1, leading to an additional startup improvement of ~5%. PR-URL: nodejs#2646 Reviewed-By: trevnorris - Trevor Norris <[email protected]>
Before this change, _unrefActive would keep the unrefList sorted when adding a new timer. Because _unrefActive is called extremely frequently, this linear scan (O(n) at worse) would make _unrefActive show high in the list of contributors when profiling CPU usage. This commit changes _unrefActive so that it doesn't try to keep the unrefList sorted. The insertion thus happens in constant time. However, when a timer expires, unrefTimeout has to go through the whole unrefList because it's not ordered anymore. It is usually not large enough to have a significant impact on performance because: - Most of the time, the timers will be removed before unrefTimeout is called because their users (sockets mainly) cancel them when an I/O operation takes place. - If they're not, it means that some I/O took a long time to happen, and the initiator of subsequents I/O operations that would add more timers has to wait for them to complete. With this change, _unrefActive does not show as a significant contributor in CPU profiling reports anymore. Fixes: nodejs/node-v0.x-archive#8160 Signed-off-by: Timothy J Fontaine <[email protected]> Conflicts: lib/timers.js Fixes: nodejs/node-convergence-archive#23 Ref: nodejs#268 PR-URL: nodejs#2540 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
Commit 934bfe2 had introduced a regression where node would crash trying to access a null unref timer if a given unref timer's callback would remove other unref timers set to fire in the future. More generally, it makes the unrefTimeout function more solid by not mutating the unrefList while traversing it. Fixes: nodejs/node-v0.x-archive#8897 Conflicts: lib/timers.js Fixes: nodejs/node-convergence-archive#23 Ref: nodejs#268 PR-URL: nodejs#2540 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
This commit addresses most of the review comments in nodejs#2540, which are kept in this separate commit so as to better preserve the prior two patches as they landed in 0.12. This commit: - Fixes a bug with unrefActive timers and disposed domains. - Fixes a bug with unrolling an unrefActive timer from another. - Adds a test for both above bugs. - Improves check logic, making it stricter, simpler, or both. - Optimizes nicer with a smaller, separate function for the try/catch. Fixes: nodejs/node-convergence-archive#23 Ref: nodejs#268 PR-URL: nodejs#2540 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
Notable changes: * build: Add a --link-module option to configure that can be used to bundle additional JavaScript modules into a built binary (Bradley Meck) nodejs#2497 * docs: Merge outstanding doc updates from joyent/node (James M Snell) nodejs#2378 * http_parser: Significant performance improvement by having http.Server consume all initial data from its net.Socket and parsing directly without having to enter JavaScript. Any 'data' listeners on the net.Socket will result in the data being "unconsumed" into JavaScript, thereby undoing any performance gains. (Fedor Indutny) nodejs#2355 * libuv: Upgrade to 1.7.3 (from 1.6.1), see https://github.com/libuv/libuv/blob/v1.x/ChangeLog for details (Saúl Ibarra Corretgé) nodejs#2310 * V8: Upgrade to 4.4.63.30 (from 4.4.63.26) (Michaël Zasso) nodejs#2482 cherry-picked from v3.x @ 1a6e52d PR-URL: nodejs#2653 Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
Note: chunk in test-heap.cc:1989 discarded as related code missing from current version in node. Original commit message: Use static_cast<> for NULL (clang 3.7) The following errors come up when compiling v8 with clang 3.7 on FreeBSD/amd64: src/runtime/runtime-i18n.cc:629:37: error: reinterpret_cast from 'nullptr_t' to 'v8::internal::Smi *' is not allowed local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/cctest/test-heap.cc:131:20: error: reinterpret_cast from 'nullptr_t' to 'v8::internal::Object *' is not allowed Handle<Object> n(reinterpret_cast<Object*>(NULL), isolate); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/cctest/test-heap.cc:1989:18: error: reinterpret_cast from 'nullptr_t' to 'Address' (aka 'unsigned char *') is not allowed Address base = reinterpret_cast<Address>(NULL); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +add myself to the AUTHORS file. BUG= Review URL: https://codereview.chromium.org/1277353002 Cr-Commit-Position: refs/heads/master@{nodejs#30103} PR-URL: nodejs#2636 Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]> Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
This test is already being investigated, but until a solution is found it should be marked flaky. Ref: nodejs#2319 Ref: nodejs#2356 PR-URL: nodejs#2659 Reviewed-By: orangemocha - Alexis Campailla <[email protected]>
Ref: nodejs#2660 PR-URL: nodejs#2662 Reviewed-By: orangemocha - Alexis Campailla <[email protected]>
v8 will silently return an empty handle which doesn't delete our data if string length is above String::kMaxLength Fixes: nodejs#1374 PR-URL: nodejs#2402 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]> Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]> Amended by @rvagg to change author date from "1970-08-16 16:09:02 +0200" to "2015-08-16 16:09:02 +0200" as per discussion @ nodejs#2713
Add an optional callback parameter to `ChildProcess.prototype.send()` that is invoked when the message has been sent. Juggle the control channel's reference count so that in-flight messages keep the event loop (and therefore the process) alive until they have been sent. `ChildProcess.prototype.send()` and `process.send()` used to operate synchronously but became asynchronous in commit libuv/libuv@393c1c5 ("unix: set non-block mode in uv_{pipe,tcp,udp}_open"), which landed in io.js in commit 07bd05b ("deps: update libuv to 1.2.1"). Fixes: nodejs#760 PR-URL: nodejs#2620 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: jasnell - James M Snell <[email protected]>
This test has failed recently during a PR test in Jenkins, for reasons seemingly not related to the change in the PR. PR-URL: nodejs#2648 Reviewed-By: evanlucas - Evan Lucas <[email protected]>
Fixes: nodejs#1972 PR-URL: nodejs#2322 Reviewed-By: orangemocha - Alexis Campailla <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
Fixes: nodejs#2113 Ref: 17a379e PR-URL: nodejs#2605 Reviewed-By: jasnell - James M Snell <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: mscdex - Brian White <[email protected]>
This retains the key elements of test-child-process-fork-getconnections (forks a child process, sends a bunch of sockets, uses getConnections() to enumerate them) but contains some code to work around an apparent intermittent bug that occurs on OS X where a socket seems to close itself unexpectedly. nodejs#2610 was opened for the bug that was causing the problem in the first place. PR-URL: nodejs#2609 Fixes: nodejs#1100 Reviewed-By: jbergstroem - Johan Bergström <[email protected]> Reviewed-By: Brendan Ashworth <[email protected]>
Port of joyent/node commits: * nodejs/node-v0.x-archive@e17c5a7 * nodejs/node-v0.x-archive@70dafa7 Pull over test-child-process-spawn-typeerror.js from v0.12, replacing the existing test in master. The new test includes a broader set of tests on the various arg choices and throws. Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani PR-URL: nodejs#2667 Fixes: nodejs#2515
PR-URL: nodejs#2376 Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
Now parts of our public and public-ish APIs fall back to old-style listenerCount() if the emitter does not have a listenerCount function. Fixes: nodejs#2655 Refs: 8f58fb9 PR-URL: nodejs#2661 Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
Upgrade to the latest branch-head for V8 4.5. For the full commit log see https://github.com/v8/v8-git-mirror/commits/4.5.103.24 PR-URL: nodejs#2509 Reviewed-By: Ben Noordhuis <[email protected]>
The `events` module already exports `EventEmitter` constructor function So, we don't have to use `events.EventEmitter` to access it. Refer: nodejs#2896 PR-URL: nodejs#2921 Reviewed-By: Roman Reiss <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
Notable changes * buffer: Fixed a bug introduced in v4.1.0 where allocating a new zero-length buffer can result in the next allocation of a TypedArray in JavaScript not being zero-filled. In certain circumstances this could result in data leakage via reuse of memory space in TypedArrays, breaking the normally safe assumption that TypedArrays should be always zero-filled. (Trevor Norris) nodejs#2931. * http: Guard against response-splitting of HTTP trailing headers added via response.addTrailers() by removing new-line ([\r\n]) characters from values. Note that standard header values are already stripped of new-line characters. The expected security impact is low because trailing headers are rarely used. (Ben Noordhuis) nodejs#2945. * npm: Upgrade to npm 2.14.4 from 2.14.3, see release notes for full details (Kat Marchán) nodejs#2958 - Upgrades graceful-fs on multiple dependencies to no longer rely on monkey-patching fs - Fix npm link for pre-release / RC builds of Node * v8: Update post-mortem metadata to allow post-mortem debugging tools to find and inspect: - JavaScript objects that use dictionary properties (Julien Gilli) nodejs#2959 - ScopeInfo and thus closures (Julien Gilli) nodejs#2974
Ref: nodejs#1539 PR-URL: nodejs#3018 Reviewed-By: Roman Reiss <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Yosuke Furukawa <[email protected]>
PR-URL: nodejs#3011 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
PR-URL: nodejs#3016 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
PR-URL: nodejs#2940 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
Changed the ordering so it is in line with the async methods. PR-URL: nodejs#2940 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
PR-URL: nodejs#3015 Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
The documentation for assert.doesNotThrow now reflects all the inputs the function accepts, as well as the errors thrown for each combination of parameter types. PR-URL: nodejs#2807 Reviewed-By: Rich Trott <[email protected]>
The Jenkins URL has changed from https://jenkins-iojs.nodesource.com to https://ci.nodejs.org. The former address now redirects to the latter. Some jobs has also changed names. PR-URL: nodejs#2886 Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
Backport c281c15d6dab8370a7805f0717502d260e0ad433 from V8's upstream to allow post-mortem debugging tools to inspect Buffer instances' length. Original commit message: Add JSTypedArray's length in post-mortem metadata. BUG= [email protected] Review URL: https://codereview.chromium.org/1363683002 Cr-Commit-Position: refs/heads/master@{nodejs#30873} PR: nodejs#3031 PR-URL: nodejs#3031 Reviewed-By: Trevor Norris <[email protected]>
The .bin/ directory in deps/npm/node_modules seens to have been an accidental check-in in commit e79ccee ("npm: upgrade to v2.1.18"). It causes trouble for distro packagers so delete it and blacklist it. Fixes: nodejs#2839 PR-URL: nodejs#3004 Reviewed-By: Kat Marchán <[email protected]> Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
`HandleWrap::OnClose` destroys the underlying C++ object and null's the internal field pointer to it. Therefore there should be no references to the wrapping JavaScript object. `null` the process' `_channel` field right after closing it, to ensure no crashes will happen. Fix: nodejs#2847 PR-URL: nodejs#3041 Reviewed-By: Trevor Norris <[email protected]>
issue nodejs#2987 makes the point that crypto.pbkdf2 should not fail silently and accept invalid but numeric values like NaN and Infinity. We already check if the keylen is lower than 0, so extending that to NaN and Infinity should make sense. Fixes: nodejs#2987 PR-URL: nodejs#3029 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Brian White <[email protected]> Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
The `src/node.js` file is actually loaded and executed by `node::LoadEnvironment` function. The variable which has the contents is, `native_node`. PR-URL: nodejs#3039 Reviewed-By: Ben Noordhuis <[email protected]>
It is required for using the "SIGABRT" constant. It doesn't cause compilation errors in Node because most files already have "signal.h" included, but it causes errors for third party embedder. PR-URL: nodejs#3058 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
Instead of slicing the first element off of the matches, shift and then return. This improves performance of the following path functions: - basename: 18-20% - extname: 60-70% - dirname: 18-20% - parse: 20-25% PR-URL: nodejs#3034 Reviewed-By: Brian White <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Speeds up property lookups a little and it creates the string in the old space straight away. It's a little easier on the garbage collector because it doesn't have to track eternalized strings in the new space. PR-URL: nodejs#3060 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
Internalized strings are created in the old space and that is where they eventually would end up anyway when created as normal strings. PR-URL: nodejs#3060 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
Adds the documented but missing DNS error exports.BADNAME. This export has been there before but got lost in a 2012 commit that added more error codes. nodejs#3076 will remove the wrong error code exports.ADNAME. PR-URL: nodejs#3051 Fixes: nodejs#3050 Reviewed-By: Сковорода Никита Андреевич <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Evan Lucas <[email protected]>
This error code export was mistakingly introduced in a 2012 commit which added more error codes. The correct export.BADNAME was added in nodejs#3051. Semver: Major PR-URL: nodejs#3051 Fixes: nodejs#3050 Reviewed-By: Сковорода Никита Андреевич <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
common.debug() is just util.debug() and emits a deprecation notice. Per docs, use console.error() instead. PR-URL: nodejs#3082 Reviewed-By: Michaël Zasso <[email protected]>
common.print() is just util.print() and as such prints a deprecation warning. Per docs, update to console.log(). PR-URL: nodejs#3083 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Brendan Ashworth <[email protected]>
Bye bye, smalloc. I'm not sure why this was still here; it was removed in 70d1f32 and hasn't worked since. It wasn't packaged in the binary, either. Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Сковорода Никита Андреевич <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> PR-URL: nodejs#3099
Very minor update in benchmark/common.js Not exactly a critical change, just continued cleaning out of old joyent/node PRs that never landed. Ref: nodejs/node-v0.x-archive#8515 PR-URL: nodejs#2399 Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brendan Ashworth <[email protected]> Reviewed-By: Michaël Zasso <[email protected]>
Notable changes
gack! against master! let's try that again |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Aiming for Monday release. This is not the release where we shift to LTS, that'll probably be soon after.
Some important bugfixes still need to be finalised for this release yet.
3de58b9531
] - benchmark: update comment in common.js (Minwoo Jung) #23999e9bfa4dc0
] - build: iojs -> nodejs of release-urlbase (P.S.V.R) #30158335ec7191
] - build: fix some typos inside the configure script (P.S.V.R) #3016798dad24f4
] - child_process:null
channel handle on close (Fedor Indutny) #30414c8d96bc30
] - crypto: add more keylen sanity checks in pbkdf2 (Johann) #3029039f73fa83
] - deps: remove and gitignore .bin directory (Ben Noordhuis) #30045fbb24812d
] - deps: backport c281c15 from V8's upstream (Julien Gilli) #303155a1f94e44
] - dns: remove nonexistant exports.ADNAME (Roman Reiss) #30516ee5d0f69f
] - dns: add missing exports.BADNAME (Roman Reiss) #305175d5dcea76
] - doc: jenkins-iojs.nodesource.com -> ci.nodejs.org (Michał Gołębiowski) #28865c3f50b21d
] - doc: rearrange execSync and execFileSync (Laurent Fortin) #29404fc33ac11a
] - doc: make execFileSync in line with execFile (Laurent Fortin) #2940a366e84b17
] - doc: fix typos in cluster & errors (reggi) #301152031e1bf1
] - doc: switch LICENSE from closure-linter to eslint (P.S.V.R) #3018b28f6a53bc
] - docs: Clarify assert.doesNotThrow behavior (Fabio Oliveira) #2807ac2bce0b0c
] - path: improve posixSplitPath performance (Evan Lucas) #30344fc89939f5
] - smalloc: remove module (Brendan Ashworth) #30995ec5d0aa8b
] - src: internalize binding function property names (Ben Noordhuis) #3060c8175fc2af
] - src: internalize per-isolate string properties (Ben Noordhuis) #30609a593abc47
] - src: include signal.h in util.h (Cheng Zhao) #3058fde0c6f321
] - src: fix function and variable names in comments (Sakthipriyan Vairamani) #30391e964bb8e9
] - test: change calls to deprecated util.print() (Rich Trott) #3083b97358a772
] - test: replace deprecated util.debug() calls (Rich Trott) #3082