Node v5.4.0 (Current)

Jeremiah Senkpiel

Notable changes

  • http:
    • A new status code was added: 451 - "Unavailable For Legal Reasons" (Max Barinov) #4377.
    • Idle sockets that have been kept alive now handle errors (José F. Romaniello) #4482.
  • This release also includes several minor performance improvements:
    • assert: deepEqual is now speedier when comparing TypedArrays (Claudio Rodriguez) #4330.
    • lib: Use arrow functions instead of bind where possible (Minwoo Jung) node#3622.
    • node: Improved accessor perf of process.env (Trevor Norris) #3780.
    • node: Improved performance of process.hrtime() (Trevor Norris) #3780, (Evan Lucas) #4484.
    • node: Improved GetActiveHandles performance (Trevor Norris) #3780.
    • util: Use faster iteration in util.format() (Jackson Tian) #3964.

Known issues

  • Surrogate pair in REPL can freeze terminal. #690
  • Calling dns.setServers() while a DNS query is in progress can cause the process to crash on a failed assertion. #894
  • url.resolve may transfer the auth portion of the url when resolving between two full hosts, see #1435.
  • Unicode characters in filesystem paths are not handled consistently across platforms or Node.js APIs. See #2088, #3401 and #3519.

Commits

  • [d265fc821a] - assert: typed array deepequal performance fix (Claudio Rodriguez) #4330
  • [6d8053ab56] - buffer: faster case for create Buffer from new Buffer(0) (Jackson Tian) #4326
  • [8781c59878] - buffer: refactor create buffer (Jackson Tian) #4340
  • [252628294b] - child_process: guard against race condition (Rich Trott) #4418
  • [fcf632bc6a] - crypto: load PFX chain the same way as regular one (Fedor Indutny) #4165
  • [a5094a35a0] - debugger: guard against call from non-node context (Ben Noordhuis) #4328
  • [b4c51c5b76] - deps: backport 200315c from V8 upstream (Vladimir Kurchatkin) #4128
  • [334e73942e] - doc: fix heading level error in Buffer doc (Shigeki Ohtsu) #4537
  • [5be0259181] - doc: close backtick in process.title description (Dave) #4534
  • [35aec4c14d] - doc: fix numbering in stream.markdown (Richard Sun) #4538
  • [982f3227a5] - doc: improvements to dgram.markdown copy (James M Snell) #4437
  • [6cdfa38d23] - doc: improvements to errors.markdown copy (James M Snell) #4454
  • [6c7bcd5007] - doc: fix website wg mislink (jona) #4357
  • [eee50821dc] - doc: mention that http.Server inherits from net.Server (Ryan Sobol) #4455
  • [c745b4d5f8] - doc: explain ClientRequest#setTimeout time unit (Ben Ripkens) #4458
  • [40076bf7f8] - doc: fix spelling error in lib/url.js comment (Nik Nyby) #4390
  • [5a223d64e3] - doc: add anchors for _transform _flush _writev in stream.markdown (iamchenxin) #4448
  • [e8bbeecc4c] - doc: improvements to debugger.markdown copy (James M Snell) #4436
  • [ccd75fe3fb] - doc: improvements to events.markdown copy (James M Snell) #4468
  • [ed15962777] - doc: improvements to dns.markdown copy (James M Snell) #4449
  • [e177cc9fdf] - doc: improvements to console.markdown copy (James M Snell) #4428
  • [c1bc9a1023] - doc: improve child_process.markdown copy (James M Snell) #4383
  • [150f62847c] - doc: copyedit setTimeout() documentation (Rich Trott) #4434
  • [9e667354be] - doc: fix formatting in process.markdown (Rich Trott) #4433
  • [bc1c0dc3fb] - doc: catch the WORKING_GROUPS.md bootstrap docs up to date (James M Snell) #4367
  • [c835ba3601] - doc: improve assert.markdown copy (James M Snell) #4360
  • [e79eda74c0] - doc: copyedit releases.md (Rich Trott) #4384
  • [6450d8667f] - doc: improve grammar in tls docs (Adri Van Houdt) #4315
  • [474a0f081a] - doc: improvements to buffer.markdown copy (James M Snell) #4370
  • [57684d650e] - doc: improve addons.markdown copy (James M Snell) #4320
  • [04dd861221] - doc: fix, modernize examples in docs (James M Snell) #4282
  • [5ce6e99474] - doc: Typo in buffer.markdown referencing buf.write() (chrisjohn404) #4324
  • [699bf2c464] - doc: fix link in addons.markdown (Nicholas Young) #4331
  • [e742422757] - fs: use pushValueToArray for readdir(Sync) (Trevor Norris) #3780
  • [1dd2d015d2] - (SEMVER-MINOR) http: handle errors on idle sockets (José F. Romaniello) #4482
  • [083ae166bb] - http: use self.keepAlive instead of self.options.keepAlive (Damian Schenkelman) #4407
  • [ffb4a6e0e4] - http: fix non-string header value concatenation (Brian White) #4460
  • [c77fd6829a] - (SEMVER-MINOR) http: 451 status code "Unavailable For Legal Reasons" (Max Barinov) #4377
  • [8f7af9a489] - http: remove excess calls to removeSocket (Dave) #4172
  • [b841967103] - http: Remove an unnecessary assignment (Bo Borgerson) #4323
  • [b8366e76dd] - http_parser: use pushValueToArray for headers (Trevor Norris) #3780
  • [ca97e7276e] - https: use servername in agent key (Fedor Indutny) #4389
  • [b5aaccc6af] - lib: remove unused modules (Rich Trott) #4396
  • [921fb540c1] - node: improve performance of process.hrtime() (Evan Lucas) #4484
  • [ecef817a28] - node: improve accessor perf of process.env (Trevor Norris) #3780
  • [89f056bdf3] - node: improve performance of hrtime() (Trevor Norris) #3780
  • [c8fc217dc7] - node: improve GetActiveHandles performance (Trevor Norris) #3780
  • [8464667071] - node: fix erroneously named function call (Trevor Norris) #3780
  • [e57fd51a5e] - os: fix crash in GetInterfaceAddresses (Martin Bark) #4272
  • [65c40d753f] - repl: remove unused function (Rich Trott)
  • [3d41a44dba] - repl: Fixed node repl history edge case. (Mudit Ameta) #4108
  • [d11930d604] - repl: use String#repeat instead of Array#join (Evan Lucas) #3900
  • [4220d25626] - test: fix linting for the v5.x branch (Jeremiah Senkpiel) #4547
  • [4b14f1c983] - test: remove unused vars (Rich Trott) #4536
  • [2a69ab32ec] - test: add test-domain-exit-dispose-again back (Julien Gilli) #4256
  • [ae0246641c] - test: remove unused vars from parallel tests (Rich Trott) #4511
  • [984db93e7c] - test: fix flaky test-cluster-shared-leak (Rich Trott) #4510
  • [30b0d7583a] - test: fix flaky streams test (Rich Trott) #4516
  • [46fefbc1b5] - test: fix flaky test-http-agent-keepalive (Rich Trott) #4524
  • [e04a8401d9] - test: remove flaky designations for tests (Rich Trott) #4519
  • [a703b1bf73] - test: remove time check (Rich Trott) #4494
  • [02b3a5be52] - test: refactor test-fs-empty-readStream (Rich Trott) #4490
  • [ab3e5c1417] - test: write to tmp dir rather than fixture dir (Rich Trott) #4489
  • [06043fdfa3] - test: remove unused modules (Rich Trott) #4475
  • [f1a66bc249] - test: clarify role of domains in test (Rich Trott) #4474
  • [08a3490dd6] - test: inherit JOBS from environment (Johan Bergström) #4495
  • [3bfc18763a] - test: improve assert message (Rich Trott) #4461
  • [d46d850461] - test: shorten path for bogus socket (Rich Trott) #4478
  • [f68f86cd0a] - test: fix race condition in test-http-client-onerror (Devin Nakamura) #4346
  • [ec0b6362cf] - test: remove unused assert module imports (Rich Trott) #4438
  • [ba2445046c] - test: don't use cwd for relative path (Johan Bergström) #4477
  • [5110e4deed] - test: don't assume a certain folder structure (Johan Bergström) #3325
  • [55c6946400] - test: make temp path customizable (Johan Bergström) #3325
  • [b19d19efaa] - test: extend timeout in Debug mode (Rich Trott) #4431
  • [c6a99ddd37] - test: remove unused variables from net tests (Rich Trott) #4430
  • [54004f0e26] - test: remove unused vars in ChildProcess tests (Rich Trott) #4425
  • [e72112f90e] - test: fix flaky cluster-disconnect-race (Brian White) #4457
  • [715afc9bbd] - test: fix flaky cluster-net-send (Brian White) #4444
  • [03c4bc704f] - test: fix flaky child-process-fork-regr-gh-2847 (Brian White) #4442
  • [684eb32072] - test: remove unused variables from HTTPS tests (Rich Trott) #4426
  • [585c01f674] - test: remove unused variables from TLS tests (Rich Trott) #4424
  • [c36ca37e2a] - test: remove unused variables form http tests (Rich Trott) #4422
  • [c639d0f1fe] - test: mark test-debug-no-context is flaky (Rich Trott) #4421
  • [cd79ec268d] - test: remove unnecessary assignments (Rich Trott) #4408
  • [0799a9abaf] - test: remove unused var from test-assert.js (Rich Trott) #4405
  • [3710028a85] - test: remove unused util imports (Rich Trott) #4397
  • [8c9d0c1f6f] - test: refactor test-net-connect-options-ipv6 (Rich Trott) #4395
  • [874209022f] - test: fix http-response-multiheaders (Santiago Gimeno) #3958
  • [71b79bcf54] - test: test each block in addon.md contains js & cc (Rod Vagg) #4411
  • [00b37de243] - test: fix domain-top-level-error-handler-throw (Santiago Gimeno) #4364
  • [6d14b6520f] - test: use platformTimeout() in more places (Brian White) #4387
  • [82f74caa56] - test: fix flaky test-net-error-twice (Brian White) #4342
  • [96501e55be] - test: try other ipv6 localhost alternatives (Brian White) #4325
  • [69343d6d2e] - tls_wrap: clear errors on return (Fedor Indutny) #4515
  • [ca9812cf4d] - tools: fix warning in doc parsing (Shigeki Ohtsu) #4537
  • [386030b524] - tools: implement no-unused-vars for eslint (Rich Trott) #4536
  • [14a947fc70] - tools: run tick processor without forking (Matt Loring) #4224
  • [8039ca06eb] - util: faster arrayToHash (Jackson Tian) #3964

Windows 32-bit Installer: https://nodejs.org/dist/v5.4.0/node-v5.4.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v5.4.0/node-v5.4.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v5.4.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v5.4.0/win-x64/node.exe
Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.4.0/node-v5.4.0.pkg
Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-darwin-x64.tar.gz
Linux 32-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-linux-x86.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-linux-x64.tar.gz
SmartOS 32-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-sunos-x86.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-sunos-x64.tar.gz
ARMv6 32-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-linux-armv6l.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-linux-armv7l.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v5.4.0/node-v5.4.0-linux-arm64.tar.gz
Source Code: https://nodejs.org/dist/v5.4.0/node-v5.4.0.tar.gz
Other release files: https://nodejs.org/dist/v5.4.0/
Documentation: https://nodejs.org/docs/v5.4.0/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

efc7422f46ff2c9961ea984ced72b74f9c6c2e4e73f51ad83ff35c63835323f9  node-v5.4.0-darwin-x64.tar.gz
d30efc022f6f893aa452c55a04832e44dda208c887230bb49d12a0bbeb3d0e95  node-v5.4.0-darwin-x64.tar.xz
6f3de4df2ac30c1205ea228a1a9de6acd841255ee19229169bbb92318a75db0b  node-v5.4.0-headers.tar.gz
19efc897e1a90e5aa66be9637dfc1e9b26950acb68f1521d52f9db62d8e5fa38  node-v5.4.0-headers.tar.xz
0cb2c093e75090281423a2b3681629c663c83dac4587a12b77022afccd7aedc0  node-v5.4.0-linux-arm64.tar.gz
c29e7d39457375b9bafd078019a7efa116d1aa2536a4d2af542e070fb49ef9f9  node-v5.4.0-linux-arm64.tar.xz
108e6314f0b88ab6fdebe85885797a59dbfd7c4857f2976ce5b98c981162e01b  node-v5.4.0-linux-armv6l.tar.gz
30c3c3d00e117cfe8afc3f19ae67ca00d129b14c085d6b6fd1c27175b350be53  node-v5.4.0-linux-armv6l.tar.xz
e69b3f90b56f027dd0435b8b7a2f4ffa7ed3d8185e2162a08d6d2cf097370a97  node-v5.4.0-linux-armv7l.tar.gz
1307e47e10d230cfbaf0eadb8bcfcf24bccca90108f2b3f91d2944d6739528e3  node-v5.4.0-linux-armv7l.tar.xz
f037e2734f52b9de63e6d4a4e80756477b843e6f106e0be05591a16b71ec2bd0  node-v5.4.0-linux-x64.tar.gz
ca1d6567716b47441c4f38ed344b00ba9fc48f83b333edfa5bc6b54d9253279f  node-v5.4.0-linux-x64.tar.xz
8c3d8afb79d9ba5f381ed549521ca8183975dfad2d50290686657b8ce4304a4c  node-v5.4.0-linux-x86.tar.gz
5e06288b4a816d0d32686d40734745cf04259d54392e41bd1853d5a84bffa324  node-v5.4.0-linux-x86.tar.xz
4882333d6e4dad5e39599f918aa7e60f5125ce14f2c6f4ba32a58d08bb1781fe  node-v5.4.0.pkg
97a90d9ee302949b5b8f0e1d64933cc1d64725b09d2eb034bb24deb4c336a511  node-v5.4.0-sunos-x64.tar.gz
9748663f02aedcbebd0e0dcfbe34c37ac9dc9e4330b6ad73258deb8c104be074  node-v5.4.0-sunos-x64.tar.xz
dcfe2748bcbc6bd6250be0d91b0f3a432b4e01a8d809fdd769a9b8e646e009a3  node-v5.4.0-sunos-x86.tar.gz
a664e69f12222d28cd8476faa950a2859367a9c200fdad415b59caf479498b7f  node-v5.4.0-sunos-x86.tar.xz
1dfe37a00cf0ed62beb73071f571ac56697f544a98cc2ff3318faec6363d72ab  node-v5.4.0.tar.gz
744a31979b7c48a9c605fbfa7c159fcd60732ce27061671fe03847ffe448a5a3  node-v5.4.0.tar.xz
198afe1118b310714f785e360f45928e25818cb03821bf941b1138b271676342  node-v5.4.0-x64.msi
d1d2805d2ecb7695339d4092314635ca4fa602472af98ac0685aac5ff61ece91  node-v5.4.0-x86.msi
f70cf7863ae4b69ab0cdbbc38a40cac40b13c52a4d2e91e5d4d6d2c1067553f5  win-x64/node.exe
efd4ab0aa6888abc697319444772d182eda025c54b0bf730e7f38b71ba43ddf6  win-x64/node.lib
3da18aeb3578bc5a683d2f1d853180c591d02fbbb2d6a43246dbf67003eb0307  win-x86/node.exe
9f836eba3f5d231f981173ee0a3fc5fdafee97298e031669a3ff94e886279a1b  win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJWjZeGAAoJEEX17r2BPa6Oi4oQAIe0+WIY0g+C5zIDfKxVz1jW
5BZVT/eQKDbZG94p+ONIJElmeexRsNKm0389DD/lXmG7ilJLAUGQgeYLgyyRfpF9
iQRKdUVJICuuHNzUQH2lkDdILbYESBM9MPCVQXUALO7ZP4/D0zZeHIwD3Au5QRJU
hsxeMLeooP21PBuAR/t1Xxm3OrXMd7bRDinUCXmYcAHZ4SNLkxbI86oQPOTsyPLz
dI8cOW/50REvyocGK0tqVRlsx46ZAYDBTZpUBOAdew1dmpDfsJfawZCBPke+FBY2
PSJymxKK2GaZMu92s9wdyKtFk6wf17ySGm5w3DvoqLG3VjK7GgPdsEW1y5rm5xp3
uR68sS/us63Om1VHYo/GtD7u1bnoXvugvILqazZA4b0iVstFzG0Wpde7OuB6v+MB
wTKLrY8Y9MU5xf3uUk00KkaUvsAielpgDEJzkjYTEff+zNnwcV+CRwW8RKaGwQBu
GBuO9SGLwTW1a/oLWvzMH7D21dnzNG327GSHUH4tzKVuefloHovWxcXUYk1SjFlv
nXIFUx9uaiE2m4qMA+RBZqm7B6USwHi74219ABAZEyf4MTWpASNZPZZxJjtucfvC
Z3drrsZ7gJerovpvBu0HdqQxAHOxBJFc7eJK6PjoFaMKveR5/LXZ08bo1Wgyqtv9
BJeCTm2GksNuW04aimOZ
=/3YZ
-----END PGP SIGNATURE-----

Last Updated
Jan 06, 2016
Reading Time
7 min read
Contribute
Edit this page
Table of Contents
  1. Notable changes
  2. Known issues
  3. Commits