Node.js

Software Screenshot:
Node.js
Software Details:
Version: 10.7.0 updated
Upload Date: 17 Aug 18
Developer: Joyent, Inc.
Distribution Type: Freeware
Downloads: 123

Rating: 4.0/5 (Total Votes: 1)

Node.js is an open source and completely free software that empowers web developers to build scalable and fast network programs. Being based on Chrome's JavaScript runtime, the Node.js software is extremely efficient and lightweight, especially because it uses a non-blocking, event-driven I/O model.

The top platform for running server-side JavaScript code

Node.js is currently considered the top platform for running server-side JavaScript code, being used in production in big companies like Google, eBay, Yahoo, LinkedIn, Microsoft, Cloud9 and many more.

Mandatory example

The following code will create a simple web server that responds with "Hello World" for every request.

var http = require('http');

http.createServer(function (req, res) {

res.writeHead(200, {'Content-Type': 'text/plain'});

res.end('Hello Worldn');

}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');

In order to run the HTTP server, you will have to the code above into a file called “example.js” (without quotes) and execute it with the node command from a terminal emulator:

% node example.js

Server running at http://127.0.0.1:1337/

Supported operating systems

Node.js is a multi-platform application that has been successfully tested under numerous GNU/Linux distributions, including Debian, Ubuntu, Arch Linux, Fedora, Red Hat Enterprise Linux, openSUSE, Mageia, Slackware, and others, as well as on the commercial Mac OS X and Microsoft Windows operating systems. Both 64-bit and 32-bit instruction set architectures are supported at this time.

Under the hood, requirements and availability

As mentioned, this is a multi-platform software. It can be downloaded as pre-built installers for the Mac OS X, GNU/Linux and Microsoft Windows operating systems, as well as a universal source archive that can be compiled and installed on virtually any operating system where Python is supported.

What is new in this release:

  • console:
  • The console.timeLog() method has been implemented. #21312
  • deps:
  • Upgrade to libuv 1.22.0. #21731
  • Upgrade to ICU 62.1 (Unicode 11, CLDR 33.1). #21728
  • http:
  • Added support for passing both timeout and agent options to http.request. #21204
  • inspector:
  • Expose the original console API in require('inspector').console. #21659
  • napi:
  • Added experimental support for functions dealing with bigint numbers. #21226
  • process:
  • The process.hrtime.bigint() method has been implemented. #21256
  • Added the --title command line argument to set the process title on startup. #21477
  • trace_events:
  • Added process_name metadata. #21477
  • Added new collaborators
  • codebytere - Shelley Vohr

What is new in version 10.0.0:

  • Full support for N-API
  • Easy getting started with Time-Travel Debugging via a new Visual Studio Code Extension
  • TTD support for generators and async functions
  • Support for Inspector protocol
  • Increased stability and other assorted improvements

What is new in version :

  • async_hooks:
  • add trace events to async_hooks (Andreas Madsen) #15538
  • add provider types for net server (Andreas Madsen) #17157
  • console:
  • console.debug can now be used outside of the inspector (Benjamin Zaslavsky) #17033
  • deps:
  • upgrade libuv to 1.18.0 (cjihrig) #17282
  • patch V8 to 6.2.414.46 (Myles Borins) #17206
  • module:
  • module.builtinModules will return a list of built in modules (Jon Moss) #16386
  • n-api:
  • add helper for addons to get the event loop (Anna Henningsen) #17109
  • process:
  • process.setUncaughtExceptionCaptureCallback can now be used to customize behavior for --abort-on-uncaught-exception (Anna Henningsen) #17159
  • A signal handler is now able to receive the signal code that triggered the handler. (Robert Rossmann) #15606
  • src:
  • embedders can now use Node::CreatePlatform to create an instance of NodePlatform (Cheng Zhao) #16981
  • stream:
  • writable.writableHighWaterMark and readable.readableHighWaterMark will return the values the stream object was instantiated with (Calvin Metcalf) #12860
  • Added new collaborators
  • maclover7 Jon Moss
  • guybedford Guy Bedford
  • hashseed Yang Guo

What is new in version 9.2.0:

  • crypto:
  • Support building with both 1.1.0 and 1.0.2 (David Benjamin) #16130
  • fs:
  • fs.realpathSync.native and fs.realpath.native are now exposed (Ben Noordhuis) #15776
  • process:
  • expose process.ppid (cjihrig) #16839

What is new in version 8.5.0:

  • build:
  • Snapshots are now re-enabled in V8 #14875
  • console:
  • Implement minimal console.group(). #14910
  • deps:
  • upgrade libuv to 1.14.1 #14866
  • update nghttp2 to v1.25.0 #14955
  • dns:
  • Add verbatim option to dns.lookup(). When true, results from the DNS resolver are passed on as-is, without the reshuffling that Node.js otherwise does that puts IPv4 addresses before IPv6 addresses. #14731
  • fs:
  • add fs.copyFile and fs.copyFileSync which allows for more efficient copying of files. #15034
  • inspector:
  • Enable async stack traces #13870
  • module:
  • Add support for ESM. This is currently behind the --experimental-modules flag and requires the .mjs extension. node --experimental-modules index.mjs #14369
  • napi:
  • implement promise #14365
  • os:
  • Add support for CIDR notation to the output of the networkInterfaces() method. #14307
  • perf_hooks:
  • An initial implementation of the Performance Timing API for Node.js. This is the same Performance Timing API implemented by modern browsers with a number of Node.js specific properties. The User Timing mark() and measure() APIs are implemented. #14680
  • tls:
  • multiple PFX in createSecureContext #14793
  • Added new collaborators:
  • BridgeAR - Ruben Bridgewater

What is new in version 8.3.0:

  • The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile.
  • Other notable changes:
  • DNS:
  • Independent DNS resolver instances are supported now, with support for cancelling the corresponding requests.
  • N-API:
  • Multiple N-API functions for error handling have been changed to support assigning error codes.
  • REPL:
  • Autocompletion support for require() has been improved.
  • Utilities:
  • The WHATWG Encoding Standard (TextDecoder and TextEncoder) has been implemented as an experimental feature.

What is new in version 8.1.3:

  • Stream Two regressions with the stream module have been fixed:
  • The finish event will now always be emitted after the error event if one is emitted: [0a9e96e86c] #13850
  • In object mode, readable streams can now use undefined again. [5840138e70] #13760

What is new in version 8.1.2:

  • Fix broken process.release properties in 8.1.1 causing failure to compile native add-ons on platforms other than Windows. This is a fix in the Node.js build process so there are no additional code commits included on top of 8.1.1.

What is new in version 7.7.1:

  • [c8e34b61f6] - build: add missing src/tracing header files (Daniel Bevenius) #10851
  • [96f55f9e59] - src: move trace_event.h include to internal header (Ben Noordhuis) #10959
  • [30c80cbe6f] - src: fix TracingController cleanup (Jason Ginchereau) #10623
  • [b89b2a7d36] - src: always initialize tracing controller in agent (Matt Loring) #10507
  • [54e55e05ca] - test: make test-intl-no-icu-data more robust (Michael Zasso) #10992
  • [7b253eb3ed] - test: increase strictness for test-trace-event (Rich Trott) #11065
  • [3dc4a5f1f4] - tracing: fix -Wunused-private-field warning (Santiago Gimeno) #10416
  • [8a918bf411] - tracing: fix -Wreorder warning (Santiago Gimeno) #10416

What is new in version 7.4.0:

  • buffer:
  • Improve performance of Buffer allocation by ~11%. (Brian White) #10443
  • Improve performance of Buffer.from() by ~50%. (Brian White) #10443
  • events: Improve performance of EventEmitter.once() by ~27%. (Brian White) #10445
  • fs: Allow passing Uint8Array to fs methods where Buffers are supported. (Anna Henningsen) #10382
  • http: Improve performance of http server by ~7%. (Brian White) #6533
  • npm: Upgrade to v4.0.5 (Kat Marchan) #10330

What is new in version 7.2.1:

  • buffer:
  • Reverted the runtime deprecation of calling Buffer() without new. (Anna Henningsen) #9529
  • Fixed buffer.transcode() for single-byte character encodings to UCS2. (Anna Henningsen) #9838
  • promise: --trace-warnings now produces useful stacktraces for Promise warnings. (Anna Henningsen) #9525
  • repl: Fixed a bug preventing correct parsing of generator functions. (Teddy Katz) #9852
  • V8: Fixed a significant instanceof performance regression. (Franziska Hinkelmann) #9730

What is new in version 7.2.0:

  • crypto: The Decipher methods setAuthTag() and setAAD now return this.
  • dns: Implemented {ttl: true} for resolve4() and resolve6().
  • libuv: Upgrade to v1.10.1
  • Fixed a potential buffer overflow when writing data to console on Windows 10. (CVE-2016-9551)
  • process: Added a new external property to the data returned by memoryUsage().
  • tls: Fixed a memory leak when writes were queued on TLS connection that was destroyed during handshake.
  • V8 (dep): Upgrade to v5.4.500.43
  • v8: The data returned by getHeapStatistics() now includes three new fields: malloced_memory, peak_malloced_memory, and does_zap_garbage.

What is new in version 6.4.0:

  • build: zlib symbols and additional OpenSSL symbols are now exposed on Windows platforms. (Alex Hultman) #7983 and #7576
  • child_process, cluster: Forked child processes and cluster workers now support stdio configuration. (Colin Ihrig) #7811 and #7838
  • child_process: argv[0] can now be set to arbitrary values in spawned processes. (Pat Pannuto) #7696
  • fs: fs.ReadStream now exposes the number of bytes it has read so far. (Linus Unneback) #7942
  • repl: The REPL now supports editor mode. (Prince J Wesley) #7275
  • util: inspect() can now be configured globally using util.inspect.defaultOptions. (Roman Reiss) #8013

What is new in version 6.3.0:

  • buffer: Added buffer.swap64() to complement swap16() & swap32(). (Zach Bjornson) #7157
  • build: New configure options have been added for building Node.js as a shared library. (Stefan Budeanu) #6994
  • The options are: --shared, --without-v8-platform & --without-bundled-v8.
  • crypto: Root certificates have been updated. (Ben Noordhuis) #7363
  • debugger: The server address is now configurable via --debug=:. (Ben Noordhuis) #3316
  • npm: Upgraded npm to v3.10.3 (Kat Marchan) #7515 & (Rebecca Turner) #7410
  • readline: Added the prompt option to the readline constructor. (Evan Lucas) #7125
  • repl / vm: sigint/ctrl+c will now break out of infinite loops without stopping the Node.js instance. (Anna Henningsen) #6635
  • src:
  • Added a node::FreeEnvironment public C++ API. (Cheng Zhao) #3098
  • Refactored require('constants'), constants are now available directly from their respective modules. (James M Snell) #6534
  • stream: Improved readable.read() performance by up to 70%. (Brian White) #7077
  • timers: setImmediate() is now up to 150% faster in some situations. (Andras) #6436
  • util: Added a breakLength option to util.inspect() to control how objects are formatted across lines. (cjihrig) #7499
  • v8-inspector: Experimental support has been added for debugging Node.js over the inspector protocol. (Ali Ijaz Sheikh) #6792
  • Note: This feature is experimental, and it could be altered or removed.
  • You can try this feature by running Node.js with the --inspect flag.

What is new in version 6.0.0:

  • Buffer:
  • New Buffer constructors have been added #4682 and #5833.
  • Existing Buffer() and SlowBuffer() constructors have been deprecated in docs #4682 and #5833.
  • Previously deprecated Buffer APIs are removed #5048, #4594.
  • Improved error handling #4514.
  • The Buffer.prototype.lastIndexOf() method has been added #4846.
  • Cluster:
  • Worker emitted as first argument in 'message' event #5361.
  • The worker.exitedAfterDisconnect property replaces worker.suicide #3743.
  • Console:
  • Calling console.timeEnd() with an unknown label now emits a process warning rather than throwing #5901.
  • Crypto:
  • Improved error handling #3100, #5611.
  • Simplified Certificate class bindings #5382.
  • Improved control over FIPS mode #5181.
  • pbkdf2 digest overloading is deprecated #4047.
  • Dependencies:
  • Reintroduce shared c-ares build support #5775.
  • V8 updated to 5.0.71.35 #6372.
  • DNS:
  • Add dns.resolvePtr() API to query plain DNS PTR records #4921.
  • Domains:
  • Clear stack when no error handler #4659.
  • Events:
  • The EventEmitter.prototype._events object no longer inherits from Object.prototype #6092.
  • The EventEmitter.prototype.prependListener() and EventEmitter.prototype.prependOnceListener() methods have been added #6032.
  • File System:
  • The fs.realpath() and fs.realpathSync() methods have been updated to use a more efficient libuv-based implementation. This change includes the removal of the cache argument and the method can throw new errors #3594.
  • FS apis can now accept and return paths as Buffers #5616.
  • Error handling and type checking improvements #5616, #5590, #4518, #3917.
  • fs.read's string interface is deprecated #4525.
  • HTTP:
  • 'clientError' can now be used to return custom errors from an HTTP server #4557.
  • Modules:
  • Current directory is now prioritized for local lookups #5689.
  • Symbolic links are preserved when requiring modules #5950.
  • Net:
  • DNS hints no longer implicitly set #6021.
  • Improved error handling and type checking #5981, #5733, #2904.
  • OS X:
  • MACOSX_DEPLOYMENT_TARGET has been bumped up to 10.7 #6402.
  • Path:
  • Improved type checking #5348.
  • Process:
  • Introduce process warnings API #4782.
  • Throw exception when non-function passed to nextTick #3860.
  • Querystring:
  • The object returned by querystring.parse() no longer inherits from Object.prototype #6055.
  • Readline:
  • Key info is emitted unconditionally #6024.
  • History can now be explicitly disabled #6352.
  • REPL:
  • Assignment to _ will emit a warning #5535.
  • Expressions will no longer be completed when eval fails #6328.
  • Timers:
  • Fail early when callback is not a function #4362.
  • Streams:
  • null is now an invalid chunk to write in object mode #6170.
  • TLS:
  • Rename 'clientError' to 'tlsClientError' #4557.
  • SHA1 used for sessionIdContext #3866.
  • TTY:
  • Previously deprecated setRawMode wrapper is removed #2528.
  • URL:
  • Username and password will be dropped by url.resolve() if the host changes #1480.
  • Util:
  • Changes to Error object formatting #4582.
  • The util._extend() method has been deprecated #4903
  • The util.log() method has been deprecated #6161.
  • Windows:
  • Windows XP and Vista are no longer supported #5167.
  • Zlib:
  • Multiple improvements have been made to Zlib processing #5883 and #5707.

Requirements:

  • Python

Similar Software

SMOP
SMOP

11 May 15

Craft
Craft

20 Feb 15

ccache
ccache

20 Feb 15

ooc
ooc

3 Jun 15

Other Software of Developer Joyent, Inc.

SmartOS
SmartOS

17 Aug 18

Comments to Node.js

Comments not found
Add Comment
Turn on images!