Foi lançada a plataforma Node.js 25.0.0

Foi lançado o Node.js 25.0.0, uma plataforma para executar aplicações de rede em JavaScript. O Node.js 25.0 é classificado como uma versão intermediária, com suporte durante 7 meses (até junho de 2026). Nos próximos dias, a estabilização da versão Node.js 24 será concluída, que receberá o status LTS no final de outubro e será suportada até abril de 2028. O suporte para as versões LTS anteriores Node.js 22.x e 20.x continuará até abril de 2027 e 2026, respectivamente.

Principais melhorias:

  • O motor V8 foi atualizado para a versão 14.1, utilizada no Chromium 141. Em comparação com a versão anterior do Node.js, houve um aumento significativo na performance do método JSON.stringify, otimização do WebAssembly e JIT, e a implementação de métodos para conversão entre Uint8Array e dados em formato base64 ou representação hexadecimal.
  • O mecanismo Permission Model, que permite restringir o acesso a determinados recursos durante a execução, agora possui a opção "—allow-net" para garantir acesso à rede (se a opção "—allow-net" não for especificada, iniciar o Node.js no modo "—permission" gerará um erro ERR_ACCESS_DENIED ao tentar realizar operações de rede).
  • Ativado por padrão compatível com navegadores A API Web Storage, destinada ao armazenamento persistente (classe localStorage) ou temporário (classe sessionStorage) de dados no formato chave/valor. A etiqueta de desenvolvimento experimental foi removida da API Web Storage.
  • A classe ErrorEvent foi transferida para a categoria de globalmente acessíveis (usáveis sem importação explícita), fornecendo uma interface compatível com navegadores para tratamento de eventos com informações sobre erros.
  • Para WebAssembly, foi adicionada a compatibilidade com a API JSPI (JavaScript Promise Integration), permitindo acesso a APIs Web assíncronas a partir de código sequencial compilado em WebAssembly.
  • Adicionada a opção "NODE_COMPILE_CACHE_RELATIVE_PATH" para operação portátil com o cache de objetos compilados. Neste modo, os hashes para identificação dos objetos são calculados usando caminhos relativos para os arquivos, permitindo mover e embutir o conteúdo do diretório de código junto com o cache.
  • Adicionada a capacidade de perfilamento da carga da CPU.
  • O gerenciador de pacotes NPM foi atualizado para a versão 11.6.2.
  • Adicionada a compatibilidade com Python 3.14.
  • As versões mínimas suportadas declaradas são Clang 19 e Xcode 16.4.
  • O suporte ao objeto SlowBuffer foi encerrado, anteriormente declarado obsoleto devido a potenciais problemas de segurança. Em vez de SlowBuffer, deve-se usar o método Buffer.allocUnsafeSlow().

A plataforma Node.js pode ser utilizada tanto para suporte do lado do servidor de aplicações web quanto para criar programas de rede comuns tanto do lado do cliente quanto do servidor. Para expandir a funcionalidade das aplicações Node.js, foi preparada uma grande coleção de módulos, onde é possível encontrar módulos com implementações servidores e clientes HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, módulos para integração com diversos frameworks web, manipuladores WebSocket e Ajax, conectores a bancos de dados (MySQL, PostgreSQL, SQLite, MongoDB), motores de template, motores CSS, implementações de algoritmos de criptografia e sistemas de autorização (OAuth), parsers XML.

Para lidar com um grande número de solicitações paralelas, o Node.js utiliza um modelo assíncrono de execução de código, baseado no processamento de eventos em modo não bloqueante e na definição de manipuladores de callback. Métodos como epoll, kqueue, /dev/poll e select são suportados como maneiras de multiplexar conexões. A biblioteca libuv, que é uma camada superior em relação à libev em sistemas Unix e ao IOCP no Windows, é usada para multiplexação de conexões. Para criar um pool de threads, é utilizada a biblioteca libeio, e para executar consultas DNS de forma não bloqueante, o c-ares está integrado. Todas as chamadas de sistema que causam bloqueio são executadas dentro do pool de threads e então, assim como os manipuladores de sinal, transmitem o resultado de seu trabalho por meio de um canal anônimo (pipe).

A execução de código JavaScript é garantida através do uso do motor V8 desenvolvido pela Google (além disso, a Microsoft desenvolve uma versão do Node.js com o motor Chakra-Core). Essencialmente, o Node.js é semelhante a frameworks como Perl AnyEvent, Ruby Event Machine, Python Twisted e a implementação de eventos em Tcl, mas o loop de eventos no Node.js é oculto do desenvolvedor e se assemelha ao processamento de eventos em uma aplicação web que roda no navegador.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster