Stable Node.js Release
Written by Kay Ewbank   
Friday, 13 February 2015

The developers of Node.js have released a stable version of the open source JavaScript project.

nodejsbanner

Node.js is in the middle of a reorganization as far as management goes with the formation of a Foundation to oversee its development - but there is also time for a new release. 

In case you don't know Node.js is a server side JavaScript based on Google's V8 JavaScript engine. A breakaway group of Node.js recently forked Node.js to create io.js.

The new release has a lot of changes compared to the previous 0.10 release. Highlights of this new version, v0.12, include an improved Streams implementation and better handling of HTTP.

According to the blog post about the new version, the Streams implementation:

“now works the way you thought it already should, without introducing any changes to the API.”

The developers say that basically this means no more getting stuck in "old mode", there are only streams that are flowing or not. Streams now support the use of cork and uncork mechanisms to prevent flushing writes out to the system if an application is going to be performing many writes in a row.

The improved support for HTTP starts with an increase in the maxSockets; you’re no longer limited to five, and the default is now set to Infinity with you as the developer, along with the operating system, controlling how many simultaneous connections an application can keep open to a given host. The sockets will also now stay open until they timeout at the configured time, are closed by the remote side, or the process exits, so you no longer have to make sure requests have been pipelined to keep the socket open, or use an alternative module to get that support.

The Cluster feature now has two modes of operation, with a new default of a round robin distribution mechanism where the master accepts new connections and distributes them to your workers.

The new TLSWrap mechanism is included “under the hood” according to the blog post, so eliminating some of the to and fro hops between JavaScript and the C++ implementations. The TLS handling also now has APIs for asynchronous SNI callbacks, OCSP stapling, and storage events.

The mechanism for allocating memory for buffers is more accurate now, so you'll see less overhead and impact from holding onto to small slices of Buffers. This reduces the amount of memory pressure on the system, which means GC runs are quicker, which means Node.js is on CPU less, and thus lower latency for your applications.

Cryptography support is another area that has been improved, with new APIs for loading custom engines for use with compiled in OpenSSL. Other new APIs support supplying the pass phrases and RSA public/private key encryption/decryption.

The blog post says that the developers are:

“pleased to report that this release of Node.js has tests passing on all of our supported platforms. On the one hand, this seems obvious (what are tests for if not to verify before you release it?!), but this is actually the first release of Node.js that has operated under this constraint. Requiring that all tests pass before releasing Node.js marks an important development for the project, and is essential for building a solid path moving forward.”

Download options are in the blog post together with details of other changes to the new version.

nodejssq

Banner


Call For Code 2024 Focuses On Generative AI
01/03/2024

This year's Call for Code challenge has been launched with a theme of the use of generative AI technology for solutions that aim to improve equitable access to resources and opportunities for historic [ ... ]



Flox Releases Flox Hub
13/03/2024

Flox has announced that its Command Line Interface (CLI) and FloxHub are now generally available. The CLI is open source and FloxHub is free for anyone to use.


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Friday, 13 February 2015 )