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


Random Gifts For Programmers
24/11/2024

Not really random. Not even pseudo random, more stuff that caught my attention and that I, for one, would like to be given. And, yes, if I'm not given them, I'd probably buy some for myself.



Looking Forward To NAO 7
03/11/2024

Introduced to the world in 2004 by its creator Bruno Maisonnier the kid-sized, autonomous humanoid robot NAO, turns 20 this year. At less than 2 ft tall, it is small in stature, but plays a big r [ ... ]


More News

 

espbook

 

Comments




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

Last Updated ( Friday, 13 February 2015 )