The NodeSource Blog

Node.js 4.7.1 Release Brief

This routine maintenance release for the Node 4 LTS branch was scheduled two months ago in LTS#159 and contains largely docs fixes, test improvements, and minor bugfixes.

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

  • 34 were documentation-only commits.
  • 117 only modify tests and 7 only affect internal tooling.
  • 1 commit was backported from upstream GYP:

The remaining significant commits are as follows:

  • [c5f82b8421] - assert: fix deepEqual/deepStrictEqual on equivalent typed arrays (Feross Aboukhadijeh) #8002
  • [60883de30f] - async_wrap: call destroy() callback in uv_idle_t (Trevor Norris)
  • [28dbc460c6] - async_wrap: make Initialize a static class member (Trevor Norris)
  • [bb05cd13db] - async_wrap: mode constructor/destructor to .cc (Trevor Norris)
  • [b1075f6193] - benchmark: split timers benchmark and refactor (Rich Trott) #9497
  • [7b4268b889] - benchmark,lib,test,tools: remove unneeded . escape (Rich Trott) #9449
  • [54f2ce8ea0] - build: prioritise --shared-X-Y over pkg-config (Rod Vagg) #9368
  • [61d377ddcd] - build: Make configure file parseable on python3 (kalrover) #9657
  • [38e0f95d24] - build: add MAKEFLAGS="-j1" to node-gyp (Daniel Bevenius) #9450
  • [d1b6407395] - build: make node-gyp output silent (Sakthipriyan Vairamani (thefourtheye)) #8990
  • [ae2eff2997] - build: start comments at beginning of line (Sakthipriyan Vairamani (thefourtheye)) #9375
  • [6f1f955b33] - build: default to ppc64 on AIX (Gibson Fahnestock) #9645
  • [f8d4577762] - build: Add option to compile for coverage reports (Wayne Andrews) #9463
  • [f2b00985f0] - build: add shared library support to AIX build (Stewart Addison) #9675
  • [e2c5f41ddf] - crypto: use SSL_get_servername. (Adam Langley) #9347
  • [724910a991] - debugger: refactor _debugger.js (Rich Trott) #9860
  • [65e134ff12] - meta: whitelist dotfiles in .gitignore (Claudio Rodriguez) #8016
  • [698bf2e829] - repl: don't override all internal repl defaults (cjihrig) #7826
  • [3d45b35f73] - repl: refactor lib/repl.js (Rich Trott) #9374
  • [759e8fdd18] - timers: bail from intervals if _repeat is bad (Jeremiah Senkpiel) #10365
  • [553d95da15] - timers: use consistent checks for canceled timers (Jeremiah Senkpiel) #9685

Notable Changes

  • build: Shared library support is now working for AIX builds. (Stewart Addison) #9675
  • repl: Passing options to the repl will no longer overwrite defaults. (cjihrig) #7826
  • timers: Re-canceling previously cancelled intervals will no longer throw. (Jeremiah Senkpiel) #9685

Git Diffstats

(Showing the delta between 4.7.0 and 4.7.1, ignoring deps/npm.)

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

 .editorconfig        |   4 ++
 .gitignore           |  18 ++++++++-
 Makefile             |  32 +++++++++------
 configure            | 106 +++++++++++++++++++++++++++++--------------------
 lib/_debugger.js     |  54 +++++++++++++++----------
 lib/_tls_wrap.js     |   4 +-
 lib/assert.js        |   9 ++++-
 lib/internal/repl.js |   7 ++--
 lib/repl.js          |  20 +++++-----
 lib/timers.js        |  23 ++++++++---
 node.gyp             |  23 ++++++++++-
 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/node.cc          |   3 ++
 src/node_crypto.cc   |  19 ++++-----
 src/node_version.h   |   2 +-
 19 files changed, 344 insertions(+), 196 deletions(-)

Tools only:

 tools/run-valgrind.py | 66 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 65 insertions(+), 1 deletion(-)

Deps only:

 tools/gyp/AUTHORS                     |  7 ++++---
 tools/gyp/PRESUBMIT.py                | 26 ++++++++++++++------------
 tools/gyp/pylib/gyp/generator/make.py | 10 ++++++++--
 3 files changed, 26 insertions(+), 17 deletions(-)

Docs only:

   1.8% doc/api/
   0.0% doc/api_assets/
  39.1% doc/ctc-meetings/
   5.1% doc/guides/
   0.0% doc/topics/
  21.5% doc/tsc-meetings/io.js/
  23.8% doc/tsc-meetings/
   0.0% doc/
 88 files changed, 896 insertions(+), 10471 deletions(-)

Tests & Benchmarks only:

   1.0% benchmark/timers/
   0.1% test/addons/async-hello-world/
   0.1% test/addons/at-exit/
   0.1% test/addons/buffer-free-callback/
   0.1% test/addons/heap-profiler/
   0.1% test/addons/hello-world-function-export/
   0.1% test/addons/hello-world/
   0.2% test/addons/load-long-path/
   0.0% test/addons/make-callback-recurse/
   0.0% test/addons/make-callback/
   0.7% test/addons/new-target/
   0.1% test/addons/openssl-binding/
   0.7% test/addons/stringbytes-external-exceed-max/
   0.0% test/cctest/
   0.0% test/debugger/
  94.0% test/parallel/
   0.0% test/pseudo-tty/
   1.1% test/sequential/
   0.6% test/
 143 files changed, 1741 insertions(+), 1409 deletions(-)

Most active commit

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

commit bb05cd13db4fb58963b86377d4543407be2528bc
Author: Trevor Norris <trev.norris@gmail.com>
Date:   Tue Nov 22 17:01:02 2016 -0700

    async_wrap: mode constructor/destructor to .cc

    The constructor and destructor shouldn't have been placed in the -inl.h
    file from the beginning.

    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>

 src/async-wrap-inl.h | 71 --------------------------------------------------
 src/async-wrap.cc    | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/async-wrap.h     | 10 +++----
 3 files changed, 76 insertions(+), 76 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.

The NodeSource platform offers a high-definition view of the performance, security and behavior of Node.js applications and functions.

Start for Free