Node.js v6.2.0 Release Brief
This week’s Current release fixes some larger problems, including a module resolution issue from v6.0.0, and a long-standing readline keypress bug on windows.
Additionally, it adds a couple small features.
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 121 commits:
- 36 were documentation-only commits.
- 28 only modify tests and 15 only affect internal tooling.
- 5 of the commits consist of 4 dependency upgrades:
- npm @ 3.8.9 (Rebecca Turner) #6664
- V8 @ 5.0.71.47 (Ali Ijaz Sheikh) #6572
- libuv @ 1.9.1 (Saúl Ibarra Corretgé) #6796
- ICU @ 57.1 (Steven R. Loomis) #6088
- “Small” ICU (Internationalization Data) is now checked into the repo. #6088
5 commits were tagged as semver-minor
, adding new functionality and justifying the jump to v6.2.0:
- [
226b9668db
] - (SEMVER-MINOR) repl: copying tabs shouldn't trigger completion (Eugene Obrezkov) #5958 - [
ce2d5be4a1
] - (SEMVER-MINOR) repl: exportsRecoverable
(Blake Embrey) #3488 - [
37736f4dad
] - (SEMVER-MINOR) src: addO_NOATIME
constant (Rich Trott) #6492 - [
95b7560d8e
] - (SEMVER-MINOR) src,module: add--preserve-symlinks
command line flag (James M Snell) #6537
The remaining significant commits are as follows:
- [
955c90d725
] - benchmark,test,lib: remove extra spaces (Rich Trott) #6645 - [
9cd14ced09
] - buffer: fixUCS2
indexOf
for odd buffer length (Anna Henningsen) #6511 - [
a550ddbf3c
] - buffer: fix needle length misestimation forUCS2
(Anna Henningsen) #6511 - [
6fc20c5a97
] - buffer: fixlastIndexOf
crash for overlong needle (Anna Henningsen) #6511 - [
44015754a3
] - buffer: fixlastIndexOf
index underflow issue (Anna Henningsen) #6511 - [
6032dc25cc
] - build: add Makedoc-only
target (Jesse McCarthy) #3888 - [
3af9382a5d
] - build: don't compile with-B
, redux (Ben Noordhuis) #6650 - [
5149d66702
] - build: fixDESTCPU
detection for binary target (Richard Lau) #6310 - [
6eed6a3ac0
] - build,test: fix build-addons dependency chain (Ben Noordhuis) #6652 - [
e0240ab592
] - child_process: use/system/bin/sh
on android (Ben Noordhuis) #6745 - [
e8c9f01cdd
] - crypto: disable ssl compression at build time (Ben Noordhuis) #6582 - [
16159c23ed
] - deps: limit regress/regress-crbug-514081 v8 test (Michael Dawson) #6678 - [
62690aa0be
] - deps: update comment aboutPURIFY
define (Ben Noordhuis) #6582 - [
d3132048cb
] - handle_wrap: expose anisRefed()
check to JS (Jeremiah Senkpiel) #5834 - [
f31a5ec34a
] - handle_wrap:IsRefed()
->HasRef()
(Jeremiah Senkpiel) #6546 - [
cc2af793d2
] - Revert "handle_wrap:IsRefed
->Unrefed
, noisAlive
check" (Jeremiah Senkpiel) #6546 - [
2000072903
] - handle_wrap:IsRefed
->Unrefed
, noisAlive
check (Jeremiah Senkpiel) #6204 - [
59666502c5
] - intl: Don't crash ifv8BreakIterator
not available (Steven R. Loomis) #4253 - [
74582aa590
] - lib: replace legacy uses of<i>defineGetter</i>
(James M Snell) #6768 - [
559c2583e0
] - lib,test: update in preparation for linter update (Rich Trott) #6498 - [
635357958d
] - repl: create history file with mode0600
(Carl Lei) #3394 - [
e3920d12ef
] - src: fixcheck-imports.py
linter errors (Sakthipriyan Vairamani) #6105 - [
bbf3b3ebbb
] - src: simplifyHandleWrap
state tracking logic (Ben Noordhuis) #6395 - [
965274d384
] - src: use libuv's refcounting directly (Ben Noordhuis) #6395 - [
316871f268
] - src: fix-Wunused-variable
compiler warning (Ben Noordhuis) #6129 - [
1def098b9f
] - src: fix sporadic deadlock inSIGUSR1
handler (Ben Noordhuis) #5904 - [
477e61db9f
] - src: don't use locale-sensitivestrcasecmp()
(Ben Noordhuis) #6582 - [
1e99643fc9
] - src: remove unused#include
statement (Ben Noordhuis) #6582 - [
62593bd44c
] - src: remove pre-openssl 1.0 legacy code (Ben Noordhuis) #6582 - [
27c17ce9d1
] - src: fixFindFirstCharacter
argument alignment (Anna Henningsen) #6511 - [
bd4454fa0f
] - src,lib: minor--debug-brk
cleanup (Ali Ijaz Sheikh) #6599 - [
6d1527bb37
] - util: fix invalid date output withutil.inspect
(Rumkin) #6504 - [
1d6c17efd7
] - util: adhere tonoDeprecation
set at runtime (Anna Henningsen) #6683
Notable Changes
- buffer: Fixed
lastIndexOf()
&indexOf()
in various edge cases. (Anna Henningsen) #6511 - child_process: The default shell is now
/system/bin/sh
on Android. (Ben Noordhuis) #6745 - repl:
- src: Added the
O_NOATIME
constant for Linux filesystems. (Rich Trott) #6492 - src,module: Added a
--preserve-symlinks
command line flag. (James M Snell) #6537- This also reverts the default module resolution regarding symlinks to it’s pre-v6.0.0 behavior.
- util:
process.noDeprecation
now works again when set at runtime. (Anna Henningsen) #6683
Git Diffstats
(Showing the delta between v6.1.0 and v6.2.0, ignoring deps/npm
.)
Without deps, docs, benchmarks, or tests:
.eslintrc | 4 +
Makefile | 63 ++++++++++---
common.gypi | 3 -
configure | 62 ++++++++++---
lib/_http_server.js | 124 ++++++++++++-------------
lib/_tls_legacy.js | 51 +++++++---
lib/child_process.js | 7 +-
lib/crypto.js | 21 +++--
lib/internal/bootstrap_node.js | 12 ++-
lib/internal/process.js | 15 +++
lib/internal/readline.js | 1 +
lib/internal/repl.js | 7 +-
lib/internal/util.js | 3 +-
lib/module.js | 28 +++---
lib/path.js | 4 +-
lib/querystring.js | 2 +-
lib/readline.js | 29 ++++--
lib/repl.js | 3 +-
lib/tls.js | 2 +-
lib/util.js | 32 ++++---
src/atomic-polyfill.h | 18 ----
src/handle_wrap.cc | 44 ++++-----
src/handle_wrap.h | 14 +--
src/node.cc | 167 +++++++++++++++++++++------------
src/node_buffer.cc | 14 ++-
src/node_config.cc | 5 +-
src/node_constants.cc | 4 +
src/node_crypto.cc | 27 +-----
src/node_http_parser.cc | 6 --
src/node_internals.h | 5 +
src/node_version.h | 2 +-
src/pipe_wrap.cc | 1 +
src/process_wrap.cc | 1 +
src/signal_wrap.cc | 1 +
src/string_search.h | 14 +--
src/tcp_wrap.cc | 1 +
src/timer_wrap.cc | 1 +
src/tty_wrap.cc | 1 +
src/udp_wrap.cc | 1 +
src/util-inl.h | 12 +++
src/util.h | 6 ++
tools/gyp_node.py | 7 ++
tools/icu/icu-generic.gyp | 194 ++++++++++++++++++++++++---------------
tools/icu/shrink-icu-src.py | 126 +++++++++++++++++++++++++
tools/js2c.py | 23 -----
tools/test.py | 10 +-
vcbuild.bat | 10 +-
47 files changed, 779 insertions(+), 409 deletions(-)
Deps only:
10.2% deps/icu-small/source/common/unicode/
30.3% deps/icu-small/source/common/
9.7% deps/icu-small/source/data/in/
10.6% deps/icu-small/source/i18n/unicode/
32.5% deps/icu-small/source/i18n/
1.1% deps/icu-small/source/io/
1.5% deps/icu-small/source/tools/genrb/
2.4% deps/icu-small/source/tools/toolutil/
0.6% deps/icu-small/source/tools/
0.7% deps/
988 files changed, 476854 insertions(+), 1340 deletions(-)
Docs only:
.github/ISSUE_TEMPLATE.md | 13 +-
.github/PULL_REQUEST_TEMPLATE.md | 14 +-
BUILDING.md | 63 +-
CHANGELOG.md | 6078 ++++++---------------------------
README.md | 17 +-
deps/uv/README.md | 5 +
doc/CHANGELOG.ARCHIVE.md | 5377 -----------------------------
doc/api/addons.md | 26 +-
doc/api/assert.md | 42 +
doc/api/buffer.md | 108 +-
doc/api/child_process.md | 20 +-
doc/api/cli.md | 42 +-
doc/api/dgram.md | 3 +
doc/api/documentation.md | 2 +-
doc/api/events.md | 23 +-
doc/api/fs.md | 24 +-
doc/api/modules.md | 29 +-
doc/api/net.md | 15 +-
doc/api/os.md | 48 +
doc/api/process.md | 142 +
doc/api/querystring.md | 12 +
doc/api/readline.md | 13 +-
doc/api/repl.md | 29 +-
doc/api/stream.md | 393 ++-
doc/api/string_decoder.md | 9 +
doc/api/url.md | 9 +
doc/api/util.md | 11 +-
doc/api/v8.md | 15 +-
doc/api/vm.md | 4 +-
doc/api/zlib.md | 114 +-
doc/api_assets/style.css | 23 +-
doc/changelogs/CHANGELOG_ARCHIVE.md | 3799 +++++++++++++++++++++
doc/changelogs/CHANGELOG_IOJS.md | 2852 ++++++++++++++++
doc/changelogs/CHANGELOG_V010.md | 788 +++++
doc/changelogs/CHANGELOG_V012.md | 343 ++
doc/changelogs/CHANGELOG_V4.md | 1669 +++++++++
doc/changelogs/CHANGELOG_V5.md | 1701 +++++++++
doc/changelogs/CHANGELOG_V6.md | 633 ++++
doc/ctc-meetings/2016-05-04.md | 192 ++
doc/node.1 | 20 +-
doc/onboarding-extras.md | 44 +-
doc/releases.md | 38 +-
test/fixtures/doc_with_yaml.md | 30 +
tools/icu/README.md | 78 +
44 files changed, 13971 insertions(+), 10939 deletions(-)
Tests & Benchmarks only:
0.4% benchmark/buffers/
0.0% test/addons/async-hello-world/
0.0% test/addons/at-exit/
0.2% test/addons/buffer-free-callback/
0.0% test/addons/heap-profiler/
0.0% test/addons/hello-world-function-export/
0.0% test/addons/hello-world/
0.0% test/addons/load-long-path/
3.3% test/addons/make-callback-recurse/
0.0% test/addons/make-callback/
0.0% test/addons/null-buffer-neuter/
0.0% test/addons/repl-domain-abort/
2.9% test/addons/stringbytes-external-exceed-max/
2.1% test/addons/symlinked-module/
0.6% test/cctest/
2.2% test/debugger/
0.1% test/disabled/
7.0% test/doctool/
0.0% test/fixtures/
0.0% test/gc/
2.6% test/internet/
1.4% test/known_issues/
70.1% test/parallel/
3.1% test/pummel/
1.1% test/sequential/
0.1% test/timers/
1.6% test/
324 files changed, 1709 insertions(+), 776 deletions(-)
Most active commit
Of the 121 commits, 7a6d2ad
was the most active:
(Excluding docs, npm, eslint, and tests.)
commit 7a6d2ad181d878aee89fad6d775c94f2067a031f
Author: Steven R. Loomis <srloomis@us.ibm.com>
Date: Fri Apr 8 19:03:16 2016 -0700
deps: Intl: Check in "small-icu" 57.1
* this commit has "small" ICU 57.1.
See other related commit for tools to generate this commit.
Fixes: https://github.com/nodejs/node/issues/3476
PR-URL: https://github.com/nodejs/node/pull/6088
Reviewed-By: James M Snell <jasnell@gmail.com>
10.2% deps/icu-small/source/common/unicode/
30.5% deps/icu-small/source/common/
9.7% deps/icu-small/source/data/in/
10.6% deps/icu-small/source/i18n/unicode/
32.7% deps/icu-small/source/i18n/
4.6% deps/icu-small/source/tools/
893 files changed, 475138 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.