Node.js v5.9.0 Release Brief
Among adding a couple features, this week’s stable release also includes a significant refactor to node’s internal timers.
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 48 commits:
- 28 were documentation-only commits.
- 3 only modify tests.
- One dependency was updated:
- synced
deps/http_parser
withnodejs/http-parser @ master
(James M Snell) #5600
- synced
- One v8 patch was backported:
3 commits were tagged as semver-minor
, adding new functionality and justifying the jump to v5.9.0:
- [
b6c355de0d
] - (SEMVER-MINOR) deps: backportfb4ccae
from v8 upstream (develar) #4231 - [
4ecd996baa
] - (SEMVER-MINOR) src: allow combination of-i
and-e
cli flags (Rich Trott) #5655 - [
ef774ff9a8
] - (SEMVER-MINOR) zlib: add support for concatenated members (Kári Tristan Helgason) #5120
The remaining significant commits are as follows:
- [
03b99bf8b9
] - build: don't install github templates (Johan Bergström) #5612 - [
a7819da15a
] - Revert "build: run lint before tests" (Rich Trott) #5602 - [
5e9cac4333
] - console: check that stderr is writable (Rich Trott) #5635 - [
0662fcf209
] - contextify: cache sandbox and context in locals (Ali Ijaz Sheikh) #5392 - [
4f2c839d46
] - contextify: replace deprecatedSetWeak
usage (Ali Ijaz Sheikh) #5392 - [
bfff07b4dd
] - contextify: cleanup weak ref for sandbox (Ali Ijaz Sheikh) #5392 - [
93f60cdc54
] - contextify: cleanup weak ref for global proxy (Ali Ijaz Sheikh) #5392 - [
29510aa4fd
] - deps: update openssl config (Shigeki Ohtsu) #5630 - [
205bed0bec
] - lib: copy arguments object instead of leaking it (Nathan Woltman) #4361 - [
b16f67a0b9
] - net: makeisIPv4
andisIPv6
more efficient (Vladimir Kurchatkin) #5478 - [
1b7b1ed2c9
] - timers: greatly improve code comments (Jeremiah Senkpiel) #4007 - [
769254b0ba
] - timers: refactor timers (Jeremiah Senkpiel) #4007 - [
0b545fb3f8
] - win,build: support Visual C++ Build Tools 2015 (João Reis) #5627
Notable Changes
- contextify: Fixed a memory consumption issue related to heavy use of
vm.createContext()
andvm.runInNewContext()
. (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/5392 - governance: The following members have been added as collaborators:
- Andreas Madsen (@AndreasMadsen)
- Benjamin Gruenbaum (@benjamingr)
- Claudio Rodriguez (@claudiorodriguez)
- Glen Keane (@thekemkid)
- Jeremy Whitlock (@whitlockjc)
- Matt Loring (@matthewloring)
- Phillip Johnsen (@phillipj)
- lib: copy arguments object instead of leaking it (Nathan Woltman) https://github.com/nodejs/node/pull/4361
- src: allow both
-i
and-e
flags to be used at the same time (Rich Trott) https://github.com/nodejs/node/pull/5655 - timers: Internal Node.js timeouts now use the same logic path as those created with
setTimeout()
(Jeremiah Senkpiel) #4007- This may cause a slightly different performance profile in some situations. So far, it has shown to be positive in most cases.
- v8: backport
fb4ccae
from v8 upstream (Vladimir Krivosheev) #4231- breakout events from v8 to offer better support for external debuggers
- zlib: add support for concatenated members (Kári Tristan Helgason)
https://github.com/nodejs/node/pull/5120
- Previously, if multiple members were in the same archive, only the first would be read. The others are no longer thrown away.
Git Diffstats
(Showing the delta between v5.8.0 and v5.9.0, ignoring deps/npm
.)
Without deps, docs, benchmarks, or tests:
Makefile | 3 +-
lib/_http_client.js | 12 +-
lib/_tls_wrap.js | 6 +-
lib/assert.js | 22 ++-
lib/console.js | 8 +-
lib/net.js | 16 +-
lib/timers.js | 440 +++++++++++++++++++++++------------------------
src/cares_wrap.cc | 23 +++
src/node.js | 10 +-
src/node_contextify.cc | 112 +++++-------
src/node_version.h | 2 +-
src/node_zlib.cc | 18 ++
vcbuild.bat | 4 +-
13 files changed, 354 insertions(+), 322 deletions(-)
Deps only:
deps/http_parser/README.md | 2 +-
deps/http_parser/http_parser.c | 113 ++++++--------------
deps/http_parser/test.c | 9 +-
deps/openssl/config/archs/BSD-x86/opensslconf.h | 12 +++
.../openssl/config/archs/BSD-x86_64/opensslconf.h | 12 +++
deps/openssl/config/archs/VC-WIN32/opensslconf.h | 12 +++
deps/openssl/config/archs/VC-WIN64A/opensslconf.h | 12 +++
deps/openssl/config/archs/aix-gcc/opensslconf.h | 12 +++
deps/openssl/config/archs/aix64-gcc/opensslconf.h | 12 +++
.../config/archs/darwin-i386-cc/opensslconf.h | 12 +++
.../config/archs/darwin64-x86_64-cc/opensslconf.h | 12 +++
.../config/archs/linux-aarch64/opensslconf.h | 12 +++
.../config/archs/linux-armv4/opensslconf.h | 12 +++
deps/openssl/config/archs/linux-elf/opensslconf.h | 12 +++
deps/openssl/config/archs/linux-ppc/opensslconf.h | 12 +++
.../config/archs/linux-ppc64/opensslconf.h | 12 +++
deps/openssl/config/archs/linux-x32/opensslconf.h | 12 +++
.../config/archs/linux-x86_64/opensslconf.h | 12 +++
.../config/archs/solaris-x86-gcc/opensslconf.h | 12 +++
.../archs/solaris64-x86_64-gcc/opensslconf.h | 12 +++
deps/openssl/openssl.gypi | 4 -
deps/v8/AUTHORS | 1 +
deps/v8/src/debug/debug.js | 3 +
23 files changed, 248 insertions(+), 88 deletions(-)
Docs only:
BUILDING.md | 246 ++++++++++++++++++++++++++++++++++++++
CHANGELOG.md | 79 ++++++++++++-
COLLABORATOR_GUIDE.md | 7 +-
README.md | 248 ++-------------------------------------
WORKING_GROUPS.md | 13 ++
deps/http_parser/README.md | 2 +-
doc/api/addons.markdown | 4 +-
doc/api/child_process.markdown | 5 +-
doc/api/console.markdown | 8 +-
doc/api/crypto.markdown | 2 +-
doc/api/dgram.markdown | 4 +-
doc/api/dns.markdown | 2 +-
doc/api/errors.markdown | 5 +-
doc/api/events.markdown | 37 ++++++
doc/api/fs.markdown | 11 +-
doc/api/http.markdown | 4 +-
doc/api/process.markdown | 5 +-
doc/api/stream.markdown | 4 +-
doc/api/tls.markdown | 26 ++--
doc/api/zlib.markdown | 27 ++---
doc/onboarding-extras.md | 105 +++++++++++++++++
doc/onboarding.md | 199 +++++++++++++++++++++++++++++++
doc/releases.md | 10 +-
23 files changed, 756 insertions(+), 297 deletions(-)
Tests & Benchmarks only:
.../known_issues/test-child-process-max-buffer.js | 16 +++++++
test/known_issues/test-events-known-properties.js | 12 +++++
.../test-module-deleted-extensions.js | 17 +++++++
.../test-process-external-stdio-close.js | 23 ++++++++++
test/known_issues/test-vm-getters.js | 19 ++++++++
test/message/timeout_throw.out | 1 +
test/parallel/test-console-instance.js | 19 +++++---
.../test-event-emitter-remove-listeners.js | 19 ++++++++
test/parallel/test-net-isip.js | 29 ++++++++++++
test/parallel/test-npm-install.js | 9 +++-
test/parallel/test-regress-GH-2245.js | 28 ++++++++++++
test/parallel/test-zlib-from-concatenated-gzip.js | 18 ++++++++
.../test-zlib-from-gzip-with-trailing-garbage.js | 50 +++++++++++++++++++++
test/sequential/test-force-repl-with-eval.js | 27 +++++++++++
14 files changed, 280 insertions(+), 7 deletions(-)
Most active commit
Of the 48 commits, 29510aa
was the most active:
(Excluding docs, npm, eslint, and tests.)
commit 29510aa4fdd9a1ace30b9a1fa1048e6bebaadd9e
Author: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Date: Mon Mar 7 07:48:44 2016 +0900
deps: update openssl config
OPENSSL_NO_SSL2 and OPENSSL_NO_WEAK_SSL_CIPHERS are defined in
opensslconf.h
Fixes: https://github.com/nodejs/LTS/issues/85
PR-URL: https://github.com/nodejs/node/pull/5630
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
deps/openssl/config/archs/BSD-x86/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/BSD-x86_64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/VC-WIN32/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/VC-WIN64A/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/aix-gcc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/aix64-gcc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/darwin-i386-cc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/darwin64-x86_64-cc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-aarch64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-armv4/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-elf/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-ppc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-ppc64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-x32/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-x86_64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/solaris-x86-gcc/opensslconf.h | 12 ++++++++++++
.../config/archs/solaris64-x86_64-gcc/opensslconf.h | 12 ++++++++++++
deps/openssl/openssl.gypi | 4 ----
18 files changed, 204 insertions(+), 4 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.