Node.js v4.4.1 Release Brief
This LTS release is the result of a buildup of regular maintenance commits. A minor OpenSSL config update is the only thing of note beyond the usual stability improvements and bug fixes.
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 113 commits:
- 56 were documentation-only commits.
- 16 only modify tests and 11 only affect internal tooling.
- One v8 patch was backported:
The remaining significant commits are as follows:
- [
df283f8a03
] - benchmark: fix linting issues (Rich Trott) #5773 - [
c901741c60
] - benchmark: use strict mode (Rich Trott) #5773 - [
4be2065dbc
] - benchmark: refactor to eliminate redeclared vars (Rich Trott) #5773 - [
ddac368533
] - benchmark: fix lint errors (Rich Trott) #5773 - [
03b20a73b9
] - benchmark: add benchmark forbuffer.compare()
(Rich Trott) #5441 - [
b816044845
] - buffer: remove duplicated code infromObject()
(HUANG Wei) #4948 - [
067ce9b905
] - build: don't install github templates (Johan Bergström) #5612 - [
a1772dc515
] - build: update Node.js logo on OSX installer (Rod Vagg) #5401 - [
9058fc0383
] - build: correctly detect clang version (Stefan Budeanu) #5553 - [
1165ecc6f7
] - build: update Node.js logo on Win installer (Robert Jefe Lindstaedt) #5531 - [
4990ddad72
] - build: remove--quiet
from eslint invocation (firedfox) #5519 - [
46a5d519dd
] - build: skip msi build if WiX is not found (Tsarevich Dmitry) #5220 - [
dac4e64491
] - build: add option to select VS version (julien.waechter) #4645 - [
97e95d04c2
] - crypto: PBKDF2 works withint
notssize_t
(Fedor Indutny) #5397 - [
57b02e6a3e
] - debugger: remove unneeded callback check (Rich Trott) #5319 - [
f982632f90
] - http: remove old, confusing comment (Brian White) #5233 - [
ca5d7a8bb6
] - http: remove unnecessary check (Brian White) #5233 - [
2ce83bd8f9
] - http,util: fix typos in comments (Alexander Makarenko) #5279 - [
b690916e5a
] - lib: freelist: use.pop()
for allocation (Anton Khlynovskiy) #2174 - [
e7f45f0a17
] - repl: handle quotes within regexp literal (Prince J Wesley) #5117 - [
7c3b844f78
] - src: returnUV_EAI_NODATA
on empty lookup (cjihrig) #4715 - [
242a65e930
] - stream: prevent object map change inTransformState
(Evan Lucas) #5032 - [
fb5ba6b928
] - stream: prevent object map change inReadableState
(Evan Lucas) #4761 - [
04db9efd78
] - stream: fix no data on partial decode (Brian White) #5226 - [
cc0e36ff98
] - string_decoder: fix performance regression (Brian White) #5134 - [
a673c9ae2d
] - tls: fix assert incontext._external
accessor (Ben Noordhuis) #5521 - [
dff7091fce
] - url: group slashed protocols by protocol name (nettofarah) #5380 - [
0e97a3ea51
] - win,build: support Visual C++ Build Tools 2015 (João Reis) #5627
Notable Changes
- build:
- openssl: Updated OpenSSL config to hard-disable several ciphers included in
EXPORT
andLOW
. (Shigeki Ohtsu) #5630- This was intended to be in the last OpenSSL upgrade, but was missed.
- These ciphers are already disabled by default.
- tools: Gyp now works on OS X without XCode. (Shigeki Ohtsu) #1325
Git Diffstats
(Showing the delta between v4.4.0 and v4.4.1, ignoring deps/npm
.)
Without deps, docs, benchmarks, or tests:
.eslintrc | 39 ++++++++++++--------
Makefile | 8 +++--
configure | 14 ++++++--
lib/.eslintrc | 3 ++
lib/_debugger.js | 2 +-
lib/_http_incoming.js | 4 ---
lib/_http_outgoing.js | 3 +-
lib/_http_server.js | 2 +-
lib/_stream_readable.js | 38 ++++++++++++--------
lib/_stream_transform.js | 1 +
lib/buffer.js | 35 +++++++-----------
lib/internal/freelist.js | 2 +-
lib/repl.js | 16 +++++++--
lib/string_decoder.js | 5 +--
lib/timers.js | 2 +-
lib/url.js | 8 ++---
lib/util.js | 4 +--
src/cares_wrap.cc | 4 +++
src/node_crypto.cc | 88 +++++++++++++++++++++++++---------------------
src/node_version.h | 2 +-
tools/cpplint.py | 3 --
tools/doc/html.js | 2 +-
tools/test.py | 9 +++--
vcbuild.bat | 18 +++++++---
24 files changed, 183 insertions(+), 129 deletions(-)
Deps only:
deps/openssl/config/archs/BSD-x86/opensslconf.h | 12 ++++
.../openssl/config/archs/BSD-x86_64/opensslconf.h | 12 ++++
deps/openssl/config/archs/VC-WIN32/opensslconf.h | 12 ++++
deps/openssl/config/archs/VC-WIN64A/opensslconf.h | 12 ++++
deps/openssl/config/archs/aix-gcc/opensslconf.h | 12 ++++
deps/openssl/config/archs/aix64-gcc/opensslconf.h | 12 ++++
.../config/archs/darwin-i386-cc/opensslconf.h | 12 ++++
.../config/archs/darwin64-x86_64-cc/opensslconf.h | 12 ++++
.../config/archs/linux-aarch64/opensslconf.h | 12 ++++
.../config/archs/linux-armv4/opensslconf.h | 12 ++++
deps/openssl/config/archs/linux-elf/opensslconf.h | 12 ++++
deps/openssl/config/archs/linux-ppc/opensslconf.h | 12 ++++
.../config/archs/linux-ppc64/opensslconf.h | 12 ++++
deps/openssl/config/archs/linux-x32/opensslconf.h | 12 ++++
.../config/archs/linux-x86_64/opensslconf.h | 12 ++++
.../config/archs/solaris-x86-gcc/opensslconf.h | 12 ++++
.../archs/solaris64-x86_64-gcc/opensslconf.h | 12 ++++
deps/openssl/openssl.gyp | 1 +
deps/openssl/openssl.gypi | 6 +-
deps/v8/src/compiler/ppc/code-generator-ppc.cc | 62 ++++++++++-----------
tools/gyp/PRESUBMIT.py | 9 ++-
tools/gyp/gyp_main.py | 12 ++--
tools/gyp/pylib/gyp/MSVSSettings.py | 5 +-
tools/gyp/pylib/gyp/MSVSSettings_test.py | 2 +-
tools/gyp/pylib/gyp/common.py | 11 +++-
tools/gyp/pylib/gyp/generator/analyzer.py | 4 +-
tools/gyp/pylib/gyp/generator/make.py | 18 +++---
tools/gyp/pylib/gyp/generator/msvs.py | 13 +++++
tools/gyp/pylib/gyp/generator/ninja.py | 19 +++++--
tools/gyp/pylib/gyp/input.py | 20 ++++---
tools/gyp/pylib/gyp/msvs_emulation.py | 10 ++++
tools/gyp/pylib/gyp/win_tool.py | 4 +-
tools/gyp/pylib/gyp/xcode_emulation.py | 18 +++++-
33 files changed, 340 insertions(+), 78 deletions(-)
Docs only:
BUILDING.md | 246 +++++++++++++++++++++++++++++
CHANGELOG.md | 135 ++++++++++++++++
CODE_OF_CONDUCT.md | 20 ++-
COLLABORATOR_GUIDE.md | 7 +-
README.md | 256 ++-----------------------------
ROADMAP.md | 4 +-
WORKING_GROUPS.md | 13 ++
doc/api/addons.markdown | 45 +++---
doc/api/buffer.markdown | 27 ++--
doc/api/child_process.markdown | 7 +-
doc/api/cluster.markdown | 3 +-
doc/api/crypto.markdown | 8 +-
doc/api/dns.markdown | 2 +-
doc/api/documentation.markdown | 7 +
doc/api/errors.markdown | 5 +-
doc/api/events.markdown | 37 +++++
doc/api/fs.markdown | 20 ++-
doc/api/http.markdown | 4 +-
doc/api/net.markdown | 14 +-
doc/api/path.markdown | 114 +++++++-------
doc/api/process.markdown | 73 +++++----
doc/api/stream.markdown | 8 +-
doc/api/tls.markdown | 36 ++---
doc/api/v8.markdown | 2 +-
doc/api/zlib.markdown | 27 ++--
doc/api_assets/style.css | 13 +-
doc/full-white-stripe.jpg | Bin 3636 -> 9483 bytes
doc/guides/building-node-with-ninja.md | 39 +++++
doc/onboarding-extras.md | 105 +++++++++++++
doc/onboarding.md | 199 ++++++++++++++++++++++++
doc/osx_installer_logo.png | Bin 16640 -> 2521 bytes
doc/releases.md | 12 +-
doc/thin-white-stripe.jpg | Bin 3099 -> 6525 bytes
doc/topics/blocking-vs-non-blocking.md | 143 +++++++++++++++++
test/README.md | 117 ++++++++++++++
35 files changed, 1307 insertions(+), 441 deletions(-)
Tests & Benchmarks only:
2.9% benchmark/arrays/
9.6% benchmark/buffers/
2.7% benchmark/crypto/
1.9% benchmark/events/
0.7% benchmark/fs/
2.8% benchmark/http/
0.1% benchmark/misc/function_call/
7.0% benchmark/misc/
1.2% benchmark/net/
0.4% benchmark/path/
1.2% benchmark/querystring/
3.1% benchmark/tls/
0.0% benchmark/url/
0.4% benchmark/util/
25.7% benchmark/
0.7% test/debugger/
0.5% test/internet/
1.8% test/known_issues/
29.2% test/parallel/
5.3% test/sequential/
0.2% test/timers/
1.4% test/
125 files changed, 712 insertions(+), 389 deletions(-)
Most active commit
Of the 113 commits, 19ae308
was the most active:
(Excluding docs, npm, eslint, and tests.)
commit 19ae308867cc1691d7b8a0d7e58390bcf5279d35
Author: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Date: Mon Mar 7 07:48:44 2016 +0900
deps: update openssl config
OPENSSL_NO_SSL2 and OPENSSL_NO_WEAK_SSL_CIPHERS are defined in
opensslconf.h
Fixes: https://github.com/nodejs/LTS/issues/85
PR-URL: https://github.com/nodejs/node/pull/5630
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
deps/openssl/config/archs/BSD-x86/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/BSD-x86_64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/VC-WIN32/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/VC-WIN64A/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/aix-gcc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/aix64-gcc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/darwin-i386-cc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/darwin64-x86_64-cc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-aarch64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-armv4/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-elf/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-ppc/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-ppc64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-x32/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/linux-x86_64/opensslconf.h | 12 ++++++++++++
deps/openssl/config/archs/solaris-x86-gcc/opensslconf.h | 12 ++++++++++++
.../config/archs/solaris64-x86_64-gcc/opensslconf.h | 12 ++++++++++++
deps/openssl/openssl.gypi | 4 ----
18 files changed, 204 insertions(+), 4 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.