Node.js v4.4.7 Release Brief
This LTS patch release is the result of a built-up of regular maintenance commits. It was scheduled for release in this LTS WG GitHub issue.
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 91 commits:
- 46 were documentation-only commits.
- 11 only modify tests and 6 only affect internal tooling.
- One dependency was upgraded:
- npm @ 2.15.8 - (Rebecca Turner) #7412
- One patch was floated on c-ares:
- Added support for
malloc(0)
scenarios on AIX - (Gireesh Punathil) #6305
- Added support for
- Two patches were backported from v8 upstream:
102e3e87e7 as 49921e8819
- (Myles Borins) #7442bc2e393 as de00f91041
- (Evan Lucas) #3792
The remaining significant commits are as follows:
- [
87cdb83a96
] - benchmark: mergeurl.js
withurl-resolve.js
(Andreas Madsen) #5177 - [
921e8568d5
] - benchmark: movemisc
to categorized directories (Andreas Madsen) #5177 - [
c189eec14e
] - benchmark: fix configuration parameters (Andreas Madsen) #5177 - [
58ad451f0b
] - benchmark: movestring-decoder
to its own category (Andreas Madsen) #5177 - [
a01caa3166
] - build: don't compile with-B
, redux (Ben Noordhuis) #6650 - [
37606caeaf
] - build: don't compile with-B
(Ben Noordhuis) #6393 - [
64fb7a1929
] - build: updateandroid-configure
script for npm (Robert Chiras) #6349 - [
43ce6fc8d2
] - build: fixDESTCPU
detection for binary target (Richard Lau) #6310 - [
2389006720
] - debugger: display array contents in repl (Colin Ihrig) #6448 - [
1c6809ce75
] - debugger: introduceexec
method for debugger (Jackson Tian) - [
1549899531
] - dgram,test: addaddMembership()
/dropMembership()
tests (Rich Trott) #6753 - [
bac87d01d9
] - gitignore: adding.vs/
directory to.gitignore
(Mike Kaufman) #6070 - [
93f2314dc2
] - gitignore: ignore VS 2015*.VC.opendb
files (Mike Kaufman) #6070 - [
c98aaf59bf
] - http: speed upcheckIsHttpToken()
(Jackson Tian) #4790 - [
552e25cb6b
] - lib,test: update in preparation for linter update (Rich Trott) #6498 - [
aaeeec4765
] - lib,test,tools: alignment on variable assignments (Rich Trott) #6869 - [
b3acbc5648
] - net: replace__defineGetter__
withdefineProperty()
(Fedor Indutny) #6284 - [
4c1eb5bf03
] - repl: create history file with mode0600
(Carl Lei) #3394 - [
90306bb81d
] - src: usesize_t
for http parser array size fields (Ben Noordhuis) #5969 - [
af41a63d0f
] - src: replaceARRAY_SIZE
with typesafearraysize()
(Ben Noordhuis) #5969 - [
037291e31f
] - src: make sureUtf8Value()
always zero-terminates (Anna Henningsen) #7101 - [
a08a0179e9
] - stream: ensureawaitDrain
is increased once (David Halls) #7292 - [
b73ec46dcb
] - stream: resetawaitDrain
after manual.resume()
(Anna Henningsen) #7160 - [
55319fe798
] - stream_base: exposebytesRead
getter (Fedor Indutny) #6284
Notable Changes
- debugger: All properties of an array (aside from
length
) can now be printed in the debugger (Colin Ihrig) #6448 - npm: Upgraded to v2.15.8 (Rebecca Turner) #7412
- stream: Fixed a bug that became more prevalent with the stream changes that landed in v4.4.5. (Anna Henningsen) #7160
- V8:
Git Diffstats
(Showing the delta between v4.4.6 and v4.4.7, ignoring deps/npm
.)
Without deps, docs, benchmarks, or tests:
.eslintrc | 5 ++--
.gitignore | 2 ++
Makefile | 35 +++++++++++++++++++++++---
android-configure | 27 ++++++++++++++++----
lib/_debugger.js | 30 ++++++++++++++++++----
lib/_http_common.js | 50 +++++++++++++++++++++++++++++++++++--
lib/_stream_readable.js | 10 +++++++-
lib/buffer.js | 1 +
lib/child_process.js | 7 +++---
lib/internal/repl.js | 5 +++-
lib/net.js | 38 ++++++++++++++++++++--------
lib/readline.js | 1 +
lib/repl.js | 4 +--
lib/util.js | 9 ++++---
lib/zlib.js | 4 +--
src/async-wrap-inl.h | 2 +-
src/cares_wrap.cc | 8 +++---
src/debug-agent.cc | 8 +++---
src/env.h | 1 +
src/fs_event_wrap.cc | 2 +-
src/js_stream.cc | 4 +--
src/node.cc | 16 ++++++------
src/node_contextify.cc | 2 +-
src/node_counters.cc | 2 +-
src/node_crypto.cc | 22 ++++++++--------
src/node_dtrace.cc | 2 +-
src/node_file.cc | 4 +--
src/node_http_parser.cc | 26 +++++++++----------
src/node_internals.h | 7 ++++--
src/node_lttng.cc | 2 +-
src/node_stat_watcher.cc | 2 +-
src/node_version.h | 2 +-
src/node_win32_etw_provider-inl.h | 2 +-
src/node_win32_etw_provider.cc | 2 +-
src/node_zlib.cc | 4 +--
src/pipe_wrap.cc | 6 ++---
src/process_wrap.cc | 2 +-
src/stream_base-inl.h | 17 +++++++++++++
src/stream_base.cc | 10 ++++----
src/stream_base.h | 13 ++++++++--
src/tcp_wrap.cc | 4 +--
src/tls_wrap.cc | 6 ++---
src/udp_wrap.cc | 4 +--
src/util.cc | 4 +++
tools/gyp_node.py | 7 ++++++
tools/js2c.py | 23 -----------------
tools/license-builder.sh | 20 ++++++++++++---
tools/test.py | 1 +
vcbuild.bat | 4 +--
49 files changed, 323 insertions(+), 146 deletions(-)
Deps only:
deps/cares/cares.gyp | 4 +++
deps/v8/src/arm64/lithium-codegen-arm64.cc | 2 ++
.../mjsunit/regress/regress-arm64-spillslots.js | 34 +++++++++++++++++++++
deps/v8/tools/gen-postmortem-metadata.py | 23 ++++++++++++--
4 files changed, 61 insertions(+), 2 deletions(-)
Docs only:
AUTHORS | 121 ++++++++++++++++++-
BUILDING.md | 21 +++-
CHANGELOG.md | 131 +++++++++++++++++++--
CONTRIBUTING.md | 1 +
LICENSE | 2 +-
README.md | 51 ++++----
WORKING_GROUPS.md | 29 +++--
doc/api/_toc.markdown | 10 +-
doc/api/buffer.markdown | 10 +-
doc/api/child_process.markdown | 14 +--
doc/api/cluster.markdown | 8 +-
doc/api/crypto.markdown | 2 +-
doc/api/debugger.markdown | 1 +
doc/api/documentation.markdown | 2 +-
doc/api/errors.markdown | 2 +-
doc/api/events.markdown | 7 +-
doc/api/fs.markdown | 17 +--
doc/api/globals.markdown | 7 +-
doc/api/modules.markdown | 29 ++++-
doc/api/repl.markdown | 2 +-
doc/api/synopsis.markdown | 30 +++--
doc/api_assets/style.css | 73 +++++++-----
doc/node.1 | 4 +-
doc/onboarding-extras.md | 44 +++----
doc/releases.md | 4 +-
doc/template.html | 2 +-
doc/topics/the-event-loop-timers-and-nexttick.md | 18 +--
27 files changed, 482 insertions(+), 160 deletions(-)
Tests & Benchmarks only:
0.9% benchmark/assert/
0.2% benchmark/buffers/
1.3% benchmark/child_process/
0.8% benchmark/domain/
1.1% benchmark/http/
10.4% benchmark/misc/
1.5% benchmark/module/
2.9% benchmark/process/
1.8% benchmark/string_decoder/
0.7% benchmark/timers/
2.2% benchmark/url/
0.1% benchmark/
3.1% test/addons/stringbytes-external-exceed-max/
0.9% test/debugger/
0.1% test/disabled/
4.8% test/doctool/
0.0% test/fixtures/
1.7% test/internet/
1.2% test/known_issues/
60.4% test/parallel/
2.1% test/pummel/
0.5% test/sequential/
0.0% test/
300 files changed, 1525 insertions(+), 994 deletions(-)
Most active commit
Of the 91 commits, c98aaf5
was the most active:
(Excluding docs, npm, eslint, tests, and tools.)
commit c98aaf59bf383d6e76b6a28a77345372048da433
Author: Jackson Tian <shyvo1987@gmail.com>
Date: Thu Jan 21 15:53:20 2016 +0800
http: speed up checkIsHttpToken
The Regex implementation is not faster than ascii code compare.
the field name is shorter, the speed is faster.
benchmark result here:
https://bitbucket.org/snippets/JacksonTian/Rnbad/benchmark-result
PR-URL: https://github.com/nodejs/node/pull/4790
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
benchmark/http/check_is_http_token.js | 52 +++++++++++++++++++++++++++++++++
lib/_http_common.js | 50 +++++++++++++++++++++++++++++--
2 files changed, 100 insertions(+), 2 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.