As versões 7.0 e 7.1 do V8 JavaScript Engine do Google foram lançadas recentemente e trazem a melhora na performance de memória do Javascript, adiciona características chave para o WebAssembly e introduz pequenas melhorias na linguagem.
Essas versões melhoram o suporte ao Embedded builtins, que economiza memória ao compartilhar o código gerado através de múltiplos V8 isolados. Inicialmente incluído na versão 6.9 para plataformas 64 bits, a versão 7.0 traz o suporte para todas as plataformas exceto ia32. A versão 7.1 segue nesta linha ao adicionar manipuladores de bytecode incorporados no binário.
O WebAssembly também recebeu melhorias importantes nestas versões. A versão 7.0 adiciona uma prévia do WebAssembly Threads que são habilitados pela flag de recurso: chrome://flags/#enable-webassembly-threads. Os websites também podem se registrar para um 'Origin Trial' para experimentar os novos recursos web antes que sejam completamente padronizados, o que ajudará o time do Chrome a colher feedbacks reais para validar e melhorar os novos recursos.
A versão 7.1 do V8 adiciona suporte ao postMessage para módulos WebAssembly, permitindo que objetos do tipo WebAssembly.Module sejam enviados via postMessage para os web workers. No momento esta ação é limitada aos web workers ( o mesmo procedimento, em uma thread diferente) e não está disponível para ambientes de cenários de processamento cruzados (postMessage com origem cruzada ou web workers compartilhados).
Alguns recursos do JavaScript foram adicionados com a última versão do V8. A versão 7.0 adiciona a descrição de propriedades ao Symbol.prototype, dando um mecanismo mais ergonômico para acessar a descrição de um Symbol. O assessor de descrição do Symbol é uma proposta de estágio 3 TC39 e era esperada para ser parte do ES2019, a versão do padrão JavaScript para o próximo ano. A performance do Array.prototype.sort também melhora na versão 7.0.
A versão 7.1 adiciona suporte para o Intl.RelativeTimeFormat, uma API que fornece formatação localizada de alto desempenho de tempo relativo (ex.: amanhã, 25 segundos atrás ou em seis semanas). Também parte da versão 7.1 está o suporte para ao globalThis, um mecanismo para acessar um objeto global quando usado em funções ou módulos estritos, independentemente da plataforma.
Por fim, melhorias de performance foram feitas para manipular da melhor forma funções context locais para funções high-order.
A Google cria branch releases do V8 JavaScript engine a cada seis semanas para coincidir com os lançamentos de versões do Chrome. A versão 7.0 do V8 foi lançada com o Chrome 70 e a versão 7.1 com o Chrome 71. O V8 também é a base do runtime do Node.js.
O V8 é um software de código aberto com diversas aplicações de licenças dos subconjuntos do código base devido às dependências externas. As contribuições são bem vindas através do Git do projeto V8 e deve seguir as diretrizes de contribuição do V8 e as diretrizes de conduta de código aberto do Google.