De release van de webbrowser Pale Moon 31.0 is gepubliceerd. Dit is een tak van de Firefox-codebasis die is ontwikkeld voor een hogere efficiƫntie, behoud van een klassiekere interface, minimalisering van geheugengebruik en het bieden van extra configuratiemogelijkheden. Pale Moon-bundels zijn beschikbaar voor Windows en Linux (x86 en x86_64). De code van het project wordt verspreid onder de MPLv2 (Mozilla Public License).
Het project houdt zich aan de klassieke indeling van de interface, zonder over te stappen naar de geĆÆntegreerde interface van Firefox 29, Australis, en biedt uitgebreide aanpassingsmogelijkheden. Verwijderde componenten zijn onder andere DRM, Social API, WebRTC, PDF-viewer, Crash Reporter, code voor statistische verzameling, ouderlijk toezicht en hulpmiddelen voor mensen met een beperking. Ten opzichte van Firefox is de ondersteuning van de XUL-technologie behouden en blijft het mogelijk om zowel volledige als lichte thema's toe te passen.
In de nieuwe versie:
- Na het vaststellen van een aantal stabiliteitsproblemen en de protesten van een van de belangrijkste ontwikkelaars zijn de eerder gevormde versies Pale Moon 30.0.0 en 30.0.1 geannuleerd. De gebruikmaking van het UXP (Unified XUL Platform) is hersteld, wat de ontwikkeling van Firefox-componenten uit het Mozilla Central-repository omvat, vrij van afhankelijkheden aan Rust-code en zonder Quantum-projectbijdragen. Goanna 5.1, een variant van de Gecko-engine, is als browserengine gebruikt en bevat geen ongewenste componenten en platforms. Gebruikers van de Pale Moon 29.x tak hebben de mogelijkheid om rechtstreeks over te stappen naar versie 31.0.
- Er is ondersteuning toegevoegd voor zowel oude niet-gemodificeerde Firefox-add-ons als nieuwe add-ons, speciaal voorbereid voor Pale Moon. De stabiliteit van oude add-ons is niet gegarandeerd, daarom worden ze in de add-onbeheerder gemarkeerd met een speciale oranje label.
- Ondersteuning voor het gelijktijdig controleren van de hele keten van eigenschappen of aanroepen in JavaScript is toegevoegd met de operator "?.". Bijvoorbeeld, met "db?.user?.name?.length" kan de waarde "db.user.name.length" worden aangesproken zonder voorafgaande controles.
- Om de compatibiliteit met websites te verbeteren zijn de methodes Selection.setBaseAndExtent() en queueMicroTask() toegevoegd.
- In de IntersectionObserver()-constructor is bij het doorgeven van een lege string de standaardwaarde voor rootMargin ingesteld in plaats van het genereren van een uitzondering.
- De rendering van structuren, ingesteld met behulp van CSS grid en flexbox, is verbeterd.
- De prestaties van parallelle uitvoering van web-workers in JavaScript zijn verhoogd.
- De weergave van cursieve lettertypen is verbeterd.
- De versies van de bibliotheken in de basislevering zijn bijgewerkt.
- Ondersteuning voor uitgebreide identificatoren van videocodecs VPx is toegevoegd.
- Een langdurig probleem met de weergave van velden, ingesteld binnen de body- en iframe-tags zonder CSS, is opgelost.
- Code gerelateerd aan het gebruik van Google SafeBrowsing en URLClassifier is verwijderd.
- De code voor de bouw op het macOS-platform is hersteld.
- De niet-standaard API ArchiveReader is verwijderd.
- De code is opgeschoond van Mozilla-componenten voor het verzamelen van telemetrie.
- De code gerelateerd aan de ondersteuning van het Android-platform is verwijderd.
- Het framework voor geautomatiseerd testen Marionette is verwijderd.
- Herstelkwesties in verband met het verhelpen van kwetsbaarheden zijn overgebracht.

Bron: opennet.ru
