Foi lançado o navegador Firefox 89. Além disso, foi criada uma atualização para o branch de suporte de longo prazo 78.11.0. A filial do Firefox 90 será em breve transferida para a fase de testes beta, cujo lançamento está previsto para 13 de julho.
Principais inovações:
- A interface foi significativamente modernizada. Os ícones dos ícones foram atualizados, o estilo dos diferentes elementos foi unificado e a paleta de cores foi redesenhada.
- O design da barra de guias foi alterado - os cantos dos botões das guias são arredondados e não se fundem mais com o painel ao longo da borda inferior (efeito de botão flutuante). A separação visual das abas inativas foi removida, mas a área ocupada pelo botão fica destacada quando você passa o mouse sobre a aba.
- O menu foi reestruturado. Elementos raramente usados e desatualizados foram removidos do menu principal e dos menus de contexto para focar nos recursos mais importantes. Os restantes elementos são reagrupados em função da importância e da procura dos utilizadores. Como parte da luta contra a confusão visual que distrai, os ícones próximos aos itens do menu foram removidos e apenas os rótulos de texto foram deixados. A interface para customização do painel e ferramentas para desenvolvedores web estão localizadas em um submenu separado “Mais Ferramentas”.
- Foi removido o menu "..." (Ações da página) embutido na barra de endereço, por meio do qual você poderia adicionar um marcador, enviar um link para o Pocket, fixar uma aba, trabalhar com a área de transferência e iniciar o envio de material por e-mail. As opções disponíveis através do menu “…” foram movidas para outras partes da interface, permanecem disponíveis na seção de configurações do painel e podem ser colocadas individualmente no painel em forma de botões. Por exemplo, o botão da interface para criação de capturas de tela está disponível através do menu de contexto mostrado quando você clica com o botão direito na página.
- Redesenhada a barra lateral pop-up para personalizar a página com a interface mostrada ao abrir uma nova aba.
- O design dos painéis informativos e dos diálogos modais com avisos, confirmações e solicitações foi alterado e unificado com outros diálogos. As caixas de diálogo são exibidas com cantos arredondados e centralizadas verticalmente.
- Após a atualização, é exibida uma tela inicial que sugere usar o Firefox como navegador padrão do sistema e permite selecionar um tema. Os temas que você pode escolher são: sistema (leva em consideração as configurações do sistema ao projetar janelas, menus e botões), claro, escuro e Alpenglow (cor).
- Por padrão, a interface de configurações de aparência do painel oculta um botão para ativar o modo de exibição do painel compacto. Para retornar a configuração para about:config, o parâmetro “browser.compactmode.show” foi implementado. Para usuários que possuem o modo compacto habilitado, a opção será ativada automaticamente.
- O número de elementos que distraem a atenção do usuário foi reduzido. Removidos avisos e notificações desnecessários.
- Uma calculadora está integrada na barra de endereço, permitindo calcular expressões matemáticas especificadas em qualquer ordem. A calculadora está atualmente desativada por padrão e requer alteração da configuração Suggest.calculator em about:config. Num dos próximos lançamentos espera-se também (já adicionado às compilações noturnas do en-US) o aparecimento de um conversor de unidades embutido na barra de endereço, permitindo, por exemplo, converter pés em metros.
- As compilações do Linux habilitam o mecanismo de composição WebRender para todos os usuários Linux, incluindo todos os ambientes de desktop, todas as versões do Mesa e sistemas com drivers NVIDIA (anteriormente o webRender só era habilitado para GNOME, KDE e Xfce com drivers Intel e AMD). WebRender é escrito na linguagem Rust e permite obter um aumento significativo na velocidade de renderização e reduzir a carga na CPU movendo as operações de renderização de conteúdo da página para o lado da GPU, que são implementadas por meio de shaders executados na GPU. Para desabilitar o WebRender em about:config, você pode usar a configuração “gfx.webrender.enabled” ou executar o Firefox com a variável de ambiente MOZ_WEBRENDER=0 definida.
- O método Total Cookie Protection está habilitado por padrão, que anteriormente era ativado apenas quando você selecionava o modo estrito de bloqueio de conteúdo indesejado (estrito). Para cada site, é agora utilizado um armazenamento isolado separado para Cookies, o que não permite a utilização de Cookies para rastrear o movimento entre sites, uma vez que todos os Cookies definidos a partir de blocos de terceiros carregados no site estão agora vinculados ao site principal e são não são transferidos quando esses blocos são acessados de outros sites. Como exceção, a possibilidade de transferência de cookies entre sites é deixada para serviços não relacionados ao rastreamento de usuários, por exemplo, aqueles usados para autenticação única. As informações sobre cookies entre sites bloqueados e permitidos são exibidas no menu exibido quando você clica no símbolo de escudo na barra de endereço.
- Foi incluída a segunda versão do mecanismo SmartBlock, projetado para solucionar problemas em sites que surgem devido ao bloqueio de scripts externos no modo de navegação privada ou quando o bloqueio aprimorado de conteúdo indesejado (estrito) está ativado. Entre outras coisas, o SmartBlock permite aumentar significativamente o desempenho de alguns sites que ficam lentos devido à incapacidade de carregar o código do script para rastreamento. O SmartBlock substitui automaticamente os scripts usados para rastreamento por stubs que garantem que o site carregue corretamente. Os stubs são preparados para alguns scripts populares de rastreamento de usuários incluídos na lista Disconnect, incluindo scripts com widgets do Facebook, Twitter, Yandex, VKontakte e Google.
- O suporte para a extensão TLS DC (Credenciais Delegadas) está incluído para delegação de certificados de curta duração, o que resolve o problema com certificados ao organizar o acesso a um site por meio de redes de entrega de conteúdo. As Credenciais Delegadas introduzem uma chave privada intermediária adicional, cuja validade é limitada a horas ou vários dias (não mais que 7 dias). Essa chave é gerada com base em um certificado emitido por uma autoridade de certificação e permite manter a chave privada do certificado original em segredo dos serviços de entrega de conteúdo. Para evitar problemas de acesso após a expiração da chave intermediária, é fornecida uma tecnologia de atualização automática que é realizada no servidor TLS original.
- É apresentada uma implementação de terceiros (não nativa do sistema) de elementos de formulário de entrada, como interruptores, botões, listas suspensas e campos de entrada de texto (entrada, área de texto, botão, seleção), apresentando um design mais moderno. O uso de uma implementação separada de elementos de formulário também teve um efeito positivo no desempenho de exibição da página.
- A capacidade de manipular o conteúdo dos elementos é fornecida E usando comandos Document.execCommand(), salvando o histórico de edição e sem especificar explicitamente a propriedade contentEditable.
- Implementação da API Event Timing para medir atrasos de eventos antes e depois do carregamento da página.
- Adicionada propriedade CSS de cores forçadas para determinar se o navegador está usando uma paleta de cores restrita especificada pelo usuário em uma página.
- O descritor @font-face foi adicionado às propriedades CSS ascent-override, descent-override e line-gap-override para substituir métricas de fonte, que podem ser usadas para unificar a exibição de uma fonte em diferentes navegadores e sistemas operacionais, como bem como para eliminar mudanças no layout da página, fontes da web.
- A função CSS image-set(), que permite selecionar uma imagem de um conjunto de opções com diferentes resoluções que seja mais adequada aos parâmetros de tela atuais e largura de banda de conexão de rede, suporta a função type().
- O JavaScript por padrão permite o uso da palavra-chave await em módulos de nível superior, o que permite que chamadas assíncronas sejam integradas de maneira mais suave ao processo de carregamento do módulo e evita envolvê-las em uma “função assíncrona”. Por exemplo, em vez de (async function() { await Promise.resolve(console.log('test')); }()); agora você pode escrever await Promise.resolve(console.log('test'));
- Em sistemas de 64 bits, é permitido criar estruturas ArrayBuffers maiores que 2GB (mas não maiores que 8GB).
- Os eventos DeviceProximityEvent, UserProximityEvent e DeviceLightEvent, que não são suportados em outros navegadores, foram descontinuados.
- No painel de inspeção de páginas, a navegação pelo teclado nas propriedades editáveis do BoxModel foi aprimorada.
- As compilações para Windows melhoraram a aparência dos menus de contexto e aceleraram a inicialização do navegador.
- As compilações para macOS implementam o uso de menus de contexto e barras de rolagem nativos da plataforma. Adicionado suporte para o efeito de rolagem além da borda da área visível (overscroll), que sinaliza o alcance do final da página. Adicionado suporte para zoom inteligente, ativado por clique duplo. Adicionado suporte para tema escuro. Problemas com discrepâncias de exibição de cores entre CSS e imagens foram resolvidos. No modo de tela inteira, você pode ocultar os painéis.
Além de inovações e correções de bugs, o Firefox 89 eliminou 16 vulnerabilidades, das quais 6 estão marcadas como perigosas. 5 (coletadas sob CVE-2021-29967) são causadas por problemas de memória, como buffer overflows e acesso a áreas de memória já liberadas. Potencialmente, esses problemas podem levar à execução do código de um invasor ao abrir páginas especialmente projetadas.
Fonte: opennet.ru