Yesterday tjfontaine created the Node v0.12 release branch. Does that mean a release is imminent? TJ is in charge of when the release hits, so we don’t know precisely, but here’s our take: It may be a while still. This is just the release branch to work from.
We sponsor 5 of the top 10 contributors to Node v0.12 and although TJ controls the releases, we have good connections in the community and a sense of what needs to happen in the codebase. Right now there is not a stable version of libuv in the v0.12 branch, and that will need to be upgraded before a proper v0.12 release. In addition, there is a general sense among the contributors that the asyncListener API is not ready for use and should be removed before a release. [Update: this has been done thanks to trevnorris.] There are a few outstanding bugs that we consider blockers and there could be more discovered soon. We think this is TJ simply creating a release branch so that v0.12 can be feature frozen and stabilized – it may be a few more weeks before a release.
If you are not yet familiar with the v0.12 feature set, here’s what’s new when it does release.
When can I use v0.12?
Node v0.12 when it does come out won’t be that well tested. Although there are many who have been using the v0.11 releases and many parts of the code are being tested, a lot has changed since the last stable release. Generally it takes a few patch releases to sort out the bugs. We advise production users to remain on v0.10 until some time has passed and the community has had a chance to fix any found bugs.
Importantly, the module ecosystem will need time to update as well. Right now, under 50% of npm modules with a binary component are even building against the v0.12 branch.
How can I help?
Run your project on the latest v0.11 release and report bugs. Not just in core, but in modules that may not be compatible.
We test all StrongLoop modules (the strong- modules), slc and dependencies, LoopBack modules and Express modules against v0.11 in our CI system. Most tests are passing right now but not everything works perfectly as we have been waiting for v0.12 to stabilize. For example, currently there is an issue affecting clustering that manifests in our slc cluster control functionality.
Node v0.12 is exciting, especially because of the improved clustering and SSL performance both of which will be available immediately in slc, our Node DevOps controller that has cluster control, process management, remote deployment, debugging and monitoring capabilities. Keeping up with new releases is a fun part of the job!
What is taking so long with v0.12?
Among other factors, there has been turnover on the core team. Unofficially the top contributors significantly reduced their commitment to the project many months ago and you can see this in the reduced activity on the GitHub commit log for v0.12.
Officially, at the end of July TJ updated the Node core team page removing the three remaining top committers izs, piscisaureus and bnoordhuis leaving only a handful of core team members. Of those remaining, if you look at the last two months of activity only TJ (who works at Joyent) and Fedor (who works at a major Joyent customer) show in the graph as making more than a few commits. Of course this is inaccurate as an overall picture of effort (i.e. trevnorris points out he has been working in PRs) but the graph shows a decrease in project activity in 2014 where there was a spike before the previous release.
Ryan Dahl stopped contributing at the beginning of 2012 and since then the three next most prolific contributors have been removed from the project.
In short: it’s taking a long time because there aren’t many people working on it.
- Read Bert Belder’s blog about StronngLoop’s ideas for where Node can go in the future.
- What’s in the upcoming Node v0.12 release? Big performance optimizations, read Ben Noordhuis’ blog to learn more.
- Ready to develop APIs in Node.js and get them connected to your data? Check out the Node.js LoopBack framework. We’ve made it easy to get started either locally or on your favorite cloud, with a simple npm install.
- Need training and certification for Node? Learn more about both the private and open options StrongLoop offers.