platform/upstream/nodejs.git
8 years agobuild: use required platform in android-configure
Evan Lucas [Sun, 23 Aug 2015 03:40:41 +0000 (22:40 -0500)]
build: use required platform in android-configure

The introduction of libuv 1.6.0 broke the android-configure script by
not specifying the correct platform. uv_os_homedir uses getpwuid_r
which was not made public until API level 21 on android.

The regression was introduced in a804026...b5cd2f0

PR-URL: https://github.com/nodejs/node/pull/2501
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agostream: rename poorly named function
Ben Noordhuis [Thu, 20 Aug 2015 20:33:12 +0000 (22:33 +0200)]
stream: rename poorly named function

roundUpToNextPowerOf2() does more than just rounding up to the next
power of two.  Rename it to computeNewHighWaterMark().

PR-URL: https://github.com/nodejs/node/pull/2479
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agostream: micro-optimize high water mark calculation
Ben Noordhuis [Thu, 20 Aug 2015 20:29:57 +0000 (22:29 +0200)]
stream: micro-optimize high water mark calculation

Don't iterate over all 32 bits, use some hacker's delight bit twiddling
to compute the next power of two.

The logic can be reduced to `n = 1 << 32 - Math.clz32(n)` but then it
can't easily be backported to v2.x; Math.clz32() was added in V8 4.3.

PR-URL: https://github.com/nodejs/node/pull/2479
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agostream: fix off-by-factor-16 error in comment
Ben Noordhuis [Thu, 20 Aug 2015 20:19:46 +0000 (22:19 +0200)]
stream: fix off-by-factor-16 error in comment

The high watermark is capped at 8 MB, not 128 MB like the comment
in lib/_stream_readable.js said.

PR-URL: https://github.com/nodejs/node/pull/2479
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agomodule: fix module preloading when cwd is ENOENT
Bradley Meck [Wed, 12 Aug 2015 00:25:49 +0000 (20:25 -0400)]
module: fix module preloading when cwd is ENOENT

Fixes a regression from 5759722cfacf17cc79651c81801a5e03521db053
that prevented modules from being preloaded if the cwd does not exist.
Absolute and builtin modules now preload correctly again.

Refs: https://github.com/nodejs/node/issues/1803
PR-URL: https://github.com/nodejs/node/pull/2353
Reviewed-By: Jeremiah Senkpiel <fishrock123@rockemail.com>
8 years agotest: remove test-timers-first-fire
João Reis [Thu, 20 Aug 2015 10:04:10 +0000 (11:04 +0100)]
test: remove test-timers-first-fire

According to the documentation, "io.js makes no guarantees
about the exact timing of when the callback will fire"
(https://iojs.org/api/timers.html#timers_settimeout_callback_delay_arg),
hence this test is not necessary.

PR-URL: https://github.com/nodejs/node/pull/2458
Reviewed-By: Ben Noordhuis <ben@strongloop.com>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
8 years agowin: fix custom actions for WiX older than 3.9
João Reis [Tue, 21 Jul 2015 20:39:15 +0000 (21:39 +0100)]
win: fix custom actions for WiX older than 3.9

This is a port of joyent/node@e192f61514cd1500de895cb10128d412f842d7d0 .

Original commit message:

  Older WiX versions included a header with extern "C" declaration,
  hence the custom action source must be C++.

Reviewed-By: João Reis <reis@janeasystems.com>
  PR-URL: https://github.com/joyent/node/pull/25569

PR-URL: https://github.com/nodejs/node/pull/2365
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
8 years agowin: fix custom actions on Visual Studio != 2013
Julien Gilli [Fri, 19 Jun 2015 17:24:14 +0000 (10:24 -0700)]
win: fix custom actions on Visual Studio != 2013

This is a port of joyent/node@16bcd68dc5f449c331499ced22aa626dbb2cdefc .

Original commit message:

  The original change that added support for running custom actions
  during the install process
  (joyent/node@e7c84f82c730bddb7450dc56065aab11b93ffd30) assumed that
  Visual Studio 2013 is used to generate the installer file.

  However, that is not always the case, and older versions of Visual
  Studio should allow users to generate Windows installer files. This
  change makes the custom actions visual studio project use the visual
  studio version that is found by vcbuild.bat.

Reviewed-By: João Reis <reis@janeasystems.com>
  PR-URL: https://github.com/joyent/node/pull/25569

PR-URL: https://github.com/nodejs/node/pull/2365
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
8 years agodoc: make the deprecations consistent
Sakthipriyan Vairamani [Wed, 19 Aug 2015 22:37:52 +0000 (04:07 +0530)]
doc: make the deprecations consistent

The deprecation messages in the documentations should be in the format

    Stability: 0 - Deprecated: Use [alternate] instead.

so that they will be consistent.

PR-URL: https://github.com/nodejs/node/pull/2450
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: fix CHANGELOG.md on master
Roman Reiss [Mon, 24 Aug 2015 05:17:50 +0000 (07:17 +0200)]
doc: fix CHANGELOG.md on master

This patch applies the diff of CHANGELOG from v3.x branch to master,
corresponding to the 3.1.0 release.

Fixes: https://github.com/nodejs/node/issues/2456
Fixes: https://github.com/nodejs/node/issues/2502

PR-URL: https://github.com/nodejs/node/pull/2513
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agodoc: document deprecation of util.is* functions
Sakthipriyan Vairamani [Wed, 19 Aug 2015 20:39:47 +0000 (02:09 +0530)]
doc: document deprecation of util.is* functions

This patch documentes the deprecation of util.is* functions.
As per the deprecation policy dicussion, nodejs/dev-policy/issues/49,
we need to start with documenting the deprecation. So, this is
the first step towards officially removing them.

PR-URL: https://github.com/nodejs/node/pull/2447
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
8 years agonode: additional cleanup for node rename
cjihrig [Sun, 23 Aug 2015 20:40:28 +0000 (16:40 -0400)]
node: additional cleanup for node rename

Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
8 years agoprocess: make process.release.name "node"
cjihrig [Fri, 21 Aug 2015 01:45:38 +0000 (21:45 -0400)]
process: make process.release.name "node"

This commit sets the value of process.release.name to "node".

Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
8 years agoinstaller: fix installers for node.js rename
Frederic Hemberger [Thu, 20 Aug 2015 14:53:38 +0000 (10:53 -0400)]
installer: fix installers for node.js rename

This commit completes the io.js to Node.js rename in the
Windows installer.

Fixes: https://github.com/nodejs/node/issues/2418
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
8 years agonode: rename from io.js to node
cjihrig [Thu, 13 Aug 2015 16:14:34 +0000 (12:14 -0400)]
node: rename from io.js to node

This commit replaces instances of io.js with Node.js, based on the
recent convergence. There are some remaining instances of io.js,
related to build and the installer.

Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
8 years agotest: use reserved IP in test-net-connect-timeout
Rich Trott [Tue, 28 Jul 2015 00:10:47 +0000 (17:10 -0700)]
test: use reserved IP in test-net-connect-timeout

Use reserved IP in test-net-connect-timeout.js rather than arbitrary
IP.

PR-URL: https://github.com/nodejs/node/pull/2257
Fixes: https://github.com/nodejs/node/issues/2469
Reviewed By: Ben Noordhuis <ben@strongloop.com>

8 years agodoc: fix comments in tls_wrap.cc and _http_client.js
Minwoo Jung [Sat, 22 Aug 2015 06:07:09 +0000 (23:07 -0700)]
doc: fix comments in tls_wrap.cc and _http_client.js

fixed grammatically wrong expressions to make it clear

Reviewed By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/2490
PR-URL: https://github.com/nodejs/node/pull/2489

8 years agotools: add license boilerplate to check-imports.sh
James M Snell [Sat, 15 Aug 2015 16:40:32 +0000 (09:40 -0700)]
tools: add license boilerplate to check-imports.sh

Per: https://github.com/joyent/node/pull/6962

This applies only the first commit from https://github.com/joyent/node/pull/6962.

/cc @bnoorduis

Reviewed By: Ben Noordhuis <ben@strongloop.com>
PR-URL: https://github.com/nodejs/node/pull/2386

8 years agotls: add --tls-cipher-list command line switch
James M Snell [Mon, 17 Aug 2015 22:51:51 +0000 (15:51 -0700)]
tls: add --tls-cipher-list command line switch

This adds a new `--tls-cipher-list` command line switch
that can be used to override the built-in default cipher
list. The intent of this is to make it possible to enforce
an alternative default cipher list at the process level.
Overriding the default cipher list is still permitted at
the application level by changing the value of
`require('tls').DEFAULT_CIPHERS`.

As part of the change, the built in default list is moved
out of tls.js and into node_constants.h and node_constants.cc.
Two new constants are added to require('constants'):

  * defaultCipherList (the active default cipher list)
  * defaultCoreCipherList (the built-in default cipher list)

A test case and doc changes are included.

A new NODE_DEFINE_STRING_CONSTANT macro is also created in
node_internals.h

When node_constants is initialized, it will pick up either
the passed in command line switch or fallback to the default
built-in suite.

Within joyent/node, this change had originaly been wrapped
up with a number of other related commits involving the
removal of the RC4 cipher. This breaks out this isolated
change.

/cc @mhdawson, @misterdjules, @trevnorris, @indutny, @rvagg

Reviewed By: Ben Noordhuis <ben@strongloop.com>
PR-URL: https://github.com/nodejs/node/pull/2412

8 years agodoc: document response.finished in http.markdown
hackerjs [Tue, 10 Dec 2013 10:56:04 +0000 (18:56 +0800)]
doc: document response.finished in http.markdown

Adds mention of response.finished to http.markdown
Originally submitted by @hackerjs. The original
commit needed a bit of cleanup on grammar.

Reviewed By: James M Snell <jasnell@gmail.com>
Reviewed By: Michaël Zasso <mic.besace@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/2414

8 years agodoc: update AUTHORS list
Rod Vagg [Sun, 23 Aug 2015 07:45:43 +0000 (17:45 +1000)]
doc: update AUTHORS list

Update AUTHORS list using tools/update-authors.sh
Fix @muddletoes' .mailmap entry

PR-URL: https://github.com/nodejs/node/pull/2505
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agotools: enable space-after-keywords in eslint
Brendan Ashworth [Tue, 18 Aug 2015 23:33:11 +0000 (16:33 -0700)]
tools: enable space-after-keywords in eslint

Requires that you do:

  if (x) { ... }

Rather than:

  if(x) { ... }

8 years agotest: add spaces after keywords
Brendan Ashworth [Tue, 18 Aug 2015 23:32:07 +0000 (16:32 -0700)]
test: add spaces after keywords

eg changes:

  if(x) { ... }

to:

  if (x) { ... }

8 years agofs: replace bad_args macro with concrete error msg
Roman Klauke [Sat, 22 Aug 2015 17:19:14 +0000 (19:19 +0200)]
fs: replace bad_args macro with concrete error msg

Instead of throwing an error with `Bad arguments` the fs methods
return a concrete error message. If an argument is missing, the
methods throw an error with the information, what is missing.
In case of a type mismatch, they throw an error with some hints,
what datatype is expected.

PR-URL: https://github.com/nodejs/node/pull/2495
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agotools: fix anchors in generated documents
Sakthipriyan Vairamani [Sat, 22 Aug 2015 08:10:55 +0000 (13:40 +0530)]
tools: fix anchors in generated documents

When an anchor tag is used within a pre tag, the link is not
distinguishable. This patch makes sure that the links are highlighted
by underlining them.

PR-URL: https://github.com/nodejs/node/pull/2491
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agodoc: update AUTHORS list
Rod Vagg [Thu, 6 Aug 2015 22:33:47 +0000 (15:33 -0700)]
doc: update AUTHORS list

Update AUTHORS list using tools/update-authors.sh

PR-URL: https://github.com/nodejs/node/pull/2318
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agodoc: add TSC meeting minutes 2015-07-29
Rod Vagg [Wed, 19 Aug 2015 10:47:47 +0000 (20:47 +1000)]
doc: add TSC meeting minutes 2015-07-29

PR-URL: https://github.com/nodejs/node/pull/2437
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agodoc: add TSC meeting minutes 2015-08-19
Rod Vagg [Thu, 20 Aug 2015 10:46:08 +0000 (20:46 +1000)]
doc: add TSC meeting minutes 2015-08-19

PR-URL: https://github.com/nodejs/node/pull/2460
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: add TSC meeting minutes 2015-06-03
Rod Vagg [Thu, 20 Aug 2015 00:43:17 +0000 (10:43 +1000)]
doc: add TSC meeting minutes 2015-06-03

PR-URL: https://github.com/nodejs/node/pull/2453
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: fix links to original converged repo
Rod Vagg [Thu, 20 Aug 2015 03:41:07 +0000 (13:41 +1000)]
doc: fix links to original converged repo

nodejs/node -> nodejs/node-convergence-archive

PR-URL: https://github.com/nodejs/node/pull/2454
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: fix links to original gh issues for TSC meetings
Rod Vagg [Thu, 20 Aug 2015 03:29:55 +0000 (13:29 +1000)]
doc: fix links to original gh issues for TSC meetings

nodejs/node -> nodejs/node-convergence-archive

PR-URL: https://github.com/nodejs/node/pull/2454
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agodoc: add audio recording links to TSC meeting minutes
Rod Vagg [Thu, 20 Aug 2015 01:00:16 +0000 (11:00 +1000)]
doc: add audio recording links to TSC meeting minutes

PR-URL: https://github.com/nodejs/node/pull/2454
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agorepl: filter integer keys from repl tab complete list
James M Snell [Mon, 17 Aug 2015 19:03:32 +0000 (12:03 -0700)]
repl: filter integer keys from repl tab complete list

Refactored version of https://github.com/joyent/node/pull/25819

Removes integer keys (and keys starting with numbers) from
candidate list on repl tab complete. Refactored the originally
submitted change to simplify and ensure that the integer keys
do not show up on objects either.

Reviewed By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/2409

8 years agobuffer: reapply 07c0667
Fedor Indutny [Fri, 21 Aug 2015 19:48:10 +0000 (12:48 -0700)]
buffer: reapply 07c0667

Original commit message:

    buffer: align chunks on 8-byte boundary

    When slicing global pool - ensure that the underlying buffer's data
    ptr is 8-byte alignment to do not ruin expectations of 3rd party C++
    addons.

    NOTE: 0.10 node.js always returned aligned pointers and io.js should
    do this too for compatibility.

PR-URL: https://github.com/nodejs/node/pull/2487
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agostring_bytes: fix unaligned write in UCS2
Fedor Indutny [Thu, 20 Aug 2015 23:57:14 +0000 (16:57 -0700)]
string_bytes: fix unaligned write in UCS2

Support unaligned output buffer when writing out UCS2 in
`StringBytes::Write`.

Fix: https://github.com/nodejs/node/issues/2457
PR-URL: https://github.com/nodejs/node/pull/2480
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agosrc: improve startup time
Evan Lucas [Fri, 21 Aug 2015 09:15:55 +0000 (04:15 -0500)]
src: improve startup time

Previously, V8:SetFlagsFromCommandLine was being called even if v8_argc
was 0. This change prevents that from being called unless v8 arguments
are actually passed.

Improves startup time by about 5%.

PR-URL: https://github.com/nodejs/node/pull/2483
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agodoc: add TSC meeting minutes 2015-07-22
Rod Vagg [Wed, 19 Aug 2015 10:45:26 +0000 (20:45 +1000)]
doc: add TSC meeting minutes 2015-07-22

PR-URL: https://github.com/nodejs/node/pull/2436
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agocrypto: fix mem {de}allocation in ExportChallenge
Karl Skomski [Wed, 12 Aug 2015 13:30:01 +0000 (15:30 +0200)]
crypto: fix mem {de}allocation in ExportChallenge

Use correct deallocator for returned buffera.
Don't free internal structure via ASN1_STRING_data.
Deallocate NETSCAPE_SPKI.

PR-URL: https://github.com/nodejs/node/pull/2359
Reviewed-By: Fedor Indutny <fedor@indutny.com>
8 years agotls: handle empty cert in checkServerIndentity
Mike Atkins [Mon, 10 Aug 2015 15:55:37 +0000 (11:55 -0400)]
tls: handle empty cert in checkServerIndentity

This resolves joyent/node#9272. `tlsSocket.getPeerCertificate` will
return an empty object when the peer does not provide a certificate,
but, prior to this, when the certificate is empty, `checkServerIdentity`
would throw because the `subject` wasn't present on the cert.
`checkServerIdentity` must return an error, not throw one, so this
returns an error when the cert is empty instead of throwing
a `TypeError`.

PR-URL: https://github.com/nodejs/node/pull/2343
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
8 years agodoc: fix spelling mistake in node.js comment
Jacob Edelman [Sat, 15 Aug 2015 17:56:12 +0000 (10:56 -0700)]
doc: fix spelling mistake in node.js comment

Per: https://github.com/joyent/node/pull/8876

PR-URL: https://github.com/nodejs/node/pull/2391
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agotest: remove unreachable code
Michaël Zasso [Sun, 2 Aug 2015 10:09:38 +0000 (12:09 +0200)]
test: remove unreachable code

There is no way a line can be called after throwing an exception.

PR-URL: https://github.com/nodejs/node/pull/2289
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
8 years agotest: disallow unreachable code
Michaël Zasso [Thu, 20 Aug 2015 09:37:02 +0000 (11:37 +0200)]
test: disallow unreachable code

PR-URL: https://github.com/nodejs/node/pull/2289
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
8 years agorepl: dont throw ENOENT on NODE_REPL_HISTORY_FILE
Todd Kennedy [Wed, 19 Aug 2015 22:44:20 +0000 (15:44 -0700)]
repl: dont throw ENOENT on NODE_REPL_HISTORY_FILE

If you have no history file written to disk, but the environment
variable set, `fs.readFileSync` will throw an ENOENT error,
but there's nothing to convert. The converter should ignore
ENOENT on that `fs.readFileSync` call.

Fixes: https://github.com/nodejs/node/issues/2449
PR-URL: https://github.com/nodejs/node/pull/2451
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agostream_base: various improvements
Fedor Indutny [Tue, 11 Aug 2015 19:27:22 +0000 (12:27 -0700)]
stream_base: various improvements

Expose and use in TLSWrap an `v8::External` wrap of the
`StreamBase*` pointer instead of guessing the ancestor C++ class in
`node_wrap.h`.

Make use of `StreamBase::Callback` structure for storing/passing both
callback and context in a single object.

Introduce `GetObject()` for future user-land usage, when a child class
is not going to be inherited from AsyncWrap.

PR-URL: https://github.com/nodejs/node/pull/2351
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agotest: reduce timeouts in test-net-keepalive
Brendan Ashworth [Tue, 18 Aug 2015 18:45:59 +0000 (11:45 -0700)]
test: reduce timeouts in test-net-keepalive

Previously 1000-1200ms, they're now (platform dependent) 50-100ms.

Improves test run time on my machine from 0m1.335s to 0m0.236s.

PR-URL: https://github.com/nodejs/node/pull/2429
Reviewed-By: Rich Trott <rtrott@gmail.com>
8 years agotest: improve test-net-server-pause-on-connect
Brendan Ashworth [Tue, 18 Aug 2015 18:36:20 +0000 (11:36 -0700)]
test: improve test-net-server-pause-on-connect

Previously the test had a massive timeout (3s!), reduce this to a
platform specific timeout of 50ms.

This test runs two servers at the same time in an attempt to compare
behaviour. I've added a check to make sure one event fires before the
other event, as is expected, but that is a possible race condition.

Improves test run time on my machine from 0m3.141s to 0m0.356s.

PR-URL: https://github.com/nodejs/node/pull/2429
Reviewed-By: Rich Trott <rtrott@gmail.com>
8 years agotest: improve test-net-pingpong
Brendan Ashworth [Tue, 18 Aug 2015 18:11:28 +0000 (11:11 -0700)]
test: improve test-net-pingpong

This includes the following changes:
- a more strict data check rather than a regex
- reduced number of annoying log calls

The most important of the changes is the annoying log calls, which
speeds up the test execution from about 0m1.130s to 0m0.481s on my
machine.

PR-URL: https://github.com/nodejs/node/pull/2429
Reviewed-By: Rich Trott <rtrott@gmail.com>
8 years agoevents: deprecate static listenerCount function
Sakthipriyan Vairamani [Tue, 11 Aug 2015 18:31:50 +0000 (00:01 +0530)]
events: deprecate static listenerCount function

As per the discussion in #734, this patch deprecates the usage of
`EventEmitter.listenerCount` static function in the docs, and introduces
the `listenerCount` function in the prototype of `EventEmitter` itself.

PR-URL: https://github.com/nodejs/node/pull/2349
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
8 years agoUpdate FIPS instructions in README.md
Michael Dawson [Thu, 30 Jul 2015 22:12:36 +0000 (18:12 -0400)]
Update FIPS instructions in README.md

Update the instructions to follow the requirements
in the security policy and user guide

PR-URL: https://github.com/nodejs/node/pull/2278
Fixes: https://github.com/nodejs/node/issues/2242
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <r@va.gg>
8 years agotest: drop Isolate::GetCurrent() from addon tests
Ben Noordhuis [Tue, 18 Aug 2015 19:02:52 +0000 (21:02 +0200)]
test: drop Isolate::GetCurrent() from addon tests

v8::Isolate::GetCurrent() is not exactly deprecated at this point but
its use is strongly discouraged.  Update the addon tests so they no
longer use it.

PR-URL: https://github.com/nodejs/node/pull/2427
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agotest: lint addon tests
Ben Noordhuis [Tue, 18 Aug 2015 18:29:10 +0000 (20:29 +0200)]
test: lint addon tests

Add files in test/addon to the `make cpplint` rule and fix up existing
style issues.  Tests scraped from doc/api/addon.md are filtered out
because those are predominantly for illustrative purposes.

PR-URL: https://github.com/nodejs/node/pull/2427
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agodoc: clarify options for fs.watchFile()
Rich Trott [Tue, 18 Aug 2015 15:38:20 +0000 (08:38 -0700)]
doc: clarify options for fs.watchFile()

The explanation for the `options` argument to `fs.watchFile()` had
missing punctuation. I took the opportunity to try to rewrite the
paragraph for greater clarity.

PR-URL: https://github.com/nodejs/node/pull/2425
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
8 years agotest: refactor test-fs-watchfile.js
Rich Trott [Sat, 15 Aug 2015 23:17:36 +0000 (16:17 -0700)]
test: refactor test-fs-watchfile.js

The test no longer waits about 5 seconds between callback invocations.

It now writes to the tmp directory rather than the fixtures directory.

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/2393

8 years agosrc: better error message on failed Buffer malloc
Karl Skomski [Mon, 17 Aug 2015 20:51:42 +0000 (22:51 +0200)]
src: better error message on failed Buffer malloc

PR-URL: https://github.com/nodejs/node/pull/2422
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agocrypto: check for OpenSSL errors when signing
P.S.V.R [Tue, 18 Aug 2015 02:32:21 +0000 (10:32 +0800)]
crypto: check for OpenSSL errors when signing

Errors might be injected into OpenSSL's error stack
without the return value of `PEM_read_bio_PrivateKey` being set to
`nullptr`. See the test of `test_bad_rsa_privkey.pem` for an
example.

PR-URL: https://github.com/nodejs/node/pull/2342
Reviewed-By: Fedor Indutny <fedor@indutny.com>
8 years agotls: fix throughput issues after incorrect merge
Fedor Indutny [Fri, 14 Aug 2015 22:57:33 +0000 (15:57 -0700)]
tls: fix throughput issues after incorrect merge

1e066e4a was done incorrectly and has overwritten an important change
in: c17449df. Using bigger output buffer increases performance in 3-4
times.

PR-URL: https://github.com/nodejs/node/pull/2381
Fix: https://github.com/joyent/node/issues/25803
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agotools: run the tick processor without building v8
Matt Loring [Wed, 1 Jul 2015 00:24:21 +0000 (17:24 -0700)]
tools: run the tick processor without building v8

Currently, v8 native deps must be built in order to run the log
processor on node profiling output. These scripts use node instead
of d8 to remove this dependency.

This change was originally proposed to the v8 team but since the
changes are not v8 specific, we have moved the proposal here. See:
https://codereview.chromium.org/1179173009/

PR-URL: https://github.com/nodejs/node/pull/2090
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agocrypto: fix memory leak in PBKDF2Request
Karl Skomski [Fri, 14 Aug 2015 12:35:41 +0000 (14:35 +0200)]
crypto: fix memory leak in PBKDF2Request

PR-URL: https://github.com/nodejs/node/pull/2375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agocrypto: fix memory leak in ECDH::SetPrivateKey
Karl Skomski [Fri, 14 Aug 2015 12:30:52 +0000 (14:30 +0200)]
crypto: fix memory leak in ECDH::SetPrivateKey

PR-URL: https://github.com/nodejs/node/pull/2375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agocrypto: fix memory leak in PublicKeyCipher::Cipher
Karl Skomski [Fri, 14 Aug 2015 12:28:39 +0000 (14:28 +0200)]
crypto: fix memory leak in PublicKeyCipher::Cipher

PR-URL: https://github.com/nodejs/node/pull/2375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agocrypto: fix memory leak in SafeX509ExtPrint
Karl Skomski [Fri, 14 Aug 2015 12:26:07 +0000 (14:26 +0200)]
crypto: fix memory leak in SafeX509ExtPrint

PR-URL: https://github.com/nodejs/node/pull/2375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agocrypto: fix memory leak in SetDHParam
Karl Skomski [Fri, 14 Aug 2015 12:23:00 +0000 (14:23 +0200)]
crypto: fix memory leak in SetDHParam

PR-URL: https://github.com/nodejs/node/pull/2375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agosrc: fix memory leak in DLOpen
Karl Skomski [Fri, 14 Aug 2015 08:12:16 +0000 (10:12 +0200)]
src: fix memory leak in DLOpen

PR-URL: https://github.com/nodejs/node/pull/2375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agotest: correct spelling of 'childProcess'
muddletoes [Wed, 12 Nov 2014 18:42:34 +0000 (13:42 -0500)]
test: correct spelling of 'childProcess'

Per: https://github.com/joyent/node/pull/8715

Cleans up a minor spelling error in two tests.

PR-URL: https://github.com/nodejs/node/pull/2389
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agopath: use '===' instead of '==' for comparison
Sam Stites [Sat, 15 Aug 2015 17:07:07 +0000 (10:07 -0700)]
path: use '===' instead of '==' for comparison

Per: https://github.com/joyent/node/pull/7554

Originally submitted by @stites

PR-URL: https://github.com/nodejs/node/pull/2388
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agosrc: don't use fopen() in require() fast path
Ben Noordhuis [Thu, 13 Aug 2015 23:56:30 +0000 (01:56 +0200)]
src: don't use fopen() in require() fast path

Fix a regression that was introduced in commit 1bbf8d0 ("lib: speed up
require(), phase 2") where file paths with Unicode characters fail to
load on Windows.

Fixes: https://github.com/nodejs/node/issues/2236
PR-URL: https://github.com/nodejs/node/pull/2377
Reviewed-By: Bert Belder <bertbelder@gmail.com>
8 years agobuild: work around VS2015 issue in ICU <56
Steven R. Loomis [Fri, 31 Jul 2015 23:25:15 +0000 (16:25 -0700)]
build: work around VS2015 issue in ICU <56

The particular ufile.c is from
http://bugs.icu-project.org/trac/changeset/37704
and should be OK for ICU 54 and 55.

Also, adds general mechanism for floating patches on top of ICU.

Fixes: https://github.com/nodejs/node/issues/2279
PR-URL: https://github.com/nodejs/node/pull/2283
Reviewed-By: João Reis <reis@janeasystems.com>
8 years agosrc: rename Buffer::Use() to Buffer::New()
Ben Noordhuis [Thu, 13 Aug 2015 11:53:39 +0000 (13:53 +0200)]
src: rename Buffer::Use() to Buffer::New()

Fixes: https://github.com/nodejs/node/issues/2308
PR-URL: https://github.com/nodejs/node/pull/2352
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agosrc: introduce internal Buffer::Copy() function
Ben Noordhuis [Thu, 13 Aug 2015 11:47:18 +0000 (13:47 +0200)]
src: introduce internal Buffer::Copy() function

Rename the three argument overload of Buffer::New() to Buffer::Copy()
and update the code base accordingly.  The reason for renaming is to
make it impossible to miss a call site.

This coincidentally plugs a small memory leak in crypto.getAuthTag().

Fixes: https://github.com/nodejs/node/issues/2308
PR-URL: https://github.com/nodejs/node/pull/2352
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agosrc: move internal functions out of node_buffer.h
Ben Noordhuis [Thu, 13 Aug 2015 11:29:28 +0000 (13:29 +0200)]
src: move internal functions out of node_buffer.h

The circular dependency problem that put them there in the first place
is no longer an issue.  Move them out of the public node_buffer.h header
and into the private node_internals.h header.

Fixes: https://github.com/nodejs/node/issues/2308
PR-URL: https://github.com/nodejs/node/pull/2352
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agosrc: plug memory leaks
Ben Noordhuis [Fri, 7 Aug 2015 21:03:00 +0000 (23:03 +0200)]
src: plug memory leaks

In a few places dynamic memory was passed to the Buffer::New() overload
that makes a copy of the input, not the one that takes ownership.

This commit is a band-aid to fix the memory leaks.  Longer term, we
should look into using C++11 move semantics more effectively.

Fixes: https://github.com/nodejs/node/issues/2308
PR-URL: https://github.com/nodejs/node/pull/2352
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
8 years agobuild: intl: converge from joyent/node
Steven R. Loomis [Thu, 13 Aug 2015 15:30:01 +0000 (08:30 -0700)]
build: intl: converge from joyent/node

* turn on small-icu by default for builds (Makefile+Windows)
* add license info from ICU
  http://source.icu-project.org/repos/icu/icu/trunk/license.html
  All text pasted. Long lines wrapped. (original is HTML.)

Port from joyent/node of:
* https://github.com/nodejs/node/issues/26
 * port of joyent/node 67f87a743dee4951374dd240c25e31cd507e6c5f
* https://github.com/joyent/node/pull/9038
 * Merge from joyent/node 70d04e7f35667381aa6e9d76f56ea962c019d5bc
 * Merge from joyent/node 6168fe6720650052728f3e78a495b723f0b41ce3
 * merge from joyent/node e67073256d847be085be7049cd1d6ebd8d86ac62

PR-URL: https://github.com/nodejs/node/pull/2264
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Fixes: https://github.com/nodejs/node/issues/238

8 years agobuild: Intl: bump ICU4C from 54 to 55
Steven R. Loomis [Mon, 3 Aug 2015 19:44:06 +0000 (12:44 -0700)]
build: Intl: bump ICU4C from 54 to 55

node was using ICU4C 54 ( released 2014-oct-06 )

* Bump to ICU4C 55 ( released 2015-apr-08)
 * Timezone fixes, translation fixes, bug/performance fixes.
 * Speed improvements in date formatting
 * ICU4C 55 changelog: http://site.icu-project.org/download/55
 * CLDR 27 changelog: http://cldr.unicode.org/index/downloads/cldr-27

* Retarget the file exclusions from ICU4C 54 to ICU4C 55
 * (improves on-disk footprint on some platforms)

Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Fixes: https://github.com/nodejs/node/issues/2292
PR-URL: https://github.com/nodejs/node/pull/2293

8 years agotest: option to run a subset of tests
João Reis [Mon, 27 Jul 2015 16:39:04 +0000 (17:39 +0100)]
test: option to run a subset of tests

With this option, tests can be divided in groups and only one is run
from each group. This enables us to parallelize the tests across
multiple machines.

PR-URL: https://github.com/nodejs/io.js/pull/2260
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
8 years agocrypto: show exponent in decimal and hex
Chad Johnston [Fri, 7 Aug 2015 02:42:10 +0000 (20:42 -0600)]
crypto: show exponent in decimal and hex

The exponent value was already in hex, but missing the 0x prefix which
could be confusing.

PR-URL: https://github.com/nodejs/io.js/pull/2320
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
8 years agosrc: add total_available_size to v8 statistics
Roman Klauke [Tue, 11 Aug 2015 18:06:41 +0000 (20:06 +0200)]
src: add total_available_size to v8 statistics

v8 introduced the new flag `total_available_size` in version 4.4
and upwards. This flag is now available on `v8.getHeapStatistics`
with the name `total_available_size`. It contains the total
available heap size of v8.

Introduced with commit: v8/v8-git-mirror@0a1352a7

PR-URL: https://github.com/nodejs/io.js/pull/2348
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agobuild: expand ~ in install prefix early
Ben Noordhuis [Wed, 5 Aug 2015 12:44:21 +0000 (14:44 +0200)]
build: expand ~ in install prefix early

The install prefix gets written to config.gypi and config.mk.  Tildes
were expanded in the first file but not in the second one, causing the
`make install` target to install files to a directory named `~` in
the current working directory.

Fixes: https://github.com/nodejs/node/issues/75
PR-URL: https://github.com/nodejs/io.js/pull/2307
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
8 years agotest: clarify dropMembership() call
Rich Trott [Fri, 26 Jun 2015 01:54:25 +0000 (18:54 -0700)]
test: clarify dropMembership() call

According to docs, dropMembership() is automatically called
by the kernel when the socket is closed, and most apps will
never need to call it. It's called here as a sanity check
only so let's note that with a comment.

Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/nodejs/io.js/pull/2062

8 years agopath: remove dead code in favor of unit tests
Nathan Woltman [Fri, 31 Jul 2015 21:47:49 +0000 (17:47 -0400)]
path: remove dead code in favor of unit tests

Remove dead code paths that are created by assertions that will never
trigger. They may only trigger if either the `splitDeviceRe` or
`splitPathRe` regular expressions are modified. If at some point they
are modified, current unit tests will catch most of the resulting
errors and this commit adds extra tests to catch the remaining errors.

PR-URL: https://github.com/nodejs/io.js/pull/2282
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agobuild: update manifest to include Windows 10
Lucien Greathouse [Sun, 9 Aug 2015 05:56:08 +0000 (23:56 -0600)]
build: update manifest to include Windows 10

Windows 10 wasn't listed in the executable manifest.
This caused problems with trying to detect Windows 10
via `os.release()`.

PR-URL: https://github.com/nodejs/io.js/pull/2332
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agoutil: display constructor when inspecting objects
Christopher Monsanto [Wed, 10 Jun 2015 08:25:04 +0000 (04:25 -0400)]
util: display constructor when inspecting objects

This commit modifies util.inspect(obj) to additionally show the name of
the function that constructed the object. This often reveals useful
information about the object's prototype. In other words, instead of

> new Cls
{}

we have

> new Cls
Cls {}

This also works with exotic objects:

> class ArrayCls extends Array {}
> new ArrayCls(1, 2, 3)
ArrayCls [ 1, 2, 3 ]

The names of "trivial" constructors like Object and Array are not shown,
unless there is a mismatch between the object representation and the
prototype:

> Object.create([])
Array {}

This feature is inspired by browser devtools.

PR-URL: https://github.com/nodejs/io.js/pull/1935
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
8 years agotls: fix check for reused session
Fedor Indutny [Sat, 8 Aug 2015 01:14:54 +0000 (18:14 -0700)]
tls: fix check for reused session

When TLS Session Ticket is renewed by server - no Certificate record is
to the client. We are prepared for empty certificate in this case, but
this relies on the session reuse check, which was implemented
incorrectly and was returning false when the TLS Session Ticket was
renewed.

Use session reuse check provided by OpenSSL instead.

Fix: https://github.com/nodejs/io.js/issues/2304
PR-URL: https://github.com/nodejs/io.js/pull/2312
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
8 years agotls: introduce internal `onticketkeycallback`
Fedor Indutny [Sat, 8 Aug 2015 01:12:44 +0000 (18:12 -0700)]
tls: introduce internal `onticketkeycallback`

`enableTicketKeyCallback` and `onticketkeycallback` could be potentially
used to renew the TLS Session Tickets before they expire. However this
commit will introduce it only for private use yet, because we are not
sure about the API, and already need this feature for testing.

See: https://github.com/nodejs/io.js/issues/2304
PR-URL: https://github.com/nodejs/io.js/pull/2312
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
8 years agotest: make listen-fd-cluster/server more robust
Sam Roberts [Wed, 10 Jun 2015 15:41:03 +0000 (08:41 -0700)]
test: make listen-fd-cluster/server more robust

- eliminate unnecessary intermediate process ("parent")
- children exit if runner dies unexpectedly (killed on a test timeout,
  for example)
- use explicit messaging from children to parents to indicate when
  worker is ready to accept http requests, rather than racing to see
  whether runner will make request before worker is listening

PR-URL: https://github.com/nodejs/io.js/pull/1944
Reviewed-By: Johan Bergstrom <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <ben@strongloop.com>
8 years agonet: ensure Socket reported address is current
Ryan Graham [Thu, 2 Jul 2015 22:26:21 +0000 (15:26 -0700)]
net: ensure Socket reported address is current

Any time the connection state or the underlying handle itself changes,
the socket's name (aka, local address) can change.

To deal with this we need to reset the cached sockname any time we
set or unset the internal handle or an existing handle establishes a
connection.

PR-URL: https://github.com/nodejs/io.js/pull/2095
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
8 years agotest: address timing issues in simple http tests
Gireesh Punathil [Wed, 18 Mar 2015 08:12:16 +0000 (04:12 -0400)]
test: address timing issues in simple http tests

simple tests test-http-request-end.js, test-http-default-encoding.js
hangs in AIX. The root cause for both the failures is related to the
timing with which packets are sent between the client and server.
On the client side, one factor that affects the timing is Nagle's
algorithm. With Nagle enabled there may be a delay between two packets
as the stack may wait until either:
  a. An acknowledgement for the first packet is received, or
  b. 200 ms elapses.
before sending the second packet.

Similarly at the server side 2 sequential packages can be delivered to
the application either together or separatly.

On AIX we see that they are delivered separately to the server, while on
Linux delivered together. If we change the timing, for example disabling
Nagle on AIX we see the 2 packets delivered together and the tests pass.

In the test case simple/test-http-request-end.js, the client request
handler of the server receives and stores the data in a data callback,
closes the server in a request end callback, and writes to the client
and ends the response, in-line with the request receipt. An HTTP parser
module parses the incoming message, and invokes callback routines which
are registered for HTTP events (such as header, body, end etc.)

Because the termination sequence arrive in a separate packet, there is a
delay in parsing that message and identify that the client request ended
(and thereby invoke the request end call backhandler). Due to this delay,
the response close happens first, which in-turn destroys the server
socket leading to the fd and watcher removal from the uv loop abandoning
further events on this connection, and end call back never being called,
causing the reported hang.  simple/test-http-default-encoding.js suffers
from the same problem.

Also, remove the timer logic from the test case. Test harness anyways
contain a timer which controls the individual tests so remove such
controls from the test case, as suggested by @tjfontaine

Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
PR-URL: https://github.com/joyent/node/pull/9432

PORT-FROM: joyent/node @ 13e1131406b2239f99962ecc05b8179aa781d0f8
PR-URL: https://github.com/nodejs/io.js/pull/2294
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agodoc: multiple documentation updates cherry picked from v0.12
James M Snell [Wed, 24 Jun 2015 03:42:49 +0000 (20:42 -0700)]
doc: multiple documentation updates cherry picked from v0.12

 * doc: improve http.abort description
 * doc: mention that mode is ignored if file exists
 * docs: Fix default options for fs.createWriteStream()
 * Documentation update about Buffer initialization
 * doc: add a note about readable in flowing mode
 * doc: Document http.request protocol option
 * doc, comments: Grammar and spelling fixes
 * updated documentation for fs.createReadStream
 * Update child_process.markdown, spelling
 * doc: Clarified read method with specified size argument.
 * docs:events clarify emitter.listener() behavior
 * doc: two minor stream doc improvements
 * doc: clarify Readable._read and Readable.push
 * doc: stream.unshift does not reset reading state
 * doc: readable event clarification
 * doc: additional refinement to readable event

Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noorduis <ben@strongloop.com>
PR-URL: https://github.com/nodejs/io.js/pull/2302

8 years agoWorking on v4.0.0
Rod Vagg [Wed, 5 Aug 2015 07:36:37 +0000 (00:36 -0700)]
Working on v4.0.0

8 years agoWorking on v3.0.1
Rod Vagg [Tue, 4 Aug 2015 21:23:27 +0000 (14:23 -0700)]
Working on v3.0.1

8 years ago2015-08-04 io.js v3.0.0 Release v3.0.0
Rod Vagg [Sat, 1 Aug 2015 02:10:43 +0000 (12:10 +1000)]
2015-08-04 io.js v3.0.0 Release

Notable changes:

* buffer:
  - Due to changes in V8, it has been necessary to reimplement Buffer
    on top of V8's Uint8Array. While every effort has been made to
    maintain performance, users are likely to experience a different
    performance profile depending on how Buffer is used.
    (Trevor Norris) #1825.
  - Buffer can now take ArrayBuffers as a constructor argument
    (Trevor Norris) #2002.
  - When a single buffer is passed to Buffer.concat(), a new, copied
    Buffer object will be returned; previous behavior was to return
    the original Buffer object (Sakthipriyan Vairamani) #1937.
* build: PPC support has been added to core to allow compiling on
  pLinux BE and LE (AIX support coming soon) (Michael Dawson) #2124.
* dgram: If an error occurs within socket.send() and a callback has
  been provided, the error is only passed as the first argument to the
  callback and not emitted on the socket object; previous behavior was
  to do both (Matteo Collina & Chris Dickinson) #1796
* freelist: Deprecate the undocumented freelist core module
  (Sakthipriyan Vairamani) #2176.
* http:
  - Status codes now all use the official IANA names as per RFC7231,
    e.g. http.STATUS_CODES[414] now returns 'URI Too Long' rather than
    'Request-URI Too Large' (jomo) #1470.
  - Calling .getName() on an HTTP agent no longer returns a trailing
    colon, HTTPS agents will no longer return an extra colon near the
    middle of the string (Brendan Ashworth) #1617.
* node:
  - NODE_MODULE_VERSION has been bumped to 45 to reflect the break in
    ABI (Rod Vagg) #2096.
  - Introduce a new process.release object that contains a name
    property set to 'io.js' and sourceUrl, headersUrl and libUrl
    (Windows only) properties containing URLs for the relevant
    resources; this is intended to be used by node-gyp
    (Rod Vagg) #2154.
  - The version of node-gyp bundled with io.js now downloads and uses
    a tarball of header files from iojs.org rather than the full
    source for compiling native add-ons; it is hoped this is a
    temporary floating patch and the change will be upstreamed to
    node-gyp soon (Rod Vagg) #2066.
* repl: Persistent history is now enabled by default. The history file
  is located at ~/.node_repl_history, which can be overridden by the
  new environment variable NODE_REPL_HISTORY. This deprecates the
  previous NODE_REPL_HISTORY_FILE variable. Additionally, the format
  of the file has been changed to plain text to better handle file
  corruption. (Jeremiah Senkpiel) #2224.
* smalloc: The smalloc module has been removed as it is no longer
  possible to provide the API due to changes in V8
  (Ben Noordhuis) #2022.
* tls: Add server.getTicketKeys() and server.setTicketKeys() methods
  for TLS session key rotation (Fedor Indutny) #2227.
* v8: Upgraded to 4.4.63.26
  - ES6: Enabled computed property names
  - ES6: Array can now be subclassed in strict mode
  - ES6: Implement rest parameters in staging, use the
    --harmony-rest-parameters command line flag
  - ES6: Implement the spread operator in staging, use the
    --harmony-spreadcalls command line flag
  - Removed SetIndexedPropertiesToExternalArrayData and related APIs,
    forcing a shift to Buffer to be reimplemented based on Uint8Array
  - Introduction of Maybe and MaybeLocal C++ API for objects which may
    or may not have a value.
  - Added support for PPC

PR-URL: https://github.com/nodejs/io.js/pull/2299

8 years agodoc: fix heading levels for new repl documentation
Rod Vagg [Tue, 4 Aug 2015 20:59:23 +0000 (13:59 -0700)]
doc: fix heading levels for new repl documentation

PR-URL: https://github.com/nodejs/io.js/pull/2299
Reviewed-by: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
8 years agorepl: persist history in plain text
Jeremiah Senkpiel [Mon, 3 Aug 2015 20:10:19 +0000 (13:10 -0700)]
repl: persist history in plain text

Persists the REPL history in plain text using the new NODE_REPL_HISTORY
environment variable. Deprecates NODE_REPL_HISTORY_FILE. The REPL will
notify the user and automatically convert the history to the new format
if files are specified.

PR-URL: https://github.com/nodejs/io.js/pull/2224
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agorepl: default persistence to ~/.node_repl_history
Jeremiah Senkpiel [Tue, 4 Aug 2015 06:24:03 +0000 (23:24 -0700)]
repl: default persistence to ~/.node_repl_history

Makes the REPL persistently save history by default to
~/.node_repl_history when in terminal mode.
This can be disabled by setting NODE_REPL_HISTORY="".

PR-URL: https://github.com/nodejs/io.js/pull/2224
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agotest: add tests for persistent repl history
Jeremiah Senkpiel [Sun, 2 Aug 2015 05:38:28 +0000 (22:38 -0700)]
test: add tests for persistent repl history

PR-URL: https://github.com/nodejs/io.js/pull/2224
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agodoc: document repl persistent history changes
Jeremiah Senkpiel [Tue, 4 Aug 2015 06:33:48 +0000 (23:33 -0700)]
doc: document repl persistent history changes

PR-URL: https://github.com/nodejs/io.js/pull/2224
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
8 years agosrc: disable vector ICs on arm
Michaël Zasso [Thu, 30 Jul 2015 10:05:20 +0000 (12:05 +0200)]
src: disable vector ICs on arm

A bug on ARMv6 makes the process crash when the V8 debugger is used.
Disabling vector ICs as a workaround.

V8-Bug: https://code.google.com/p/v8/issues/detail?id=4338
PR-URL: https://github.com/nodejs/io.js/pull/2220
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
8 years agodeps: update V8 to 4.4.63.26
Michaël Zasso [Mon, 27 Jul 2015 06:43:54 +0000 (08:43 +0200)]
deps: update V8 to 4.4.63.26

Includes cherry-picks for:
 * JitCodeEvent patch: https://crrev.com/f7969b1d5a55e66237221a463daf422ac7611788
 * argparse patch: https://crrev.com/44bc918458481d60b08d5566f0f31a79e39b85d7

PR-URL: https://github.com/nodejs/io.js/pull/2220
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
8 years agohttp: fix agent.getName() and add tests
Brendan Ashworth [Tue, 5 May 2015 02:24:59 +0000 (19:24 -0700)]
http: fix agent.getName() and add tests

This commit fixes agent.getName(), which returned an extra colon
according to the docs, and adds tests (it was previously not unit
tested).

PR-URL: https://github.com/nodejs/io.js/pull/1617
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
8 years agoreadline: allow tabs in input
Rich Trott [Thu, 21 May 2015 04:17:10 +0000 (21:17 -0700)]
readline: allow tabs in input

If tab completion is not being used, allow user to enter tab
characters.

PR-URL: https://github.com/nodejs/io.js/pull/1761
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
8 years agobuild: prepare Windows installer for i18n support
Frederic Hemberger [Sat, 25 Jul 2015 11:33:32 +0000 (13:33 +0200)]
build: prepare Windows installer for i18n support

PR-URL: https://github.com/nodejs/io.js/pull/2247
Reviewed-By: Rod Vagg <rod@vagg.org>