Node.js v4.5.0 Release Brief
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:
- 77 were documentation-only commits.
- 46 only modify tests and 21 only affect internal tooling.
- 3 dependencies were upgraded in 4 commits:
- npm @ 2.15.9 - (Kat Marchán) #7692
- libuv @ 1.9.0 - (Saúl Ibarra Corretgé) #5994
- libuv @ 1.9.1 - (Saúl Ibarra Corretgé) #6796
- http-parser @ 2.7.0 - (Fedor Indutny) #6279
- 5 commits were backported from upstream V8:
- [
1164f542db] - Fix segfault during gc. (Ali Ijaz Sheikh) #7303 - [
22c5e46as4107b5d200] - (Julien Gilli) #7584 - [
e7cc609asd9e9d9fb11] - (Ali Ijaz Sheikh) #7303 - [
9c927d0f01as9809992436] - (Myles Borins) #7451 - [
68e89fbasda9595fc47] - (Fedor Indutny) #3779
- [
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 tov4.x(Сковорода Никита Андреевич) #7562 - [
200429e9e1] - (SEMVER-MINOR) buffer: ignore negative allocation lengths (Anna Henningsen) #7562 - [
fb03e57de2] - (SEMVER-MINOR) buffer: backport--zero-fill-bufferscli 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: addnode::FreeEnvironmentpublic 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: passuidto JS asdouble(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:setupHooksnow accepts object (Trevor Norris) #5756 - [
75ecf8eb07] - async_wrap: add parentuidtoinithook (Andreas Madsen) #4600 - [
e10eebffa5] - async_wrap: makeuidthe first argument ininit(Andreas Madsen) #4600 - [
13d465bcf6] - async_wrap: adduidto allasyncWraphooks (Andreas Madsen) #4600 - [
046d651118] - benchmark: fixchild-process-exec-stdouton Windows (Bartosz Sosnowski) #7178 - [
4b464ce4bf] - benchmark: remove unused variables (Rich Trott) #7600 - [
b95e5d7948] - benchmark: add benchmark forurl.format()(Rich Trott) #7250 - [
1bd62c7c34] - benchmark: add benchmark forBuffer.concat()(Anna Henningsen) #7054 - [
08cd81b050] - benchmark: addutil.format()benchmark (Evan Lucas) #5360 - [
7dbb0d0084] - buffer: fixdataview-setbenchmark (Ingvar Stepanyan) #6922 - [
236491e698] - build: updatebuild-addonswhennode-gypchanges (Lance Ball) #6787 - [
8a7c5fdbd2] - build: addREPLACEMEtag for version info in docs (Ben Noordhuis) #6864 - [
da1e13fde7] - build: add Makedoc-onlytarget (Jesse McCarthy) #3888 - [
0db3aa9afa] - build: remove unused files fromCPPLINT_FILES(Ben Noordhuis) #7462 - [
5290c9d38c] - build: useBUILDTYPEwhen building V8 inMakefile(Michaël Zasso) #7482 - [
79bd39c202] - build: add v8 requirement totest-v8*inMakefile(Michaël Zasso) #7482 - [
65b75b51a6] - build: unbreak configure with python 2.6 (Ben Noordhuis) #6874 - [
8513232c82] - build: split CI rules inMakefile(João Reis) #7317 - [
13d0e463b0] - build: enable compilation for linuxOne (Michael Dawson) #5941 - [
ea20796e9d] - build,test: fixbuild-addonsdependency 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 inspawnSync()(cjihrig) #6939 - [
0b8124f205] - child_process: emit IPC messages on next tick (cjihrig) #6909 - [
20d3378969] - cluster: reset handle index onclose(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 ondisconnect()(cjihrig) #6909 - [
65624440bf] - crypto: allow GCM ciphers to have longerIVlength (Michael Wain) #6376 - [
1e0cede3a6] - crypto: update root certificates (Ben Noordhuis) #7363 - [
3be5cdcd43] - debugger: remove obsoletesetTimeout()(Rich Trott) #7154 - [
74a5e911c0] - debugger: propagate--debug-port=to debuggee (Ben Noordhuis) #3470 - [
9d13337183] - http: wait for bothprefinish/endtokeepalive(Fedor Indutny) #7149 - [
ece428ea63] - http: fix no dumping aftermaybeReadMore(Fedor Indutny) #7211 - [
07fd52e5aa] - http: skip body and next message ofCONNECTres (Fedor Indutny) #6279 - [
6f312b3a91] - http_parser: useMakeCallback(Trevor Norris) #5419 - [
373ffc5bad] - installer: don't installnode_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 upstring_search(Brian White) #7174 - [
3eea55167d] - src: fix memory leak inWriteBuffers()error path (Ben Noordhuis) #7374 - [
23797eb037] - src: remove obsoleteNOLINTcomments (Ben Noordhuis) #7462 - [
5aff60e832] - src: lintv8abbr.h(Ben Noordhuis) #7462 - [
42e7c9d266] - src: lintnode_lttng_tp.h(Ben Noordhuis) #7462 - [
27c2d25be6] - src: lintnode_win32_perfctr_provider.cc(Ben Noordhuis) #7462 - [
4f4d3e77ef] - src: fixwhitespace/indentcpplint warnings (Ben Noordhuis) #7462 - [
066064d65f] - src: fixwhitespace/blank_linecpplint warnings (Ben Noordhuis) #7462 - [
44cbe0356d] - src: fixruntime/referencescpplint warnings (Ben Noordhuis) #7462 - [
f530a36c65] - src: fixruntime/intcpplint warnings (Ben Noordhuis) #7462 - [
d6595adcdb] - src: fixruntime/indentation_namespacewarnings (Ben Noordhuis) #7462 - [
68db091aba] - src: fixreadability/nolintcpplint warnings (Ben Noordhuis) #7462 - [
4748bed736] - src: fixreadability/namespacecpplint warnings (Ben Noordhuis) #7462 - [
785211702a] - src: fixreadability/inheritancecpplint warnings (Ben Noordhuis) #7462 - [
c90ae7fb72] - src: fixreadability/constructorscpplint warnings (Ben Noordhuis) #7462 - [
16f2497994] - src: fixreadability/bracescpplint warnings (Ben Noordhuis) #7462 - [
c8f78a2682] - src: fixbuild/header_guardcpplint warnings (Ben Noordhuis) #7462 - [
ccc701e1d5] - src: fixbuild/c++tr1cpplint warnings (Ben Noordhuis) #7462 - [
dda81b44b0] - src: unify implementations ofUtf8Value, etc. (Anna Henningsen) #6357 - [
db2b23f06f] - src: fix sporadic deadlock inSIGUSR1handler (Ben Noordhuis) #5904 - [
53a67ed6d7] - src: fix bad logic inuid/gidchecks (Ben Noordhuis) #7374 - [
e6a27a70d8] - src: fix use-after-return inzlibbindings (Ben Noordhuis) #7374 - [
61de6e9b47] - src: remove deprecatedHMAC_Init, useHMAC_Init_ex(Ben Noordhuis) #7374 - [
7305e7b9d2] - src: remove duplicateHMAC_Initcalls (Ben Noordhuis) #7374 - [
38baf6a0b7] - src: remove unusedmd_data members (Ben Noordhuis) #7374 - [
e103044b68] - src: remove unused data memberwrite_queue_size_(Ben Noordhuis) #7374 - [
67937bca0a] - src: guard against starting fs watcher twice (Ben Noordhuis) #7374 - [
c03bd57ac6] - src: checkuv_async_init()return value (Ben Noordhuis) #7374 - [
2b0dce5a5b] - src: don't use locale-sensitivestrcasecmp()(Ben Noordhuis) #6582 - [
9c31c738fc] - src: remove unused#includestatement (Ben Noordhuis) #6582 - [
426aa0a5e8] - src: fix Windows segfault with--eval(Bryce Simonds) #6938 - [
b9136c0c03] - src: addprocess.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: removeTryCatchinMakeCallback(Trevor Norris) #4507 - [
48b7b71352] - src: remove unusedTickInfo::in_tick()(Trevor Norris) #4507 - [
d77b28c6b3] - src: remove unused ofTickInfo::last_threw()(Trevor Norris) #4507 - [
cb291d5c7f] - src: addAsyncCallbackScope(Trevor Norris) #4507 - [
2eb097f212] - src: fixMakeCallbackerror handling (Trevor Norris) #4507 - [
63356df39c] - src,http: fix uncaughtException miss in http (Trevor Norris) #5591 - [
ee7040568d] - src,http_parser: removeKickNextTickcall (Trevor Norris) #5756 - [
8404e34665] - Revert "test: marktest-vm-timeoutflaky on windows" (Anna Henningsen) #7373 - [
b956635e41] - tls: catchcertCbDoneexceptions (Fedor Indutny) #6887 - [
06327e5eed] - tls: useprocess.binding('config')to detectfipsmode (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 correctfdfor a handle (Saúl Ibarra Corretgé) #6753 - [
d0bf09d3ad] - util: improveformat()performance further (Brian White) #5360 - [
72fb281961] - util: improveutil.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:
- 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::FreeEnvironmentpublic 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.