Node.js v7.1.0 Release Brief
This first release to the v7.x release line comes with upgraded dependencies, a couple new APIs, and a plenty of fixes.
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 117 commits:
- 26 were documentation-only commits.
- 35 only modify tests and 5 only affect internal tooling.
- 3 dependencies were upgraded:
- [npm v3.10.9] - (Kat Marchán) #9286
- [libuv v1.10.0] - (cjihrig) #9267
- [ICU 58] - (Steven R. Loomis) #9234
- One patch was backported onto c-ares: [OpenBSD fix] - (Aaron Bieber) #9232
8 commits were tagged as semver-minor
, adding new functionality and justifying the jump to v7.1.0:
- [
0939edd4ed
] - (SEMVER-MINOR) buffer: addbuffer.transcode
(James M Snell) #9038 - [
7b0e93738b
] - (SEMVER-MINOR) child_process: add public API for IPC channel (cjihrig) #9322 - [
3d1766f492
] - (SEMVER-MINOR) deps: Intl: ICU 58 bump - small icu (BIG COMMIT) (Steven R. Loomis) #9234 - [
827000ee62
] - (SEMVER-MINOR) deps: Intl: ICU 58 bump: configure/LICENSE/docs (Steven R. Loomis) #9234 - [
9940666c1b
] - (SEMVER-MINOR) intl: Add more versions from ICU (Steven R. Loomis) #9266 - [
a5c62cb4f2
] - (SEMVER-MINOR) readline: use icu based string width calculation (James M Snell) #9040 - [
b1ef638de3
] - (SEMVER-MINOR) src: default--icu_case_mapping
on as a v8 option (Steven R. Loomis) #9454 - [
60a5b515b8
] - (SEMVER-MINOR) src: addNODE_PRESERVE_SYMLINKS
environment variable (Marc Udoff) #8749
The remaining significant commits are as follows:
- [
dafdb7b069
] - benchmark: add trailing newline for consistency (Roman Reiss) #9410 - [
fab8eb660f
] - benchmark: add microbenchmarks for ES Map (Rod Vagg) #7581 - [
44792f83bf
] - benchmark,lib,test,tools: remove unneeded.
escape (Rich Trott) #9449 - [
c70c96a3e2
] - buffer: coerce offset usingMath.trunc()
(cjihrig) #9341 - [
212da12f45
] - buffer: use correct name for custom inspect symbol (Charmander) #9289 - [
ceec520aef
] - build: addMAKEFLAGS="-j1"
to node-gyp (Daniel Bevenius) #9450 - [
1109d0b244
] - build: reduce noise from doc target (Daniel Bevenius) #9457 - [
90aac7ca28
] - build: start comments at beginning of line (Sakthipriyan Vairamani (thefourtheye)) #9375 - [
b51db7120e
] - build: make node-gyp output silent (Sakthipriyan Vairamani (thefourtheye)) #8990 - [
d8eaa14c2d
] - build: prioritise--shared-X-Y
over pkg-config (Rod Vagg) #9368 - [
f7d8481ee2
] - build: usewxneeded
on openbsd (Aaron Bieber) #9232 - [
4e3731c7e7
] - child_process: remove unreachable code (cjihrig) #9307 - [
d573acf96f
] - child_process: remove unreachableexecSync()
code (cjihrig) #9209 - [
355041960d
] - events: remove unnecessary checks (cjihrig) #9330 - [
0ce0abf6cb
] - events,test: fix TypeError in EventEmitter warning (jseagull) #9021 - [
6f35e4421a
] - http: add debug message for invalid header value (Evan Lucas) #9195 - [
173b088e1a
] - inspector: do not prompt to use localhost (Eugene Ostroukhov) #9451 - [
939d1023c2
] - inspector: switch to new inspector APIs (Eugene Ostroukhov) #9028 - [
2e7b078e7b
] - inspector: fix request path nullptr dereference (Ben Noordhuis) #9184 - [
5bfefa6063
] - lib: change==
to===
in linkedlist (jedireza) #9362 - [
d24bd20d2b
] - lib: makeString(global) === '\[object global\]'
(Anna Henningsen) #9279 - [
9372aee4a3
] - lib: fixbeforeExit
not working with-e
(Ben Noordhuis) #8821 - [
c231130e06
] - module: skip directories known not to exist (Ben Noordhuis) #9196 - [
d09eb9c6b2
] - net: name anonymous functions (Pedro Victor) #9357 - [
60461d2d90
] - repl: refactorlib/repl.js
(Rich Trott) #9374 - [
071836aa42
] - repl: name anonymous functions (Pedro Victor) #9356 - [
0b9d80a037
] - repl: don’t write to input stream in editor mode (Anna Henningsen) #9207 - [
1c59cefc44
] - repl: makekey
ofrepl.write()
optional always (Anna Henningsen) #9207 - [
0c236d1d36
] - src: replaceSetNamedPropertyHandler()
(AnnaMag) #9062 - [
5ab172ee8f
] - src: fix use of uninitialized variable (James M Snell) #9281 - [
57c0a9b5dc
] - src: remove unused function (Brian White) #9243 - [
08e12c7809
] - src: remove superfluousenv_string
string (Ben Noordhuis) #9213 - [
c342bda49e
] - src: make cross-contextMakeCallback()
calls work (Ben Noordhuis) #9221 - [
f2a3b24611
] - src: clean up program/isolate/env init logic (Ben Noordhuis) #9224 - [
9e753ba782
] - src: simplify code, remove NodeInstanceData (Ben Noordhuis) #9224 - [
8b53f3c41c
] - src: speed up module loading, don't resize buffer (Ben Noordhuis) #9132 - [
362c307f38
] - src: speed up module loading, skip EOF read (Ben Noordhuis) #9132 - [
85a9295813
] - src,tools: speed up startup by 2.5% (Ben Noordhuis) #5458 - [
4f0596fb03
] - util: use template strings (Alejandro Oviedo Garcia) #9120 - [
b083086ff2
] - vm: name anonymous functions (solebox) #9388
Notable Changes
- buffer: Added
buffer.transcode()
for transcoding a buffer's content from one encoding to another. (James M Snell) #9038- Primarily uses ICU under the hood to ensure correctness.
- child_process: Added a public API for accessing the IPC channel if it exists. (cjihrig) #9322
- icu: Added
cldr
,tz
, andunicode
properties toprocess.versions
. (Steven R. Loomis) #9266 - lib: Made
String(global)
once again return'\[object global\]'
. (Anna Henningsen) #9279 - readline: String width calculation now uses ICU under the hood. (James M Snell) #9040
- src:
- Added detection for a
NODE_PRESERVE_SYMLINKS
environment variable that has the same effect as the--preserve-symlinks
flag (Marc Udoff) #8749 - Fixed
String#toLocaleUpperCase()
andString#toLocaleLowerCase()
. (Steven R. Loomis)
- Added detection for a
Git Diffstats
(Showing the delta between v7.0.0 and v7.1.0, ignoring deps/npm
.)
Without deps, tools, docs, benchmarks, or tests:
.editorconfig | 4 +
.eslintrc | 1 +
Makefile | 23 +-
common.gypi | 3 +
configure | 30 +--
lib/_http_outgoing.js | 3 +
lib/_stream_writable.js | 1 +
lib/_tls_wrap.js | 2 +-
lib/buffer.js | 14 +-
lib/child_process.js | 4 +-
lib/events.js | 10 +-
lib/internal/bootstrap_node.js | 40 +++-
lib/internal/buffer.js | 30 +++
lib/internal/child_process.js | 32 +--
lib/internal/linkedlist.js | 4 +-
lib/internal/process/stdio.js | 4 +-
lib/internal/readline.js | 160 +++++++-------
lib/module.js | 6 +-
lib/net.js | 10 +-
lib/readline.js | 8 +
lib/repl.js | 37 ++--
lib/util.js | 56 ++---
lib/vm.js | 10 +-
lib/zlib.js | 3 +-
node.gyp | 14 +-
src/env.cc | 2 -
src/env.h | 1 -
src/inspector_agent.cc | 176 ++++++++++------
src/node.cc | 295 +++++++++++++-------------
src/node_buffer.cc | 55 ++---
src/node_file.cc | 20 +-
src/node_i18n.cc | 438 +++++++++++++++++++++++++++++++++++++++
src/node_internals.h | 81 --------
src/node_javascript.cc | 49 +++--
src/node_version.h | 2 +-
src/util.h | 27 +++
36 files changed, 1098 insertions(+), 557 deletions(-)
Tools only:
tools/icu/README.md | 15 +-
tools/icu/icu-generic.gyp | 4 +-
tools/icu/patches/58/source/i18n/digitlst.cpp | 1095 +++++++++++++++++++++++
tools/icu/shrink-icu-src.py | 17 +-
tools/js2c.py | 164 +---
tools/release.sh | 2 +-
tools/test.py | 5 +-
7 files changed, 1154 insertions(+), 148 deletions(-)
Deps only:
0.0% deps/cares/include/
0.7% deps/icu-small/source/common/unicode/
13.6% deps/icu-small/source/common/
57.1% deps/icu-small/source/data/in/
1.0% deps/icu-small/source/i18n/unicode/
5.4% deps/icu-small/source/i18n/
0.0% deps/icu-small/source/io/unicode/
0.0% deps/icu-small/source/io/
0.0% deps/icu-small/source/stubdata/
0.0% deps/icu-small/source/tools/genccode/
0.0% deps/icu-small/source/tools/gencmn/
0.0% deps/icu-small/source/tools/genrb/
0.0% deps/icu-small/source/tools/icupkg/
0.0% deps/icu-small/source/tools/pkgdata/
0.1% deps/icu-small/source/tools/toolutil/
0.0% deps/icu-small/
0.0% deps/uv/docs/src/
0.0% deps/uv/include/
0.2% deps/uv/src/unix/
0.2% deps/uv/src/win/
0.0% deps/uv/src/
0.4% deps/uv/test/
0.2% deps/uv/
0.1% deps/v8_inspector/include/
0.3% deps/v8_inspector/src/inspector/build/
8.0% deps/v8_inspector/src/inspector/
0.7% deps/v8_inspector/third_party/WebKit/Source/platform/inspector_protocol/lib/
0.3% deps/v8_inspector/third_party/WebKit/Source/platform/inspector_protocol/templates/
0.5% deps/v8_inspector/third_party/WebKit/Source/platform/inspector_protocol/
1.8% deps/v8_inspector/third_party/v8_inspector/platform/inspector_protocol/
0.1% deps/v8_inspector/third_party/v8_inspector/platform/v8_inspector/build/
0.1% deps/v8_inspector/third_party/v8_inspector/platform/v8_inspector/public/
8.0% deps/v8_inspector/third_party/v8_inspector/platform/v8_inspector/
0.0% deps/v8_inspector/third_party/v8_inspector/platform/
0.0% deps/v8_inspector/third_party/v8_inspector/
0.0% deps/v8_inspector/
1215 files changed, 41150 insertions(+), 34993 deletions(-)
Docs only:
BUILDING.md | 2 +-
CHANGELOG.md | 3 +-
CONTRIBUTING.md | 65 ++++++-
GOVERNANCE.md | 17 +-
LICENSE | 93 +++++----
README.md | 4 +-
WORKING_GROUPS.md | 23 ++-
benchmark/README.md | 2 +-
doc/api/buffer.md | 55 ++++--
doc/api/child_process.md | 11 ++
doc/api/cli.md | 7 +
doc/api/crypto.md | 12 +-
doc/api/fs.md | 13 +-
doc/api/globals.md | 9 +-
doc/api/http.md | 2 +-
doc/api/https.md | 4 +-
doc/api/modules.md | 6 +-
doc/api/process.md | 28 ++-
doc/api/tls.md | 12 +-
doc/api/util.md | 30 ++-
doc/api/zlib.md | 6 +-
doc/changelogs/CHANGELOG_V7.md | 138 ++++++++++++++
doc/ctc-meetings/2016-09-28.md | 303 ++++++++++++++++++++++++++++++
doc/ctc-meetings/2016-10-05.md | 312 +++++++++++++++++++++++++++++++
doc/ctc-meetings/2016-10-12.md | 157 ++++++++++++++++
doc/ctc-meetings/2016-10-19.md | 202 ++++++++++++++++++++
doc/ctc-meetings/2016-10-26.md | 151 +++++++++++++++
doc/guides/building-node-with-ninja.md | 2 +-
doc/guides/writing_tests.md | 53 ++++--
tools/icu/README.md | 15 +-
30 files changed, 1588 insertions(+), 149 deletions(-)
Tests & Benchmarks only:
2.8% benchmark/es/
0.1% benchmark/
0.3% test/addons/make-callback/
0.0% test/fixtures/packages/index/
3.4% test/inspector/
2.5% test/internet/
3.9% test/message/
50.6% test/parallel/
6.5% test/pummel/
29.3% test/sequential/
0.1% test/
75 files changed, 1398 insertions(+), 715 deletions(-)
Most active commit
Of the 117 commits, 939d102
was the most active:
(Excluding docs, npm, eslint, and tests.)
commit 939d1023c20272a502b02147aa231d596a45d4e9
Author: Eugene Ostroukhov <eostroukhov@chromium.org>
Date: Wed Oct 5 15:11:48 2016 -0700
inspector: switch to new inspector APIs
This implementation switches to V8 inspector from the V8 repository. The
new inspector integration is now using final APIs and exposes a stable
wire protocol, removing the need for pointing the users to specific
devtools version.
PR-URL: https://github.com/nodejs/node/pull/9028
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
40.9% deps/v8_inspector/src/inspector/
3.7% deps/v8_inspector/third_party/WebKit/Source/platform/inspector_protocol/lib/
4.5% deps/v8_inspector/third_party/WebKit/Source/platform/inspector_protocol/
8.9% deps/v8_inspector/third_party/v8_inspector/platform/inspector_protocol/
40.4% deps/v8_inspector/third_party/v8_inspector/platform/v8_inspector/
217 files changed, 21662 insertions(+), 21671 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.