Download Node.js 4.0.0
Node.js is open source and platform independent and is focused on developing server-side web applications. Those applications are written in JavaScript and run within the Node.js runtime on the server. It offers an event-driven environment where non-blocking I/O has been an important starting point. For more information, we refer you to this page. The development team released version 4.0.0 a few days ago with the following changes:
Notable changes
This list of changes is relative to the last io.js v3.x branch release, v3.3.0. Please see the list of notable changes in the v3.x, v2.x and v1.x releases for a more complete list of changes from 0.12.x. Note, that some changes in the v3.x series as well as major breaking changes in this release constitute changes required for full convergence of the Node.js and io.js projects.
- child_process: ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms so an optional callback parameter has been introduced that will be invoked once the message has been sent, ie.send(message[, sendHandle][, callback]) (Ben Noordhuis) #2620.
- node: Rename “io.js” code to “Node.js” (cjihrig) #2367.
- node-gyp: This release bundles an updated version of node-gyp that works with all versions of Node.js and io.js including nightly and release candidate builds. From io.js v3 and Node.js v4 onward, it will only download a headers tarball when building addons rather than the entire source. (Rod Vagg) #2700
- npm: Upgrade to version 2.14.2 from 2.13.3, includes a security update, see for more details, (Kat Marchán) #2696.
- timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905
- util: The util.is*() functions have been deprecated, beginning with deprecation warnings in the documentation for this release, users are encouraged to seek more robust alternatives in the npm registry, (Sakthipriyan Vairamani) #2447.
- v8: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh) #2632.
- Implement new TypedArray prototype methods: copyWithin(), every(), fill(), filter(), find(), findIndex(), forEach(), indexOf(), join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), slice(), some(), sort(). See for further information.
- Implement new TypedArray.from() and TypedArray.of() functions. See for further information.
- Implement arrow functions, see for further information.
- Full ChangeLog available at
Known issues
See for complete and current list of known issues.
- Some uses of computed object shorthand properties are not handled correctly by the current version of V8. eg [{ [prop]: val }]evaluates to [{}]. #2507
- Some problems with unreferenced timers running during beforeExit are still to be resolved. See #1264.
- 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.
commit
- [4f50d3fb90] – (SEMVER-MAJOR) This commit sets the value of process.release.name to “node”. (cjihrig) #2367
- [d3178d8b1b] – buffer: SlowBuffer only accept valid numeric values (Michaël Zasso) #2635
- [0cb0f4a6e4] – build: fix v8_enable_handle_zapping override (Karl Skomski) #2731
- [a7596d7efc] – build: remote commands on staging in single session (Rod Vagg) #2717
- [be427e9efa] – build: make.msi install to “nodejs”, not “node” (Rod Vagg) #2701
- [5652ce0dbc] – build: fix.pkg creation tooling (Rod Vagg) #2687
- [101db80111] – build: add –enable-asan with builtin leakcheck (Karl Skomski) #2376
- [2c3939c9c0] – child_process: use stdio.fd even if it is 0 (Evan Lucas) #2727
- [609db5a1dd] – child_process: check execFile and fork args (James M Snell) #2667
- [d010568c23] – (SEMVER-MAJOR) child_process: add callback parameter to.send() (Ben Noordhuis) #2620
- [c60857a81a] – cluster: allow shared reused dgram sockets (Fedor Indutny) #2548
- [b2ecbb6191] – contextify: ignore getters during initialization (Fedor Indutny) #2091
- [3711934095] – cpplint: make it possible to run outside git repo (Ben Noordhuis) #2710
- [03f900ab25] – crypto: replace rwlocks with simple mutexes (Ben Noordhuis) #2723
- [847459c29b] – (SEMVER-MAJOR) crypto: show exponent in decimal and hex (Chad Johnston) #2320
- [e1c976184d] – deps: improve ArrayBuffer performance in v8 (Fedor Indutny) #2732
- [cc0ab17a23] – deps: float node-gyp v3.0.0 (Rod Vagg) #2700
- [b2c3c6d727] – deps: create.npmrc during npm tests (Kat Marchán) #2696
- [babdbfdbd5] – deps: upgrade to npm 2.14.2 (Kat Marchán) #2696
- [155783d876] – deps: backport 75e43a6 from v8 upstream (again) (saper) #2692
- [5424d6fcf0] – deps: upgrade V8 to 4.5.103.30 (Ali Ijaz Sheikh) #2632
- [c43172578e] – (SEMVER-MAJOR) deps: upgrade V8 to 4.5.103.24 (Ali Ijaz Sheikh) #2509
- [714e96e8b9] – deps: backport 75e43a6 from v8 upstream (saper) #2636
- [8637755cbf] – doc: add TSC meeting minutes 2015-09-02 (Rod Vagg) #2674
- [d3d5b93214] – doc: update environment vars in manpage and –help (Roman Reiss) #2690
- [29f586ac0a] – doc: update url doc to account for escaping (Jeremiah Senkpiel) #2605
- [ba50cfebef] – doc: reorder collaborators by their usernames (Johan Bergström) #2322
- [8a9a3bf798] – doc: update changelog for io.js v3.3.0 (Rod Vagg) #2653
- [6cd0e2664b] – doc: update io.js reference (Ben Noordhuis) #2580
- [f9539c19e8] – doc: update changelog for io.js v3.2.0 (Rod Vagg) #2512
- [cded6e7993] – doc: fix CHANGELOG.md on master (Roman Reiss) #2513
- [93e2830686] – (SEMVER-MINOR) doc: document deprecation of util.is* functions (Sakthipriyan Vairamani) #2447
- [7038388558] – doc,test: enable recursive file watching in Windows (Sakthipriyan Vairamani) #2649
- [f3696f64a1] – events,lib: don’t require EE#listenerCount() (Jeremiah Senkpiel) #2661
- [45a2046f5d] – (SEMVER-MAJOR) installer: fix installers for node.js rename (Frederic Hemberger) #2367
- [7a999a1376] – (SEMVER-MAJOR) lib: add net.Socket#localFamily property (Ben Noordhuis) #956
- [de88255b0f] – Revert “lib,src: add unix socket getsockname/getpeername” (Ben Noordhuis) #2584
- [f337595441] – (SEMVER-MAJOR) lib,src: add unix socket getsockname/getpeername (Ben Noordhuis) #956
- [3b602527d1] – (SEMVER-MAJOR) node: additional cleanup for node rename (cjihrig) #2367
- [a69ab27ab4] – (SEMVER-MAJOR) node: rename from io.js to node (cjihrig) #2367
- [9358eee9dd] – node-gyp: float 3.0.1, minor fix for download url (Rod Vagg) #2737
- [d2d981252b] – src: s/ia32/x86 for process.release.libUrl for win (Rod Vagg) #2699
- [eba3d3dccd] – src: use standard conforming to snprintf on windows (Karl Skomski) #2404
- [cddbec231f] – src: fix buffer overflow for long exception lines (Karl Skomski) #2404
- [dd3f3417c7] – src: re-enable fast math on arm (Michaël Zasso) #2592
- [e137c1177c] – (SEMVER-MAJOR) src: enable vector ics on arm again (Ali Ijaz Sheikh) #2509
- [7ce749d722] – src: replace usage of v8::Handle with v8::Local (Michael Zasso) #2202
- [b1a2d9509f] – src: enable v8 deprecation warnings and fix them (Ben Noordhuis) #2091
- [808de0da03] – (SEMVER-MAJOR) src: apply debug force load fixups from 41e63fb (Ali Ijaz Sheikh) #2509
- [5201cb0ff1] – src: fix memory leak in ExternString (Karl Skomski) #2402
- [2308a27c0a] – src: only set v8 flags if argc > 1 (Evan Lucas) #2646
- [384effed20] – test: fix use of common before required (Rod Vagg) #2685
- [f146f686b7] – (SEMVER-MAJOR) test: fix test-repl-tab-complete.js for V8 4.5 (Ali Ijaz Sheikh) #2509
- [fe4b309fd3] – test: refactor to eliminate flaky test (Rich Trott) #2609
- [619721e6b8] – test: mark eval_messages as flaky (Alexis Campailla) #2648
- [93ba585b66] – test: mark test-vm-syntax-error-stderr as flaky (João Reis) #2662
- [367140bca0] – test: mark test-repl-persistent-history as flaky (João Reis) #2659
- [f6b093343d] – timers: minor _unrefActive fixes and improvements (Jeremiah Senkpiel) #2540
- [403d7ee7d1] – timers: don’t mutate unref list while iterating it (Julien Gilli) #2540
- [7a8c3e08c3] – timers: Avoid linear scan in _unrefActive. (Julien Gilli) #2540
- [b630ebaf43] – win,msi: Upgrade from old upgrade code (João Reis) #2439
Version number | 4.0.0 |
Release status | Final |
Operating systems | Windows 7, Linux, BSD, Windows XP, macOS, UNIX, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10 |
Website | node.js |
Download | |
License type | Conditions (GNU/BSD/etc.) |