Foi lançado o navegador web Pale Moon 31.0, ramificação do código-base do Firefox para assegurar maior eficiência, manter a interface clássica, minimizar o consumo de memória e fornecer funcionalidades adicionais de personalização. As versões do Pale Moon são disponibilizadas para Windows e Linux (x86 e x86_64). O código do projeto é distribuído sob a licença MPLv2 (Mozilla Public License).
O projeto mantém a organização clássica da interface, sem transitar para a interface integrada do Firefox 29 (Australis), e com amplas opções de personalização. Entre os componentes removidos estão DRM, Social API, WebRTC, visualizador de PDF, Crash Reporter, código para coleta de estatísticas, ferramentas para controle dos pais e para pessoas com deficiências. Em comparação com o Firefox, o navegador preserva o suporte à tecnologia XUL e mantém a possibilidade de utilizar temas completos e leves.
Na nova versão:
- Após a identificação de uma série de problemas de estabilidade e o protesto de um dos principais desenvolvedores, as versões previamente liberadas Pale Moon 30.0.0 e 30.0.1 foram canceladas. O uso da plataforma UXP (Unified XUL Platform) foi retomado, desenvolvendo uma ramificação dos componentes do Firefox a partir do repositório do Mozilla Central, livres de dependências do código em Rust e que não incluem os desenvolvimentos do projeto Quantum. O mecanismo do navegador utiliza o Goanna 5.1, uma variante do motor Gecko, limpa de código de componentes e plataformas não suportados. Os usuários da ramificação Pale Moon 29.x são convidados a fazer uma transição direta para a versão 31.0.
- Foi garantido suporte tanto para extensões antigas não modificadas do Firefox quanto para novas extensões, especialmente preparadas para o Pale Moon. A estabilidade das extensões antigas não é garantida, portanto, elas serão marcadas no gerenciador de extensões com um rótulo laranja especial.
- Foi adicionada a capacidade de verificar toda a cadeia de propriedades ou chamadas em JavaScript de uma só vez usando o operador "?.". Por exemplo, através de "db?.user?.name?.length" é possível acessar o valor "db.user.name.length" sem verificações prévias.
- Para melhorar a compatibilidade com sites, foram adicionados os métodos Selection.setBaseAndExtent() e queueMicroTask().
- No construtor IntersectionObserver(), ao passar uma string vazia, o comportamento padrão da propriedade rootMargin é aplicado em vez de gerar uma exceção.
- Foi aprimorada a renderização de estruturas definidas usando CSS grid e flexbox.
- Foi aumentada a performance da execução paralela de web workers em JavaScript.
- Foi melhorada a exibição de fontes em itálico.
- As versões das bibliotecas incluídas na distribuição básica foram atualizadas.
- Foi adicionado suporte para identificadores expandidos de codecs de vídeo VPx.
- Foi resolvido um problema antigo com a exibição de campos definidos diretamente nas tags body e iframe sem o uso de CSS.
- Foi removido o código relacionado ao uso dos serviços Google SafeBrowsing e URLClassifier.
- O código para compilação na plataforma macOS foi restaurado.
- Foi removida a API não padronizada ArchiveReader.
- O código foi limpo de componentes da Mozilla para coleta de telemetria.
- Foi removido o código relacionado ao suporte da plataforma Android.
- O framework de testes automatizados Marionette foi removido.
- Correções relacionadas à remoção de vulnerabilidades foram incorporadas.

Fonte: opennet.ru
