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


JetBrains Announces Academy AI Festival
21/02/2024

JetBrains is running an Academy AI Festival that they describe as a fusion of hands-on learning and inspiring challenges that will provide inspiration for innovation and will advance your understandin [ ... ]



JetBrains AI Assistant - A Welcome Time Saver
28/02/2024

JetBrains AI Assistant saves developers up to eight hours per week and they appreciate its help.  77% of users feel more productive, 75% express that they are happier with their IDE experien [ ... ]


More News

 

raspberry pi books

 

Comments




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

Last Updated ( Friday, 13 February 2015 )