The io.js team has released version 2.0, bringing with it an upgraded V8 JavaScript engine.
The notable V8 4.2 upgrade in io.js 2.0 moves classes out of staging, with the class
keyword usable in strict mode without flags, as well moving object literal enhancements out of staging, making shorthand method and property syntax usable, and implementing rest parameters in staging behind the --harmony-rest-parameters
flag.
The V8 upgrade is among a small number of breaking changes in the release, also including changes to C++ API, and os.tmpdir()
. According to technical committee member Rod Vagg in the io.js 2.0 changelog notes, the latter "is now cross-platform consistent and will no longer return a path with a trailling slash on any platform."
Also noteworthy in io.js 2.0 is its upgrade to npm 2.9, including local modules in npm outdated
and npm update
, as well as added support for default author field to make npm init -y
work without user-input.
Reconciliation with Node.js may already be on the cards for io.js. In the blog post io.js and a node.js Foundation, it was reported that Scott Hammond of Node.js had "expressed...his desire to bring io.js back to the node.js project." At the time of posting in February, it was noted that talks with Joyent were "ongoing", that nothing had changed, and that once Hammond's proposed Node.js foundation had a technical governance model the question of io.js joining would be brought up for the community to discuss.
On May 7, Mikael Rogers -- one of the founding members of the io.js team -- said in the io.js blog post Growing Up that the project was in need of a home, "a neutral organization that can support a project still governed by its community." Voicing his concern that "commercial interests" could fill the void where the project doesn't yet have formal resources, Rogers asserts that io.js needs a foundation, suggesting an approach recommended the Linux Foundation.
He concludes:
A little over a month ago the Linux Foundation, along with people from Node.js and io.js, began working on a governance model and contribution policy that might bring the projects back together under the new foundation. The governance, working groups, development and convergence policies are now ready.
The policies of the foundation are designed to preserve the progress we’ve made in io.js. They take the liberal collaborator models and open governance of io.js almost verbatim but also back it up with a neutral organization that can own the assets administered under those policies.
The issue Join the Node.js Foundation is open for discussion, and with more than 115 comments so far, the reactions have so far been largely in favour of converging io.js and Node.js.
Emily Rose, senior software engineer for Spark Labs, commented "I am still reading through all of the details, but this looks very sensible and well thought out. Thank you for this. I am in support" while Brock Whitten, co-creator of Cordova/PhoneGap, said "Thanks for putting this together and for everyone's hard work coming up with a potential solution...I am in favour of convergence."
For those dwelling on the past, Rogers highlighted:
It's time to get over all the history. If we decide to do this we are Node.js and it is our responsibility to solve these problems. We don't need to pick back through the history, nobody from Joyent that has been working on the project more than a year is even involved anymore so even putting this on any people left involved is silly. Let's move on and fix these problems, and fix them for both projects now that it is an option."
Version 1.0 of the controversial Node.js fork was released in January this year, but despite overtaking Node the io.js team clarified at the time that the release was not signifying that io.js was "production-ready".
The iojs/io.js GitHub repository is maintained by the Technical Committee and additional Collaborators who are added by the TC on an ongoing basis. Anyone can help contribute to the project. io.js adheres to a code of conduct, and contributions, releases, and contributorship are all under an open governance model.