The Nodesource Blog

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</i> 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.