Lançamento do Chrome 85

A empresa Google apresentou lançamento do navegador web Chrome 85. Ao mesmo tempo disponível lançamento estável de um projeto de código aberto Chromium, que serve como base para o Chrome. O navegador Chrome caracteriza-se pelo uso de logotipos do Google, pela presença de um sistema de envio de notificações em caso de falha, pela possibilidade de carregar o módulo Flash sob demanda, 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 na busca de parâmetros RLZ. A próxima versão do Chrome 86 está programada para 6 de outubro.

Principais mudanças em Chrome 85:

  • Adicionada a funcionalidade de agrupamento de abas. As abas podem ser agrupadas usando o menu de contexto e podem ser associadas a uma cor e etiqueta específicas. Ao clicar na etiqueta do grupo, as abas associadas são agora ocultadas, restando apenas a etiqueta. Um segundo clique na etiqueta revela as abas ocultas novamente.

    Lançamento do Chrome 85

    Lançamento do Chrome 85
  • Implementada uma visualização do conteúdo das abas. Ao passar o mouse sobre o botão da aba, agora é exibida uma miniatura da página na aba. Esta funcionalidade ainda está ativada apenas para alguns usuários e pode ser habilitada através da configuração "chrome://flags/#tab-hover-cards".

    Lançamento do Chrome 85
  • Adicionada a capacidade de salvar formulários PDF editados, além de serem oferecidas as configurações "chrome://flags#pdf-viewer-update" e "chrome://flags/#pdf-two-up-view" para experimentação com a nova interface de visualização de documentos PDF.
  • Adicionada a opção de compartilhar links por meio de códigos QR. Para gerar um código QR para a página atual, um ícone especial foi colocado na barra de endereços, que aparece ao clicar na barra de endereços. Esta funcionalidade ainda está ativada apenas para alguns usuários e pode ser habilitada através da configuração "chrome://flags/#sharing-qr-code-generator".

    Lançamento do Chrome 85
  • Na página about:flags foi adicionada a opção "Omnibox UI Hide Steady-State URL Path, Query, and Ref" ("chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and-ref-on-interaction") permitindo para desativar a exibição de elementos de caminho e parâmetros de consulta na barra de endereços, mantendo visível apenas o domínio do site. O ocultamento ocorre quando a interação com a página começa (durante o carregamento e até que o usuário comece a rolagem, o URL completo é exibido). Após o ocultamento, para visualizar o URL completo, é necessário clicar na barra de endereços. Também está disponível a opção "chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover" para mostrar o URL completo ao passar o mouse. A configuração disponível no menu de contexto "Sempre mostrar URL completo" reverte o ocultamento de "https://", "www.", caminhos e parâmetros. Por padrão, o ocultamento está ativado apenas para uma pequena porcentagem de usuários. A motivação para essa alteração é a intenção de proteger os usuários contra phishing manipulando parâmetros na URL.
    Lançamento do Chrome 85
  • No modo tablet para dispositivos com telas sensíveis ao toque, a navegação horizontal entre as abas abertas é ativada, onde, além dos cabeçalhos nas abas, são exibidas grandes miniaturas das páginas relacionadas às abas. As abas podem ser movidas e reorganizadas com gestos na tela. A exibição das miniaturas pode ser ativada e desativada por meio de um botão especial localizado ao lado da barra de endereços e do avatar do usuário. Para desativar o modo, existem as configurações "chrome://flags/#webui-tab-strip" e "chrome://flags/#scrollable-tabstrip".

    Lançamento do Chrome 85
  • Na versão para Android, ao digitar na barra de endereços, é exibida uma sugestão de atalho para um acesso rápido às abas já abertas.
    Lançamento do Chrome 85
  • Na versão para Android, no menu de contexto dos links, que aparece após um toque prolongado em um link, foram adicionados etiquetas para destacar páginas rápidas. A velocidade é determinada com base em métricas Core Web Vitals, que consideram indicadores resumidos de tempo de carregamento, responsividade e estabilidade do conteúdo.
    Lançamento do Chrome 85
  • O bloqueio é garantido de carregamento inseguro (sem criptografia) de arquivos executáveis e foram adicionados alertas durante o download inseguro de arquivos compactados (zip, iso, etc.). Na próxima versão, espera-se o bloqueio de arquivos compactados e alertas para documentos (docx, pdf, etc.). No futuro, está planejado gradualmente interromper o suporte ao download de arquivos sem uso de criptografia. O bloqueio foi implementado, pois o download de arquivos sem criptografia pode ser usado para ações maliciosas, substituindo o conteúdo durante ataques MITM.
  • O suporte ao formato de imagem AVIF (AV1 Image Format) está ativado por padrão, utilizando tecnologias de compressão intra-quadro do formato de codificação de vídeo AV1. O contêiner para a distribuição de dados comprimidos em AVIF é totalmente análogo ao HEIF. O AVIF suporta imagens em HDR (High Dynamic Range) e em espaço de cores de amplo espectro, bem como em faixa dinâmica padrão (SDR).
  • Ao compilar versões para Windows e macOS, por padrão, ao chamar os compiladores MSVC e Clang. estão incluídas otimizações baseadas em resultados de perfilamento de código (PGO — otimização guiada por perfil), permitindo gerar um código mais otimizado com base na análise das características de execução do programa. A habilitação do PGO possibilitou acelerar o carregamento das abas em aproximadamente 10% (acelerando o teste Speedometer 2.0 no macOS em 7,7%, e no Windows em 11,4%). A responsividade da interface aumentou no macOS em 3,9% e no Windows em 7,3%.
  • Adicionado um modo experimental de redução da atividade das abas em segundo plano (‘Tab Throttling’), acessível através da configuração ‘chrome://flags##intensive-wake-up-throttling’ (espera-se que a ativação por padrão ocorra no Chrome 86). Quando o modo estiver ativado, a transmissão de controle para as abas em segundo plano (TaskQueues) é reduzida a 1 chamada por minuto, se a página estiver em segundo plano por mais de 5 minutos.
  • Para todas as categorias de usuários, foi ativado um modo de redução do consumo de recursos da CPU quando a janela do navegador não está visível para o usuário. Chrome verifica se a janela do navegador não está sobreposta por outras janelas e evita renderizar pixels nas áreas de sobreposição.
  • Fortalecida a proteção contra o carregamento de conteúdo multimídia misto (quando recursos são carregados via http:// em uma página HTTPS). Em páginas abertas via HTTPS, foi implementada a substituição automática de links ‘http://’ por ‘https://’ em blocos relacionados ao carregamento de imagens (anteriormente, scripts e iframes, arquivos de áudio e vídeo tinham suas URLs substituídas). Se a imagem não estiver disponível via https, seu carregamento é bloqueado (pode-se marcar manualmente o bloqueio através do menu acessível pelo símbolo de cadeado na barra de endereço).
  • Para certificados TLS emitidos a partir de 1º de setembro de 2020, será aplicada uma nova limitação no tempo de validade — a vida útil desses certificados não poderá ultrapassar 398 dias (13 meses). Limitações semelhantes foram aplicadas ao Firefox e ao Safari. Para certificados obtidos antes de 1º de setembro, a confiança será mantida, mas limitada a 825 dias (2,2 anos).
  • No modo Origin Trials (recursos experimentais que requerem ativação separada) foram adicionadas várias novas APIs. O Origin Trial permite o uso da API especificada a partir de aplicativos carregados a partir de localhost ou 127.0.0.1, ou após registro e obtenção de um token especial, que é válido por tempo limitado para um site específico.
    • Proposta a conceito portais para garantir uma navegação contínua entre sites e a inclusão de uma página dentro de outra para visualizar conteúdo antes de acessar. Foi proposto uma nova tag , que permite exibir outra página em forma de inserção, na qual, ao focar, a página mostrada na inserção será transferida para o estado do documento principal, dentro do qual a navegação é permitida. Ao contrário do iframe, a inserção é completamente isolada da página base e é tratada como um documento separado.
    • API Fetch Upload Streaming, permitindo que requisições fetch sejam feitas com o conteúdo carregado em forma de fluxo ReadableStream (anteriormente, a requisição exigia que todo o conteúdo estivesse pronto, agora é possível começar a enviar dados em forma de fluxo, sem esperar pela total disponibilidade do corpo da requisição). Por exemplo, um aplicativo web pode começar a enviar dados de um formulário web assim que o usuário começar a digitar no campo de entrada e, quando a digitação estiver concluída, os dados através do fetch() já serão enviados. Também, através da nova API, é possível transmitir dados de áudio e vídeo gerados do lado do cliente.
    • Foi proposta uma API Declarative Shadow DOM para criar novas ramificações raiz no Shadow DOM, por exemplo, para separar o estilo importado de um elemento de terceiros e a ramificação relacionada do DOM do documento principal. A API declarativa proposta permite desanexar ramificações do DOM apenas com HTML, sem a necessidade de escrever código em JavaScript.
    • Adicionada a propriedade RTCRtpEncodingParameters.adaptivePtime, que permite ao remetente de streams RTC (comunicação em tempo real) gerenciar a inclusão de um mecanismo adaptativo de envio de pacotes.
    • Facilitada a disponibilização de armazenamento persistente para aplicativos PWA (Progressive Web Apps) já instalados e TWA (Trusted Web Activities)
      O aplicativo apenas precisa chamar o método navigator.storage.persist() e o armazenamento persistente será disponibilizado automaticamente.
  • Implementada uma nova regra CSS @property, que permite registrar propriedades CSS personalizadas com herança, verificação de tipos e valores padrão. A ação @property é semelhante ao método anteriormente adicionado registerProperty().
  • Para sistemas com o SO Windows, foi disponibilizada a possibilidade de usar o método getInstalledRelatedApps() para determinar a instalação de aplicativos PWA. Anteriormente, este método funcionava apenas na plataforma Android.
  • Para sistemas de desktop, foi implementado suporte a atalhos de aplicativos, permitindo acesso rápido a ações comumente utilizadas no aplicativo. Para criar atalhos, basta adicionar elementos ao manifesto do web aplicativo no formato PWA (Progressive Web Apps). Anteriormente, os atalhos de aplicativos estavam disponíveis apenas na plataforma Android.
  • Adicionada a propriedade CSS content-visibility para controlar a visibilidade do conteúdo para otimização de renderização. Ao definir o valor 'auto', a visibilidade é determinada pelo navegador com base na proximidade do elemento ao limite da área visível. O valor 'hidden' permite o gerenciamento total da exibição do elemento através de scripts.
  • Adicionada a propriedade CSS counter-set para definir um valor específico para contadores existentes. A nova propriedade CSS complementa as propriedades já disponíveis counter-reset e counter-increment, utilizadas para criar um novo contador ou aumentar um existente.
  • Adicionada a propriedade CSS 'page', refletindo a página na impressão, assim como a propriedade 'page-orientation' para obter informações sobre a orientação da página ('upright', 'rotate-left' e 'rotate-right'). Implementado suporte para acessar páginas por nomes, como '@page foobar {}'.
  • Implementado o API Event Timing para medir os atrasos de eventos antes e depois do carregamento da página.
  • No evento leavepictureinpicture, agora é passada uma referência ao pictureInPictureWindow para acesso à janela no modo Picture-in-Picture.
  • Ao preencher o cabeçalho Referrer, por padrão agora é aplicada a regra strict-origin-when-cross-origin (enviar Referrer truncado para outros hosts dos quais os recursos são carregados) em vez de no-referrer-when-downgrade (Referrer não é preenchido ao fazer a solicitação de HTTPS para HTTP, mas é enviado ao carregar recursos via HTTPS).
  • Na API WebAuthn são oferecidos novos métodos getPublicKey(), getPublicKeyAlgorithm() e getAuthenticatorData().
  • No WebAssembly foi adicionada suporte à importação e exportação de parâmetros de função de 64 bits usando o tipo BigInt do JavaScript.
  • No WebAssembly, foi implementada a extensão Multi-value, permite funções que retornam mais de um valor.
  • O compilador inicial Liftoff para WebAssembly é utilizado para todas as arquiteturas e plataformas, não apenas para sistemas Intel. A principal diferença entre o Liftoff e o compilador TurboFan anteriormente utilizado é que o Liftoff tem como objetivo alcançar a maior velocidade de compilação inicial, mesmo que isso comprometa a performance do código gerado. O Liftoff é significativamente mais simples que o TurboFan e gera código de máquina pronto para execução muito rapidamente, permitindo que a execução comece quase imediatamente, reduzindo ao mínimo a latência da compilação. Para acelerar o código provisório, a fase de recompilação otimizada é iniciada em paralelo, utilizando o compilador Turbofan. Assim que as instruções de máquina otimizadas estão prontas, a versão inicial provisória é substituída por um código mais rápido. Em suma, devido à redução da latência antes do início da execução, o uso do Liftoff resultou em um aumento de aproximadamente 20% no desempenho do conjunto de testes WebAssembly.
  • Em JavaScript foram adicionados novos operadores de atribuição lógica: «??=», «&&=» e «||=». O operador «x ??= y» realiza a atribuição apenas se «x» for null ou undefined. O operador «x ||= y» realiza a atribuição apenas se «x» for FALSE, enquanto que em «x &&= y» é TRUE.
  • Adicionado o método String.prototype.replaceAll(), que retorna uma nova string (a string original não é alterada), onde todas as ocorrências são substituídas com base em um padrão especificado. Os padrões podem ser tanto simples máscaras quanto expressões regulares.
  • Implementado o método Promise.any(), que retorna a primeira Promise resolvida da lista.
  • O uso do manifesto AppCache foi descontinuado (tecnologia para organizar o funcionamento de aplicações web no modo offline). A razão citada é o desejo de eliminar um dos vetores para ataques relacionados ao cross-site scripting. Em vez do AppCache, recomenda-se usar a API Cache.
  • É proibido transmitir Cookies no modo SameSite=None para conexões não criptografadas. O atributo SameSite é especificado no cabeçalho Set-Cookie para controlar a transmissão de Cookies e, por padrão, é definido como «SameSite=Lax», limitando o envio de Cookies para subrequisições entre sites, como solicitações de imagens ou carregamento de conteúdo através de iframe de outro site.
    Os sites podem substituir o modo SameSite padrão, definindo explicitamente o valor SameSite=None ao configurar o Cookie. O valor SameSite=None para Cookies agora só pode ser definido em modo Secure, que se aplica a conexões através do HTTPS.
  • Nas ferramentas para desenvolvedores web foi adicionada suporte à edição de estilos criados por frameworks CSS-in-JS usando a API CSSOM (CSS Object Model), bem como estilos adicionados a partir do JavaScript. O painel de auditoria foi atualizado para o lançamento Lighthouse 6.0, que adiciona novas métricas Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) e Total Blocking Time (TBT).

    Lançamento do Chrome 85
  • No painel de avaliação de desempenho, são exibidas informações sobre o cache de resultados de compilação do JavaScript. Em caso de navegação do usuário pela página, a escala mostra o tempo relativo ao início da navegação e não ao início da gravação.

    Lançamento do Chrome 85

Além das inovações e correções de bugs, na nova versão foram eliminadas 20 vulnerabilidades. Muitas das vulnerabilidades foram descobertas através de teste automatizado com ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Nenhum problema crítico que permita contornar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox foi identificado. No âmbito do programa de recompensas por vulnerabilidades para o lançamento atual, a Google pagou 14 prêmios no valor total de 10.000 dólares (um prêmio de $5000, três prêmios de $1000 e quatro prêmios de $500). O valor de 6 recompensas ainda não foi definido.

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