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_NOATIMEconstant (Rich Trott) #6492
- [95b7560d8e] - (SEMVER-MINOR) src,module: add--preserve-symlinkscommand 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: fixUCS2indexOffor odd buffer length (Anna Henningsen) #6511
- [a550ddbf3c] - buffer: fix needle length misestimation forUCS2(Anna Henningsen) #6511
- [6fc20c5a97] - buffer: fixlastIndexOfcrash for overlong needle (Anna Henningsen) #6511
- [44015754a3] - buffer: fixlastIndexOfindex underflow issue (Anna Henningsen) #6511
- [6032dc25cc] - build: add Makedoc-onlytarget (Jesse McCarthy) #3888
- [3af9382a5d] - build: don't compile with-B, redux (Ben Noordhuis) #6650
- [5149d66702] - build: fixDESTCPUdetection for binary target (Richard Lau) #6310
- [6eed6a3ac0] - build,test: fix build-addons dependency chain (Ben Noordhuis) #6652
- [e0240ab592] - child_process: use/system/bin/shon 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 aboutPURIFYdefine (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, noisAlivecheck" (Jeremiah Senkpiel) #6546
- [2000072903] - handle_wrap:IsRefed->Unrefed, noisAlivecheck (Jeremiah Senkpiel) #6204
- [59666502c5] - intl: Don't crash ifv8BreakIteratornot available (Steven R. Loomis) #4253
- [74582aa590] - lib: replace legacy uses of__defineGetter__(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.pylinter errors (Sakthipriyan Vairamani) #6105
- [bbf3b3ebbb] - src: simplifyHandleWrapstate tracking logic (Ben Noordhuis) #6395
- [965274d384] - src: use libuv's refcounting directly (Ben Noordhuis) #6395
- [316871f268] - src: fix-Wunused-variablecompiler warning (Ben Noordhuis) #6129
- [1def098b9f] - src: fix sporadic deadlock inSIGUSR1handler (Ben Noordhuis) #5904
- [477e61db9f] - src: don't use locale-sensitivestrcasecmp()(Ben Noordhuis) #6582
- [1e99643fc9] - src: remove unused#includestatement (Ben Noordhuis) #6582
- [62593bd44c] - src: remove pre-openssl 1.0 legacy code (Ben Noordhuis) #6582
- [27c17ce9d1] - src: fixFindFirstCharacterargument alignment (Anna Henningsen) #6511
- [bd4454fa0f] - src,lib: minor--debug-brkcleanup (Ali Ijaz Sheikh) #6599
- [6d1527bb37] - util: fix invalid date output withutil.inspect(Rumkin) #6504
- [1d6c17efd7] - util: adhere tonoDeprecationset 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/shon Android. (Ben Noordhuis) #6745
- repl:
- src: Added the  O_NOATIMEconstant for Linux filesystems. (Rich Trott) #6492
- src,module: Added a --preserve-symlinkscommand 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.noDeprecationnow 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.
