Versão 95 do Chrome

O Google revelou o lançamento do navegador Chrome 95. Ao mesmo tempo, está disponível uma versão estável do projeto gratuito Chromium, que serve de base ao Chrome. O navegador Chrome se diferencia pelo uso dos logotipos do Google, pela presença de um sistema de envio de notificações em caso de travamento, módulos para reprodução de conteúdo de vídeo protegido (DRM), sistema de instalação automática de atualizações e transmissão de parâmetros RLZ durante a pesquisa. No novo ciclo de desenvolvimento de 4 semanas, o próximo lançamento do Chrome 96 está agendado para 16 de novembro. Para aqueles que precisam de mais tempo para atualizar, há um branch Extended Stable separado, seguido por 8 semanas, que gera uma atualização para a versão anterior do Chrome 94.

Principais mudanças no Chrome 95:

  • Para usuários de Linux, Windows, macOS e ChromeOS, é oferecida uma nova barra lateral, mostrada à direita do conteúdo e ativada clicando em um ícone especial no painel da barra de endereço. O painel exibe um resumo com marcadores e uma lista de leitura. A alteração não está habilitada para todos os usuários; para ativá-la, você pode usar a configuração “chrome://flags/#side-panel”.
    Versão 95 do Chrome
  • Implementada a saída de uma solicitação explícita de permissões para salvar endereços inseridos em formulários web para posterior utilização no sistema de preenchimento automático de formulários. Ao determinar a presença de endereços em formulários, agora é exibida ao usuário uma caixa de diálogo que permite salvar o endereço, editar, atualizar um endereço salvo anteriormente ou recusar salvá-lo.
  • Código removido para oferecer suporte ao protocolo FTP. No Chrome 88, o suporte a FTP foi desativado por padrão, mas foi deixada uma sinalização para trazê-lo de volta.
  • Não oferecemos mais suporte a URLs com nomes de host que terminam em número, mas que não correspondem a endereços IPv4. Por exemplo, os URLs "http://127.1/", "http://foo.127.1/" e "http://127.0.0.0.1" agora serão considerados inválidos.
  • WebAssembly agora tem a capacidade de criar manipuladores de exceção que podem interceptar a execução se ocorrer uma exceção ao executar determinado código. Ele suporta a captura de exceções conhecidas pelo módulo WebAssembly e exceções no processo de chamada de funções importadas. Para capturar exceções, o módulo WebAssembly deve ser compilado com um compilador que reconhece exceções, como o Emscripten.

    Observa-se que o tratamento de exceções no nível do WebAssembly pode reduzir significativamente o tamanho do código gerado em comparação ao tratamento de exceções usando JavaScript. Por exemplo, construir o otimizador Binaryen com tratamento de exceções usando JavaScript resulta em um aumento de 43% no código e um aumento de 9% no código usando WebAssembly. Além disso, ao usar o modo de otimização "-O3", o código com tratamento de exceções usando WebAssembly tem desempenho praticamente igual ao código sem manipuladores de exceção, enquanto o tratamento de exceções usando JavaScript resulta em uma lentidão de execução de 30%.

  • É proibido compartilhar módulos WebAssembly entre domínios diferentes (origem cruzada) ao processar um site.
  • Várias novas APIs foram adicionadas ao modo Origin Trials (recursos experimentais que requerem ativação separada). O Origin Trial implica a capacidade de trabalhar com a API especificada a partir de aplicativos baixados de localhost ou 127.0.0.1, ou após o registro e recebimento de um token especial válido por tempo limitado para um site específico.
    • Ativação do corte de informações no cabeçalho HTTP do User-Agent e nos parâmetros JavaScript navigator.userAgent, navigator.appVersion e navigator.platform. O cabeçalho contém apenas informações sobre o nome do navegador, versão significativa do navegador, plataforma e tipo de dispositivo (celular, PC, tablet). Para obter dados adicionais, como a versão exata e dados estendidos da plataforma, você deve usar a API User Agent Client Hints. O início do corte do User-Agent nos sistemas de usuários regulares está previsto para o lançamento do Chrome 102, que será publicado daqui a seis meses.
    • É possível criar identificadores de acesso para a API de acesso ao sistema de arquivos, que permite que aplicativos da web leiam e gravem dados diretamente em arquivos e diretórios no dispositivo do usuário. Para reduzir a forma como os aplicativos da web acessam o sistema de arquivos, o Google planeja combinar as APIs File System Access e Storage Foundation. Como fase preparatória para tal unificação, é proposto o suporte a descritores de acesso, complementando os métodos de trabalho baseados em descritores de arquivos com capacidades avançadas, como definir um bloqueio de gravação para outros processos e criar threads separados para escrita e leitura, incluindo suporte para leitura e escrita dos trabalhadores em modo síncrono.
  • A API de confirmação de pagamento segura foi estabilizada e oferecida por padrão com a implementação de uma nova extensão de 'pagamento', que fornece confirmação adicional da transação de pagamento que está sendo realizada. Uma parte confiável, como um banco, tem a capacidade de gerar uma chave pública PublicKeyCredential, que pode ser solicitada pelo comerciante para confirmação adicional de pagamento seguro por meio da API de solicitação de pagamento usando o método de pagamento 'confirmação de pagamento seguro'.
  • As chamadas de retorno de chamada instaladas por meio do construtor PerformanceObserver implementam a transferência da propriedade dropEntriesCount, que permite entender quantas métricas de desempenho do site foram descartadas por não caberem no buffer fornecido.
  • Foi adicionada a API EyeDropper, que permite chamar a interface fornecida pelo navegador para determinar a cor de pixels arbitrários na tela, que podem ser usados, por exemplo, em editores gráficos implementados como aplicações web. const conta-gotas = new conta-gotas(); const resultado = aguarda eyeDropper.open(); // resultado = {sRGBHex: '#160731'}
  • Adicionada a função self.reportError(), que permite que scripts imprimam erros no console, emulando a ocorrência de uma exceção não detectada.
  • A API URLPattern foi adicionada para verificar se uma URL corresponde a um determinado padrão, que, por exemplo, pode ser usado para analisar links e redirecionar solicitações para manipuladores no service worker. const p = novo URLPattern({protocolo: 'https', nome do host: 'example.com', nome do caminho: '/:folder/*/:fileName.jpg', });
  • A API Intl.DisplayNames foi expandida, por meio da qual você pode obter nomes localizados de idiomas, países, moedas, elementos de data, etc. A nova versão adiciona novos tipos de nomes “calendário” e “dateTimeField”, através dos quais você pode descobrir os nomes localizados do calendário e dos campos de data e hora (por exemplo, o nome dos meses). Para o tipo “idioma”, foi adicionado suporte para uso de dialetos de idioma.
  • A API Intl.DateTimeFormat adicionou suporte para novos valores do parâmetro timeZoneName: “shortGeneric” para exibir um identificador de fuso horário curto (por exemplo, “PT”, “ET”), “longGeneric” para exibir um fuso horário longo identificador (“Horário do Pacífico”, “Horário das Montanhas”), “shortOffset” - com deslocamento curto em relação ao GMT (“GMT+5”) e “longOffset” com deslocamento longo em relação ao GMT (“GMT+0500”).
  • A API U2F (Cryptotoken) foi descontinuada e a API de autenticação da Web deve ser usada em seu lugar. A API U2F será desativada por padrão no Chrome 98 e removida completamente no Chrome 104.
  • Melhorias foram feitas nas ferramentas para desenvolvedores web. O painel Estilos facilita o ajuste das propriedades CSS relacionadas ao tamanho (altura, preenchimento, etc.). A guia Problemas oferece a capacidade de ocultar problemas individuais. No console web e nos painéis Fontes e Propriedades, a exibição das propriedades foi melhorada (as propriedades próprias agora são destacadas em negrito e mostradas no topo da lista).
    Versão 95 do Chrome

Além de inovações e correções de bugs, a nova versão elimina 19 vulnerabilidades. Muitas das vulnerabilidades foram identificadas como resultado de testes automatizados usando as ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Nenhum problema crítico foi identificado que permitiria ignorar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox. Como parte do programa de recompensa em dinheiro pela descoberta de vulnerabilidades para a versão atual, o Google pagou 16 prêmios no valor de US$ 74 mil (um prêmio de US$ 20000, dois prêmios de US$ 10000, um prêmio de US$ 7500, um prêmio de US$ 6000, três prêmios de US$ 5000 e um prêmio de US$ 3000). e US$ 2000). O tamanho das 1000 recompensas ainda não foi determinado.

Fonte: opennet.ru

Adicionar um comentário