Após um tempo usando o Node.JS, talvez você se pergunte quais versões usar em produção, e/ou sob quais versões você deve basear uma biblioteca que está desenvolvendo. O controle de releases do Node.JS é baseado no clássico estilo de versionamento x.y.z, onde x é o major release, y é o minor release e o z é um patch. Se você não sabe muito bem o que é isso, o site sobre Semantic Versioning cobre esse assunto, e vai um pouco mais além.

Historicamente, alguns projetos costumam usar a versão par como stable e a versão ímpar como unstable. O próprio kernel do linux já foi assim. Esse não é o princípio do Semantic Versioning e muita gente considera errado, mas isso não está em discussão aqui. Meu objetivo é apenas explicar como você deve manter atualizado seu runtime do Node.JS.

O Node.JS também se baseia nessa divisão entre par e ímpar. A versão atual é a 0.4.6 e é a que deve ser utilizada em todos os casos, seja para experimentos, seja para produção. O target atual é a versão 0.6.0, e assim como aconteceu com a versão 0.4.0, as versões intermediárias 0.5.x (unstable) serão usadas para fazer as experiências do que irá entrar nas versões 0.6.x.

Sendo prático, a forma mais indicada de lidar com isso é usar sempre as versões pares para desenvolver suas bibliotecas e colocar aplicações em produção e sempre que possível ter uma branch para testar essas bibliotecas e aplicações nas versões ímpares posteriores, evitando assim acumular muita coisa para a versão par seguinte.