Foi lançado o navegador web Firefox 86. Além disso, foi formada uma atualização da ramificação com suporte de longo prazo 78.8.0. A ramificação do Firefox 87 foi para a fase de beta testing, com lançamento programado para 23 de março.
Principais novidades:
- No modo restrito de bloqueio de conteúdo indesejado (strict), foi ativado o modo de proteção total de Cookies (Total Cookie Protection), onde é usado um armazenamento isolado separado para Cookies de cada site. O método de isolamento proposto não permite o uso de Cookies para rastrear a navegação entre sites, pois todos os Cookies emitidos de blocos externos carregados no site agora estão vinculados ao site principal e não são transferidos ao acessar esses blocos de outros sites. Como uma exceção, a transferência intersite de Cookies foi mantida para serviços não relacionados ao rastreamento de usuários, como os usados para autenticação única. Informações sobre Cookies bloqueados e permitidos entre sites são exibidas no menu que aparece ao clicar no ícone de escudo na barra de endereço.

- Todos os usuários agora têm um novo interface de visualização de documentos antes da impressão, com integração com as configurações de impressora do sistema. A nova interface funciona de maneira semelhante ao modo leitor e abre a visualização na aba atual, substituindo o conteúdo existente. Na barra lateral, são oferecidas ferramentas para escolher a impressora, definir o formato da página, alterar as opções de impressão e controlar a inclusão de cabeçalhos e fundo na impressão.

- As operações de renderização dos elementos Canvas e WebGL foram transferidas para um processo separado, responsável por delegar operações ao GPU. Essa mudança permitiu aumentar significativamente a estabilidade e o desempenho de sites que utilizam WebGL e Canvas.
- Todo o código relacionado à decodificação de vídeo foi movido para um novo processo RDD, o que aumentou a segurança através da isolação dos manipuladores de vídeo em um processo separado.
- As compilações para Linux e Android incluem proteção contra ataques que manipulam a interseção de pilha e heap. A proteção é baseada na aplicação da opção "-fstack-clash-protection", que, ao ser especificada, faz com que o compilador insira chamadas de verificação (probe) a cada alocação estática ou dinâmica de espaço para a pilha, permitindo identificar casos de estouro de pilha e bloquear métodos de ataque baseados na interseção da pilha e do heap, relacionados à passagem de controle através de páginas de proteção da pilha.
- No modo leitor, foi adicionada a capacidade de visualizar páginas HTML salvas no sistema local.
- O suporte ao formato de imagens AVIF (AV1 Image Format) está habilitado por padrão, utilizando tecnologias de compressão intraframe 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. AVIF suporta imagens em HDR (High Dynamic Range) e em espaço de cores Wide-gamut, bem como em faixa dinâmica padrão (SDR). Anteriormente, a habilitação do AVIF exigia a configuração do parâmetro "image.avif.enabled" em about:config.
- Foi habilitado o suporte para abertura simultânea de várias janelas de vídeo no modo Picture-in-Picture.

- O suporte ao modo experimental SSB (Site Specific Browser), que permitia criar um atalho separado para um site sem os elementos da interface do navegador, com um ícone distinto na barra de tarefas, similar a aplicativos completos de sistema operacional, foi descontinuado. Razões mencionadas para essa decisão incluem problemas não resolvidos, benefícios questionáveis para usuários de sistemas desktop, recursos limitados e desejo de direcionar esses recursos para o desenvolvimento de produtos principais.
- Para conexões WebRTC (PeerConnections), o suporte ao protocolo DTLS 1.0 (Datagram Transport Layer Security), baseado em TLS 1.1 e usado no WebRTC para transmissão de áudio e vídeo, foi descontinuado. Em vez do DTLS 1.0, recomenda-se o uso do DTLS 1.2, que é baseado no TLS 1.2 (a especificação DTLS 1.3 baseada no TLS 1.3 ainda não está finalizada).
- No CSS, foi incluída a função image-set(), que permite escolher a imagem de um conjunto de opções com diferentes resoluções, mais adequada para os atuais parâmetros de tela e largura de banda da conexão. background-image: image-set( "cat.png" 1dppx, "cat-2x.png" 2dppx, "cat-print.png" 600dpi);
- Na propriedade CSS "list-style-image", destinada a definir uma imagem para os marcadores em uma lista, é permitido especificar quaisquer formas de definição de imagens através do CSS.
- No CSS, foi incluída a pseudo-classe ":autofill", que permite rastrear o preenchimento automático de campos pelo navegador dentro da tag input (o seletor não é acionado quando preenchido manualmente). input:autofill { border: 3px solid blue; }
- No JavaScript, o objeto interno Intl.DisplayNames está ativado por padrão, através do qual é possível obter nomes localizados de idiomas, países, moedas, elementos de data, etc. let currencyNames = new Intl.DisplayNames([‘en’], {type: ‘currency’}); currencyNames.of(‘USD’); // "Dólar dos EUA" currencyNames.of(‘EUR’); // "Euro"
- No DOM, é garantido que o valor da propriedade "Window.name" seja redefinido para um valor vazio ao carregar uma aba da página com outro do domínio e restaurar o valor anterior ao pressionar o botão "voltar" e retornar à página antiga.
- Nas ferramentas para desenvolvedores web, foi adicionada uma utilidade que emite um aviso ao definir valores de margens (margin ou padding) em CSS para elementos internos de tabelas.

- Na barra de ferramentas para desenvolvedores web, é exibido o número de erros na página atual. Ao clicar no indicador vermelho com o número de erros, pode-se imediatamente ir para o console web para visualizar a lista de erros.

Além de inovações e correções de erros, no Firefox 86 foram eliminadas 25 vulnerabilidades, das quais 18 são consideradas perigosas. 15 vulnerabilidades (agregadas sob CVE-2021-23979 e CVE-2021-23978) foram causadas por problemas de manipulação de memória, como estouros de buffer e acesso a áreas de memória que já foram liberadas. Potencialmente, essas questões podem permitir a execução de código malicioso ao abrir páginas especificamente elaboradas.
A versão Firefox 87, que entrou na fase de testes beta, se destaca por desativar, por padrão, o manipulador da tecla Backspace fora do contexto de formulários. A remoção do manipulador é explicada pelo fato de que a tecla Backspace é amplamente utilizada ao digitar em formulários, mas fora do foco do formulário, é tratada como um retorno à página anterior, o que pode resultar na perda de texto digitado devido ao movimento não intencional para outra página. Para restaurar o comportamento antigo, foi adicionada a opção browser.backspace_action em about:config. Além disso, ao usar a função de busca na página, agora são exibidas marcas ao lado da barra de rolagem para indicar a posição das chaves encontradas. O menu Web Developer foi significativamente simplificado e elementos raramente utilizados foram removidos do menu Library.
Fonte: opennet.ru




