Byl vydán nový release webového prohlížeče Pale Moon 31.0, který se odklonil od kódové základny Firefox za účelem zajištění vyšší efektivity, zachování klasického rozhraní, minimalizace spotřeby paměti a nabízení dalších možností přizpůsobení. Verze Pale Moon jsou vytvořeny pro Windows a Linux (x86 a x86_64). Kód projektu je distribuován pod licencí MPLv2 (Mozilla Public License).
Projekt se drží klasické organizace rozhraní, bez přechodu na integrované rozhraní Australis z Firefoxu 29, a poskytuje široké možnosti přizpůsobení. Mezi odstraněné komponenty patří DRM, Social API, WebRTC, PDF prohlížeč, Crash Reporter, kód pro shromažďování statistik, nástroje pro rodičovskou kontrolu a pro osoby se zdravotním postižením. Ve srovnání s Firefoxem prohlížeč zachovává podporu technologie XUL a umožňuje použití jak plnohodnotných, tak i lehkých témat.
V nové verzi:
- Po zjištění řady problémů se stabilitou a protestu jednoho z klíčových vývojářů byly zrušeny dříve vydané verze Pale Moon 30.0.0 a 30.0.1. Bylo obnoveno použití platformy UXP (Unified XUL Platform), která rozvíjí odvození komponent Firefox z repozitáře Mozilla Central, zbavené vazeb na kód v jazyce Rust a nezahrnující práce projektu Quantum. Jako prohlížečový engine je použit Goanna 5.1, varianta enginu Gecko, očištěná od kódu nepodporovaných komponent a platforem. Uživatelům větve Pale Moon 29.x byl nabídnut přímý přechod na verzi 31.0.
- Je zajištěna podpora jak starých nemodifikovaných doplňků pro Firefox, tak nových doplňků speciálně připravených pro Pale Moon. Stabilita fungování starých doplňků není garantována, a proto budou označeny v manažeru doplňků speciální oranžovou nálepkou.
- Byla přidána podpora pro jednorázovou kontrolu celé řetězce vlastností nebo volání v JavaScriptu pomocí operátoru „?.“. Například přes „db?.user?.name?.length“ lze přistupovat k hodnotě „db.user.name.length“ bez předchozích kontrol.
- Pro zlepšení kompatibility s webovými stránkami byly přidány metody Selection.setBaseAndExtent() a queueMicroTask().
- V konstruktoru IntersectionObserver() při předání prázdného řetězce bylo zajištěno nastavení výchozího vlastnosti rootMargin místo generování výjimky.
- Bylo vylepšeno vykreslování konstrukcí zadaných pomocí CSS grid a flexbox.
- Byla zvýšena výkonnost paralelního provádění webových pracovníků v JavaScriptu.
- Bylo vylepšeno zobrazení kurzívy.
- Byly aktualizovány verze knihoven zahrnutých v základní dodávce.
- Byla přidána podpora rozšířených identifikátorů video kodeků VPx.
- Byl vyřešen dlouhodobý problém s vykreslováním polí, určených přímo v značkách body a iframe bez použití CSS.
- Byl odstraněn kód spojený s používáním služeb Google Safe Browsing a URLClassifier.
- Byl obnoven kód pro sestavení na platformě macOS.
- Bylo odstraněno nestandardní API ArchiveReader.
- Bylo provedeno čištění kódu od komponent Mozilla pro sběr telemetrie.
- Byl odstraněn kód související s podporou platformy Android.
- Byl odstraněn rámec automatizovaného testování Marionette.
- Byly přeneseny opravy související s odstraněním zranitelností.

Zdroj: opennet.ru
