The Nodesource Blog

#shoptalk Subscribe

Node.js v4.3.1 Release Brief

This LTS release is the result of a buildup of regular maintenance commits.
Of note, there are some debugger crash fixes, and a minor regression fix from http-parser.

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

  • 13 were documentation-only commits.
  • 20 only modify tests and 7 only affect internal tooling.
  • One dependency was updated:

The remaining significant commits are as follows:

  • [748d2b4de1] - buffer: make byteLength work with Buffer correctly (Jackson Tian) #4738
  • [fb615bdaf4] - buffer: remove unnecessary TODO comments (Peter Geiss) #4719
  • [b8213ba7e1] - cluster: ignore queryServer msgs on disconnection (Santiago Gimeno) #4465
  • [f8a676ed59] - cluster: fix race condition setting suicide prop (Santiago Gimeno) #4349
  • [9d4a226dad] - crypto: clear error stack in ECDH::Initialize (Fedor Indutny) #4689
  • [583f3347d8] - debugger: remove variable redeclarations (Rich Trott) #4633
  • [667f7a7ab3] - debugger: guard against call from non-node context (Ben Noordhuis) #4328
  • [6e829b44e3] - dgram: prevent disabled optimization of bind() (Brian White) #4613
  • [a2998a1bce] - gitignore: never ignore debug module (Michaël Zasso) #2286
  • [661b2557d9] - http: remove variable redeclaration (Rich Trott) #4612
  • [1bb2967d48] - http: fix non-string header value concatenation (Brian White) #4460
  • [15ed64e34c] - lib: fix style issues after eslint update (Michaël Zasso) nodejs/io.js#2286
  • [2e92a1a6b4] - module: move unnecessary work for early return (Andres Suarez) #3579
  • [40c8e6d75d] - net: remove hot path comment from connect (Evan Lucas) #4648
  • [8ed0c1c22c] - net: fix dns lookup for android (Josh Dague) #4580
  • [15fa555204] - net, doc: fix line wrapping lint in net.js (James M Snell) #4588
  • [1b070e48e0] - node_contextify: do not incept debug context (Myles Borins) #4815
  • [4fbcb47fe9] - readline: Remove XXX and output debuglog (Kohei TAKATA) #4690
  • [26f02405d0] - repl: make sure historyPath is trimmed (Evan Lucas) #4539
  • [5990ba2a0a] - src: remove redeclarations of variables (Rich Trott) #4605
  • [c41ed59dbc] - src: don't check failure with ERR_peek_error() (Ben Noordhuis) #4731
  • [8e592bb5c7] - src: repair lts flag (James M Snell) #5186
  • [d71f9992f9] - stream: remove useless if test in transform (zoubin) #4617
  • [aefb20a94f] - tls: copy client CAs and cert store on CertCb (Fedor Indutny) #3537
  • [7821b3e305] - tls_legacy: do not read on OpenSSL's stack (Fedor Indutny) #4624

Notable Changes

  • buffer: Buffer.byteLength() now properly accepts a Buffer (Jackson Tian) #4738.
  • debugger: Guard against call from non-node context (Ben Noordhuis) #4328.
    • Fixes a segfault in the debugger.
  • http-parser: Update to 2.5.2, fixing a minor regression (James Snell) #5238.
  • util: Do not attempt to close the global debug context when in debug mode (Myles Borins) #4819.
    • Fixes crash in debugger when using some util methods.

Git Diffstats

(Showing the delta between v4.3.0 and v4.3.1, ignoring deps/npm.)

Without deps, docs, benchmarks, or tests:

 .eslintignore                          |    2 +-
 .eslintrc                              |   10 +-
 .gitignore                             |    4 +-
 LICENSE                                | 1278 ++++++++++++++++--------------
 Makefile                               |    8 +-
 lib/_debugger.js                       |  122 ++-
 lib/_http_client.js                    |    8 +-
 lib/_http_incoming.js                  |    2 +-
 lib/_http_server.js                    |    2 +-
 lib/_stream_transform.js               |    3 +-
 lib/_tls_legacy.js                     |   30 +-
 lib/_tls_wrap.js                       |   14 +-
 lib/assert.js                          |   10 +-
 lib/buffer.js                          |    8 +-
 lib/cluster.js                         |   51 +-
 lib/dgram.js                           |    3 +-
 lib/fs.js                              |   22 +-
 lib/internal/child_process.js          |   14 +-
 lib/internal/repl.js                   |   13 +-
 lib/module.js                          |    7 +-
 lib/net.js                             |   29 +-
 lib/path.js                            |   68 +-
 lib/querystring.js                     |    6 +-
 lib/readline.js                        |    7 +-
 lib/tls.js                             |   12 +-
 lib/url.js                             |   42 +-
 src/debug-agent.cc                     |    2 +
 src/node.js                            |   10 +-
 src/node_contextify.cc                 |   31 +-
 src/node_crypto.cc                     |   36 +-
 src/node_crypto.h                      |    2 +
 src/node_version.h                     |    2 +-
 src/tls_wrap.cc                        |    3 +-
 tools/doc/addon-verify.js              |   39 +-
 tools/eslint-rules/required-modules.js |    6 +-
 tools/license-builder.sh               |   64 ++
 tools/release.sh                       |    2 +-
 vcbuild.bat                            |    2 +-
 38 files changed, 1071 insertions(+), 903 deletions(-)

Deps only:

 deps/http_parser/Makefile      | 2 +-
 deps/http_parser/http_parser.c | 2 +-
 deps/http_parser/http_parser.h | 2 +-
 deps/http_parser/test.c        | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

Docs only:

 CHANGELOG.md             | 97 +++++++++++++++++++++++++++++++++++++++++++---
 CODE_OF_CONDUCT.md       |  9 +++--
 WORKING_GROUPS.md        | 17 ++++++++
 doc/api/fs.markdown      |  8 ++++
 doc/api/http.markdown    |  3 +-
 doc/api/https.markdown   |  1 +
 doc/api/process.markdown |  2 +-
 doc/api/repl.markdown    |  2 +-
 doc/api/stream.markdown  |  7 +++-
 doc/api/timers.markdown  | 23 +++++------
 doc/api_assets/style.css | 13 ++++++-
 doc/releases.md          |  2 +-
 doc/template.html        | 12 +++---
 13 files changed, 164 insertions(+), 32 deletions(-)

Tests & Benchmarks only:

   0.2% test/debugger/
   0.1% test/fixtures/
   2.5% test/gc/
   6.1% test/internet/
  73.5% test/parallel/
   2.2% test/pummel/
  15.1% test/sequential/
   0.0% test/
 147 files changed, 1664 insertions(+), 1394 deletions(-)

Most active commit

Of the 68 commits, 15ed64e was the most active:
(Excluding docs, npm, eslint, and tests.)

commit 15ed64e34c878685b0f216167ba673b6faa4766c
Author: Michaël Zasso <mic.besace@gmail.com>
Date:   Tue Jan 12 22:04:50 2016 +0100

    lib: fix style issues after eslint update

    With an indentation style of two spaces, it is not possible to indent
    multiline variable declarations by four spaces. Instead, the var keyword
    is used on every new line.
    Use const instead of var where applicable for changed lines.

    PR-URL: https://github.com/nodejs/io.js/pull/2286
    Reviewed-By: Roman Reiss <me@silverwind.io>

 lib/_debugger.js              | 112 ++++++++++++++++++++--------------------
 lib/_http_server.js           |   2 +-
 lib/_tls_legacy.js            |  16 +++---
 lib/_tls_wrap.js              |  14 ++---
 lib/assert.js                 |  10 ++--
 lib/fs.js                     |  22 ++++----
 lib/internal/child_process.js |  14 ++---
 lib/net.js                    |  20 +++----
 lib/path.js                   |  68 ++++++++++++------------
 lib/querystring.js            |   6 +--
 lib/readline.js               |   4 +-
 lib/tls.js                    |  12 ++---
 lib/url.js                    |  42 +++++++--------
 13 files changed, 170 insertions(+), 172 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.