È stato rilasciato il web browser Pale Moon 31.0, che si è distaccato dalla base di codice di Firefox per garantire un'efficienza lavorativa superiore, mantenere l'interfaccia classica, ridurre al minimo i consumi di memoria e offrire ulteriori possibilità di personalizzazione. Le versioni di Pale Moon sono disponibili per Windows e Linux (x86 e x86_64). Il codice del progetto è rilasciato sotto la licenza MPLv2 (Mozilla Public License).
Il progetto mantiene un'organizzazione dell'interfaccia classica, senza passare all'interfaccia Australis integrata in Firefox 29, e offre ampie possibilità di personalizzazione. Tra i componenti rimossi si possono notare DRM, Social API, WebRTC, visualizzatore PDF, Crash Reporter, codice per la raccolta di statistiche, strumenti per il controllo parentale e per le persone con disabilità. Rispetto a Firefox, il browser mantiene il supporto per la tecnologia XUL e consente l'uso sia di temi completi che di temi leggeri.
Nella nuova versione:
- Dopo aver individuato una serie di problemi di stabilità e il ritiro da parte di uno dei principali sviluppatori, sono stati annullati i rilasci precedentemente pianificati di Pale Moon 30.0.0 e 30.0.1. È stato ripristinato l'uso della piattaforma UXP (Unified XUL Platform), che sviluppa un ramo dei componenti di Firefox dal repository Mozilla Central, privati delle dipendenze dal codice in Rust e senza le implementazioni del progetto Quantum. Come motore del browser è stato utilizzato Goanna 5.1, una versione del motore Gecko, ripulita dal codice di componenti e piattaforme non supportati. Gli utenti del ramo Pale Moon 29.x possono effettuare un passaggio diretto al rilascio 31.0.
- È stata garantita la compatibilità sia con i vecchi componenti non modificati di Firefox, sia con i nuovi componenti appositamente preparati per Pale Moon. Tuttavia, non è garantita la stabilità delle vecchie estensioni, pertanto verranno contrassegnate con un'etichetta arancione speciale nel gestore delle estensioni.
- È stata aggiunta la supporto per la verifica simultanea dell'intera catena di proprietà o chiamate in JavaScript attraverso l'operatore «?.». Ad esempio, con «db?.user?.name?.length» è possibile accedere al valore «db.user.name.length» senza controlli preventivi.
- Per migliorare la compatibilità con i siti web, sono stati aggiunti i metodi Selection.setBaseAndExtent() e queueMicroTask().
- Nel costruttore IntersectionObserver(), l'inserimento di una stringa vuota ora imposta il valore predefinito della proprietà rootMargin anziché generare un'eccezione.
- Migliorato il rendering delle strutture definite tramite CSS grid e flexbox.
- Incrementate le prestazioni dell'esecuzione parallela dei web worker in JavaScript.
- Migliorata la resa dei font in corsivo.
- Aggiornate le versioni delle librerie incluse nella distribuzione di base.
- Aggiunta la supporto per identificatori video codec VPx estesi.
- Risolto un vecchio problema relativo alla visualizzazione dei campi definiti direttamente nei tag body e iframe senza l'uso di CSS.
- Rimosso il codice relativo all'uso dei servizi Google SafeBrowsing e URLClassifier.
- Ripristinato il codice per la compilazione sulla piattaforma macOS.
- Rimosso l'API non standard ArchiveReader.
- Pulizia del codice dai componenti Mozilla per la raccolta di telemetria.
- Rimosso il codice relativo al supporto della piattaforma Android.
- Rimosso il framework di test automatizzati Marionette.
- Consolidate le correzioni relative all'eliminazione delle vulnerabilità.

Fonte: opennet.ru
