Skip to content

Instantly share code, notes, and snippets.

@igorlima
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igorlima/6240b4b3bdb4265a0e49 to your computer and use it in GitHub Desktop.
Save igorlima/6240b4b3bdb4265a0e49 to your computer and use it in GitHub Desktop.

Ontem tjfontaine criou a branch de release do Node v0.12. O que pode significar que há um lançamento iminente, mas como TJ é o responsável pela data de lançamento, então não tem como sabermos uma data exata. A nossa opinião é que ainda pode demorar um pouco. Isso é só a branch de release.

Os cincos dos dez colaboradores mais ativos do Node v0.12 são patrocinados por nós. Embora os lançamentos sejam controlados por TJ, nós temos bons contatos na comunidade e uma noção do que acontece na codebase. No momento não há uma versão estável da libuv na branch v0.12 e, antes do lançamento real, essa lib ainda precisa ser melhorada.

Além disso, há consenso entre os colaboradores que a API asyncListener não está pronta e deve ser removida antes do lançamento. Nota: essa remoção já foi feita, graças a trevnorris. Existem alguns bugs pendentes que consideramos um impedimento e que podem ser descobertos mais em breve. Nós achamos que TJ simplesmente estaria criando uma branch de release para que a versão v0.12 fosse congelada e estabilizada (ainda pode levar semanas até o lançamento).

Se você ainda não está familiarizado com os recursos da versão v0.12, aqui estão as novidades.

Quando posso usar a versão v0.12?

Quando o Node v0.12 realmente sair, não terá sido tão bem testado. Embora muitos estão utilizando a versão v0.11 e várias partes do código estão sendo testadas, muita coisa mudou desde o último lançamento estável. Geralmente, é necessário alguns lançamentos de patches para resolver os bugs. O que aconselhamos é que os usuários em produção permaneça na versão v0.10 até que se passe algum tempo e a comunidade tenha tempo para resolver quaisquer bugs que sejam encontrado.

Vale notar que vai levar um tempo para que todo o ecossistema de módulos também seja atualizado. No momento, menos de 50% dos módulos npm com componente binário estão compilando com a branch v0.12.

Como posso ajudar?

Execute seu projeto usando a última versão v0.11 e relate bugs. Não só bugs relacionados ao core, mas também em módulos que possam ser incompatíveis.

Nós testamos todos os módulos StrongLoop (os strong-modules), o slc e dependências, os módulos LoopBack e módulos Express com a v0.11 no nosso sistema de CI. A maioria dos testes está passando até agora, mas nem tudo funciona perfeitamente, então estamos aguardando a versão v.12 se estabilizar. Por exemplo, atualmente existe um problema afetando a clusterização que afeta a funcionalidade do controle do nosso cluster slc.

O Node v0.12 é interessante, principalmente pelas melhorias de clusterização e perfomance SSL, as quais estarão disponíveis imediatamente no slc, o nosso controlador Node DevOps que controla os clusters, gestão de processos, deploy remoto, debugging e recursos de monitoramento. O acompanhamento desses novos lançamentos é uma parte divertida do trabalho!

Por que a v0.12 está demorando tanto?

Dentre outros fatores, houve rotatividade na equipe principal. Extraoficialmente, os principais colaboradores reduziram significativamente o compromisso com o projeto meses atrás, e isso pode ser percebido através da redução das atividades no registro de contribuições da versão v0.12 no GitHub.

Oficialmente, no fim de julho, TJ atualizou a página da equipe do Node, retirando três colaboradores principais: o izs, piscisaureus e bnoordhuis, deixando apenas alguns dos membros da equipe principal. Dos que ficaram, pode-se perceber que nas atividades dos últimos dois meses, só o TJ (que trabalha no Joyent) e o Fedor (que trabalha para um grande cliente do Joyent) aparecem no gráfico fazendo só mais algumas contribuições. Claro que essa não é uma representação geral e precisa de empenho (por exemplo, trevnorris mencionou que tem trabalhado em PRs) mas o gráfico mostra uma queda na atividade do projeto em 2014 onde havia um pico antes do lançamento anterior.

Ryan Dahl parou de contribuir no início de 2012 e desde então foram retirados do projeto outros três colaboradores que menos contribuíram significativamente.

Resumindo: está demorando muito porque não existe muitas pessoas trabalhando no projeto.

E o que mais?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment