Node.js v6.3.1 Release Brief
This week’s Current release comes with an assortment of fixes and other improvements to help ensure stability, as well as a V8 patch upgrade.
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 84 commits:
- 23 were documentation-only commits.
- 22 only modify tests and 8 only affect internal tooling.
- One dependency was upgraded:
- V8 @ 5.0.71.54 - (Ben Noordhuis) #7531
- 5 patches were backported from V8 upstream:
5b5d24b as 287006149b
- A fix for X87 platforms - (Franziska Hinkelmann) #76383a903c4 as e5cce7acfe
- A fix for PPC platforms - (Franziska Hinkelmann) #76382aa070be as e23904523f
- (Franziska Hinkelmann) #76381f53e42 as d3f0a6a52f
- (Ben Noordhuis) #7612d721121 as abf86adee1
- (Ben Noordhuis) #7633
The remaining significant commits are as follows:
- [
3747d910ec
] - benchmark: remove unused variables (Rich Trott) #7600 - [
41582722c8
] - buffer: optimizehex_decode
(Christopher Jeffrey) #7602 - [
4a3300e66b
] - buffer: fix creating from zero-lengthArrayBuffer
(Ingvar Stepanyan) #7176 - [
71f84b5e6c
] - build: add conflict marker check during CI lint (Brian White) #7625 - [
4480b14fda
] - build: useBUILDTYPE
when building V8 inMakefile
(Michaël Zasso) #7482 - [
94a486a388
] - build: add v8 requirement totest-v8*
inMakefile
(Michaël Zasso) #7482 - [
e5627278f1
] - build: add--enable-d8
configure option (Ben Noordhuis) #7538 - [
933ff62fa5
] - build: respect--shared-*
flags for inspector deps (Сковорода Никита Андреевич) #7569 - [
9bb1024dc3
] - child_process: Checkstderr
before accessing it (Robert Chiras) #6877 - [
f574bd4cec
] - cluster: removebind()
andself
(cjihrig) #7710 - [
164981af5f
] - deps: bump V8 patchlevel for instanceof cherry-picks (Franziska Hinkelmann) #7638 - [
cf8a4889db
] - deps:v8_inspector
no longer depends onwtf
(Ali Ijaz Sheikh) #7751 - [
939cf6ddb2
] - deps: no/safeseh
forml64.exe
(Fedor Indutny) #7759 - [
11d6f1af59
] - fs: rename event toeventType
infs.watch()
listener (Claudio Rodriguez) #7506 - [
989a2a1c92
] - inspector: Unify event queues (Eugene Ostroukhov) #7271 - [
fc0ed2e8c7
] - lib,benchmark,test: implement consistent braces (Rich Trott) #7630 - [
80ca0630a6
] - net: exportisIPv4()
,isIPv6()
directly from cares (Sakthipriyan Vairamani) #7481 - [
72fc4ebca2
] - repl: Mitigate vm #548 function redefinition issue (Prince J Wesley) #7794 - [
f97aa4be39
] - src: remove unnecessaryHandleScopes
(Ben Noordhuis) #7711 - [
78dcf0d641
] - src: fix handle leak inUDPWrap::Instantiate()
(Ben Noordhuis) #7711 - [
dc766e6a6f
] - src: fix handle leak inBuildStatsObject()
(Ben Noordhuis) #7711 - [
96882e14d1
] - src: fix handle leak inBuffer::New()
(Ben Noordhuis) #7711 - [
fbc9ef84b8
] - src: disable stdio buffering (Ben Noordhuis) #7610 - [
49a6ea1b73
] - timers: fix processing of nested timers (Jeremy Whitlock) #3063 - [
0858e620e9
] - util: inspect boxedSymbol
s like other primitives (Anna Henningsen) #7641
Notable Changes
- buffer:
- repl: Fixed a function redeclaration bug in the repl. (Prince J Wesley) #7794
- util:
Symbol
s now format like other primitives when inspected. (Anna Henningsen) #7641 - V8:
Git Diffstats
(Showing the delta between v6.3.0 and v6.3.1, ignoring deps/npm
.)
Without deps, docs, benchmarks, or tests:
.eslintignore | 4 +-
.eslintrc | 65 +++++------
Makefile | 23 ++--
configure | 15 ++-
lib/_stream_readable.js | 8 +-
lib/buffer.js | 2 +-
lib/child_process.js | 4 +-
lib/cluster.js | 34 +++---
lib/fs.js | 4 +-
lib/module.js | 3 +-
lib/net.js | 11 +-
lib/repl.js | 34 +++---
lib/timers.js | 8 +-
lib/util.js | 4 +
node.gyp | 25 ++++-
src/inspector_agent.cc | 213 +++++++++++++++++++-----------------
src/node_buffer.cc | 6 +-
src/node_crypto.cc | 7 --
src/node_file.cc | 4 +-
src/node_main.cc | 5 +-
src/node_version.h | 2 +-
src/string_bytes.cc | 37 ++++---
src/udp_wrap.cc | 2 +-
tools/configure.d/nodedownload.py | 2 +-
tools/icu/shrink-icu-src.py | 6 +-
tools/license2rtf.js | 100 +++++++++--------
tools/specialize_node_d.py | 2 -
tools/test.py | 39 -------
vcbuild.bat | 4 +-
29 files changed, 342 insertions(+), 331 deletions(-)
Deps only:
deps/openssl/openssl.gyp | 8 +-
deps/v8/include/v8-version.h | 2 +-
deps/v8/src/arm/code-stubs-arm.cc | 6 +-
deps/v8/src/arm64/code-stubs-arm64.cc | 5 +-
deps/v8/src/bootstrapper.cc | 4 +
deps/v8/src/builtins.cc | 68 +++++
deps/v8/src/builtins.h | 2 +
deps/v8/src/compiler/access-info.cc | 8 +-
deps/v8/src/crankshaft/hydrogen.cc | 63 ++--
deps/v8/src/debug/mirrors.js | 10 +-
deps/v8/src/ia32/code-stubs-ia32.cc | 5 +
deps/v8/src/ic/ic-compiler.cc | 7 +-
deps/v8/src/ic/ic.cc | 11 +-
deps/v8/src/js/string.js | 13 -
deps/v8/src/mips/code-stubs-mips.cc | 6 +-
deps/v8/src/mips64/code-stubs-mips64.cc | 6 +-
deps/v8/src/objects-inl.h | 20 ++
deps/v8/src/objects.cc | 154 ++++++----
deps/v8/src/objects.h | 53 ++--
deps/v8/src/ppc/code-stubs-ppc.cc | 6 +-
deps/v8/src/runtime/runtime-literals.cc | 9 +-
deps/v8/src/runtime/runtime.h | 5 -
deps/v8/src/x64/code-stubs-x64.cc | 5 +
deps/v8/src/x87/code-stubs-x87.cc | 5 +
deps/v8/test/cctest/test-field-type-tracking.cc | 320 +++++++++++++++++++-
deps/v8/test/cctest/test-strings.cc | 22 ++
deps/v8/test/mjsunit/debug-backtrace-text.js | 80 +++--
.../test/mjsunit/regress/regress-crbug-573858.js | 2 +-
.../test/mjsunit/regress/regress-crbug-617524.js | 18 ++
.../mjsunit/regress/regress-seqstrsetchar-ex2.js | 34 ---
deps/v8/test/mjsunit/regress/regress-v8-5009.js | 61 ++++
deps/v8/test/mjsunit/string-fromcharcode.js | 5 -
deps/v8_inspector/deps/wtf/README.md | 1 -
deps/v8_inspector/deps/wtf/wtf/Assertions.h | 40 ---
deps/v8_inspector/deps/wtf/wtf/Compiler.h | 54 ----
deps/v8_inspector/deps/wtf/wtf/PtrUtil.h | 275 -----------------
36 files changed, 782 insertions(+), 611 deletions(-)
Docs only:
CHANGELOG.md | 3 +-
CONTRIBUTING.md | 3 +
GOVERNANCE.md | 45 +++---
README.md | 2 +
doc/api/assert.md | 4 +-
doc/api/buffer.md | 10 +-
doc/api/child_process.md | 2 +-
doc/api/crypto.md | 2 +-
doc/api/dgram.md | 9 +-
doc/api/dns.md | 5 +-
doc/api/events.md | 56 +++----
doc/api/fs.md | 28 ++--
doc/api/http.md | 24 +--
doc/api/https.md | 4 +-
doc/api/path.md | 2 +-
doc/api/process.md | 29 ++--
doc/api/readline.md | 6 +-
doc/api/repl.md | 2 +-
doc/api/stream.md | 103 +++++++++++-
doc/api/tls.md | 4 +-
doc/api/util.md | 15 +-
doc/api/zlib.md | 7 -
doc/changelogs/CHANGELOG_V6.md | 105 ++++++++++++-
doc/onboarding-extras.md | 3 +-
doc/releases.md | 16 +-
doc/topics/the-event-loop-timers-and-nexttick.md | 172 +++++++++++----------
26 files changed, 440 insertions(+), 221 deletions(-)
Tests & Benchmarks only:
0.2% benchmark/buffers/
0.0% benchmark/child_process/
0.0% benchmark/dgram/
0.0% benchmark/http/
0.0% benchmark/
0.2% test/addons/async-hello-world/
0.2% test/doctool/
0.0% test/fixtures/
0.2% test/gc/
1.1% test/internet/
1.1% test/known_issues/
0.0% test/message/
92.0% test/parallel/
0.3% test/pseudo-tty/
2.3% test/pummel/
1.2% test/sequential/
0.0% test/testpy/
0.0% test/timers/
0.2% test/
326 files changed, 2275 insertions(+), 3889 deletions(-)
Most active commit
Of the 84 commits, 49a6ea1
was the most active:
(Excluding docs, deps, and tests.)
commit 49a6ea1b7321ab3d98e2f77a0bc50317bfe4ab59
Author: Jeremy Whitlock <jwhitlock@apache.org>
Date: Thu Jul 23 18:09:21 2015 -0600
timers: fix processing of nested timers
Whenever a timer is scheduled within another timer, there are a few
known issues that we are fixing:
* Whenever the timer being scheduled has the same timeout value as the
outer timer, the newly created timer can fire on the same tick of the
event loop instead of during the next tick of the event loop
* Whenever a timer is added in another timer's callback, its underlying
timer handle will be started with a timeout that is actually incorrect
This commit consists of
https://github.com/nodejs/node-v0.x-archive/pull/17203 and
https://github.com/nodejs/node-v0.x-archive/pull/25763.
Fixes: https://github.com/nodejs/node-v0.x-archive/issues/9333
Fixes: https://github.com/nodejs/node-v0.x-archive/issues/15447
Fixes: https://github.com/nodejs/node-v0.x-archive/issues/25607
Fixes: https://github.com/nodejs/node/issues/5426
PR-URL: https://github.com/nodejs/node/pull/3063
lib/timers.js | 8 ++-
test/common.js | 7 ++
test/parallel/test-timers-blocking-callback.js | 81 ++++++++++++++++++++++++
test/parallel/test-timers-nested.js | 39 ++++++++++++
4 files changed, 133 insertions(+), 2 deletions(-)
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.