Node.js v7.2.1 Release Brief
This routine patch release un-deprecates calling Buffer without the new keyword, and also includes more useful stacktraces for promise warnings when --trace-warnings is enabled.
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 193 commits:
- 23 were documentation-only commits.
 - 139 only modify tests and 4 only affect internal tooling.
 - 3 of the commits consist of 3 dependency updates + floating patches:
 - One dependency was updated:
- [
npm @ 3.10.10] - (Rebecca Turner) #9847 
 - [
 - Two commits were floated onto their respective dependencies :
- [
08377afas03b1c314cd] for V8 - (Franziska Hinkelmann) #9730 - [AIX shared suffix fix] for GYP - (Stewart Addison)
 
 - [
 
The remaining significant commits are as follows:
- [
5379b9da11] - async_wrap: call destroy() callback inuv_idle_t(Trevor Norris) #9753 - [
5157a5cee9] - async_wrap: make Initialize a static class member (Trevor Norris) #9753 - [
3e5be7fc8b] - async_wrap: mode constructor/destructor to .cc (Trevor Norris) #9753 - [
88464ac6ac] - benchmark: reformat code for clarity (Rich Trott) #9790 - [
573f9db6c9] - buffer: fix transcode for single-byte enc to ucs2 (Anna Henningsen) #9838 - [
0c745e3a3a] - buffer: convert offset & length to int properly (Sakthipriyan Vairamani (thefourtheye)) #9815 - [
e0e62d1113] - Revert "buffer: runtime deprecation of calling Buffer without new" (Anna Henningsen) #9529 - [
371090d817] - build: Make configure file parseable on python3 (kalrover) #9657 - [
16af467146] - build: add shared library support to AIX build (Stewart Addison) #9675 - [
fa38032148] - child_process: name anonymous functions (brad-decker) #9880 - [
5c9aa18484] - constants: errors -> errno (Bryan English) #9349 - [
dfa35d66f5] - debugger: callthis.resume()afterthis.run()(Lance Ball) #10099 - [
ac8d212428] - debugger: refactor_debugger.js(Rich Trott) #9860 - [
9554a974d1] - https: name anonymous functions in https (Pedro Lima) #9217 - [
80a3934cd7] - inspector:/json/versionreturns object, not array (Ben Noordhuis) #9762 - [
65cda7f265] - lib: use===in_http_serverand_tls_wrap(Walter Beller-Morales) #9849 - [
a673d44d68] - lib,tools: remove unneeded escaping of/(Prince J Wesley) #9591 - [
3253954e62] - meta: whitelist dotfiles in.gitignore(Claudio Rodriguez) #8016 - [
cef3a04f62] - promise: better stack traces for--trace-warnings(Anna Henningsen) #9525 - [
a0f6cc718a] - repl: avoid parsing division operator as regex (Teddy Katz) #10103 - [
6087e361e5] - repl: preprocess only for defaultEval (Prince J Wesley) #9752 - [
9099664959] - repl: fix generator function preprocessing (Teddy Katz) #9852 - [
5ae549c3aa] - url: fix-Warray-boundswarning (Santiago Gimeno) #9751 - [
f55a63c86f] - uti: move the caselatin1(Jackson Tian) #9646 
Git Diffstats
(Showing the delta between v7.2.0 and v7.2.1, ignoring deps/npm.)
Without deps, tools, docs, benchmarks, or tests:
 .eslintrc                        |   2 +
 .gitignore                       |  18 ++++-
 Makefile                         |   2 +
 configure                        |  76 +++++++++++---------
 lib/_debugger.js                 |  56 ++++++++-------
 lib/_http_server.js              |   2 +-
 lib/_tls_wrap.js                 |   2 +-
 lib/buffer.js                    |  14 +---
 lib/child_process.js             |  24 ++++---
 lib/constants.js                 |   2 +-
 lib/https.js                     |  10 +--
 lib/internal/process/promises.js |  17 ++++-
 lib/internal/util.js             |  22 +++++-
 lib/repl.js                      |  58 +++++++++-------
 lib/url.js                       | 138 +++++++++++++++++++------------------
 node.gyp                         |  10 ++-
 src/async-wrap-inl.h             |  71 -------------------
 src/async-wrap.cc                | 105 ++++++++++++++++++++++++++--
 src/async-wrap.h                 |  17 +++--
 src/env-inl.h                    |  15 ++++
 src/env.cc                       |   3 +
 src/env.h                        |   8 +++
 src/inspector_agent.cc           |  21 ++++--
 src/node_i18n.cc                 |   2 +-
 src/node_url.cc                  |   4 +-
 src/node_version.h               |   2 +-
 26 files changed, 427 insertions(+), 274 deletions(-)
Tools only:
 tools/license2rtf.js |  4 ++--
 tools/test.py        | 11 +++++++++--
 2 files changed, 11 insertions(+), 4 deletions(-)
Deps only:
 deps/v8/include/v8-version.h          |  2 +-
 deps/v8/src/bootstrapper.cc           |  1 +
 deps/v8/src/contexts.h                |  1 +
 deps/v8/src/crankshaft/hydrogen.cc    | 49 +++++++++++++++++++++------------
 tools/gyp/AUTHORS                     |  7 +++--
 tools/gyp/PRESUBMIT.py                | 26 +++++++++--------
 tools/gyp/pylib/gyp/generator/make.py | 10 +++++--
 7 files changed, 60 insertions(+), 36 deletions(-)
Docs only:
 CHANGELOG.md                                 |   3 +-
 COLLABORATOR_GUIDE.md                        |  74 +++++--
 CONTRIBUTING.md                              |   2 +-
 README.md                                    |   7 -
 doc/api/addons.md                            |  22 +-
 doc/api/buffer.md                            |   6 +-
 doc/api/child_process.md                     |   2 +-
 doc/api/crypto.md                            |  12 +-
 doc/api/debugger.md                          |   8 +-
 doc/api/fs.md                                |   4 +-
 doc/api/https.md                             |   2 +-
 doc/api/modules.md                           |  54 +++--
 doc/api/process.md                           |   6 +-
 doc/api/tls.md                               |   2 +-
 doc/api/url.md                               |   9 +-
 doc/api/util.md                              |   1 -
 doc/api_assets/style.css                     |   5 +
 doc/changelogs/CHANGELOG_V7.md               | 210 +++++++++++++++++++
 doc/guides/maintaining-V8.md                 | 279 +++++++++++++++++++++++++
 doc/guides/writing-tests.md                  | 204 ++++++++++++++++++
 doc/guides/writing_tests.md                  | 204 ------------------
 doc/onboarding-extras.md                     |   1 +
 doc/onboarding.md                            | 192 +++++------------
 doc/topics/event-loop-timers-and-nexttick.md |  10 +-
 24 files changed, 893 insertions(+), 426 deletions(-)
Tests & Benchmarks only:
   0.6% benchmark/arrays/
   1.2% benchmark/buffers/
   0.2% benchmark/es/
   0.6% benchmark/http/
   0.1% benchmark/misc/
   0.1% benchmark/querystring/
   0.8% benchmark/tls/
   0.1% benchmark/util/
   0.4% benchmark/
   0.0% test/addons/async-hello-world/
   0.0% test/addons/hello-world-function-export/
   0.0% test/addons/hello-world/
   0.0% test/addons/load-long-path/
   0.2% test/addons/stringbytes-external-exceed-max/
   0.7% test/cctest/
   0.5% test/debugger/
   0.1% test/inspector/
   0.6% test/message/
  91.4% test/parallel/
   0.1% test/pseudo-tty/
   0.3% test/sequential/
   0.8% test/
 168 files changed, 2332 insertions(+), 1766 deletions(-)
Most active commit
Of the 193 commits, 0c745e3 was the most active:
(Excluding docs, npm, eslint, and tests.)
commit 0c745e3a3ad5472b4827243d8fa4e1b926843cca
Author: Sakthipriyan Vairamani (thefourtheye) <thechargingvolcano@gmail.com>
Date:   Sun Nov 27 15:08:17 2016 +0530
    buffer: convert offset & length to int properly
    
    As per ecma-262 2015's #sec-%typedarray%-buffer-byteoffset-length,
    `offset` would be an integer, not a 32 bit unsigned integer. Also,
    `length` would be an integer with the maximum value of 2^53 - 1, not a
    32 bit unsigned integer.
    
    This would be a problem because, if we create a buffer from an
    arraybuffer, from an offset which is greater than 2^32, it would be
    actually pointing to a different location in arraybuffer. For example,
    if we use 2^40 as offset, then the actual value used will be 0,
    because `byteOffset >>>= 0` will convert `byteOffset` to a 32 bit
    unsigned int, which is based on 2^32 modulo.
    
    This is a redo, as the ca37fa527f174b547893817fe8c67a3befa02317 broke
    CI.
    
    Refer: https://github.com/nodejs/node/pull/9814
    Refer: https://github.com/nodejs/node/pull/9492
    
    PR-URL: https://github.com/nodejs/node/pull/9815
    
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Trevor Norris <trev.norris@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
 lib/buffer.js                                    |  4 +--
 lib/internal/util.js                             | 18 ++++++++++
 test/parallel/test-buffer-creation-regression.js | 41 ++++++++++++++++++++++
 test/parallel/test-internal-util-toInteger.js    | 32 +++++++++++++++++
 test/parallel/test-internal-util-toLength.js     | 35 ++++++++++++++++++
 5 files changed, 128 insertions(+), 2 deletions(-)
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.