Foi lançado o navegador web Firefox 87. Além disso, foi formada uma atualização da ramificação com longo prazo de suporte 78.9.0. A ramificação Firefox 88 entrou na fase de testes beta, com lançamento previsto para 20 de abril.
Principais novidades:
- Ao usar a função de busca e ativar o modo de destaque para todas as correspondências encontradas (Highlight All), agora aparecem etiquetas na barra de rolagem para indicar a posição das chaves encontradas.

- Elementos raramente utilizados foram removidos do menu Library. No menu Library, foram mantidos apenas os links para marcadores, histórico e downloads (as guias sincronizadas, marcadores recentes e a lista Pocket foram removidos). No screenshot abaixo, à esquerda está como era e à direita como ficou no Firefox 87:


- O menu Web Developer foi significativamente simplificado — links separados para ferramentas (Inspector, Web Console, Debugger, Network Style Error, Performance, Storage Inspector, Accessibility e Application) foram substituídos por um item geral, Web Developer Tools.


- O menu Help foi simplificado, com links para páginas de suporte, combinações de teclas e um tour de introdução removidos e agora disponíveis em uma página geral de Get Help. O botão para importar de outro navegador foi removido.
- Foi adicionado o mecanismo SmartBlock, que resolve problemas em sites que surgem devido ao bloqueio de scripts externos no modo de navegação privada ou ao ativar bloqueio rigoroso de conteúdo indesejado (strict). O SmartBlock permite, inclusive, aumentar significativamente o desempenho de alguns sites que estavam lentos devido à impossibilidade de carregar códigos de scripts de rastreamento. O SmartBlock substitui automaticamente os scripts de rastreamento por placeholders que garantem o carregamento correto do site. Os placeholders foram preparados para alguns scripts populares de rastreamento de usuários, listados no Disconnect, incluindo scripts com widgets do Facebook, Twitter, Yandex, Vkontakte e Google.
- O manipulador da tecla Backspace foi desativado por padrão fora do contexto de formulários de entrada. A remoção do manipulador é explicada pelo fato de que a tecla Backspace é amplamente utilizada ao digitar em formulários, mas fora do foco em um formulário de entrada, ela é tratada como um retorno à página anterior, o que pode resultar na perda de texto digitado devido à navegação não intencional para outra página. Para restaurar o comportamento antigo, foi adicionada a opção browser.backspace_action em about:config.
- A formação do cabeçalho HTTP Referer foi alterada. Por padrão, a política é 'strict-origin-when-cross-origin', que implica na remoção de caminhos e parâmetros ao enviar uma solicitação para outros hosts ao acessar via HTTPS, na eliminação do Referer ao mudar de HTTPS para HTTP, e na transmissão do Referer completo para navegações internas dentro de um único site. A mudança se aplicará a solicitações de navegação comuns (cliques em links), redirecionamentos automáticos e ao carregar recursos externos (imagens, CSS, scripts). Por exemplo, ao clicar em um link para um outro site via HTTPS, em vez de 'Referer: https://www.example.com/caminho/?argumentos', agora é enviado 'Referer: https://www.example.com/'.
- Para uma pequena porcentagem de usuários, o modo Fission foi ativado, implementando uma arquitetura multiprocessada modernizada para um isolamento mais rigoroso das páginas. Quando o Fission está ativado, páginas de diferentes sites sempre são armazenadas na memória de processos diferentes, cada um com seu próprio sandbox isolado. A separação por processos não é feita por abas, mas por domínios, permitindo um isolamento adicional do conteúdo de scripts externos e blocos iframe. O modo Fission pode ser ativado manualmente na página about:preferences#experimental ou através da variável 'fission.autostart=true' em about:config. Para verificar se está ativado, acesse a página about:support.
- Foi removida a implementação experimental do mecanismo de abertura rápida de conexões TCP (TFO — TCP Fast Open, RFC 7413), que permite reduzir o número de etapas na instalação da conexão ao combinar em uma única solicitação o primeiro e o segundo passos do clássico processo de três etapas de estabelecimento de conexão e permite o envio de dados na fase inicial de instalação da conexão. Por padrão, o modo TCP Fast Open foi desativado e exigia uma modificação em about:config para ativação (network.tcp.tcp_fastopen_enable).
- De acordo com as mudanças feitas nas especificações, o elemento não é mais incluído nas verificações com os pseudoclasses ':link', ':visited' e ':any-link'.
- Os valores não padronizados para o parâmetro CSS caption-side — left, right, top-outside e bottom-outside foram removidos (a configuração layout.css.caption-side-non-standard.enabled permite a restauração).
- Estão ativados por padrão o evento «beforeinput» e o método getTargetRanges(), com os quais aplicações web podem redefinir o comportamento de edição de texto antes que o navegador altere a árvore DOM e obter maior controle sobre os eventos de input. O evento «beforeinput» é enviado para o manipulador <input> ou outro elemento com o atributo «contenteditable» definido antes que o valor do elemento seja alterado. O método getTargetRanges(), fornecido pelo objeto inputEvent, retorna um array com valores que permitem determinar qual parte do DOM será alterada se o evento de input não for cancelado.
- Para desenvolvedores web, no modo de inspeção de páginas, foi implementada a possibilidade de simular consultas de mídia «prefers-color-scheme» para testar temas claros e escuros sem mudar os temas na operação do sistema. Para ativar a simulação de temas escuro e claro, foram adicionados botões com imagens de sol e lua no canto superior direito da barra de ferramentas para desenvolvedores web.
- No modo de inspeção, foi adicionada a possibilidade de ativar a pseudo-classe «:target» para o elemento selecionado, assim como as pseudo-classes «:hover», «:active», «:focus», «:focus-within», «:focus-visible» e «:visited» já suportadas anteriormente.

- No modo de inspeção de CSS, melhorou-se o tratamento das regras CSS inativas. Em particular, a propriedade «table-layout» agora se torna inativa para elementos que não são tabelas, enquanto as propriedades «scroll-padding-*» são marcadas como inativas para elementos que não suportam rolagem. Foi removida a marcação errônea das propriedades «text-overflow» para alguns valores.
Além das novidades e correções de erros, o Firefox 87 corrigiu 12 vulnerabilidades, das quais 7 foram classificadas como perigosas. 6 vulnerabilidades (agregadas sob CVE-2021-23988 e CVE-2021-23987) foram causadas por problemas de gerenciamento de memória, como estouros de buffer e acessos a áreas de memória já liberadas. Essas questões potencialmente podem levar à execução de código malicioso ao abrir páginas especialmente formatadas.
A versão Firefox 88, que passou para a fase de beta testing, é notável pelo suporte ao dimensionamento por pinça em touchpads no Linux com ambientes gráficos baseados no protocolo Wayland, além de incluir por padrão suporte ao formato de imagem AVIF (AV1 Image Format), que utiliza tecnologias de compressão intra-quadro do formato de codificação de vídeo AV1.
Fonte: opennet.ru






