Node.js v6.6.0 Release Brief
This Current release is the result of a regular buildup of maintenance commits, documentation updates, and minor features. Of note, a new process warning was added to indicate when a promise rejection has not be handled.
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 113 commits:
- 36 were documentation-only commits.
- 27 only modify tests and 5 only affect internal tooling.
- One dependency was updated:
- v8_inspector update - (Eugene Ostroukhov) #8150
- 3 patches were floated on V8:
9c460d7475
- add back no-op harmony shipping flags (Ali Ijaz Sheikh) #8445c8bcf1b591
- workaround clang-3.4 ICE (Ali Ijaz Sheikh) #8343f829660c71
from upstream V8 as8ed65b97
- (Anna Henningsen) #8411
7 commits were tagged as semver-minor
, adding new functionality and justifying the jump to v6.6.0:
- [
afb9917f16
] - crypto: addcrypto.timingSafeEqual()
(not-an-aardvark) #8304 - [
605db31fe7
] - events: make memory leak warning more accessible (Anna Henningsen) #8298 - [
180867d6a6
] - promise: warn on unhandled rejections (Benjamin Gruenbaum) #8223 - [
408308f2e6
] - readline: key interval delay for\r
&\n
(Prince J Wesley) #8109 - [
6f20f477c4
] - repl: Auto alignment for.editor
mode (Prince J Wesley) #8241 - [
e9c4805c1f
] - util: allow returningthis
from custom inspect (Anna Henningsen) #8174 - [
4cb55ff392
] - util: allow Symbol-based custom inspection methods (Anna Henningsen) #8174
The remaining significant commits are as follows:
- [
2ecc8c4c23
] - async_wrap: add a missing case totest-async-wrap-throw-no-init
(yorkie) #8198 - [
00f4bc3105
] - benchmark: add benches forfs.stat
&fs.statSync
(Anna Henningsen) #8338 - [
7cc1391287
] - benchmark: fix off-by-one error in fs benchmarks (Anna Henningsen) #8338 - [
6e3db283ed
] - buffer: fix ArrayBuffer checks (Brian White) #8453 - [
dd51b1f428
] - buffer,string_decoder: consolidate encoding validation logic (James M Snell) #7207 - [
a830e37dc9
] - build: don't require processing docs for nightlies (Johan Bergström) #8325 - [
836bfc188b
] - build: fix dependencies on AIX (Michael Dawson) #8285 - [
bc9d2fb543
] - build: fix dependencies on AIX (Michael Dawson) #8272 - [
206b105b1e
] - build: add missing files to zip and 7z packages (Richard Lau) #8069 - [
1640e7a4da
] - crypto: fixgetDecoder()
encoding check (atstojanov) #8301 - [
49f996f4f6
] - crypto: make malloc failure check cross-platform (Rich Trott) #8352 - [
fa4c4d655a
] - http: fix connection upgrade checks (Brian White) #8238 - [
b603ac24cb
] - inspector: use script name for target title (Eugene Ostroukhov) #8243 - [
13a522ac39
] - inspector: make sure all messages are dispatched (Eugene Ostroukhov) #8264 - [
250a380231
] - inspector: simplify buffer management (Eugene Ostroukhov) #8257 - [
354166c061
] - inspector: use new inspector headers (Eugene Ostroukhov) #8150 - [
3ef8ba8bdc
] - net: make holding the buffer in memory more robust (Anna Henningsen) #8252 - [
0d24247e50
] - src: pullAfterConnect
frompipe_wrap
andtcp_wrap
(Daniel Bevenius) #8448 - [
16202264d1
] - src: remove unneededEnvironment
error methods (Ben Noordhuis) #8427 - [
8cbbb47e39
] - src: updatef
function call comment (Daniel Bevenius) #8416 - [
d1d1433b02
] - src: normalize malloc, realloc (Michael Dawson) #7564 - [
2c2a21ab56
] - src: unbreak build when compiling against uclibc (Ben Noordhuis) #8308 - [
4e368c58ff
] - src: movingf
function call comment (Daniel Bevenius) #8405 - [
0f2c619f55
] - src: avoid duplicateAtExit
functions (Ali Ijaz Sheikh) #8273 - [
eff771f399
] - tickprocessor: apply c++filt manually on mac (Fedor Indutny) #8480 - [
f840bc87d6
] - url: fix off-by-one error in loop handling dots (Luigi Pinca) #8420 - [
6ae7af0fa3
] - url: keep auth inurl.resolve()
if host matches (Ilkka Myller) #8215 - [
eec5d02266
] - url:url.format()
encodes all#
insearch
(Ilkka Myller) #8072 - [
d67ece2f68
] - util: improve function signature ofutil._extend()
(Sakthipriyan Vairamani) #8187 - [
151d1ea6a6
] - vm: changeContextifyScript
toScript
in comment (Daniel Bevenius) #8415 - [
f346dee940
] - win,build: forwardrelease_urlbase
toconfigure
(João Reis) #8430 - [
6bb057ec6a
] - win,build: exit when addons fail to build (João Reis) #8412 - [
14d356d0ab
] - win,build: skip finding VS when not needed (João Reis) #8412 - [
81d063e174
] - win,build: fail on invalid option in vcbuild (João Reis) #8412
Notable Changes
- crypto: Added
crypto.timingSafeEqual()
. (not-an-aardvark) #8304 - events: Made the "max event listeners" memory leak warning more accessible. (Anna Henningsen) #8298
- promises: Unhandled rejections now emit a process warning after the first tick. (Benjamin Gruenbaum) #8223
- repl: Added auto alignment for
.editor
mode. (Prince J Wesley) #8241 - util: Some functionality has been added to
util.inspect()
:
Git Diffstats
(Showing the delta between v6.5.0 and v6.6.0, ignoring deps/npm
.)
Without deps, tools, docs, benchmarks, or tests:
.eslintrc | 6 +-
.gitignore | 1 +
.mailmap | 15 ++-
Makefile | 17 ++-
lib/_http_common.js | 16 +--
lib/_http_outgoing.js | 24 +++-
lib/assert.js | 2 +
lib/buffer.js | 42 ++-----
lib/crypto.js | 5 +-
lib/events.js | 7 +-
lib/internal/child_process.js | 2 +-
lib/internal/process/promises.js | 27 ++++-
lib/internal/util.js | 33 ++++++
lib/internal/v8_prof_polyfill.js | 36 +++++-
lib/internal/v8_prof_processor.js | 3 +-
lib/net.js | 1 -
lib/readline.js | 37 ++++--
lib/repl.js | 9 ++
lib/string_decoder.js | 35 ++----
lib/url.js | 8 +-
lib/util.js | 44 ++++---
lib/vm.js | 4 +-
src/backtrace_posix.cc | 4 +-
src/cares_wrap.cc | 3 +-
src/connection_wrap.cc | 48 ++++++++
src/connection_wrap.h | 1 +
src/env-inl.h | 36 ++----
src/env.h | 9 +-
src/inspector_agent.cc | 227 +++++++++++++++++++++++-------------
src/inspector_agent.h | 2 +-
src/inspector_socket.cc | 99 +++++++---------
src/inspector_socket.h | 19 ++-
src/node.cc | 43 ++++---
src/node_buffer.cc | 12 +-
src/node_contextify.cc | 50 ++++----
src/node_crypto.cc | 39 +++++--
src/node_internals.h | 3 +-
src/node_version.h | 2 +-
src/pipe_wrap.cc | 40 -------
src/pipe_wrap.h | 2 -
src/stream_base.cc | 1 +
src/stream_wrap.cc | 4 +-
src/string_bytes.cc | 8 +-
src/tcp_wrap.cc | 28 -----
src/tcp_wrap.h | 2 -
src/tls_wrap.cc | 2 +-
src/udp_wrap.cc | 4 +-
src/util-inl.h | 26 +++++
src/util.h | 13 ++-
vcbuild.bat | 26 ++++-
50 files changed, 664 insertions(+), 463 deletions(-)
Tools only:
tools/create_expfile.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Deps only:
0.0% deps/v8/include/
0.1% deps/v8/src/heap/
0.3% deps/v8/src/
0.1% deps/v8/test/cctest/
64.4% deps/v8_inspector/third_party/v8_inspector/platform/inspector_protocol/
0.9% deps/v8_inspector/third_party/v8_inspector/platform/v8_inspector/public/
33.0% deps/v8_inspector/third_party/v8_inspector/platform/v8_inspector/
0.9% deps/v8_inspector/third_party/v8_inspector/platform/
128 files changed, 4677 insertions(+), 4386 deletions(-)
Docs only:
AUTHORS | 113 +++++++-
BUILDING.md | 25 +-
CHANGELOG.md | 3 +-
README.md | 10 +-
doc/api/buffer.md | 4 +-
doc/api/child_process.md | 2 +
doc/api/crypto.md | 228 +++++++++++++++
doc/api/dgram.md | 52 ++++
doc/api/dns.md | 2 +-
doc/api/events.md | 10 +
doc/api/fs.md | 241 +++++++++++++++-
doc/api/http.md | 11 +
doc/api/modules.md | 27 ++
doc/api/net.md | 9 +
doc/api/os.md | 2 +-
doc/api/path.md | 17 +-
doc/api/process.md | 11 +-
doc/api/readline.md | 15 +-
doc/api/repl.md | 2 +-
doc/api/stream.md | 9 +-
doc/api/timers.md | 6 +-
doc/api/tls.md | 2 +-
doc/api/url.md | 4 +-
doc/api/util.md | 39 ++-
doc/api/zlib.md | 2 +-
doc/changelogs/CHANGELOG_V6.md | 130 +++++++++
doc/ctc-meetings/2016-08-10.md | 281 ++++++++++++++++++
doc/ctc-meetings/2016-08-17.md | 300 ++++++++++++++++++++
doc/ctc-meetings/2016-08-31.md | 315 +++++++++++++++++++++
doc/guides/timers-in-node.md | 2 +-
doc/onboarding.md | 81 +++---
doc/topics/blocking-vs-non-blocking.md | 2 +-
doc/topics/the-event-loop-timers-and-nexttick.md | 15 +-
33 files changed, 1857 insertions(+), 115 deletions(-)
Tests & Benchmarks only:
0.1% benchmark/assert/
0.5% benchmark/fs/
0.3% test/cctest/
0.2% test/fixtures/clustered-server/
0.6% test/fixtures/
0.1% test/internet/
0.6% test/known_issues/
93.3% test/parallel/
0.1% test/pseudo-tty/
0.0% test/pummel/
3.5% test/sequential/
0.0% test/
91 files changed, 2595 insertions(+), 1764 deletions(-)
Most active commit
Of the 113 commits, afb9917
was the most active:
(Excluding docs, deps, and tests.)
commit afb9917f16377312a5a22ef05886cda8323d9363
Author: not-an-aardvark <not-an-aardvark@users.noreply.github.com>
Date: Tue Aug 23 22:49:22 2016 -0400
crypto: add crypto.timingSafeEqual()
Reinstate crypto.timingSafeEqual() which was reverted due to test
issues. The flaky test issues are resolved in this new changeset.
PR-URL: https://github.com/nodejs/node/pull/8304
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
doc/api/crypto.md | 13 ++
lib/crypto.js | 3 +
src/node_crypto.cc | 17 +++
test/sequential/test-crypto-timing-safe-equal.js | 166 +++++++++++++++++++++
4 files changed, 199 insertions(+)
This is a regular and routine release for a Node.js Current 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.