The NodeSource Blog

Node.js v6.9.2 Release Brief

This routine patch release to Node 6 LTS contains many small fixes and improvements.

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 144 commits:

The remaining significant commits are as follows:

  • [f3b0cf5052] - async_wrap: call destroy() callback in uv_idle_t (Trevor Norris) #10096
  • [3e5b2eb49c] - async_wrap: make Initialize a static class member (Trevor Norris) #10096
  • [9ed60d308c] - async_wrap: mode constructor/destructor to .cc (Trevor Norris) #10096
  • [5eeac8cc57] - benchmark: add microbenchmarks for ES Map (Rod Vagg) #7581
  • [e108f20d5c] - buffer: use correct name for custom inspect symbol (Charmander) #9289
  • [0cffa3c87e] - buffer: coerce offset using Math.trunc() (cjihrig) #9341
  • [0276e9e82c] - buffer: coerce slice parameters consistently (Sakthipriyan Vairamani (thefourtheye)) #9101
  • [c1aee029d5] - build: start comments at beginning of line (Sakthipriyan Vairamani (thefourtheye)) #9375
  • [1ed58ed7fe] - build: reduce noise from doc target (Daniel Bevenius) #9457
  • [5c2ed2eefe] - build: make node-gyp output silent (Sakthipriyan Vairamani (thefourtheye)) #8990
  • [c857586fd7] - build: use wxneeded on openbsd (Aaron Bieber) #9232
  • [9de8cfecd9] - build: fix config.gypi target (Daniel Bevenius) #9053
  • [b867294aa0] - child_process: remove unreachable execSync() code (cjihrig) #9209
  • [cbfde3cd0a] - child_process: update outdated comment (Tanuja-Sawant)
  • [4d4d02ace4] - crypto: fix faulty logic in iv size check (Ben Noordhuis) #9032
  • [9cfa91b585] - crypto: use SSL_get_SSL_CTX. (Adam Langley) #8995
  • [4141c77a25] - gitignore: ignore all tap files (Johan Bergström) #9262
  • [cf5a00e904] - inspector: do not prompt to use localhost (Eugene Ostroukhov) #9451
  • [b5bcd25c7b] - inspector: fix request path nullptr dereference (Ben Noordhuis) #9184
  • [b3f8f8902d] - inspector: no URLs when the debugger is connected (Eugene Ostroukhov) #8919
  • [a178abfae6] - lib: change to = in linkedlist (jedireza) #9362
  • [5efb3c373a] - lib: fix beforeExit not working with -e (Ben Noordhuis) #8821
  • [0f1a22d28a] - net: fix ambiguity in EOF handling (Fedor Indutny) #9066
  • [58b60fc79d] - repl: don’t write to input stream in editor mode (Anna Henningsen) #9207
  • [ed3de0854e] - repl: make key of repl.write() optional always (Anna Henningsen) #9207
  • [8a91616ba9] - src: replace SetNamedPropertyHandler() (AnnaMag) #9062
  • [89eb175c89] - src: remove unused function (Brian White) #9243
  • [0e37a6a2ce] - src: fix typo rval to value (Miguel Angel Asencio Hurtado) #9023
  • [9cb236ff45] - tls: fix leak of WriteWrap+TLSWrap combination (Fedor Indutny) #9586
  • [52a04bbfe2] - util: use template strings (Alejandro Oviedo Garcia) #9120

Notable Changes

  • buffer: Slice parameters now coerce consistently. (Sakthipriyan Vairamani (thefourtheye)) #9101
  • npm: upgrade to 3.10.9 (Kat Marchán) #9286
  • inspector: The inspector now prompts the user to use 127.0.0.1 rather than localhost. (Eugene Ostroukhov) #9451
  • tls: Fixed a memory leak when writing data to a TLSWrap instance during handshake. (Fedor Indutny) #9586
  • V8: Various fixes to destructuring edge cases
    • cherry-pick 3c39bac from V8 upstream (Cristian Cavalli) #9138
    • cherry pick 7166503 from upstream v8 (Cristian Cavalli) #9173

Git Diffstats

(Showing the delta between v6.9.1 and v6.9.2, ignoring deps/npm.)

Without deps, tools, docs, benchmarks, or tests:

 .eslintrc                      |  10 ++-
 .gitignore                     |   2 +-
 Makefile                       |  28 ++++----
 common.gypi                    |   3 +
 lib/.eslintrc                  |   1 +
 lib/_stream_wrap.js            |   4 +-
 lib/_stream_writable.js        |   3 +-
 lib/_tls_legacy.js             |   6 +-
 lib/_tls_wrap.js               |  29 +++++++--
 lib/buffer.js                  |  11 ++--
 lib/child_process.js           |   6 +-
 lib/domain.js                  |   2 +-
 lib/fs.js                      |   2 +-
 lib/internal/bootstrap_node.js |   2 +-
 lib/internal/linkedlist.js     |   4 +-
 lib/net.js                     |  10 +--
 lib/repl.js                    |   5 +-
 lib/util.js                    |  52 +++++++--------
 src/async-wrap-inl.h           |  71 --------------------
 src/async-wrap.cc              | 105 ++++++++++++++++++++++++++++--
 src/async-wrap.h               |  17 +++--
 src/env-inl.h                  |  15 +++++
 src/env.h                      |   8 +++
 src/inspector_agent.cc         | 135 +++++++++++++++++++--------------------
 src/node.cc                    |  30 +++++----
 src/node_crypto.cc             |  27 ++++----
 src/node_version.h             |   2 +-
 27 files changed, 338 insertions(+), 252 deletions(-)

Tools only:

 tools/make-v8.sh | 49 +++++++++++++++++++++++++++++--------------------
 tools/release.sh | 13 +++----------
 tools/test.py    | 53 +++++++++++++++++++++++++++++++++++++++++------------
 3 files changed, 73 insertions(+), 42 deletions(-)

Deps only:

 deps/cares/include/ares.h                    |  2 +-
 deps/gtest/src/gtest.cc                      | 18 +++++-----
 deps/v8/build/standalone.gypi                |  1 +
 deps/v8/build/toolchain.gypi                 |  1 -
 deps/v8/include/v8-version.h                 |  2 +-
 deps/v8/src/heap/mark-compact.cc             |  4 ++-
 deps/v8/src/lookup.h                         |  1 +
 deps/v8/src/objects.cc                       | 17 ++++++++-
 deps/v8/src/parsing/parser.cc                | 48 ++++++++++++--------------
 deps/v8/test/cctest/test-api-interceptors.cc | 19 ++++++++++
 deps/v8/test/mjsunit/regress/regress-5106.js | 29 ++++++++++++++++
 deps/v8/test/mjsunit/regress/regress-5454.js | 11 ++++++
 12 files changed, 115 insertions(+), 38 deletions(-)

Docs only:

 .github/ISSUE_TEMPLATE.md              |   6 +
 BUILDING.md                            |   2 +-
 CHANGELOG.md                           |   5 +-
 COLLABORATOR_GUIDE.md                  |   4 +-
 CONTRIBUTING.md                        |  65 +++++-
 GOVERNANCE.md                          |  73 ++++---
 README.md                              |   6 +-
 WORKING_GROUPS.md                      |  23 +-
 doc/api/buffer.md                      |  28 ++-
 doc/api/child_process.md               |  12 +-
 doc/api/crypto.md                      |  29 +--
 doc/api/errors.md                      |   8 +-
 doc/api/fs.md                          |  15 +-
 doc/api/http.md                        | 362 ++++++++++++++++++++-----------
 doc/api/https.md                       |   4 +-
 doc/api/modules.md                     |   6 +-
 doc/api/process.md                     |  26 ++-
 doc/api/stream.md                      |  16 +-
 doc/api/tls.md                         |  12 +-
 doc/api/util.md                        |  30 ++-
 doc/api/vm.md                          |   3 +-
 doc/api/zlib.md                        |   2 +-
 doc/api_assets/style.css               |  73 ++++---
 doc/changelogs/CHANGELOG_ARCHIVE.md    |  32 +--
 doc/changelogs/CHANGELOG_IOJS.md       |   8 +-
 doc/changelogs/CHANGELOG_V4.md         |   2 +-
 doc/changelogs/CHANGELOG_V5.md         |  46 ++--
 doc/changelogs/CHANGELOG_V6.md         | 169 ++++++++++++++-
 doc/ctc-meetings/2016-09-28.md         | 302 ++++++++++++++++++++++++++
 doc/ctc-meetings/2016-10-05.md         | 311 ++++++++++++++++++++++++++
 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 +++--
 doc/onboarding.md                      |  15 +-
 36 files changed, 1916 insertions(+), 344 deletions(-)

Tests & Benchmarks only:

   0.1% benchmark/buffers/
   2.5% benchmark/es/
   0.2% test/addons/at-exit/
   0.3% test/addons/buffer-free-callback/
   0.2% test/addons/hello-world/
   0.2% test/addons/load-long-path/
   0.2% test/addons/make-callback-recurse/
   0.2% test/addons/make-callback/
   0.2% test/addons/null-buffer-neuter/
   0.2% test/addons/parse-encoding/
   0.2% test/addons/repl-domain-abort/
   0.2% test/addons/stringbytes-external-exceed-max/
   0.2% test/addons/symlinked-module/
   2.3% test/cctest/
   1.7% test/fixtures/
   2.5% test/inspector/
   2.2% test/internet/
   3.5% test/message/
  49.5% test/parallel/
   6.0% test/pummel/
  26.0% test/sequential/
   0.4% test/
 91 files changed, 1394 insertions(+), 984 deletions(-)

Most active commit

Of the 144 commits, b3f8f89 was the most active:
(Excluding docs, npm, eslint, and tests.)

commit b3f8f8902d52dd5dfdca9c1e5fb22e468483ef5a
Author: Eugene Ostroukhov <eostroukhov@chromium.org>
Date:   Mon Oct 3 16:31:25 2016 -0700


    inspector: no URLs when the debugger is connected

    By convention, inspector protocol targets do not advertise connection
    URLs when the frontend is already connected as multiple inspector
    protocol connections are not supported.

    PR-URL: https://github.com/nodejs/node/pull/8919
    Reviewed-By: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>


 src/inspector_agent.cc             | 129 +++++++++++++++++------------------
 test/inspector/inspector-helper.js |   9 +++
 test/inspector/test-inspector.js   |   9 +++
 3 files changed, 82 insertions(+), 65 deletions(-)

This is a regular and routine release for a Node.js LTS 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.