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.jswithurl-resolve.js(Andreas Madsen) #5177 - [
921e8568d5] - benchmark: movemiscto categorized directories (Andreas Madsen) #5177 - [
c189eec14e] - benchmark: fix configuration parameters (Andreas Madsen) #5177 - [
58ad451f0b] - benchmark: movestring-decoderto 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-configurescript for npm (Robert Chiras) #6349 - [
43ce6fc8d2] - build: fixDESTCPUdetection for binary target (Richard Lau) #6310 - [
2389006720] - debugger: display array contents in repl (Colin Ihrig) #6448 - [
1c6809ce75] - debugger: introduceexecmethod 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.opendbfiles (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_tfor http parser array size fields (Ben Noordhuis) #5969 - [
af41a63d0f] - src: replaceARRAY_SIZEwith typesafearraysize()(Ben Noordhuis) #5969 - [
037291e31f] - src: make sureUtf8Value()always zero-terminates (Anna Henningsen) #7101 - [
a08a0179e9] - stream: ensureawaitDrainis increased once (David Halls) #7292 - [
b73ec46dcb] - stream: resetawaitDrainafter manual.resume()(Anna Henningsen) #7160 - [
55319fe798] - stream_base: exposebytesReadgetter (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.