Node.js v5.9.1 Release Brief
This week’s stable fixes a possible crash (a regression from v5.9.0), fixes a minor buffer API problem, and improves performance of Immediate
processing.
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 42 commits:
- 17 were documentation-only commits.
- 9 only modify tests and 1 only affects internal tooling.
The remaining significant commits are as follows:
- [
341b3d01c8
] - benchmark: fix linting errors (Rich Trott) #5840 - [
72fb796bed
] - buffer: throw range error before truncating write (Matt Loring) #5605 - [
c5d83695e1
] - contextify: tie lifetimes of context & sandbox (Ali Ijaz Sheikh) #5800 - [
ae24d05451
] - deps: remove unused openssl files (Ben Noordhuis) #5619 - [
54abbe7e6f
] - dns: use template literals (Benjamin Gruenbaum) #5809 - [
3fef69bf15
] - dns: useisIp()
consistently (Benjamin Gruenbaum) #5804 - [
3bff3111f4
] - https: fix ssl socket leak whenkeepAlive
is used (Alexander Penev) #5713 - [
7b21c09b73
] - lib: simplify code withString.prototype.repeat()
(Jackson Tian) #5359 - [
c75f97f43b
] - lib: reduce usage ofself = this
(Jackson Tian) #5231 - [
1ccf9b4a56
] - net: remove unusedvar self = this
from old code (Benjamin Gruenbaum) #5224 - [
6e5835b8cd
] - path: refactorpath.format()
repeated code (Rich Trott) #5673 - [
15c7b3a127
] - src,tools: use template literals (Rich Trott) #5778 - [
46f0e02620
] - timers: fix lint from4fe02e2
(Jeremiah Senkpiel) #5825 - [
20a68e9eef
] - timers: giveTimeout
s a constructor name (Jeremiah Senkpiel) #5793 - [
d3654d80f3
] - timers: improvesetImmediate()
performance (Brian White) #4169
Notable Changes
- buffer: Now properly throws
RangeError
s on out-of-bounds writes (Matt Loring) #5605.- This affects
write{Float|Double}
when thenoAssert
option is not used.
- This affects
- timers:
- vm: Fixed a contextify regression introduced in v5.9.0 (Ali Ijaz Sheikh) #5800.
Git Diffstats
(Showing the delta between v5.9.0 and v5.9.1, ignoring deps/npm
.)
Without deps, docs, benchmarks, or tests:
lib/_debugger.js | 6 +-----
lib/_http_agent.js | 3 +++
lib/dgram.js | 3 +--
lib/dns.js | 23 +++++++++++-----------
lib/domain.js | 2 +-
lib/https.js | 5 ++---
lib/net.js | 50 +++++++++++++++++++++---------------------------
lib/path.js | 40 ++++++++++++++++----------------------
lib/repl.js | 6 +++---
lib/timers.js | 46 ++++++++++++++++++++++++--------------------
src/.eslintrc | 4 ++++
src/node.cc | 4 +++-
src/node.js | 16 ++++++++--------
src/node_buffer.cc | 6 +++---
src/node_contextify.cc | 10 ++++++++++
src/node_version.h | 2 +-
tools/doc/html.js | 2 +-
tools/gyp_node.py | 2 --
tools/install.py | 1 -
19 files changed, 115 insertions(+), 116 deletions(-)
Deps only:
deps/openssl/openssl/Makefile | 680 -------------------------------
deps/openssl/openssl/Makefile.bak | 680 -------------------------------
deps/openssl/openssl/apps/CA.pl | 189 ---------
deps/openssl/openssl/test/evptests.txt | 401 ------------------
deps/openssl/openssl/tools/c_rehash | 210 ----------
5 files changed, 2160 deletions(-)
Docs only:
CHANGELOG.md | 56 ++
doc/api/_toc.markdown | 1 +
doc/api/buffer.markdown | 20 +-
doc/api/cli.markdown | 165 ++++++
doc/api/crypto.markdown | 43 +-
doc/api/modules.markdown | 8 +
doc/api/path.markdown | 119 ++--
doc/api/querystring.markdown | 15 +-
doc/api/stream.markdown | 5 +-
doc/api/timers.markdown | 41 +-
doc/api/tls.markdown | 388 ++++++-------
doc/ctc-meetings/2016-02-03.md | 223 ++++++++
doc/ctc-meetings/2016-02-10.md | 167 ++++++
doc/node.1 | 905 ++++---------------------------
doc/topics/blocking-vs-non-blocking.md | 143 +++++
15 files changed, 1205 insertions(+), 1094 deletions(-)
Tests & Benchmarks only:
benchmark/http_simple.js | 14 +---
benchmark/http_simple_auto.js | 12 +---
benchmark/misc/set-immediate-breadth-args.js | 28 ++++++++
benchmark/misc/set-immediate-breadth.js | 21 ++++++
benchmark/misc/set-immediate-depth-args.js | 47 ++++++++++++++
benchmark/misc/set-immediate-depth.js | 22 +++++++
benchmark/static_http_server.js | 5 +-
test/fixtures/person.jpg | Bin 57928 -> 45658 bytes
test/fixtures/person.jpg.gz | Bin 50187 -> 45429 bytes
test/fixtures/print-chars.js | 7 +-
test/message/timeout_throw.out | 2 +-
test/parallel/test-buffer.js | 15 +++--
test/parallel/test-cluster-shared-leak.js | 5 ++
test/parallel/test-cluster-worker-kill.js | 23 +------
test/parallel/test-fs-realpath.js | 2 +-
test/parallel/test-http-1.0.js | 13 +---
test/parallel/test-http-full-response.js | 5 +-
test/parallel/test-http-get-pipeline-problem.js | 10 +--
test/parallel/test-http-pipeline-regr-2639.js | 5 +-
test/parallel/test-net-connect-options-ipv6.js | 16 ++++-
test/parallel/test-net-large-string.js | 5 +-
test/parallel/test-repl-eval-scope.js | 23 +++++++
test/parallel/test-repl-tab-complete.js | 67 ++------------------
.../parallel/test-vm-create-and-run-in-context.js | 9 +++
test/parallel/test-zlib-params.js | 4 +-
test/parallel/test-zlib.js | 9 ++-
test/pummel/test-https-large-response.js | 5 +-
test/pummel/test-net-many-clients.js | 5 +-
test/pummel/test-net-throttle.js | 5 +-
test/pummel/test-tls-throttle.js | 8 +--
30 files changed, 222 insertions(+), 170 deletions(-)
Most active commit
Of the 42 commits, d3654d8
was the most active:
(Excluding docs, deps, and tests.)
commit d3654d80f39bd03e1a87036c00fc5b003351adce
Author: Brian White <mscdex@mscdex.net>
Date: Sun Dec 6 01:35:52 2015 -0500
timers: improve setImmediate() performance
This commit improves setImmediate() performance by moving the
try-finally block that wraps callback execution into a separate
function because currently v8 never tries to optimize functions
that contain try-finally blocks.
With this change, there is a ~20-40% improvement in the included
setImmediate() depth benchmarks. The breadth benchmarks show a slight
improvement.
PR-URL: https://github.com/nodejs/node/pull/4169
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
benchmark/misc/set-immediate-breadth-args.js | 28 +++++++++++++++
benchmark/misc/set-immediate-breadth.js | 21 ++++++++++++
benchmark/misc/set-immediate-depth-args.js | 47 ++++++++++++++++++++++++++
benchmark/misc/set-immediate-depth.js | 22 ++++++++++++
lib/timers.js | 42 ++++++++++++-----------
5 files changed, 141 insertions(+), 19 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.