The Nodesource Blog

#shoptalk Subscribe

Node.js v4.5.0 Release Brief

Node.js

This LTS release is the result of a build-up of regular maintenance commits, as well as a select few additive features deemed important enough to bring into LTS.

There is a semver-minor version number increment (the y in _x.y.z_) due to the additions in this release. While these semver-minor increments are possible under the LTS plan, the project is attempting to keep them to a minimum, batching multiple changes where possible, such as in this release. _Note that there will be no future v4.4.x releases, all future releases numbers will be above v4.5.0._

This release contains new Buffer constructor APIs previously only available in v6 , as well as the --zero-fill-buffers command line flag , proper handling of tabs when copied into the REPL , Intel Vtune profiling support , improved support for embedders , and better post-mortem data.

As with all releases, minor and patch version upgrades (the y and z in _x.y.z_) should be drop-in replacements for previous versions.

Overview

Of a total of 260 commits:

9 commits were tagged as semver-minor, adding new functionality and justifying the jump to v4.5.0:

  • [709048134c] - (SEMVER-MINOR) buffer: backport new buffer constructor APIs to v4.x (Сковорода Никита Андреевич) #7562
  • [200429e9e1] - (SEMVER-MINOR) buffer: ignore negative allocation lengths (Anna Henningsen) #7562
  • [fb03e57de2] - (SEMVER-MINOR) buffer: backport --zero-fill-buffers cli option (James M Snell) #5745
  • [834ea2c5c0] - (SEMVER-MINOR) build,src: add Intel Vtune profiling support (Chunyang Dai) #5527
  • [9809992436] - (SEMVER-MINOR) deps: backport 9c927d0f01 from V8 upstream (Myles Borins) #7451
  • [da9595fc47] - (SEMVER-MINOR) deps: cherry-pick 68e89fb from v8's upstream (Fedor Indutny) #3779
  • [a3fa5db5ca] - (SEMVER-MINOR) repl: copying tabs shouldn't trigger completion (Eugene Obrezkov) #5958
  • [b21d145c2a] - (SEMVER-MINOR) src: add node::FreeEnvironment public API (Cheng Zhao) #3098
  • [9606f768ea] - (SEMVER-MINOR) test: run V8 tests from node tree (Bryon Leung) #4704

The remaining significant commits are as follows:

  • [a4888926a2] - assert: remove unneeded arguments special handling (Rich Trott) #7413
  • [39e24742f8] - assert: allow circular references (Rich Trott) #6432
  • [271927f29e] - async_wrap: pass uid to JS as double (Trevor Norris) #7096
  • [747f107188] - async_wrap: don't abort on callback exception (Trevor Norris) #5756
  • [c06e2b07b6] - async_wrap: notify post if intercepted exception (Trevor Norris) #5756
  • [0642a146b3] - async_wrap: setupHooks now accepts object (Trevor Norris) #5756
  • [75ecf8eb07] - async_wrap: add parent uid to init hook (Andreas Madsen) #4600
  • [e10eebffa5] - async_wrap: make uid the first argument in init (Andreas Madsen) #4600
  • [13d465bcf6] - async_wrap: add uid to all asyncWrap hooks (Andreas Madsen) #4600
  • [046d651118] - benchmark: fix child-process-exec-stdout on Windows (Bartosz Sosnowski) #7178
  • [4b464ce4bf] - benchmark: remove unused variables (Rich Trott) #7600
  • [b95e5d7948] - benchmark: add benchmark for url.format() (Rich Trott) #7250
  • [1bd62c7c34] - benchmark: add benchmark for Buffer.concat() (Anna Henningsen) #7054
  • [08cd81b050] - benchmark: add util.format() benchmark (Evan Lucas) #5360
  • [7dbb0d0084] - buffer: fix dataview-set benchmark (Ingvar Stepanyan) #6922
  • [236491e698] - build: update build-addons when node-gyp changes (Lance Ball) #6787
  • [8a7c5fdbd2] - build: add REPLACEME tag for version info in docs (Ben Noordhuis) #6864
  • [da1e13fde7] - build: add Make doc-only target (Jesse McCarthy) #3888
  • [0db3aa9afa] - build: remove unused files from CPPLINT_FILES (Ben Noordhuis) #7462
  • [5290c9d38c] - build: use BUILDTYPE when building V8 in Makefile (Michaël Zasso) #7482
  • [79bd39c202] - build: add v8 requirement to test-v8* in Makefile (Michaël Zasso) #7482
  • [65b75b51a6] - build: unbreak configure with python 2.6 (Ben Noordhuis) #6874
  • [8513232c82] - build: split CI rules in Makefile (João Reis) #7317
  • [13d0e463b0] - build: enable compilation for linuxOne (Michael Dawson) #5941
  • [ea20796e9d] - build,test: fix build-addons dependency chain (Ben Noordhuis) #6652
  • [6a08535dd1] - child_process: preserve argument type (Rich Trott) #7391
  • [fd05b0b289] - Revert "child_process: measure buffer length in bytes" (Rich Trott) #7391
  • [8eb18e4289] - child_process: measure buffer length in bytes (Rich Trott) #6764
  • [4ee863d956] - child_process: allow buffer encoding in spawnSync() (cjihrig) #6939
  • [0b8124f205] - child_process: emit IPC messages on next tick (cjihrig) #6909
  • [20d3378969] - cluster: reset handle index on close (Santiago Gimeno) #6981
  • [09349a8b92] - cluster: don't send messages if no IPC channel (Santiago Gimeno) #7132
  • [6ece2a0322] - cluster: rewrite debug ports consistently (cjihrig) #7050
  • [8cba3b2f72] - cluster: guard against undefined message handlers (cjihrig) #6902
  • [f152adf5b7] - cluster: close ownerless handles on disconnect() (cjihrig) #6909
  • [65624440bf] - crypto: allow GCM ciphers to have longer IV length (Michael Wain) #6376
  • [1e0cede3a6] - crypto: update root certificates (Ben Noordhuis) #7363
  • [3be5cdcd43] - debugger: remove obsolete setTimeout() (Rich Trott) #7154
  • [74a5e911c0] - debugger: propagate --debug-port= to debuggee (Ben Noordhuis) #3470
  • [9d13337183] - http: wait for both prefinish/end to keepalive (Fedor Indutny) #7149
  • [ece428ea63] - http: fix no dumping after maybeReadMore (Fedor Indutny) #7211
  • [07fd52e5aa] - http: skip body and next message of CONNECT res (Fedor Indutny) #6279
  • [6f312b3a91] - http_parser: use MakeCallback (Trevor Norris) #5419
  • [373ffc5bad] - installer: don't install node_internals.h (Ben Noordhuis) #6913
  • [5782ec2427] - module: don't cache uninitialized builtins (Anna Henningsen) #6907
  • [c8e9adb135] - repl: fix tab completion for defined commands (Prince J Wesley) #7364
  • [d86332799c] - src: clean up string_search (Brian White) #7174
  • [3eea55167d] - src: fix memory leak in WriteBuffers() error path (Ben Noordhuis) #7374
  • [23797eb037] - src: remove obsolete NOLINT comments (Ben Noordhuis) #7462
  • [5aff60e832] - src: lint v8abbr.h (Ben Noordhuis) #7462
  • [42e7c9d266] - src: lint node_lttng_tp.h (Ben Noordhuis) #7462
  • [27c2d25be6] - src: lint node_win32_perfctr_provider.cc (Ben Noordhuis) #7462
  • [4f4d3e77ef] - src: fix whitespace/indent cpplint warnings (Ben Noordhuis) #7462
  • [066064d65f] - src: fix whitespace/blank_line cpplint warnings (Ben Noordhuis) #7462
  • [44cbe0356d] - src: fix runtime/references cpplint warnings (Ben Noordhuis) #7462
  • [f530a36c65] - src: fix runtime/int cpplint warnings (Ben Noordhuis) #7462
  • [d6595adcdb] - src: fix runtime/indentation_namespace warnings (Ben Noordhuis) #7462
  • [68db091aba] - src: fix readability/nolint cpplint warnings (Ben Noordhuis) #7462
  • [4748bed736] - src: fix readability/namespace cpplint warnings (Ben Noordhuis) #7462
  • [785211702a] - src: fix readability/inheritance cpplint warnings (Ben Noordhuis) #7462
  • [c90ae7fb72] - src: fix readability/constructors cpplint warnings (Ben Noordhuis) #7462
  • [16f2497994] - src: fix readability/braces cpplint warnings (Ben Noordhuis) #7462
  • [c8f78a2682] - src: fix build/header_guard cpplint warnings (Ben Noordhuis) #7462
  • [ccc701e1d5] - src: fix build/c++tr1 cpplint warnings (Ben Noordhuis) #7462
  • [dda81b44b0] - src: unify implementations of Utf8Value, etc. (Anna Henningsen) #6357
  • [db2b23f06f] - src: fix sporadic deadlock in SIGUSR1 handler (Ben Noordhuis) #5904
  • [53a67ed6d7] - src: fix bad logic in uid/gid checks (Ben Noordhuis) #7374
  • [e6a27a70d8] - src: fix use-after-return in zlib bindings (Ben Noordhuis) #7374
  • [61de6e9b47] - src: remove deprecated HMAC_Init, use HMAC_Init_ex (Ben Noordhuis) #7374
  • [7305e7b9d2] - src: remove duplicate HMAC_Init calls (Ben Noordhuis) #7374
  • [38baf6a0b7] - src: remove unused md_ data members (Ben Noordhuis) #7374
  • [e103044b68] - src: remove unused data member write_queue_size_ (Ben Noordhuis) #7374
  • [67937bca0a] - src: guard against starting fs watcher twice (Ben Noordhuis) #7374
  • [c03bd57ac6] - src: check uv_async_init() return value (Ben Noordhuis) #7374
  • [2b0dce5a5b] - src: don't use locale-sensitive strcasecmp() (Ben Noordhuis) #6582
  • [9c31c738fc] - src: remove unused #include statement (Ben Noordhuis) #6582
  • [426aa0a5e8] - src: fix Windows segfault with --eval (Bryce Simonds) #6938
  • [b9136c0c03] - src: add process.binding('config') (James M Snell) #6266
  • [c3d87eee49] - src: reword command and add ternary (Trevor Norris) #5756
  • [68f391bf3b] - src: remove unnecessary check (Brian White) #5233
  • [981bbcd925] - src: remove TryCatch in MakeCallback (Trevor Norris) #4507
  • [48b7b71352] - src: remove unused TickInfo::in_tick() (Trevor Norris) #4507
  • [d77b28c6b3] - src: remove unused of TickInfo::last_threw() (Trevor Norris) #4507
  • [cb291d5c7f] - src: add AsyncCallbackScope (Trevor Norris) #4507
  • [2eb097f212] - src: fix MakeCallback error handling (Trevor Norris) #4507
  • [63356df39c] - src,http: fix uncaughtException miss in http (Trevor Norris) #5591
  • [ee7040568d] - src,http_parser: remove KickNextTick call (Trevor Norris) #5756
  • [8404e34665] - Revert "test: mark test-vm-timeout flaky on windows" (Anna Henningsen) #7373
  • [b956635e41] - tls: catch certCbDone exceptions (Fedor Indutny) #6887
  • [06327e5eed] - tls: use process.binding('config') to detect fips mode (James M Snell) #7551
  • [c807287e80] - tls,https: respect address family when connecting (Ben Noordhuis) #6654
  • [b07c3a6ea6] - tty: use blocking mode on OS X (Jeremiah Senkpiel) #6895
  • [a1719a94e9] - udp: use libuv API to get file descriptor (Saúl Ibarra Corretgé) #6908
  • [7779639a11] - unix,stream: fix getting the correct fd for a handle (Saúl Ibarra Corretgé) #6753
  • [d0bf09d3ad] - util: improve format() performance further (Brian White) #5360
  • [72fb281961] - util: improve util.format() performance (Evan Lucas) #5360
  • [855759757a] - vm: don't print out arrow message for custom error (Anna Henningsen) #7398
  • [b9dfdfe1d3] - vm: don't abort process when stack space runs out (Anna Henningsen) #6907
  • [0bfedd13a9] - win,build: add creation of zip and 7z package (Bartosz Sosnowski) #5995
  • [7d66752f1f] - zlib: release callback and buffer after processing (Matt Lavin) #6955

Notable Changes

Semver Minor:
  • buffer:
    • Backported new Buffer constructor APIs from v6. (Сковорода Никита Андреевич) #7562
    • Backported the --zero-fill-buffers CLI option from v6. (James M Snell) #5745
  • build: Added Intel Vtune profiling support. (Chunyang Dai) #5527
  • repl: Pasting in code with tabs now works as expected and no longer triggers auto-completion. (Eugene Obrezkov) #5958
  • src: Added a node::FreeEnvironment public C++ API. (Cheng Zhao) #3098
  • V8: Added post-mortem data to improve object inspection and function's context variables inspection. (Fedor Indutny) #3779
Semver Patch:
  • buffer: Allocation now properly ignores negative lengths. (Anna Henningsen) #7562
  • crypto: Updated root certificates. (Ben Noordhuis) #7363
  • libuv: Upgraded to v1.9.1 (Saúl Ibarra Corretgé) #6796 & #5994
  • npm: Upgraded to v2.15.9 (Kat Marchán) #7692

Git Diffstats

(Showing the delta between v4.4.7 and v4.5.0, ignoring deps/npm.)

Without deps, tools, docs, benchmarks, or tests:

 .eslintrc                          |   1 +
 Makefile                           | 137 ++++++++--
 common.gypi                        |   8 +
 configure                          |  43 ++-
 lib/_debugger.js                   |  12 +-
 lib/_http_agent.js                 |   5 +
 lib/_http_client.js                |  29 +-
 lib/_http_common.js                |   7 +-
 lib/_http_incoming.js              |   9 +
 lib/_http_server.js                | 122 ++++-----
 lib/_tls_wrap.js                   |   9 +-
 lib/assert.js                      |  27 +-
 lib/buffer.js                      |  72 ++++-
 lib/child_process.js               |  26 +-
 lib/cluster.js                     |  45 ++--
 lib/internal/child_process.js      |   4 +-
 lib/readline.js                    |  15 +-
 lib/repl.js                        |   4 +-
 lib/tty.js                         |   7 +
 lib/util.js                        | 110 +++++---
 lib/zlib.js                        |  10 +
 node.gyp                           |   9 +
 src/async-wrap-inl.h               |  26 +-
 src/async-wrap.cc                  | 127 +++++----
 src/async-wrap.h                   |   1 +
 src/atomic-polyfill.h              |  18 --
 src/cares_wrap.cc                  |   6 +-
 src/env-inl.h                      |  32 ++-
 src/env.cc                         |  35 +--
 src/env.h                          |  22 +-
 src/fs_event_wrap.cc               |   3 +-
 src/handle_wrap.h                  |   2 +-
 src/node.cc                        | 311 +++++++++++++++-------
 src/node.h                         |   1 +
 src/node.js                        |  20 +-
 src/node_buffer.cc                 |  11 +-
 src/node_buffer.h                  |   3 +
 src/node_config.cc                 |  39 +++
 src/node_contextify.cc             |  20 +-
 src/node_crypto.cc                 |  98 +++----
 src/node_crypto.h                  |   7 -
 src/node_crypto_bio.cc             |   5 +-
 src/node_crypto_bio.h              |   3 +-
 src/node_file.cc                   |  30 +--
 src/node_http_parser.cc            |  41 +--
 src/node_internals.h               | 155 +++++------
 src/node_lttng_tp.h                |  64 ++---
 src/node_main.cc                   |   3 +-
 src/node_root_certs.h              | 501 +++++++++++++----------------------
 src/node_stat_watcher.h            |   2 +-
 src/node_version.h                 |   6 +-
 src/node_win32_etw_provider.cc     |   9 +-
 src/node_win32_perfctr_provider.cc |  30 ++-
 src/node_zlib.cc                   |   4 +-
 src/process_wrap.cc                |  14 +-
 src/spawn_sync.cc                  |  38 +--
 src/spawn_sync.h                   |   4 +-
 src/stream_base.h                  |   2 +-
 src/stream_wrap.cc                 |   2 +-
 src/string_bytes.cc                | 108 ++++----
 src/string_bytes.h                 |  44 ++-
 src/string_search.cc               |   5 +-
 src/string_search.h                |  12 +-
 src/tls_wrap.cc                    |   2 +-
 src/tls_wrap.h                     |   3 +-
 src/udp_wrap.cc                    |   6 +-
 src/util-inl.h                     |  12 +
 src/util.cc                        |  72 ++++-
 src/util.h                         | 136 ++++++++--
 src/v8abbr.h                       |   3 +-
 vcbuild.bat                        |  66 ++++-
 71 files changed, 1697 insertions(+), 1178 deletions(-)

Tools only:

 tools/certdata.txt       | 4938 +++++++++++-------------------------------
 tools/cpplint.py         | 5058 +++++++++++++++++++++++++++++++++++---------
 tools/icu/iculslocs.cc   |   52 +-
 tools/install.py         |    1 -
 tools/license-builder.sh |   12 +-
 tools/make-v8.sh         |   38 +
 tools/test.py            |   74 +-
 tools/utils.py           |    2 +
 8 files changed, 5435 insertions(+), 4740 deletions(-)

Deps only:

   0.0% deps/http_parser/contrib/
   5.4% deps/http_parser/
   2.2% deps/openssl/config/archs/linux32-s390x/
   2.2% deps/openssl/config/archs/linux64-s390x/
   0.1% deps/openssl/config/
   1.5% deps/uv/docs/src/
   0.9% deps/uv/include/
  10.7% deps/uv/src/unix/
   9.4% deps/uv/src/win/
   0.3% deps/uv/src/
   6.5% deps/uv/test/
   3.9% deps/uv/
   0.0% deps/v8/include/
   1.0% deps/v8/src/heap/
   0.1% deps/v8/src/
  54.1% deps/v8/test/mjsunit/tools/
   0.7% deps/v8/tools/
 105 files changed, 6284 insertions(+), 1075 deletions(-)

Docs only:

 BUILDING.md                     |   20 +-
 CHANGELOG.md                    |  295 ++++++
 CODE_OF_CONDUCT.md              |    2 +-
 CONTRIBUTING.md                 |   16 +-
 GOVERNANCE.md                   |    2 +-
 README.md                       |   10 +-
 WORKING_GROUPS.md               |    4 +-
 doc/api/_toc.markdown           |   49 -
 doc/api/_toc.md                 |   49 +
 doc/api/addons.markdown         | 1091 ----------------------
 doc/api/addons.md               | 1107 +++++++++++++++++++++++
 doc/api/all.markdown            |   39 -
 doc/api/all.md                  |   39 +
 doc/api/assert.markdown         |  429 ---------
 doc/api/assert.md               |  471 ++++++++++
 doc/api/buffer.markdown         | 1382 ----------------------------
 doc/api/buffer.md               | 1789 +++++++++++++++++++++++++++++++++++++
 doc/api/child_process.markdown  | 1032 ---------------------
 doc/api/child_process.md        | 1102 +++++++++++++++++++++++
 doc/api/cli.markdown            |  165 ----
 doc/api/cli.md                  |  231 +++++
 doc/api/cluster.markdown        |  694 --------------
 doc/api/cluster.md              |  692 ++++++++++++++
 doc/api/console.markdown        |  268 ------
 doc/api/console.md              |  299 +++++++
 doc/api/crypto.markdown         | 1407 -----------------------------
 doc/api/crypto.md               | 1407 +++++++++++++++++++++++++++++
 doc/api/debugger.markdown       |  182 ----
 doc/api/debugger.md             |  179 ++++
 doc/api/dgram.markdown          |  406 ---------
 doc/api/dgram.md                |  407 +++++++++
 doc/api/dns.markdown            |  357 --------
 doc/api/dns.md                  |  433 +++++++++
 doc/api/documentation.markdown  |   91 --
 doc/api/documentation.md        |   91 ++
 doc/api/domain.markdown         |  454 ----------
 doc/api/domain.md               |  454 ++++++++++
 doc/api/errors.markdown         |  539 -----------
 doc/api/errors.md               |  539 +++++++++++
 doc/api/events.markdown         |  443 ---------
 doc/api/events.md               |  443 +++++++++
 doc/api/fs.markdown             | 1024 ---------------------
 doc/api/fs.md                   | 1298 +++++++++++++++++++++++++++
 doc/api/globals.markdown        |  216 -----
 doc/api/globals.md              |  216 +++++
 doc/api/http.markdown           | 1207 -------------------------
 doc/api/http.md                 | 1464 ++++++++++++++++++++++++++++++
 doc/api/https.markdown          |  246 -----
 doc/api/https.md                |  273 ++++++
 doc/api/index.markdown          |    1 -
 doc/api/index.md                |    1 +
 doc/api/modules.markdown        |  588 ------------
 doc/api/modules.md              |  588 ++++++++++++
 doc/api/net.markdown            |  728 ---------------
 doc/api/net.md                  |  905 +++++++++++++++++++
 doc/api/os.markdown             |  186 ----
 doc/api/os.md                   |  231 +++++
 doc/api/path.markdown           |  308 -------
 doc/api/path.md                 |  350 ++++++++
 doc/api/process.markdown        | 1101 -----------------------
 doc/api/process.md              | 1244 ++++++++++++++++++++++++++
 doc/api/punycode.markdown       |   82 --
 doc/api/punycode.md             |  106 +++
 doc/api/querystring.markdown    |   72 --
 doc/api/querystring.md          |   84 ++
 doc/api/readline.markdown       |  362 --------
 doc/api/readline.md             |  432 +++++++++
 doc/api/repl.markdown           |  353 --------
 doc/api/repl.md                 |  368 ++++++++
 doc/api/stream.markdown         | 1761 ------------------------------------
 doc/api/stream.md               | 1771 ++++++++++++++++++++++++++++++++++++
 doc/api/string_decoder.markdown |   30 -
 doc/api/string_decoder.md       |   39 +
 doc/api/synopsis.markdown       |   43 -
 doc/api/synopsis.md             |   43 +
 doc/api/timers.markdown         |   85 --
 doc/api/timers.md               |  109 +++
 doc/api/tls.markdown            |  941 -------------------
 doc/api/tls.md                  | 1053 ++++++++++++++++++++++
 doc/api/tty.markdown            |   76 --
 doc/api/tty.md                  |  100 +++
 doc/api/url.markdown            |  131 ---
 doc/api/url.md                  |  140 +++
 doc/api/util.markdown           |  567 ------------
 doc/api/util.md                 |  567 ++++++++++++
 doc/api/v8.markdown             |   44 -
 doc/api/v8.md                   |   50 ++
 doc/api/vm.markdown             |  309 -------
 doc/api/vm.md                   |  372 ++++++++
 doc/api/zlib.markdown           |  417 ---------
 doc/api/zlib.md                 |  519 +++++++++++
 doc/api_assets/style.css        |   13 +
 doc/ctc-meetings/2016-05-04.md  |  192 ++++
 doc/ctc-meetings/2016-06-15.md  |  174 ++++
 doc/guides/writing_tests.md     |  186 ++++
 doc/node.1                      |    4 +
 doc/onboarding-extras.md        |   26 +-
 doc/onboarding.md               |   33 +-
 98 files changed, 22994 insertions(+), 19944 deletions(-)

Tests & Benchmarks only:

   0.1% benchmark/buffers/
   0.3% benchmark/child_process/
   0.0% benchmark/http/
   0.0% benchmark/path/
   0.1% benchmark/url/
   0.1% benchmark/util/
   0.0% benchmark/
   0.0% test/addons/async-hello-world/
   0.0% test/addons/at-exit/
   0.0% test/addons/buffer-free-callback/
   0.0% test/addons/heap-profiler/
   0.0% test/addons/hello-world-function-export/
   0.0% test/addons/hello-world/
   0.0% test/addons/load-long-path/
   1.2% test/addons/make-callback-recurse/
   0.0% test/addons/make-callback/
   0.0% test/addons/repl-domain-abort/
   0.0% test/addons/stringbytes-external-exceed-max/
   0.1% test/cctest/
   0.3% test/debugger/
   0.7% test/disabled/
   1.6% test/doctool/
   0.0% test/fixtures/clustered-server/
   1.2% test/gc/node_modules/bindings/
   2.8% test/gc/node_modules/nan/tools/
  37.8% test/gc/node_modules/nan/
   8.1% test/gc/node_modules/weak/build/
   0.4% test/gc/node_modules/weak/lib/
   2.6% test/gc/node_modules/weak/src/
   0.7% test/gc/node_modules/weak/
   0.1% test/gc/
   0.1% test/internet/
   0.1% test/known_issues/
   0.1% test/message/
  38.3% test/parallel/
   1.7% test/pseudo-tty/
   0.1% test/pummel/
   0.0% test/sequential/
   0.0% test/
 492 files changed, 14299 insertions(+), 2253 deletions(-)

Most active commit

Of the 260 commits, 7090481 was the most active:
(Excluding docs, npm, tools, and tests.)

commit 709048134c828f63577f70670f5d80c41748e3e6
Author: Сковорода Никита Андреевич <chalkerx@gmail.com>
Date:   Sun Jun 19 18:50:27 2016 +0300

    buffer: backport new buffer constructor APIs to v4.x

    This backports the new `Buffer.alloc()`, `Buffer.allocUnsafe()`,
    `Buffer.from()`, and `Buffer.allocUnsafeSlow()` APIs for v4.

    Some backported tests are disabled, but those are not related to the
    new API.

    Note that `Buffer.from(arrayBuffer[, byteOffset [, length]])` is not
    supported in v4.x, only `Buffer.from(arrayBuffer)` is.

    Refs: https://github.com/nodejs/node/pull/4682
    Refs: https://github.com/nodejs/node/pull/5833
    Refs: https://github.com/nodejs/node/pull/7475
    PR-URL: https://github.com/nodejs/node/pull/7562
    Reviewed-By: Trevor Norris <trev.norris@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com>

 doc/api/buffer.md                        |  359 +++++++
 lib/buffer.js                            |   68 +-
 test/parallel/test-buffer-alloc.js       | 1451 ++++++++++++++++++++++++++++
 test/parallel/test-buffer-safe-unsafe.js |   14 +
 test/parallel/test-buffer.js             |   11 +
 5 files changed, 1902 insertions(+), 1 deletion(-)

We will be sure to let you know when a release contains a critical update and a recommendation to upgrade. You should upgrade if you can, but this release is not critical unless you are experiencing one of the issues identified in the list above.