Node.js v5.8.0 Release Brief
This week’s stable release fixes some regressions, adds some minor features, and includes a little perf improvement.
As with all releases within major version lines, minor and patch upgrades should be drop-in replacements for previous versions.
Overview
Of a total of 31 commits:
- 6 were documentation-only commits.
 - 5 only modify tests and 5 only affect internal tooling.
 - There was one dependency update: npm @ 3.7.3.
 
5 commits were tagged as semver-minor, adding new functionality and justifying the jump to v5.8.0:
- [
a3017992e4] - (SEMVER-MINOR) child_process: addkeepOpenoption tosend()(cjihrig) #5283 - [
6d4887ccc2] - (SEMVER-MINOR) child_process: support options insend()(cjihrig) #5283 - [
9db827c7aa] - (SEMVER-MINOR) constants: defineENGINE_METHOD_RSA(Sam Roberts) #5463 - [
b54a26fa61] - (SEMVER-MINOR) doc: correct name of engine methods (Sam Roberts) #5463 - [
e572e421b4] - (SEMVER-MINOR) repl: accept no arguments tostart()(cjihrig) #5388 
The remaining significant commits are as follows:
- [
12ca84fc7f] - benchmark: addutil.format()benchmark (Evan Lucas) #5360 - [
b955d02266] - benchmark: fix lint errors (Rich Trott) #5517 - [
2abf866b6e] - build: update Node.js logo on Win installer (Robert Jefe Lindstaedt) #5531 - [
86900f8f2b] - build: correctly detect clang version (Stefan Budeanu) #5553 - [
67e9f65958] - dgram: default send address to127.0.0.1or::1(Matteo Collina) #5493 - [
f3971f5817] - path: fixnormalize()for absolutes (Evan Lucas) #5589 - [
5e6d706758] - src,http: fix uncaughtException miss in http (Trevor Norris) #5591 - [
971edde0cb] - util: improveformat()performance further (Brian White) #5360 - [
c32d460747] - util: improveutil.format()performance (Evan Lucas) #5360 
Notable Changes
- child_process: 
send()now accepts an options parameter (cjihrig) #5283.- Currently the only option is 
keepOpen, which keeps the underlying socket open after the message is sent. 
 - Currently the only option is 
 - constants: 
ENGINE_METHOD_RSAis now correctly exposed (Sam Roberts) #5463. - Fixed two regressions which originated in v5.7.0:
 - repl: 
start()no longer requires an options parameter (cjihrig) #5388. - util: Improved 
format()performance 50-300% (Evan Lucas) #5360. 
Git Diffstats
(Showing the delta between v5.7.1 and v5.8.0, ignoring deps/npm.)
Without deps, docs, benchmarks, or tests:
 .eslintrc                     | 16 ++++----
 Makefile                      |  7 +++-
 configure                     | 14 +++++--
 lib/dgram.js                  | 11 +++++-
 lib/internal/child_process.js | 63 +++++++++++++++++++++----------
 lib/path.js                   |  4 +-
 lib/repl.js                   |  2 -
 lib/util.js                   | 84 +++++++++++++++++++++++++++++------------
 src/async-wrap.cc             |  6 +--
 src/node.cc                   |  6 ++-
 src/node_constants.cc         |  4 ++
 src/node_version.h            |  4 +-
 tools/cpplint.py              |  3 --
 tools/test.py                 | 10 +++--
 vcbuild.bat                   |  3 +-
 15 files changed, 161 insertions(+), 76 deletions(-)
Deps only:
 deps/openssl/openssl.gyp  | 1 +
 deps/openssl/openssl.gypi | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
Docs only:
 CHANGELOG.md                   |  47 ++++++++++++++++
 doc/api/child_process.markdown |  11 +++-
 doc/api/crypto.markdown        |   4 +-
 doc/api/dgram.markdown         |   5 +-
 doc/api/documentation.markdown |   7 +++
 doc/api/fs.markdown            |   2 +-
 doc/api/process.markdown       |  71 +++++++++++++-----------
 doc/api/repl.markdown          |   2 +-
 doc/api/v8.markdown            |   2 +-
 doc/api_assets/style.css       |  13 +++--
 doc/full-white-stripe.jpg      | Bin 3636 -> 9483 bytes
 doc/thin-white-stripe.jpg      | Bin 3099 -> 6525 bytes
 test/README.md                 | 117 +++++++++++++++++++++++++++++++++++++++
 13 files changed, 232 insertions(+), 49 deletions(-)
Tests & Benchmarks only:
 benchmark/arrays/var-int.js                       |  4 +-
 benchmark/arrays/zero-float.js                    |  4 +-
 benchmark/arrays/zero-int.js                      |  4 +-
 benchmark/buffers/buffer-base64-decode.js         | 10 ++--
 benchmark/buffers/buffer-creation.js              |  2 +-
 benchmark/buffers/buffer-indexof.js               |  5 +-
 benchmark/compare.js                              | 25 ++++++++--
 benchmark/domain/domain-fn-args.js                |  4 +-
 benchmark/fs/bench-readdir.js                     |  3 +-
 benchmark/fs/bench-readdirSync.js                 |  3 +-
 benchmark/http_simple_auto.js                     |  4 +-
 benchmark/http_simple_cluster.js                  |  7 +--
 benchmark/idle_clients.js                         |  1 -
 benchmark/misc/freelist.js                        |  2 +-
 benchmark/misc/v8-bench.js                        |  2 +-
 benchmark/module/module-loader.js                 | 10 +++-
 benchmark/tls/throughput.js                       |  6 ++-
 benchmark/util/format.js                          | 40 ++++++++++++++++
 test/debugger/test-debug-break-on-uncaught.js     |  5 --
 .../known_issues/test-vm-function-redefinition.js | 11 +++++
 test/known_issues/testcfg.py                      |  6 +++
 test/parallel/parallel.status                     |  1 -
 .../parallel/test-child-process-send-keep-open.js | 52 +++++++++++++++++++++
 .../test-child-process-send-type-error.js         | 25 ++++++++++
 test/parallel/test-dgram-send-default-host.js     | 12 -----
 .../parallel/test-dgram-udp6-send-default-host.js | 36 ++++++++++++++
 .../parallel/test-http-catch-uncaughtexception.js | 23 +++++++++
 test/parallel/test-memory-usage.js                |  4 +-
 test/parallel/test-npm-install.js                 | 40 ++++++++++++++++
 test/parallel/test-path.js                        |  3 ++
 test/parallel/test-process-getactivehandles.js    | 17 ++++---
 test/parallel/test-repl-options.js                | 14 ++++++
 test/parallel/test-util-inspect.js                |  2 +-
 33 files changed, 329 insertions(+), 58 deletions(-)
Most active commit
Of the 31 commits, a301799 was the most active:
(Excluding docs, npm, eslint, and tests.)
commit a3017992e42dfccdeb5d3c94d27656b99c3ceaeb
Author: cjihrig <cjihrig@gmail.com>
Date:   Tue Feb 16 22:18:10 2016 -0500
    child_process: add keepOpen option to send()
    
    This option allows an instance of net.Socket to be kept open in
    the sending process.
    
    Fixes: https://github.com/nodejs/node/issues/4271
    PR-URL: https://github.com/nodejs/node/pull/5283
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
 doc/api/child_process.markdown                    |  7 ++-
 lib/internal/child_process.js                     | 14 ++++--
 .../parallel/test-child-process-send-keep-open.js | 52 +++++++++++++++++++++
 3 files changed, 67 insertions(+), 6 deletions(-)
This is a regular and routine release for a Node.js stable release line. We will be sure to let you know when a release contains a critical update and a recommendation to upgrade. Of course, we'd love you to upgrade, but this release is not critical unless you are experiencing one of the issues identified and fixed above.