Motor v0.38.4 (24/05/2019)
Chromium 74.0.3729.169
A versão 12 LTS do Node.js introduziu diversas melhorias e novas funcionalidades focadas em aprimorar a experiência do desenvolvedor e a performance das aplicações. No âmbito do JavaScript, foram incorporados os recursos do ES2019, como Object.fromEntries, trimStart/trimEnd, flat/flatMap e Symbol.description, enriquecendo a linguagem. Adicionalmente, a API fs.promises foi estabilizada, oferecendo uma forma mais moderna e assíncrona de interagir com o sistema de arquivos através de Promises, e houve otimizações no desempenho geral das Promises.
Um avanço significativo foi a introdução experimental de Worker Threads, permitindo a execução paralela de código JavaScript e abrindo caminho para melhorias de performance em tarefas intensivas. O suporte inicial e experimental ao WebAssembly Threads também sinaliza o futuro da execução de código de baixo nível no Node.js. A segurança foi reforçada com a estabilização do protocolo TLS 1.3 para conexões de rede mais seguras. A atualização da engine V8 para as versões 7.0 a 7.4 trouxe consigo ganhos de performance e novos recursos da linguagem JavaScript, mantendo o Node.js atualizado com as últimas evoluções.
Além disso, a versão 12 LTS priorizou a estabilidade, com um grande número de correções de bugs e refinamentos gerais em todo o sistema. Houve melhorias na performance e confiabilidade do fs.watch, e novas APIs experimentais como Performance Hooks e diagnostics_channel foram introduzidas para facilitar o monitoramento e diagnóstico de aplicações. A inclusão da tag <input type="module"> como experimental também aponta para futuras possibilidades no carregamento de módulos ES em contextos diversos. Por fim, as atualizações de dependências como libuv e c-ares contribuíram para aprimorar a infraestrutura subjacente do Node.js.
NodeJS v12.3.1
A versão 12 LTS do Node.js trouxe consigo uma série de avanços significativos, tanto em termos de novas funcionalidades quanto de estabilidade e desempenho. No que diz respeito à linguagem JavaScript, foram incorporados os novos recursos do ECMAScript 2019 (ES2019), como Object.fromEntries para converter listas de pares chave-valor em objetos, métodos para remover espaços em branco no início e/ou fim de strings (trimStart/trimEnd), funcionalidades para achatamento de arrays (flat/flatMap) e acesso à descrição de Symbols (Symbol.description). Além disso, houve a estabilização da API fs.promises, que oferece uma interface baseada em Promises para operações de sistema de arquivos, e melhorias notáveis no desempenho geral das Promises.
Um dos destaques desta versão foi a introdução (ainda em caráter experimental) de Worker Threads, permitindo a execução de código JavaScript em threads separadas, o que pode melhorar significativamente o desempenho de aplicações que realizam tarefas computacionalmente intensas. Também foi dado suporte inicial (experimental) ao WebAssembly Threads, abrindo caminho para a execução de código WebAssembly de forma paralela. No quesito segurança, a estabilização do suporte ao protocolo TLS 1.3 elevou o nível de proteção das comunicações de rede. A atualização da engine V8 para as versões 7.0, 7.1, 7.2 e 7.4 trouxe consigo ganhos de performance e a implementação de novos recursos JavaScript, alinhando o Node.js com as mais recentes evoluções da linguagem.
Outras melhorias importantes incluem refinamentos na performance e confiabilidade do fs.watch para monitoramento de alterações no sistema de arquivos, e a introdução de novas APIs experimentais como Performance Hooks e diagnostics_channel para melhor observabilidade e diagnóstico de aplicações, além da tag <input type="module"> para carregamento de módulos ES em contextos HTML. O foco principal da versão 12 como LTS foi a estabilidade, resultando em um grande número de correções de bugs e refinamentos gerais em todo o sistema. Por fim, houve atualizações importantes nas dependências internas, como libuv e c-ares, que contribuíram para aprimorar a infraestrutura subjacente do Node.js.