Граф коммитов

113 Коммитов

Автор SHA1 Сообщение Дата
Myles Borins d6608ed47a 2016-03-02, Version 4.3.2 'Argon' (LTS)
This is a security release with only a single commit, an update to openssl due to a recent security advisory. You can read more about the security advisory on the Node.js website https://nodejs.org/en/blog/vulnerability/openssl-march-2016/

* openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) https://github.com/nodejs/node/pull/5507
  - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at CVE-2016-0705 https://www.openssl.org/news/vulnerabilities.html#2016-0705.
  - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at CVE-2016-0797 https://www.openssl.org/news/vulnerabilities.html#2016-0797.
  - Fix a defect that makes the _CacheBleed Atta https://ssrg.nicta.com.au/projects/TS/cachebleed/ _ possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at CVE-2016-0702 https://www.openssl.org/news/vulnerabilities.html#2016-0702.

PR-URL: https://github.com/nodejs/node/pull/5526
2016-03-02 13:39:47 -08:00
Rod Vagg 7b0a83d2b0 2016-02-23, Version 5.7.0 (Stable)
* buffer:
  - You can now supply an encoding argument when filling a
    Buffer Buffer#fill(string[, start[, end]][, encoding]), supplying
    an existing Buffer will also work with
    Buffer#fill(buffer[, start[, end]]). See the API documentation for
    details on how this works. (Trevor Norris) #4935
  - Buffer#indexOf() no longer requires a byteOffset argument if you
    also wish to specify an encoding:
    Buffer#indexOf(val[, byteOffset][, encoding]).
    (Trevor Norris) #4803
* child_process: spawn() and spawnSync() now support a 'shell' option
  to allow for optional execution of the given command inside a shell.
  If set to true, cmd.exe will be used on Windows and /bin/sh
  elsewhere. A path to a custom shell can also be passed to override
  these defaults. On Windows, this option allows .bat. and .cmd files
  to be executed with spawn() and spawnSync(). (Colin Ihrig) #4598
* http_parser: Update to http-parser 2.6.2 to fix an unintentionally
  strict limitation of allowable header characters.
  (James M Snell) #5237
* dgram: socket.send() now supports accepts an array of Buffers or
  Strings as the first argument. See the API docs for details on how
  this works. (Matteo Collina) #4374
* http: Fix a bug where handling headers will mistakenly trigger an
  'upgrade' event where the server is just advertising its protocols.
  This bug can prevent HTTP clients from communicating with HTTP/2
  enabled servers. (Fedor Indutny) #4337
* net: Added a listening Boolean property to net and http servers to
  indicate whether the server is listening for connections.
  (José Moreira) #4743
* node: The C++ node::MakeCallback() API is now reentrant and calling
  it from inside another MakeCallback() call no longer causes the
  nextTick queue or Promises microtask queue to be processed out of
  order. (Trevor Norris) #4507
* tls: Add a new tlsSocket.getProtocol() method to get the negotiated
  TLS protocol version of the current connection. (Brian White) #4995
* vm: Introduce new 'produceCachedData' and 'cachedData' options to
  new vm.Script() to interact with V8's code cache. When a new
  vm.Script object is created with the 'produceCachedData' set to true
  a Buffer with V8's code cache data will be produced and stored in
  cachedData property of the returned object. This data in turn may be
  supplied back to another vm.Script() object with a 'cachedData'
  option if the supplied source is the same. Successfully executing a
  script from cached data can speed up instantiation time. See the API
  docs for details. (Fedor Indutny) #4777
* performance: Improvements in:
  - process.nextTick() (Ruben Bridgewater) #5092
  - path module (Brian White) #5123
  - querystring module (Brian White) #5012
  - streams module when processing small chunks (Matteo Collina) #4354

PR-URL: https://github.com/nodejs/node/pull/5295
2016-02-24 17:15:22 +11:00
Myles Borins c1b3d78a39 2016-02-16, Version 4.3.1 'Argon' (LTS)
Notable changes:

* buffer: make byteLength work with Buffer correctly (Jackson Tian)
  - https://github.com/nodejs/node/pull/4738
* debugger: guard against call from non-node context (Ben Noordhuis)
  - https://github.com/nodejs/node/pull/4328
* node_contextify: do not incept debug context (Myles Borins)
  - https://github.com/nodejs/node/pull/4819
* deps: update to http-parser 2.5.2 (James Snell)
  - https://github.com/nodejs/node/pull/5238

PR-URL: https://github.com/nodejs/node/pull/5200#issuecomment-184897483
2016-02-16 17:02:01 -08:00
James M Snell de91e9a8a7 doc: fix v4.3.0 changelog commit entries
The wrong commit SHA's were used

PR-URL: https://github.com/nodejs/node/pull/5164
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2016-02-15 08:10:14 -08:00
James M Snell 1a68f85c4e 2016-02-09, Version 5.6.0 (Stable)
This is an important security release. All Node.js users should
consult the security release summary at nodejs.org for details on
patched vulnerabilities.

Notable changes

* http: fix defects in HTTP header parsing for requests and responses
  that can allow request smuggling (CVE-2016-2086) or response
  splitting (CVE-2016-2216). HTTP header parsing now aligns more
  closely with the HTTP spec including restricting the acceptable
  characters.
* http-parser: upgrade from 2.6.0 to 2.6.1
* npm: upgrade npm from 3.3.12 to 3.6.0
  (Rebecca Turner) https://github.com/nodejs/node/pull/4958
* openssl: upgrade from 1.0.2e to 1.0.2f. To mitigate against the
  Logjam attack, TLS clients now reject Diffie-Hellman handshakes with
  parameters shorter than 1024-bits, up from the previous limit of
  768-bits.
2016-02-09 09:30:44 -08:00
James M Snell 7daded4ff0 2016-02-09, Version 4.3.0 'Argon' (LTS)
This is an important security release. All Node.js users should
consult the security release summary at nodejs.org for details on
patched vulnerabilities.

Note that this release includes a non-backward compatible change to
address a security issue. This change increases the version of the LTS
v4.x line to v4.3.0. There will be *no further updates* to v4.2.x.

* http: fix defects in HTTP header parsing for requests and responses
  that can allow request smuggling (CVE-2016-2086) or response
  splitting (CVE-2016-2216). HTTP header parsing now aligns more
  closely with the HTTP spec including restricting the acceptable
  characters.
* http-parser: upgrade from 2.5.0 to 2.5.1
* openssl: upgrade from 1.0.2e to 1.0.2f. To mitigate against the
  Logjam attack, TLS clients now reject Diffie-Hellman handshakes with
  parameters shorter than 1024-bits, up from the previous limit of
  768-bits.
* src:
  - introduce new `--security-revert={cvenum}` command line flag for
    selective reversion of specific CVE fixes
  - allow the fix for CVE-2016-2216 to be selectively reverted using
    `--security-revert=CVE-2016-2216`

PR-URL: https://github.com/nodejs/node-private/pull/20
2016-02-09 09:29:14 -08:00
James M Snell 2dc89da504 2016-02-09, Version 0.12.10 (LTS)
This is an important security release. All Node.js users should
consult the security release summary at nodejs.org for details on
patched vulnerabilities.

Notable changes:

* http: fix defects in HTTP header parsing for requests and responses
  that can allow request smuggling (CVE-2016-2086) or response
  splitting (CVE-2016-2216). HTTP header parsing now aligns more
  closely with the HTTP spec including restricting the acceptable
  characters.
* http-parser: upgrade from 2.3.0 to 2.3.1
* openssl: upgrade from 1.0.1q to 1.0.1r. To mitigate against the
  Logjam attack, TLS clients now reject Diffie-Hellman handshakes with
  parameters shorter than 1024-bits, up from the previous limit of
  768-bits.
* src:
  - introduce new `--security-revert={cvenum}` command line flag for
    selective reversion of specific CVE fixes
  - allow the fix for CVE-2016-2216 to be selectively reverted using
    `--security-revert=CVE-2016-2216`
* build:
  - xz compressed tar files will be made available from nodejs.org for
    v0.12 builds from v0.12.10 onward
  - A headers.tar.gz file will be made available from nodejs.org for
    v0.12 builds from v0.12.10 onward, a future change to node-gyp
    will be required to make use of these

PR-URL: https://github.com/nodejs/node-private/pull/24
2016-02-09 09:27:27 -08:00
James M Snell bc86c5675b 2016-02-09, Version 0.10.42 (Maintenance)
This is an important security release. All Node.js users should
consult the security release summary at nodejs.org for details on
patched vulnerabilities.

Notable changes:

* http: fix defects in HTTP header parsing for requests and responses
  that can allow request smuggling (CVE-2016-2086) or response
  splitting (CVE-2016-2216). HTTP header parsing now aligns more
  closely with the HTTP spec including restricting the acceptable
  characters.
* http-parser: upgrade from 1.0 to 1.1
* openssl: upgrade from 1.0.1q to 1.0.1r. To mitigate against the
  Logjam attack, TLS clients now reject Diffie-Hellman handshakes with
  parameters shorter than 1024-bits, up from the previous limit of
  768-bits.
* src:
  - introduce new `--security-revert={cvenum}` command line flag for
    selective reversion of specific CVE fixes
  - allow the fix for CVE-2016-2216 to be selectively reverted using
    `--security-revert=CVE-2016-2216`
* build:
  - xz compressed tar files will be made available from nodejs.org for
    v0.10 builds from v0.10.42 onward
  - A headers.tar.gz file will be made available from nodejs.org for
    v0.10 builds from v0.10.42 onward, a future change to node-gyp
    will be required to make use of these

PR-URL: https://github.com/nodejs/node-private/pull/25
2016-02-09 09:26:03 -08:00
James M Snell b5b5bb1e3c src: avoid compiler warning in node_revert.cc
PR-URL: https://github.com/nodejs/node-private/pull/26
Reviewed-By: Rod Vagg <r@va.gg>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-02-09 09:22:13 -08:00
Myles Borins 8221917e85 2016-01-21, Version 4.2.6 "Argon" (LTS) Release
Notable changes:

* Fix regression in debugger and profiler functionality

PR-URL: https://github.com/nodejs/node/pull/4788
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2016-01-21 14:19:57 -08:00
Evan Lucas 318ded2c4d 2016-01-20, Version 5.5.0 (Stable)
Notable changes:

* events: make sure console functions exist (Dave) https://github.com/nodejs/node/pull/4479
* fs: add autoClose option to fs.createWriteStream (Saquib) https://github.com/nodejs/node/pull/3679
* http: improves expect header handling (Daniel Sellers) https://github.com/nodejs/node/pull/4501
* node: allow preload modules with -i (Evan Lucas) https://github.com/nodejs/node/pull/4696
* v8,src: expose statistics about heap spaces (`v8.getHeapSpaceStatistics()`) (Ben Ripkens) https://github.com/nodejs/node/pull/4463
* Minor performance improvements:
  - lib: Use arrow functions instead of bind where possible (Minwoo Jung) https://github.com/nodejs/node/pull/3622
  - module: cache stat() results more aggressively (Ben Noordhuis) https://github.com/nodejs/node/pull/4575
  - querystring: improve parse() performance (Brian White) https://github.com/nodejs/node/pull/4675

PR-URL: https://github.com/nodejs/node/pull/4742
2016-01-20 20:23:48 -06:00
Myles Borins d50a8a9848 2016-01-20, Version 4.2.5 "Argon" (LTS) Release
Notable changes:

* assert
  -  accommodate ES6 classes that extend Error (Rich Trott) https://github.com/nodejs/node/pull/4166
* build
  - add "--partly-static" build options (Super Zheng) https://github.com/nodejs/node/pull/4152
* deps
  - backport 066747e from upstream V8 (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/4655
  - backport 200315c from V8 upstream (Vladimir Kurchatkin) https://github.com/nodejs/node/pull/4128
  - upgrade libuv to 1.8.0 (Saúl Ibarra Corretgé)
* docs
  - various updates landed in 70 different commits!
* repl
  - attach location info to syntax errors (cjihrig) https://github.com/nodejs/node/pull/4013
  - display error message when loading directory (Prince J Wesley) https://github.com/nodejs/node/pull/4170
* tests
  - various updates landed in over 50 commits
* util
  - allow lookup of hidden values (cjihrig) https://github.com/nodejs/node/pull/3988

PR-URL: https://github.com/nodejs/node/pull/4768
2016-01-20 12:47:54 -08:00
Myles Borins a254507dfa 2016-01-12, Version 5.4.1 (Stable)
Notable Changes:

* Minor performance improvements:
  - module: move unnecessary work for early return (Andres Suarez) https://github.com/nodejs/node/pull/3579
* Various bug fixes
* Various doc fixes
* Various test improvements

PR-URL: https://github.com/nodejs/node/pull/4626
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2016-01-12 16:12:31 -08:00
Jeremiah Senkpiel 5f0abd6472 2016-01-06, Version 5.4.0 (Stable)
* http:
  - A new status code was added: 451 - "Unavailable For Legal Reasons"
(Max Barinov) https://github.com/nodejs/node/pull/4377
  - Idle sockets that have been kept alive now handle errors (José F.
Romaniello) https://github.com/nodejs/node/pull/4482
* This release also includes several minor performance improvements:
  - assert: deepEqual is now speedier when comparing TypedArrays
(Claudio Rodriguez) https://github.com/nodejs/node/pull/4330
  - lib: Use arrow functions instead of bind where possible (Minwoo
Jung) https://github.com/nodejs/node/pull/3622
  - node: Improved accessor perf of process.env (Trevor Norris)
https://github.com/nodejs/node/pull/3780
  - node: Improved performance of process.hrtime() (Trevor Norris)
https://github.com/nodejs/node/pull/3780, (Evan Lucas)
https://github.com/nodejs/node/pull/4484
  - node: Improved GetActiveHandles performance (Trevor Norris)
https://github.com/nodejs/node/pull/3780
  - util: Use faster iteration in util.format() (Jackson Tian)
https://github.com/nodejs/node/pull/3964

Refs: https://github.com/nodejs/node/pull/4547
PR-URL: https://github.com/nodejs/node/pull/4623
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-01-11 12:42:53 -05:00
James M Snell 7fac47c94a 2015-12-23, Version 4.2.4 "Argon" (LTS) Release
Maintenance Update

Notable changes

* Roughly 78% of the commits are documentation and test
  improvements
* domains:
  - Fix handling of uncaught exceptions (Julien Gilli)
    [#3884](https://github.com/nodejs/node/pull/3884)
* deps:
  - Upgrade to npm 2.14.12 (Kat Marchán)
    [#4110](https://github.com/nodejs/node/pull/4110)
  - Backport 819b40a from V8 upstream (Michaël Zasso)
    [#3938](https://github.com/nodejs/node/pull/3938)
  - Updated node LICENSE file with new npm license (Kat Marchán)
    [#4110](https://github.com/nodejs/node/pull/4110)
2015-12-23 09:22:48 -08:00
Jeremiah Senkpiel 14f81a022d 2015-07-09 io.js v1.8.4 Release
Notable changes

* openssl: Upgrade to 1.0.2d, fixes CVE-2015-1793 (Alternate Chains
Certificate Forgery) https://github.com/nodejs/io.js/pull/2141.
2015-12-20 19:14:23 +03:00
Rod Vagg 8e724e6677 2015-07-04 io.js v1.8.3 Release
Maintenance release

Notable Changes:

* v8: Fixed an out-of-band write in utf8 decoder. This is an important
  security update as it can be used to cause a denial of service
  attack.
* openssl: - Upgrade to 1.0.2b and 1.0.2c, introduces DHE
  man-in-the-middle protection (Logjam) and fixes malformed
  ECParameters causing infinite loop (CVE-2015-1788). See the
  security advisory for full details. (Shigeki Ohtsu) #1950 #1958
* build:
  - Added support for compiling with Microsoft Visual C++ 2015
  - Started building and distributing headers-only tarballs along with
    binaries
2015-12-20 19:14:23 +03:00
Rod Vagg 361db7e191 2015-05-17 io.js v1.8.2 Release
Maintenance release

Notable Changes:

* crypto: significantly reduced memory usage for TLS (Fedor Indutny &
  Сковорода Никита Андреевич) #1529
* npm: Upgrade npm to 2.9.0. See the v2.8.4 and v2.9.0 release notes for
  details.
2015-12-20 19:14:23 +03:00
cjihrig e5774c9df0 2015-12-16, Version 5.3.0 (Stable)
Notable changes:

* buffer:
  - Buffer.prototype.includes() has been added to keep parity
    with TypedArrays. (Alexander Martin) #3567.
* domains:
  - Fix handling of uncaught exceptions.
    (Julien Gilli) #3654.
* https:
  - Added support for disabling session caching.
    (Fedor Indutny) #4252.
* repl:
  - Allow third party modules to be imported using
    require(). This corrects a regression from 5.2.0.
    (Ben Noordhuis) #4215.
* deps:
  - Upgrade libuv to 1.8.0.
    (Saúl Ibarra Corretgé) #4276.

PR-URL: https://github.com/nodejs/node/pull/4281

Conflicts:
	src/node_version.h
2015-12-16 14:53:22 -05:00
Rod Vagg 6ca5ea3860 2015-12-09, Version 5.2.0 (Stable)
Notable changes:

* build:
  - Add support for Intel's VTune JIT profiling when compiled with
    --enable-vtune-profiling. For more information about VTune, see
    https://software.intel.com/en-us/node/544211. (Chunyang Dai) #3785.
  - Properly enable V8 snapshots by default. Due to a configuration
    error, snapshots have been kept off by default when the intention
    is for the feature to be enabled. (Fedor Indutny) #3962.
* crypto:
  - Simplify use of ECDH (Elliptic Curve Diffie-Hellman) objects
    (created via crypto.createECDH(curve_name)) with private keys that
    are not dynamically generated via generateKeys(). The public key
    is now computed when explicitly setting a private key. Added
    validity checks to reduce the possibility of computing weak or
    invalid shared secrets. Also, deprecated the setPublicKey() method
    for ECDH objects as its usage is unnecessary and can lead to
    inconsistent state. (Michael Ruddy) #3511.
  - Update root certificates from the current list stored maintained
    by Mozilla NSS. (Ben Noordhuis) #3951.
  - Multiple CA certificates can now be passed with the ca option to
    TLS methods as an array of strings or in a single new-line
    separated string. (Ben Noordhuis) #4099
* tools: Include a tick processor in core, exposed via the
  --prof-process command-line argument which can be used to process V8
  profiling output files generated when using the --prof command-line
  argument. (Matt Loring) #4021.

PR-URL: https://github.com/nodejs/node/pull/4181
2015-12-09 16:22:19 +11:00
Rod Vagg ab009a0955 2015-12-04, Version 5.1.1 (Stable)
Security Update

Notable items:

* **http**: Fix a bug where an HTTP socket may no longer have a socket
  but a pipelined request triggers a pause or resume, a potential
  denial-of-service vector. (Fedor Indutny)
* **openssl**: Upgrade to 1.0.2e, containing fixes for:
  - CVE-2015-3193 "BN_mod_exp may produce incorrect results on x86_64",
    an attack is considered feasible against DH, an attack against RSA
    and DSA is considered possible but unlikely, EC algorithms are not
    affected. Details are available at
    <http://openssl.org/news/secadv/20151203.txt>.
  - CVE-2015-3194 "Certificate verify crash with missing PSS parameter",
    a potential denial-of-service vector for Node.js TLS servers; TLS
    clients are also impacted. Details are available at
    <http://openssl.org/news/secadv/20151203.txt>.
  (Shigeki Ohtsu) #4134
* v8: Backport fixes for a bug in `JSON.stringify()` that can result
  in out-of-bounds reads for arrays. (Ben Noordhuis)

PR-URL: https://github.com/nodejs/node-private/pull/11
2015-12-05 15:38:01 +11:00
Rod Vagg e935a5214c 2015-12-04, Version 4.2.3 "Argon" (LTS) Release
Security Update

Notable items:

* http: Fix a bug where an HTTP socket may no longer have a socket
  but a pipelined request triggers a pause or resume, a potential
  denial-of-service vector. (Fedor Indutny)
* openssl: Upgrade to 1.0.2e, containing fixes for:
  - CVE-2015-3193 "BN_mod_exp may produce incorrect results on x86_64",
    an attack is considered feasible against a Node.js TLS server using
    DHE key exchange. Details are available at
    <http://openssl.org/news/secadv/20151203.txt>.
  - CVE-2015-3194 "Certificate verify crash with missing PSS parameter",
    a potential denial-of-service vector for Node.js TLS servers; TLS
    clients are also impacted. Details are available at
    <http://openssl.org/news/secadv/20151203.txt>.
  (Shigeki Ohtsu) #4134
* v8: Backport fixes for a bug in `JSON.stringify()` that can result
  in out-of-bounds reads for arrays. (Ben Noordhuis)

PR-URL: https://github.com/nodejs/node-private/pull/12
2015-12-05 15:37:52 +11:00
Rod Vagg 07d8741ddf 2015-12-04, Version 0.12.9 (Stable)
Security Update

Notable items:

* http: Fix a bug where an HTTP socket may no longer have a socket but a
  pipelined request triggers a pause or resume, a potential
  denial-of-service vector. (Fedor Indutny)
* openssl: Upgrade to 1.0.1q, fixes CVE-2015-3194
  "Certificate verify crash with missing PSS parameter", a potential
  denial-of-service vector for Node.js TLS servers; TLS clients are also
  impacted. Details are available at
  <http://openssl.org/news/secadv/20151203.txt>. (Ben Noordhuis) #4133

PR-URL: https://github.com/nodejs/node-private/pull/13
2015-12-05 15:37:40 +11:00
Rod Vagg 2c61b84772 2015-12-04, Version 0.10.41 (Maintenance)
Security Update

Notable items:

* build: Add support for Microsoft Visual Studio 2015
* npm: Upgrade to v1.4.29 from v1.4.28. A special one-off release as
  part of the strategy to get a version of npm into Node.js v0.10.x that
  works with the current registry
  (https://github.com/nodejs/LTS/issues/37). This version of npm prints
  out a banner each time it is run. The banner warns that the next
  standard release of Node.js v0.10.x will ship with a version of npm
  v2.
* openssl: Upgrade to 1.0.1q, containing fixes CVE-2015-3194
  "Certificate verify crash with missing PSS parameter", a potential
  denial-of-service vector for Node.js TLS servers; TLS clients are also
  impacted. Details are available at
  <http://openssl.org/news/secadv/20151203.txt>. (Ben Noordhuis)
  #4133

PR-URL: https://github.com/nodejs/node-private/pull/15
2015-12-05 15:31:15 +11:00
Rod Vagg 483016ffd9 2015-11-25 Version 0.12.8 (LTS) Release
PR-URL: https://github.com/nodejs/node/pull/2806
2015-12-05 15:31:15 +11:00
Jeremiah Senkpiel 29cd1195ec 2015-11-17, Version 5.1.0 (Stable)
PR-URL: https://github.com/nodejs/node/pull/3736
2015-11-17 16:52:26 -05:00
James M Snell 3268383c2b doc: fix wrong date and known issue in changelog.md
* 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: https://github.com/nodejs/node/pull/3650
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
2015-11-04 15:21:00 -08:00
James M Snell 3be3fb6538 2015-11-03, Version 4.2.2 "Argon" (LTS) Release 2015-11-03 12:09:16 -08:00
Rod Vagg 837b17408a 2015-10-29, Version 5.0.0 (Stable)
Notable changes:

* buffer: (Breaking) Removed both 'raw' and 'raws' encoding types from Buffer,
  these have been deprecated for a long time (Sakthipriyan Vairamani) #2859.
* console: (Breaking) Values reported by console.time() now have 3 decimals of
  accuracy added (Michaël Zasso) #3166.
* fs:
  - fs.readFile*(), fs.writeFile*(), and fs.appendFile*() now also accept a file
    descriptor as their first argument (Johannes Wüller) #3163.
  - (Breaking) In fs.readFile(), if an encoding is specified and the internal
    toString() fails the error is no longer thrown but is passed to the callback
    (Evan Lucas) #3485.
  - (Breaking) In fs.read() (using the fs.read(fd, length, position, encoding,
    callback) form), if the internal toString() fails the error is no longer
    thrown but is passed to the callback (Evan Lucas) #3503.
* http:
  - Fixed a bug where pipelined http requests would stall (Fedor Indutny) #3342.
  - (Breaking) When parsing HTTP, don't add duplicates of the following headers:
    Retry-After, ETag, Last-Modified, Server, Age, Expires. This is in addition
    to the following headers which already block duplicates: Content-Type,
    Content-Length, User-Agent, Referer, Host, Authorization,
    Proxy-Authorization, If-Modified-Since, If-Unmodified-Since, From, Location,
    Max-Forwards (James M Snell) #3090.
  - (Breaking) The callback argument to OutgoingMessage#setTimeout() must be a
    function or a TypeError is thrown (James M Snell) #3090.
  - (Breaking) HTTP methods and header names must now conform to the RFC 2616
    "token" rule, a list of allowed characters that excludes control characters
    and a number of separator characters. Specifically, methods and header names
    must now match /^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$/ or a TypeError will be thrown
    (James M Snell) #2526.
* node:
  - (Breaking) Deprecated the _linklist module (Rich Trott) #3078.
  - (Breaking) Removed require.paths and require.registerExtension(), both had
    been previously set to throw Error when accessed
    (Sakthipriyan Vairamani) #2922.
* npm: Upgraded to version 3.3.6 from 2.14.7, see
  https://github.com/npm/npm/releases/tag/v3.3.6 for more details. This is a
  major version bump for npm and it has seen a significant amount of change.
  Please see the original npm v3.0.0 release notes for a list of major changes
  (Rebecca Turner) #3310.
* src: (Breaking) Bumped NODE_MODULE_VERSION to 47 from 46, this is necessary
  due to the V8 upgrade. Native add-ons will need to be recompiled
  (Rod Vagg) #3400.
* timers: Attempt to reuse the timer handle for setTimeout().unref(). This fixes
  a long-standing known issue where unrefed timers would perviously hold
  beforeExit open (Fedor Indutny) #3407.
* tls:
  - Added ALPN Support (Shigeki Ohtsu) #2564.
  - TLS options can now be passed in an object to createSecurePair()
    (Коренберг Марк) #2441.
  - (Breaking) The default minimum DH key size for tls.connect() is now 1024
    bits and a warning is shown when DH key size is less than 2048 bits. This a security consideration to prevent "logjam" attacks. A new minDHSize TLS
    option can be used to override the default. (Shigeki Ohtsu) #1831.
* util:
  - (Breaking) util.p() was deprecated for years, and has now been removed
    (Wyatt Preul) #3432.
  - (Breaking) util.inherits() can now work with ES6 classes. This is considered
    a breaking change because of potential subtle side-effects caused by a
    change from directly reassigning the prototype of the constructor using
    `ctor.prototype = Object.create(superCtor.prototype, { constructor: { ... } })`
    to using `Object.setPrototypeOf(ctor.prototype, superCtor.prototype)`
    (Michaël Zasso) #3455.
* v8: (Breaking) Upgraded to 4.6.85.25 from 4.5.103.35 (Ali Ijaz Sheikh) #3351.
  - Implements the spread operator, see
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator
    for further information.
  - Implements new.target, see
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target
    for further information.
* zlib: Decompression now throws on truncated input (e.g. unexpected end of
  file) (Yuval Brik) #2595.

PR-URL: https://github.com/nodejs/node/pull/3466
2015-10-30 07:53:24 +11:00
Phillip Johnsen dae9fae0fe doc: label v4.2.1 as LTS in changelog heading
PR-URL: https://github.com/nodejs/node/pull/3360
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-10-14 21:51:53 +02:00
Timothy Gu 81503e597b doc: fix typo in changelog
PR-URL: https://github.com/nodejs/node/pull/3353
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-10-14 13:35:26 +11:00
James M Snell 0a7076b0f1 2015-10-13, Version 4.2.1 'Argon' (LTS) Release
* Includes fixes for two regressions
  - Assertion error in WeakCallback  - see [#3329](https://github.com/nodejs/node/pull/3329)
  - Undefined timeout regression - see [#3331](https://github.com/nodejs/node/pull/3331)

* Document an additional known issue with pipelined requests
  - See: https://github.com/nodejs/node/issues/3332 and https://github.com/nodejs/node/pull/3342
2015-10-13 10:39:14 -07:00
Rod Vagg 4bc9d97c5f doc: label v4.2.0 as LTS in changelog heading
Update the label for v4.2.0 to (LTS) from (Stable)

Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/3343
2015-10-13 08:26:33 -07:00
James M Snell 47db2472e5 2015-10-12, Version 4.2.0 'Argon' (LTS) Release
The first Node.js LTS release! See https://github.com/nodejs/LTS/
for details of the LTS process.

* **icu**: Updated to version 56 with significant performance improvements
  (Steven R. Loomis) https://github.com/nodejs/node/pull/3281
* **node**:
  - Added new `-c` (or `--check`) command line argument for checking script
    syntax without executing the code (Dave Eddy) https://github.com/nodejs/node/pull/2411
  - Added `process.versions.icu` to hold the current ICU library version
    (Evan Lucas) https://github.com/nodejs/node/pull/3102
  - Added `process.release.lts` to hold the current LTS codename when the
    binary is from an active LTS release line (Rod Vagg) https://github.com/nodejs/node/pull/3212
* **npm**: Upgraded to npm 2.14.7 from 2.14.4, see release notes:
  https://github.com/npm/npm/releases/tag/v2.14.7 for full details (Kat Marchán) https://github.com/nodejs/node/pull/3299

PR-URL: https://github.com/nodejs/node/pull/3258
2015-10-12 11:17:37 -07:00
reggi 3ef2e4acf3 doc: fix typos in changelog
PR-URL: https://github.com/nodejs/node/pull/3291
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
2015-10-11 18:55:06 +02:00
Martial f5a3f44f5c doc: standardize references to userland
Change occurrences of "user-land" to "userland".

PR-URL: https://github.com/nodejs/node/pull/3192
Fixes: https://github.com/nodejs/node/issues/3189
Reviewed-By: Rich Trott <rtrott@gmail.com>
2015-10-06 20:28:33 -07:00
Rod Vagg 820735d967 2015-10-05, Version 4.1.2 (Stable) Release
Notable changes

* http:
  - Fix out-of-order 'finish' event bug in pipelining that can abort
    execution, fixes DoS vulnerability CVE-2015-7384
    (Fedor Indutny) #3128
  - Account for pending response data instead of just the data on the
    current request to decide whether pause the socket or not
    (Fedor Indutny) #3128
* libuv: Upgraded from v1.7.4 to v1.7.5, see release notes for details
  (Saúl Ibarra Corretgé) #3010
  - A better rwlock implementation for all Windows versions
  - Improved AIX support
* v8:
  - Upgraded from v4.5.103.33 to v4.5.103.35 (Ali Ijaz Sheikh) #3117
  - Backported f782159 from v8's upstream to help speed up Promise
    introspection (Ben Noordhuis) #3130
  - Backported c281c15 from v8's upstream to add JSTypedArray length
    in post-mortem metadata (Julien Gilli) #3031

PR-URL: https://github.com/nodejs/node/pull/3128
2015-10-06 07:03:18 +11:00
Rod Vagg 4a6f1feecb 2015-09-22, Version 4.1.1 (Stable) Release
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) #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) #2945.
* npm: Upgrade to npm 2.14.4 from 2.14.3, see release notes for full
  details (Kat Marchán) #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) #2959
  - ScopeInfo and thus closures (Julien Gilli) #2974

PR-URL: https://github.com/nodejs/node/pull/2995
2015-09-23 11:33:13 +10:00
Jeremiah Senkpiel e4f2952341 2015-09-17, Version 4.1.0 (Stable) Release
Notable changes:

* buffer:
  - Buffers are now created in JavaScript, rather than C++. This increases the speed of buffer creation (Trevor Norris) https://github.com/nodejs/node/pull/2866.
  - `Buffer#slice()` now uses `Uint8Array#subarray()` internally, increasing `slice()` performance (Karl Skomski) https://github.com/nodejs/node/pull/2777.
* fs:
  - `fs.utimes()` now properly converts numeric strings, `NaN`, and `Infinity` (Yazhong Liu) https://github.com/nodejs/node/pull/2387.
  - `fs.WriteStream` now implements `_writev`, allowing for super-fast bulk writes (Ron Korving) https://github.com/nodejs/node/pull/2167.
* http: Fixed an issue with certain `write()` sizes causing errors when using `http.request()` (Fedor Indutny) https://github.com/nodejs/node/pull/2824.
* npm: Upgrade to version 2.14.3, see https://github.com/npm/npm/releases/tag/v2.14.3 for more details (Kat Marchán) https://github.com/nodejs/node/pull/2822.
* src: V8 cpu profiling no longer erroneously shows idle time (Oleksandr Chekhovskyi) https://github.com/nodejs/node/pull/2324.
* v8: Lateral upgrade to 4.5.103.33 from 4.5.103.30, contains minor fixes (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/2870.
  - This fixes a previously known bug where some computed object shorthand properties did not work correctly (https://github.com/nodejs/node/issues/2507).

Refs: https://github.com/nodejs/node/issues/2844
PR-URL: https://github.com/nodejs/node/pull/2889
2015-09-17 15:27:01 +10:00
Rod Vagg b9813641dc 2015-09-15 io.js v3.3.1 Release
* buffer: Fixed a minor errors that was causing crashes
  (Michaël Zasso) #2635,
* child_process: Fix error that was causing crashes (Evan Lucas) #2727
* crypto: Replace use of rwlocks, unsafe on Windows XP / 2003
  (Ben Noordhuis) #2723
* libuv: Upgrade from 1.7.3 to 1.7.4 (Saúl Ibarra Corretgé) #2817
* node: Fix faulty process.release.libUrl on Windows (Rod Vagg) #2699
* node-gyp: Float v3.0.3 which has improved support for Node.js and
  io.js v0.10 to v4+ (Rod Vagg) #2700
* npm: Upgrade to version 2.14.3 from 2.13.3, includes a security
  update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more
  details, (Kat Marchán) #2696.
* timers: Improved timer performance from porting the 0.12
  implementation, plus minor fixes (Jeremiah Senkpiel) #2540,
  (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905

PR-URL: https://github.com/nodejs/node/pull/2698
2015-09-15 19:14:17 +10:00
Rod Vagg 380a3d89c3 2015-09-08, Version 4.0.0 (Stable) Release
This list of changes is relative to the last io.js v3.x branch
release, v3.3.0. Please see the list of notable changes in the v3.x,
v2.x and v1.x releases for a more complete list of changes from
0.12.x. Note, that some changes in the v3.x series as well as major
breaking changes in this release constitute changes required for full
convergence of the Node.js and io.js projects.

* child_process: ChildProcess.prototype.send() and process.send()
  operate asynchronously across all platforms so an optional callback
  parameter has been introduced that will be invoked once the message
  has been sent, i.e. .send(message[, sendHandle][, callback])
  (Ben Noordhuis) #2620.
* node: Rename "io.js" code to "Node.js" (cjihrig) #2367.
* node-gyp: This release bundles an updated version of node-gyp that
  works with all versions of Node.js and io.js including nightly and
  release candidate builds. From io.js v3 and Node.js v4 onward, it
  will only download a headers tarball when building addons rather
  than the entire source. (Rod Vagg) #2700.
* npm: Upgrade to version 2.14.2 from 2.13.3, includes a security
  update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more
  details, (Kat Marchán) #2696.
* timers: Improved timer performance from porting the 0.12
  implementation, plus minor fixes (Jeremiah Senkpiel) #2540,
  (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905
* util: The util.is*() functions have been deprecated, beginning with
  deprecation warnings in the documentation for this release, users
  are encouraged to seek more robust alternatives in the npm registry,
  (Sakthipriyan Vairamani) #2447.
* v8: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh) #2632.
  - Implement new TypedArray prototype methods: copyWithin(), every(),
    fill(), filter(), find(), findIndex(), forEach(), indexOf(),
    join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(),
    slice(), some(), sort(). See
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
    for further information.
  - Implement new TypedArray.from() and TypedArray.of() functions. See
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
    for further information.
  - Implement arrow functions. See
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
    for further information.
  - Full ChangeLog available at
    https://github.com/v8/v8-git-mirror/blob/4.5.103/ChangeLog

PR-URL: https://github.com/nodejs/node/pull/2742
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-09-09 08:56:13 +10:00
Rod Vagg a06e11d9d3 doc: update changelog for io.js v3.3.0
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) #2497
* docs: Merge outstanding doc updates from joyent/node
  (James M Snell) #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) #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é) #2310
* V8: Upgrade to 4.4.63.30 (from 4.4.63.26) (Michaël Zasso) #2482

cherry-picked from v3.x @ 1a6e52db30

PR-URL: https://github.com/nodejs/node/pull/2653
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
2015-09-02 09:15:38 -04:00
P.S.V.R f93032385e doc: merge CHANGELOG.md with joyent/node ChangeLog
PR-URL: https://github.com/nodejs/node/pull/2536
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-08-30 17:43:23 +10:00
Rod Vagg f9539c19e8 doc: update changelog for io.js v3.2.0
Notable changes:

* events: Added EventEmitter#listenerCount(event) as a replacement for
  EventEmitter.listenerCount(emitter, event), which has now been
  marked as deprecated in the docs. (Sakthipriyan Vairamani) #2349
* module: Fixed an error with preloaded modules when the current
  working directory doesn't exist. (Bradley Meck) #2353
* node: Startup time is now about 5% faster when not passing V8 flags.
  (Evan Lucas) #2483
* repl: Tab-completion now works better with arrays.
  (James M Snell) #2409
* string_bytes: Fixed an unaligned write in the handling of UCS2
  encoding. (Fedor Indutny) #2480
* tls: Added a new --tls-cipher-list flag that can be used to override
  the built-in default cipher list. (James M Snell) #2412

PR-URL: https://github.com/nodejs/node/pull/2512
2015-08-25 15:48:50 +10:00
Roman Reiss cded6e7993 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>
2015-08-24 12:44:09 +05:30
cjihrig a69ab27ab4 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>
2015-08-23 17:59:43 -04:00
Rod Vagg 6faf17cb45 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
2015-08-04 14:07:41 -07:00
cjihrig 3ce020b7ba 2015-07-28 io.js v2.5.0 Release
Notable changes

* **https**: TLS sessions in Agent are reused (Fedor Indutny)
https://github.com/nodejs/io.js/pull/2228.
* **src**: base64 decoding is now 50% faster (Ben Noordhuis)
https://github.com/nodejs/io.js/pull/2193.
* **npm**: Upgraded to v2.13.2, release notes can be found in
<https://github.com/npm/npm/releases/tag/v2.13.2> (Kat Marchán)
https://github.com/nodejs/io.js/pull/2241.

PR-URL: https://github.com/nodejs/io.js/issues/2239
2015-07-28 11:08:18 -04:00
Jeremiah Senkpiel a179bcbe9e 2015-07-17 io.js v2.4.0 Release
Notable changes

* src: Added a new `--track-heap-objects` flag to track heap object
allocations for heap snapshots (Bradley Meck)
https://github.com/nodejs/io.js/pull/2135.
* readline: Fixed a freeze that affected the repl if the keypress event
handler threw (Alex Kocharin) https://github.com/nodejs/io.js/pull/2107.
* npm: Upgraded to v2.13.0, release notes can be found in
https://github.com/npm/npm/releases/tag/v2.13.0 (Forrest L Norvell)
https://github.com/nodejs/io.js/pull/2152.

PR-URL: https://github.com/nodejs/io.js/pull/2189
2015-07-17 16:23:26 -07:00
Jeremiah Senkpiel dfcd202753 2015-07-09 io.js v2.3.4 Release
Notable changes

* openssl: Upgrade to 1.0.2d, fixes CVE-2015-1793 (Alternate Chains
Certificate Forgery).
* npm: Upgraded to v2.12.1, release notes can be found in
https://github.com/npm/npm/releases/tag/v2.12.0 and
https://github.com/npm/npm/releases/tag/v2.12.1 (Kat Marchán)
https://github.com/nodejs/io.js/pull/2112.
2015-07-09 12:23:41 -07:00