Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Node.js Release 4.0, First Combined Release With io.js

Node.js Release 4.0, First Combined Release With io.js

Leia em Português

This item in japanese

Node.js v 4.0 has been released, combining Node.js and io.js into one single codebase for the first time.

The all-new Node.js contains many fresh ES6 features enabled by default, as well as V8 v4.5, with accompanying new features.

io.js forked from its Node parent last December, with core members of the Node community dissatisfied with Joyent's Advisory board, and by Node's lack of releases. With these issues now resolved, and the two projects officially converged, the Node Foundation clearly lays out the improvements in the blog update "Node v4.0.0 (Stable)"

It said:

The Node.js project is now operated by a team of 44 collaborators, 15 of which form its Technical Steering Committee (TSC). Further, over 100 new individuals have been added to the list of people contributing code to core since v0.12.7...

Node.js v4 also brings a plan for long-term support (LTS) and a regular release cycle. Release versioning now follows SemVer, so expect increments of both minor and patch version over the coming weeks as we fix bugs and add features.

One of the most significant updates to Node.js is ES2015 specification underlying JavaScript. Further to this, modifications to REPL support, TLS encryption, PPC builds, the dgraph, node, and buffer modules have also been brought over from io.js.

Mikeal Rogers -- community manager for the Node.js Foundation -- reports that idle memory usage in Node.js 4.0 is about a quarter what it was in 0.12.x.

The 4.0 release for Node,js updates V8 to version from, implementing arrow functions, new TypedArray.from() and TypedArray.of() functions, and TypedArray prototype methods: copyWithin(), every(), fill(), filter(), find(), findIndex(), forEach(), indexOf(), join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), slice(), some(), sort().

Asked about TJ Fontaine's comments earlier this year that Node.js "should not just be accepting newer version of V8 and pinning our release cycle to that portion of the upstream" Rogers said the V8 team was making important improvements to the runtime, with obvious benefits to Node.js users.

Rogers said that Node.js "recognise that the native module ecosystem can’t take new versions of V8 as fast as the V8 team produces them," but that they wouldn't want to stop adopting the benefits "any time soon."

Among other notable changes to Node 4.0 is an update to child_process. The Node.js Foundation report that because ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms, an optional callback parameter has been introduced that is invoked when the message has been sent.

Talking to InfoQ about the JavaScript community's reaction to the first converged release, Rogers said:

This is a big win for us, it's a rarity when a fork reunites, but we've put a lot of work into making this happen.

Both communities from Node.js and io.js came together to contribute to this release and we had more contributors and companies helping us with this release than we've ever had, which is incredible given where we were a year ago. 

We were able to build something really great without sacrificing our core values of the project, and we hope to continue with releasing more code, faster.  

InfoQ readers looking to contribute to Node.js should visit the Working Groups list and read the contribution guide

Rate this Article