Node.js 7.3.0 Release Brief
This week’s pre-holiday release Current release contains a couple new features, and the regular bunch of 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 127 commits:
- 23 were documentation-only commits.
- 73 only modify tests and 3 only affect internal tooling.
- One patch was backported from upstream V8:
- [
081fce3
asd685c99510
] - (Matt Loring) #10342
- [
5 commits were tagged as semver-minor
, adding new functionality and justifying the jump to 7.3.0:
- [
663c44eaaa
] - cluster: return worker reference fromdisconnect()
(Sean Villars) #10019 - [
6963e8aa9d
] - crypto: allow adding extra certs to well-known CAs (Sam Roberts) #9139 - [
d4e160c946
] - src: add wrapper forprocess.emitWarning()
(Sam Roberts) #9139 - [
2096638fe0
] - tls: allow obvious key/passphrase combinations (Sam Roberts) #10294 - [
24482d08ce
] - url: addinspect
function toTupleOrigin
(Safia Abdalla) #10039
The remaining significant commits are as follows:
- [
b99a372e91
] - buffer: fix single-character string filling (Anna Henningsen) #9837 - [
d8b6723096
] - buffer: handle UCS2.fill()
properly on BE (Anna Henningsen) #9837 - [
e61331ee9b
] - build: fixnode_g
target (Daniel Bevenius) #10153 - [
9d04152e15
] - build: Don't regenerate node symlink (sxa555) #9827 - [
2e0386c396
] - fs: remove needless assignment of null (Francis Gulotta) #10260 - [
2673be676a
] - fs: remove unused argument fromcopyObject()
(Ethan Arrowood) #10041 - [
dded482bb8
] - http: remove stale timeout listeners (Karl Böhlmark) #9440 - [
b41db3396b
] - inspector: check if connected before waiting (Eugene Ostroukhov) #10094 - [
b6a8bc6ac3
] - lib,test: use consistent operator linebreak style (Michaël Zasso) #10178 - [
ef2fa56314
] - src: fix string format mistake for 32 bit node (Alex Newman) #10082 - [
ec2f13fe66
] - src: don't overwrite non-writable vm globals (Ben Noordhuis) #10227 - [
28ffd593e2
] - stream, test: test_readableState.emittedReadable
(Joyee Cheung) #10249 - [
5bc0ae8f7d
] - stream_base: homogenizereq_wrap_obj
use (Fedor Indutny) #10184 - [
f66461382c
] - timers: fix handling of cleared immediates (hveldstra) #9759 - [
8e4b9fa487
] - tls: fix/annotate connect arg comments (Sam Roberts) #9800 - [
980acb4b95
] - tls: document and test option-lesscreateServer
(Sam Roberts) #9800 - [
41e1e6eb35
] - tls: do not refer tosecureOptions
as flags (Sam Roberts) #9800 - [
f08d8a6c6f
] - url: improveURLSearchParams
spec compliance (Timothy Gu) #9484 - [
19d7197177
] - url: add a got host pattern inurl.js
(Axel Monroy) #9653 - [
2da71f24de
] - url, test: fix typo in inspect output, add test (Jay Brownlee) #10231 - [
80cccce218
] - url, test: includingbase
argument inoriginFor
(joyeecheung) #10021 - [
fc40ae3b44
] - win,msi: add requiredUIRef
for localized strings (Bill Ticehurst) #8884
Notable Changes
- buffer:
buffer.fill()
now works properly for the UCS2 encoding on Big-Endian machines. (Anna Henningsen) #9837 - cluster:
worker.disconnect()
now returns a reference to the disconnected worker. (Sean Villars) #10019 - crypto: The built-in list of Well-Known CAs (Certificate Authorities) can now be extended via a
NODE_EXTRA_CA_CERTS
environment variable. (Sam Roberts) #9139 - http: Fixed a memory leak where stale timeout listeners were not removed on KeepAlive connections. (Karl Böhlmark) #9440
- tls:
createSecureContext()
now accepts obviouskey
/passphrase
combinations. (Sam Roberts) #10294 - url:
Git Diffstats
(Showing the delta between 7.2.1 and 7.3.0, ignoring deps/npm
.)
Without deps, tools, docs, benchmarks, or tests:
.eslintrc | 1 +
Makefile | 9 +-
lib/_http_client.js | 8 +-
lib/_tls_common.js | 18 +--
lib/_tls_wrap.js | 24 ++--
lib/buffer.js | 26 +++--
lib/cluster.js | 2 +
lib/fs.js | 5 +-
lib/internal/url.js | 298 +++++++++++++++++++++++++++++++++++++++--------
lib/timers.js | 8 +-
lib/url.js | 3 +-
src/inspector_agent.cc | 10 +-
src/node.cc | 29 +++++
src/node_buffer.cc | 3 +
src/node_contextify.cc | 23 ++--
src/node_crypto.cc | 63 +++++++++-
src/node_crypto.h | 2 +
src/node_internals.h | 2 +
src/node_version.h | 4 +-
src/stream_base.cc | 17 +--
20 files changed, 436 insertions(+), 119 deletions(-)
Tools only:
tools/macosx-firewall.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++
tools/msvs/msi/product.wxs | 1 +
tools/test.py | 4 +++-
3 files changed, 52 insertions(+), 1 deletion(-)
Deps only:
deps/v8/include/v8-version.h | 2 +-
deps/v8/src/base/platform/time.cc | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
Docs only:
.github/PULL_REQUEST_TEMPLATE.md | 2 +-
BUILDING.md | 19 +-
CHANGELOG.md | 3 +-
COLLABORATOR_GUIDE.md | 5 +-
CONTRIBUTING.md | 4 +-
README.md | 4 +-
benchmark/README.md | 15 ++
doc/api/buffer.md | 87 ++++----
doc/api/cli.md | 11 +
doc/api/cluster.md | 2 +
doc/api/crypto.md | 33 +--
doc/api/path.md | 40 ++--
doc/api/tls.md | 370 +++++++++++++------------------
doc/api/tty.md | 7 +
doc/changelogs/CHANGELOG_V7.md | 155 ++++++++++++-
doc/guides/building-node-with-ninja.md | 2 +-
doc/guides/writing-tests.md | 19 +-
doc/onboarding-extras.md | 2 +-
18 files changed, 453 insertions(+), 327 deletions(-)
Tests & Benchmarks only:
0.2% test/cctest/
3.3% test/debugger/
0.4% test/fixtures/module-require-symlink/
0.0% test/fixtures/packages/invalid/
0.8% test/fixtures/
0.3% test/inspector/
3.8% test/internet/
0.3% test/known_issues/
0.1% test/message/
89.4% test/parallel/
0.1% test/pseudo-tty/
0.9% test/sequential/
108 files changed, 2446 insertions(+), 984 deletions(-)
Most active commit
Of the 127 commits, f08d8a6
was the most active:
(Excluding docs, npm, eslint, and tests.)
commit f08d8a6c6f7fd681a27cb3be7a38e78bf1df238e
Author: Timothy Gu <timothygu99@gmail.com>
Date: Sat Nov 5 17:37:24 2016 -0700
url: improve URLSearchParams spec compliance
- Make URLSearchParams constructor spec-compliant
- Strip leading `?` in URL#search's setter
- Spec-compliant iterable interface
- More precise handling of update steps as mandated by the spec
- Add class strings to URLSearchParams objects and their prototype
- Make sure `this instanceof URLSearchParams` in methods
Also included are relevant tests from W3C's Web Platform Tests
(https://github.com/w3c/web-platform-tests/tree/master/url).
Fixes: https://github.com/nodejs/node/issues/9302
PR-URL: https://github.com/nodejs/node/pull/9484
Reviewed-By: James M Snell <jasnell@gmail.com>
lib/internal/url.js | 283 +++++++++++++++++---
.../test-whatwg-url-searchparams-append.js | 52 ++++
.../test-whatwg-url-searchparams-constructor.js | 134 +++++++++
.../test-whatwg-url-searchparams-delete.js | 44 +++
.../test-whatwg-url-searchparams-foreach.js | 43 +++
test/parallel/test-whatwg-url-searchparams-get.js | 35 +++
.../test-whatwg-url-searchparams-getall.js | 43 +++
test/parallel/test-whatwg-url-searchparams-has.js | 39 +++
test/parallel/test-whatwg-url-searchparams-set.js | 38 +++
.../test-whatwg-url-searchparams-stringifier.js | 116 ++++++++
test/parallel/test-whatwg-url-searchparams.js | 13 +
11 files changed, 797 insertions(+), 43 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.