Node.js v6.5.0 Release Brief
This Node.js Current release comes a backwards-compatible upgrade to V8 5.1, and ~99% ES2015 feature coverage. This release also fixes some regressions introduced in v6.4.0.
A significant amount of the commits in this release are dedicated to ensuring the stability and backwards compatibility of this V8 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 88 commits:
- 11 were documentation-only commits.
- 27 only modify tests and 1 only affects internal tooling.
- 12 commits were backported from upstream V8:
- [
de5aaad
as723fa9637c
] - (Michaël Zasso) #8099 - [
588e15c
&c0d4bb8
asfc2a89ccb7
] - (epertoso) #8038 - [
6f68f30
ascd77ca397a
] - (Stefan Budeanu) #7802 - [
a51f429
asb4f11efafa
] - (Franziska Hinkelmann) #7833 - [
a76d133
as4a20869714
] - (Matt Loring) #7689 - [
b93c80a
as3b2f692b23
] - (Matt Loring) #7689 - [
2b4c9c1
asc4401d283b
] - (Joran Siu) #7771 - [
1f53e42
as0ac21bc860
] - (Ben Noordhuis) #7612 - [
d721121
asfc442e0f43
] - (Ben Noordhuis) #7632 - [
a91f6b8433
] (backportIsValid
changes from4e8736d
) - (Michaël Zasso) #6544 - [
1ef7487b
asb2f7c32a9f
] - (Michael Dawson) #6218 - [
7bd24767
as08e2b0408a
] - (Franziska Hinkelmann) #8078
- [
- 5 Additional commits were floated onto V8 to ensure API & ABI compatibility of 5.1 with 5.0:
- [
44f781d06a
] (warn inTemplate::Set()
on improper use) - (Ben Noordhuis) #6277 - [
9a4b338f0c
] (remove extra field fromv8::HeapStatistics
) - (Anna Henningsen) #7526 - [
dcd065522e
] (don't include V8 fromnode.gyp
) - (Michaël Zasso) #7016 - [
2c46e23969
] - (bring in V8 5.1 - 5.0 ABI compatibility) - (Matt Loring) #7016 - [
06a6c03e57
] - (revert removal ofV8::PromiseEvent
) - (Matt Loring) #7016
- [
1 commit was tagged as semver-minor
, adding new functionality and justifying the jump to v6.5.0:
- [
abbad66126
] - (SEMVER-MINOR) deps: update V8 to 5.1.281.75 (Ali Ijaz Sheikh) #8054
The remaining significant commits are as follows:
- [
5bc311909f
] - assert: remove code that is never reached (Rich Trott) #8132 - [
e371545dfe
] - buffer: allow.write()
offset to be at buffer end (Anna Henningsen) #8154 - [
92ecbc4edc
] - build: cherry pick V8 change for windows DLL support (Stefan Budeanu) #8084 - [
4e4c091542
] - build: windows sharedlib support (Stefan Budeanu) #8084 - [
f4c3456610
] - build: do not lint src dir for JS errors (Rich Trott) #8128 - [
71343b6caa
] - child_process: reuse existing no-op function (cjihrig) #8164 - [
0884c70535
] - child_process: workaround fd passing issue on OS X (Santiago Gimeno) #7572 - [
8eb6e71758
] - configure: reword help for--without-npm
(BlackYoup) #7471 - [
c406ad8258
] - debugger: use arrow function for lexicalthis
(Guy Fraser) #7415 - [
7af2f63f10
] - deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #6678 - [
d0cb52b967
] - dns: removemakeAsync()
function check (cjihrig) #8170 - [
70648f47ca
] - dns:lookupService()
callback must be a function (cjihrig) #8170 - [
b1922e7b5b
] - dtrace: fix ustack helper for V8 5.1 (Ali Ijaz Sheikh) #6482 - [
92de0bc1a6
] - inspector: fix inspector hang while disconnecting (Aleksei Koziatinskii) #8021 - [
bfd8265ec2
] - inspector: add support for uncaught exception (Aleksei Koziatinskii) #8043 - [
089a1cbecb
] - net: add length check when normalizing args (Brian White) #8112 - [
17b8381585
] - net: remove unnecessary variables (Brian White) #8112 - [
fbc5805e65
] - readline: keypress trigger for escape character (Prince J Wesley) #7382 - [
60c50468e3
] - repl: Failed to save editor mode text in.save
(Prince J Wesley) #8145 - [
66e66e59a4
] - repl: fix repl after V8 upgrade (Ali Ijaz Sheikh) #7016 - [
ffb2db8285
] - Revert "repl,util: insert carriage returns in output" (Evan Lucas) #8143 - [
4118598dbb
] - src: don't include a null character in theWriteConsoleW
call (Nikolai Vavilov) #7764 - [
d863619a30
] - src: clean upPER_ISOLATE_STRING_PROPERTIES
, v2 (Ben Noordhuis) #8207 - [
d3950a2013
] - src: clean upPER_ISOLATE_STRING_PROPERTIES
, v1 (Ben Noordhuis) #8207 - [
8f9fb8154d
] - src: updating references to the oldnode.js
file (Daniel Bevenius) #8092 - [
091ba2c511
] - src: fix build break for!NODE_USE_V8_PLATFORM
(Kunal Pathak) #8114 - [
1bf80a0a3f
] - stream: avoid caching prepend check (Calvin Metcalf) #8018 - [
c26b9af1e2
] - tls: copy the Buffer object before using (Sakthipriyan Vairamani) #8055 - [
14c7dcbbcd
] - url: fix inconsistent port inurl.resolveObject()
(Ilkka Myller) #8214 - [
1f9fbade4c
] - util: fix deprecated class prototype (Bryan English) #8105 - [
a146e683dd
] - win,msi: add zh-CN translations for the installer (Minqi Pan) #2569
Notable Changes
- buffer: Fixed a regression introduced in v6.4.0 that prevented
.write()
at buffer end. (Anna Henningsen) #8154 - deps: Updated V8 to 5.1.281.75 (Ali Ijaz Sheikh) #8054
- Comes with floating patches to ensure API & ABI stability.
- inspector:
- repl: Fixed saving text while in editor mode when using
.save
. (Prince J Wesley) #8145 - Revert "repl,util: insert carriage returns in output" (Evan Lucas) #8143
- This caused issues in a significant number of applications & test suites.
Git Diffstats
(Showing the delta between v6.4.0 and v6.5.0, ignoring deps/npm
.)
Without deps, tools, docs, benchmarks, or tests:
.eslintrc | 5 +-
Makefile | 4 +-
common.gypi | 31 +++++++++-
configure | 3 +-
lib/_debug_agent.js | 17 +++---
lib/_stream_readable.js | 13 ++---
lib/assert.js | 6 +-
lib/dns.js | 8 +--
lib/internal/child_process.js | 43 +++++++++++---
lib/internal/readline.js | 6 +-
lib/internal/util.js | 5 +-
lib/net.js | 16 ++---
lib/readline.js | 12 ++++
lib/repl.js | 66 ++++++++++-----------
lib/tls.js | 17 +++---
lib/url.js | 1 +
lib/util.js | 10 ++--
node.gyp | 7 +--
src/env.h | 33 -----------
src/fs_event_wrap.cc | 5 +-
src/inspector_agent.cc | 55 ++++++++++++++++++
src/inspector_agent.h | 7 +++
src/node.cc | 125 +++++++++++++++++++++++-----------------
src/node_buffer.cc | 2 +-
src/node_version.h | 2 +-
src/v8abbr.h | 4 +-
src/v8ustack.d | 4 +-
vcbuild.bat | 7 ++-
28 files changed, 311 insertions(+), 203 deletions(-)
Tools only:
tools/msvs/msi/i18n/zh-cn.wxl | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
Deps only:
1.2% deps/v8/src/compiler/s390/
3.7% deps/v8/src/compiler/
3.1% deps/v8/src/crankshaft/s390/
2.2% deps/v8/src/crankshaft/
1.1% deps/v8/src/full-codegen/s390/
0.9% deps/v8/src/full-codegen/
1.8% deps/v8/src/heap/
0.5% deps/v8/src/ic/s390/
1.7% deps/v8/src/interpreter/
0.5% deps/v8/src/js/
0.8% deps/v8/src/parsing/
0.5% deps/v8/src/regexp/
9.1% deps/v8/src/s390/
2.2% deps/v8/src/snapshot/
1.1% deps/v8/src/wasm/
10.1% deps/v8/src/
4.7% deps/v8/test/cctest/interpreter/bytecode_expectations/
3.7% deps/v8/test/cctest/interpreter/
0.8% deps/v8/test/cctest/wasm/
2.4% deps/v8/test/cctest/
3.3% deps/v8/test/mjsunit/es6/
3.7% deps/v8/test/mjsunit/harmony/
1.0% deps/v8/test/mjsunit/strong/
31.7% deps/v8/test/mjsunit/wasm/embenchen/
1.1% deps/v8/test/mjsunit/wasm/
1.6% deps/v8/test/mjsunit/
0.5% deps/v8/test/unittests/interpreter/
1.1% deps/v8/test/unittests/wasm/
1.5% deps/v8/test/
1.0% deps/v8/
1562 files changed, 291790 insertions(+), 74310 deletions(-)
Docs only:
CHANGELOG.md | 3 +-
CONTRIBUTING.md | 10 +--
README.md | 2 +
ROADMAP.md | 10 +--
doc/api/child_process.md | 10 ++-
doc/api/process.md | 2 +-
doc/api/querystring.md | 2 +-
doc/api/stream.md | 7 +--
doc/api/util.md | 128 ++++++++++++++++++++++++++++++++++++++-
doc/changelogs/CHANGELOG_V6.md | 105 ++++++++++++++++++++++++++++++++
doc/onboarding.md | 56 +++++++++--------
doc/releases.md | 4 +-
12 files changed, 290 insertions(+), 49 deletions(-)
Tests & Benchmarks only:
5.7% test/addons/zlib-binding/
1.1% test/fixtures/
82.0% test/parallel/
5.6% test/pummel/
5.3% test/sequential/
76 files changed, 693 insertions(+), 316 deletions(-)
Most active commit
Of the 88 commits, abbad66
was the most active:
(Excluding docs, npm, eslint, and tests.)
commit abbad661269e12d6f54eb5b53b65f9388b4666a9
Author: Ali Ijaz Sheikh <ofrobots@google.com>
Date: Wed Aug 17 10:02:58 2016 -0700
deps: update V8 to 5.1.281.75
Pick up the latest branch-head for V8 5.1. This branch brings in
improved language support and performance improvements. For full
details: http://v8project.blogspot.com/2016/04/v8-release-51.html
* Picks up the latest branch head for 5.1 [1]
* Edit v8 gitignore to allow trace_event copy
* Update V8 DEP trace_event as per deps/v8/DEPS [2]
[1] https://chromium.googlesource.com/v8/v8.git/+/5.1.281.75
[2] https://chromium.googlesource.com/chromium/src/base/trace_event/common/+/c8c8665
Introduces a semver-minor overload of v8::Function::New() for use
by v8_inspector.
PR-URL: https://github.com/nodejs/node/pull/8054
Refs: https://github.com/nodejs/node/pull/7016
Refs: https://github.com/nodejs/node/pull/7586
Refs: https://github.com/nodejs/node/pull/7615
Reviewed-By: addaleax - Anna Henningsen <anna@addaleax.net>
Reviewed-By: thealphanerd - Myles Borins <myles.borins@gmail.com>
Reviewed-By: mhdawson - Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: evanlucas - Evan Lucas <evanlucas@me.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
4.9% deps/v8/src/compiler/
3.1% deps/v8/src/crankshaft/s390/
9.1% deps/v8/src/s390/
23.9% deps/v8/src/
4.7% deps/v8/test/cctest/interpreter/bytecode_expectations/
3.7% deps/v8/test/cctest/interpreter/
3.2% deps/v8/test/cctest/
3.3% deps/v8/test/mjsunit/es6/
3.7% deps/v8/test/mjsunit/harmony/
31.6% deps/v8/test/mjsunit/wasm/embenchen/
3.8% deps/v8/test/mjsunit/
3.2% deps/v8/test/
1570 files changed, 291775 insertions(+), 74746 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.