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:
- [081fce3asd685c99510] - (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: addinspectfunction 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_gtarget (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_objuse (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 tosecureOptionsas flags (Sam Roberts) #9800
- [f08d8a6c6f] - url: improveURLSearchParamsspec 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: includingbaseargument inoriginFor(joyeecheung) #10021
- [fc40ae3b44] - win,msi: add requiredUIReffor 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_CERTSenvironment 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/passphrasecombinations. (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.
