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.


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.



SnapCode: A Java IDE for the Web

Thanks to CheerpJ and WebAssembly you can now run a Java IDE inside your browser and local first.This is SnapCode, and while lightweight and in-browser, is to be not underestimated.

Google Rebrands Bard With Subscription

Google Bard will from now on be known as Gemini, and Google is launching a paid subscription tier that will be based on yet another new AI model from Google. The move to a paid subscription follows th [ ... ]

More News


raspberry pi books



or email your comment to:

Last Updated ( Friday, 13 February 2015 )