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 :
- [
08377af
as03b1c314cd
] 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/version
returns object, not array (Ben Noordhuis) #9762 - [
65cda7f265
] - lib: use===
in_http_server
and_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-bounds
warning (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.