Skip Navigation

Node v8.4.0 (Current)

Anna Henningsen

Notable changes

  • HTTP2

    • Experimental support for the built-in http2 has been added via the --expose-http2 flag. #14239
  • Inspector

    • require() is available in the inspector console now. #8837
    • Multiple contexts, as created by the vm module, are supported now. #14465
  • N-API

    • New APIs for creating number values have been introduced. #14573
  • Stream

    • For Duplex streams, the high water mark option can now be set independently for the readable and the writable side. #14636
  • Util

    • util.format now supports the %o and %O specifiers for printing objects. #14558

Commits

  • [a6539ece2c] - assert: optimize code path for deepEqual Maps (Ruben Bridgewater) #14501
  • [2716b626b0] - async_hooks: CHECK that resource is not empty (Anna Henningsen) #14694
  • [b3c1c6ff7f] - benchmark: fix and extend assert benchmarks (Ruben Bridgewater) #14147
  • [139b08863e] - benchmark: Correct constructor for freelist (Gareth Ellis) #14627
  • [574cc379b9] - benchmark: remove unused parameters (nishijayaraj) #14640
  • [fef2aa7e27] - (SEMVER-MINOR) deps: add nghttp2 dependency (James M Snell) #14239
  • [2d806f4f71] - deps: cherry-pick f19b889 from V8 upstream (Alexey Kozyatinskiy) #14465
  • [dd521d0a28] - deps,tools: add missing nghttp2 license (Anna Henningsen) #14806
  • [621c03acfe] - doc: delint (Refael Ackermann) #14707
  • [230cb55574] - doc: fix header level typo (Refael Ackermann) #14707
  • [af85b6e058] - doc: fix http2 sample code for http2.md (Keita Akutsu) #14667
  • [1e7ddb200f] - doc: explain browser support of http/2 without SSL (Gil Tayar) #14670
  • [be716d00cc] - (SEMVER-MINOR) doc: include http2.md in all.md (James M Snell) #14239
  • [9e51802f53] - doc: add missing changes: metadata for util (Anna Henningsen) #14810
  • [4811fea553] - doc: add missing changes: metadata for streams (Anna Henningsen) #14810
  • [20fb69063a] - doc: fix docs style in util.md (Daijiro Wachi) #14711
  • [0de63e6888] - doc: fix docs style in intl.md (Daijiro Wachi) #14711
  • [ee2ae0f30b] - doc: expanded description of buffer.slice (Vishal Bisht) #14720
  • [9888bb1238] - doc: improve fs.read() doc text (Rich Trott) #14631
  • [d604173a66] - doc: clarify the position argument for fs.read (dcharbonnier) #14631
  • [d3b072276b] - doc: add docs for AssertionError (Mandeep Singh) #14261
  • [4e15a6b76a] - doc: fix order of AtExit callbacks in addons.md (Daniel Bevenius) #14048
  • [e07dfffad0] - doc: remove undef NDEBUG from addons.md (Daniel Bevenius) #14048
  • [c5ee34e39b] - encoding: rudimentary TextDecoder support w/o ICU (Timothy Gu) #14489
  • [e0001dc601] - (SEMVER-MINOR) http: move utcDate to internal/http.js (James M Snell) #14239
  • [1d40850338] - http2: fix [kInspect]() output for Http2Stream (Evan Lucas) #14753
  • [c5740f9111] - http2: name padding buffer fields (Anna Henningsen) #14744
  • [8a0d101adf] - http2: use per-environment buffers (Anna Henningsen) #14744
  • [92c37fe5fd] - http2: improve perf of passing headers to C++ (Anna Henningsen) #14723
  • [47bf705f75] - http2: rename some nghttp2 stream flags (Kelvin Jin) #14637
  • [723d1af5e7] - (SEMVER-MINOR) http2: fix flakiness in timeout (James M Snell) #14239
  • [6a30448bac] - (SEMVER-MINOR) http2: fix linting after rebase (James M Snell) #14239
  • [efd929e402] - (SEMVER-MINOR) http2: fix compilation error after V8 update (James M Snell) #14239
  • [f46c50b3e2] - (SEMVER-MINOR) http2: add some doc detail for invalid header chars (James M Snell) #14239
  • [b43caf92c0] - (SEMVER-MINOR) http2: fix documentation errors (James M Snell) #14239
  • [33b03b2ab2] - (SEMVER-MINOR) http2: minor cleanup (James M Snell) #14239
  • [174ab6fda0] - (SEMVER-MINOR) http2: use static allocated arrays (James M Snell) #14239
  • [9a4be4adc4] - (SEMVER-MINOR) http2: get trailers working with the compat api (James M Snell) #14239
  • [3e5b07a8fb] - (SEMVER-MINOR) http2: refactor trailers API (James M Snell) #14239
  • [26e1f8e01c] - (SEMVER-MINOR) http2: address initial pr feedback (James M Snell) #14239
  • [7824fa0b40] - (SEMVER-MINOR) http2: make writeHead behave like HTTP/1. (Matteo Collina) #14239
  • [b778838337] - (SEMVER-MINOR) http2: doc and fixes to the Compatibility API (Matteo Collina) #14239
  • [8f3bbd9b68] - (SEMVER-MINOR) http2: add range support for respondWith{File|FD} (James M Snell) #14239
  • [61696f1215] - (SEMVER-MINOR) http2: fix socketOnTimeout and a segfault (James M Snell) #14239
  • [2620769e7f] - (SEMVER-MINOR) http2: refinement and test for socketError (James M Snell) #14239
  • [cd0f4c6652] - (SEMVER-MINOR) http2: fix abort when client.destroy inside end event (James M Snell) #14239
  • [e8cc193bcc] - (SEMVER-MINOR) http2: fix documentation nits (James M Snell) #14239
  • [a49146e446] - (SEMVER-MINOR) http2: remove redundant return in test (James M Snell) #14239
  • [3eb61b00de] - (SEMVER-MINOR) http2: add tests and benchmarks (James M Snell) #14239
  • [9623ee0f99] - (SEMVER-MINOR) http2: introducing HTTP/2 (James M Snell) #14239
  • [029567a460] - inspector: support extra contexts (Eugene Ostroukhov) #14465
  • [d89f9f82b0] - (SEMVER-MINOR) inspector: allow require in Runtime.evaluate (Jan Krems) #8837
  • [ac1b81ad75] - lib: move deprecationWarned var (Daniel Bevenius) #14769
  • [8433b1ad37] - lib: use Timer.now() in readline module (Rich Trott) #14681
  • [917ace283f] - (SEMVER-MINOR) n-api: add napi_get_node_version (Anna Henningsen) #14696
  • [5e2cce59ef] - (SEMVER-MINOR) n-api: optimize number API performance (Jason Ginchereau) #14573
  • [c94f346b93] - net: use rest parameters instead of arguments (Tobias Nießen) #13472
  • [1c00875747] - repl: include folder extensions in autocomplete (Teddy Katz) #14727
  • [59d1d56da6] - src: remove unused http2_socket_buffer from env (Anna Henningsen) #14740
  • [268a1ff3f1] - src: mention that node options are space-separated (Gabriel Schulhof) #14709
  • [9237ef868e] - src: avoid creating local data variable (Daniel Bevenius) #14732
  • [f83827d64b] - src: use local isolate instead of args.GetIsolate (Daniel Bevenius) #14768
  • [d7d22ead2b] - src: add comments for cares library init refcount (Anna Henningsen) #14743
  • [b87fae927d] - src: remove duplicate loop (Anna Henningsen) #14750
  • [033773c17b] - src: add overlooked handle to cleanup (Anna Henningsen) #14749
  • [dd6444d401] - src,http2: DRY header/trailer handling code up (Anna Henningsen) #14688
  • [ef8ac7b5ac] - (SEMVER-MINOR) stream: support readable/writableHWM for Duplex (Guy Margalit) #14636
  • [6d9f94f93f] - test: cover all HTTP methods that parser supports (Oky Antoro) #14773
  • [e4854fccfc] - test: use regular expressions in throw assertions (Vincent Xue) #14318
  • [66788fc4d0] - test: increase http2 coverage (Michael Albert) #14701
  • [dbb9c370d4] - test: add crypto check to http2 tests (Daniel Bevenius) #14657
  • [97f622b99e] - (SEMVER-MINOR) test: fix flaky test-http2-client-unescaped-path on osx (James M Snell) #14239
  • [9d752d5282] - (SEMVER-MINOR) test: fix flakiness in test-http2-client-upload (James M Snell) #14239
  • [82c63a55ea] - test: add test-benchmark-arrays (Rich Trott) #14728
  • [0eab77c86f] - test: allow inspector to reopen with same port (Gibson Fahnestock) #14320
  • [9bbbf12827] - test: remove redundant using in cctest (XadillaX) #14739
  • [7eb9f6f6e4] - test: make totalLen snake case (Daniel Bevenius) #14765
  • [977e22857a] - test: make test-tls-connect checks more strict (Rich Trott) #14695
  • [a781bb4508] - Revert "test: disable MultipleEnvironmentsPerIsolate" (Anna Henningsen) #14749
  • [8ff2a5c338] - Revert "test: add DISABLED_ prefix to commented out test" (Anna Henningsen) #14749
  • [0bc3124c80] - test: properly order freeing resources in cctest (Anna Henningsen) #14749
  • [3f1bb0a551] - test: split out load-sensitive readline tests (Rich Trott) #14681
  • [5d99d7dff2] - test: add block scoping to test-readline-interface (Rich Trott) #14615
  • [58742729da] - test: set module loading error for aix (Prakash Palaniappan) #14511
  • [06ba2dae30] - test: fix conversion of microseconds in test (Nick Stanish) #14706
  • [30837b3b90] - test: improve check in test-os (Rich Trott) #14655
  • [55aba6aee7] - test: replace indexOf with includes (Miguel Angel Asencio Hurtado) #14630
  • [935d34bd6b] - test: fix test-readline-interface (Azard) #14677
  • [2ee3320f2c] - test: improve multiple timers tests (James M Snell) #14616
  • [71f2e76353] - test: use ciphers supported by shared OpenSSL (Jérémy Lal) #14566
  • [f73f659186] - test: mitigate RegEx exceeding 80 chars (Aditya Anand) #14607
  • [96147c980c] - test: read proper inspector message size (Bartosz Sosnowski) #14596
  • [e84c9d7176] - (SEMVER-MINOR) tls: add tlsSocket.disableRenegotiation() (James M Snell) #14239
  • [a0e05e884e] - tools: fix tools/addon-verify.js (Daniel Bevenius) #14048
  • [116841056a] - util: improve util.inspect performance (Ruben Bridgewater) #14492
  • [7203924fea] - (SEMVER-MINOR) util: implement %o and %O as formatting specifiers (Greg Alexander) #14558

Windows 32-bit Installer: https://nodejs.org/dist/v8.4.0/node-v8.4.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v8.4.0/node-v8.4.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v8.4.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v8.4.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v8.4.0/node-v8.4.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-x86.tar.xz
Linux 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-ppc64le.tar.xz
Linux PPC BE 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-ppc64.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-aix-ppc64.tar.gz
SmartOS 32-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-sunos-x86.tar.xz
SmartOS 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-sunos-x64.tar.xz
ARMv6 32-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-armv6l.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v8.4.0/node-v8.4.0.tar.gz
Other release files: https://nodejs.org/dist/v8.4.0/
Documentation: https://nodejs.org/docs/v8.4.0/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9007e961fc9a2a8badb656ebaab52077347113d7618806e7aa502a71eab3f5aa  node-v8.4.0-aix-ppc64.tar.gz
cc10ffbd11586bd27a7cc5e6e2d03fd3e0b341368387a03ee9a0117a0288599d  node-v8.4.0-darwin-x64.tar.gz
e88e41ff5566f1e79f88d116bcc0013ac423741e85bd40d91775ca8f4e5141a1  node-v8.4.0-darwin-x64.tar.xz
724d091c6610255ece8c310e7e3924f0e675d1486d63bca34e7ac0c8c8e07497  node-v8.4.0-headers.tar.gz
bd56ece5c3f66492c178f3affb9a9dc0dfbf121dd21b52c9e04071dc2e9b8b61  node-v8.4.0-headers.tar.xz
a85225930dadf0b8161f95fe7e0e81e8840a8e20623cb5a7b5c61fced10ed7f0  node-v8.4.0-linux-arm64.tar.gz
0a811bbe4905fc879f3cbfc976e5a37cca05bbd609774abe4332b29fea75f073  node-v8.4.0-linux-arm64.tar.xz
c8812b7cdce2de297d320145dab11e521a6734d0a3f42e67f86f80b1bb5984a0  node-v8.4.0-linux-armv6l.tar.gz
b11309baa172bbd6b6ffaf0338f9529adcf27fb64e53de65763936b9f1ff924e  node-v8.4.0-linux-armv6l.tar.xz
11c4e8831c967d152ed098602eaae6fcb0e30ba1f24a9e5781a71c4e7d2314ad  node-v8.4.0-linux-armv7l.tar.gz
a7e79224d98b0f419bd3af0b751f3e369b12a9fb4405b970fc31e552233ae768  node-v8.4.0-linux-armv7l.tar.xz
951a95beb22ccb18543d7ecfe3e81f7f8dfe384dd582789d080d8d56847437a0  node-v8.4.0-linux-ppc64le.tar.gz
e3fa79996878e340ce6fc39cde5704658bde4315ae1ccd11d34100a9d2637838  node-v8.4.0-linux-ppc64le.tar.xz
038c79f078bbbfa873fe89b6c81f791fb7b82960f55d096dbc0e46a3ead84371  node-v8.4.0-linux-ppc64.tar.gz
9e32ed12e2abc2a3245237929674c1b91a7e296bb7cb656c31c364e8f3df1613  node-v8.4.0-linux-ppc64.tar.xz
b6a9e13501b94319e133f6726cc75d9a4c50588ce2db4f1b2e01531694b0d7bb  node-v8.4.0-linux-s390x.tar.gz
5bb1a98dbd9376b7b605450f478de32027afa10e591d0384ba8bab6603ff12f5  node-v8.4.0-linux-s390x.tar.xz
d12bf2389a6b57341528a33de62561edd7ef25c23fbf258d48758fbe3d1d8578  node-v8.4.0-linux-x64.tar.gz
7fd86abad06f96cb2f889c2a0e25686a3de3e9a078ad946ded91ee4f28d8218a  node-v8.4.0-linux-x64.tar.xz
9880c5d4c0dc460643fdc5ac1e3092223a3d659e3528842572d75df8565c22fe  node-v8.4.0-linux-x86.tar.gz
2c5568156e69eca245886c1c583aaab6c26803bc42508aff7271bbcf51710cef  node-v8.4.0-linux-x86.tar.xz
d9565d5fa3388e2c62404a0d661a5071ba004c7a2e606dae72680b6c8d9a2c02  node-v8.4.0.pkg
995de5082fb9ea56c2ab8e2be41d93c283c92efdd2cf735616608a736e2adcb3  node-v8.4.0-sunos-x64.tar.gz
bc9acc06db8c3f683a29028426d7ffb25570a3f2519d05c16f6991b6994b95e4  node-v8.4.0-sunos-x64.tar.xz
3e5f462c579beaa0a6685812a663b7d557a1d3e75dd4314d620e7b1e609b8447  node-v8.4.0-sunos-x86.tar.gz
fd3e432564857ae02f92fb8befe5107435b3a51c0bd92ecf76b936ee066a30aa  node-v8.4.0-sunos-x86.tar.xz
641a15fa822710ef2dc99793fec48d2a8ef75de0040b86568563d4ab296137ef  node-v8.4.0.tar.gz
5d5aa2a101dcc617231a475812eb8ed87cac21491f1dcc7997b9dd463563f361  node-v8.4.0.tar.xz
09f46de9e0dcfc89a2ed9a67a33a40091125f00779198f4cc8df7876abf743f3  node-v8.4.0-win-x64.7z
0f60c99479f74d75c7239795c90698826ba8252019d4c23e82ed0d72ceb8974f  node-v8.4.0-win-x64.zip
cdf4bf3136e2d3a68186297869121a610e26028ade8d6b403f85ba0fe306a341  node-v8.4.0-win-x86.7z
17692976051182b402943f44458b9f9a433c3405deaa033c6c3b5fd7d43434a8  node-v8.4.0-win-x86.zip
8efbd1b94ff8338bd36a1c30a86aba4fae3b80b61e265401fa97e7a4c5478ab2  node-v8.4.0-x64.msi
6724defb5e3cab388d6777f7d999db979d817f51537309b67adaf06569af198f  node-v8.4.0-x86.msi
a1d79afe335d0a8cff2e72100cdadaf6f91f59fcd5a8186da1b99bead9bcd601  win-x64/node.exe
d714da87f8bb03248cbe4e9891cdfb28ec8fd7ed84fc77a1ea16e38f061fc19c  win-x64/node.lib
5d00c65a03e4ae48d3720919bd181ad5aea6f33ebc0f75c485122b84f9ca4fdb  win-x64/node_pdb.7z
49fb81d624e8e34b06897a0336b3830671c34a867c47a90686fe1006aa9248e9  win-x64/node_pdb.zip
ea9399e1f9eafaf6be6608f1401ebb84cf7444ffadabf0b80ba2c186cf7028fa  win-x86/node.exe
28b8412ede7f9ab889680cb5819896e852a466ea176b6d06bba612b39ebfb272  win-x86/node.lib
454b4baa220e4980613345ce057474f311fd6bce91cc6322cf66ac535c44d4ce  win-x86/node_pdb.7z
21cf63479cb6c781a9cbda87f7dbc5abafb815abc3bd59deb4c0755e23190659  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCAAGBQJZk1RDAAoJELY7U1pMIGypr+0P/ik3lMssno9Lz2uQY8Swj/mn
iVcg5ayF1cJnI0Mz8dWNSxnIzmaVK7KZ8o+P9lsI0g5w46J5aoFErA/ltu+pmvOT
JkcONWmWZtX3RTO5tRpTfJz8jn2/NLWSNHOug111ovIP+mSixo8T2leRFUi/ihdG
pwDCBcLvsE40keJjYzYBw/25FjuKbkFwEwpzXoAe2BlAt7zX5LnLP4Jp4IvgRb74
C4e70z7BswYQ5phrAi2SmRJ1gCRo2ceLl+sQTaAoyCn3vI5K8O15pxt/1BuatwQj
MNwty+UIHHCkRp+ia0nr4WvVkt0NwtqLgwlTstMBdnMKmiFlO/BD/8ca2wwUpmY9
L1FwpiFHReutXUtyGsbi6fyoQVd3fV8o/fk7NXK9dWZ1cF+QsIKU84P4F2pyAjLO
F6irrZLyuBfOIRwLF64ZAuS2FtOGPDJL0egFYWkWc16wf2ulct2WtE08MpmqnPD2
QgCg2aQepQEiWaOnT3pjG0ePQ4uWDlf4xJ+Kc2MMpyQnyKUxTi8hXU8rC+gx7eKc
NTmYtkJ6MroW5puHNyUXZHICij/Ssm/sMaW6kv6KnnOmMuNJBefpfFdOsO58RysF
p7Hu7X7GWksBYkpnSPRT+4F3pYSigSQBbEss+pkze+ogOoa6Kp3T5T+tV+KfD6/t
R7iVKurG6n0FECBIKJru
=Tpwj
-----END PGP SIGNATURE-----

Last Updated
Aug 15, 2017
Reading Time
7 min read
Contribute
Edit this page
Table of Contents
  1. Notable changes
  2. Commits
  3. SHASUMS