A fost publicată lansarea browserului web Pale Moon 31.0, ramificându-se de la baza de cod Firefox pentru a oferi performanțe mai mari, a păstra interfața clasică, a minimiza consumul de memorie și a oferi opțiuni suplimentare de personalizare. Compilările Pale Moon sunt create pentru Windows și Linux (x86 și x86_64). Codul proiectului este distribuit sub MPLv2 (Mozilla Public License).
Proiectul aderă la organizarea interfeței clasice, fără a trece la interfața Australis integrată în Firefox 29 și cu opțiuni extinse de personalizare. Componentele eliminate includ DRM, Social API, WebRTC, vizualizator PDF, Crash Reporter, cod pentru colectarea statisticilor, instrumente pentru controlul parental și persoanele cu dizabilități. În comparație cu Firefox, browserul păstrează suportul pentru tehnologia XUL și păstrează capacitatea de a folosi atât teme de design cu drepturi depline, cât și cele ușoare.
În noua versiune:
- După ce s-au identificat o serie de probleme de stabilitate și au protestat din partea unuia dintre dezvoltatorii cheie, versiunile finalizate anterior ale Pale Moon 30.0.0 și 30.0.1 au fost anulate. Utilizarea platformei UXP (Unified XUL Platform) a fost returnată, dezvoltând un furk de componente Firefox din depozitul Mozilla Central, eliberate de legături la codul Rust și neincluzând dezvoltările proiectului Quantum. Motorul de browser folosit este Goanna 5.1, o variantă a motorului Gecko, curățat de cod de componente și platforme neacceptate. Utilizatorilor ramului Pale Moon 29.x li se oferă o tranziție directă la lansarea 31.0.
- Este oferit suport atât pentru suplimente vechi nemodificate pentru Firefox, cât și pentru suplimente noi special pregătite pentru Pale Moon. Stabilitatea suplimentelor mai vechi nu este garantată, așa că vor fi marcate în managerul de suplimente cu o etichetă portocalie specială.
- S-a adăugat suport pentru verificarea unică a întregului lanț de proprietăți sau apeluri în JavaScript folosind operatorul „?.” De exemplu, folosind „db?.user?.name?.length” puteți accesa valoarea „db.user.name.length” fără verificări preliminare.
- Pentru a îmbunătăți compatibilitatea cu site-urile web, au fost adăugate metodele Selection.setBaseAndExtent() și queueMicroTask().
- În constructorul IntersectionObserver(), când trece un șir gol, proprietatea rootMargin este setată implicit în loc să arunce o excepție.
- Redare îmbunătățită a design-urilor definite folosind grila CSS și flexbox.
- Performanță îmbunătățită a execuției paralele a lucrătorilor web în JavaScript.
- Afișare îmbunătățită a fonturilor italice.
- Versiuni actualizate ale bibliotecilor incluse în pachetul de bază.
- S-a adăugat suport pentru identificatorii de codec video VPx extinși.
- S-a rezolvat o problemă de lungă durată cu afișarea câmpurilor setate direct în etichetele body și iframe fără a utiliza CSS.
- S-a eliminat codul legat de utilizarea serviciilor Google SafeBrowsing și URLClassifier.
- Codul pentru asamblare pe platforma macOS a fost restaurat.
- S-a eliminat API-ul ArchiveReader non-standard.
- Codul a fost curățat de componentele Mozilla pentru colectarea telemetriei.
- S-a eliminat codul legat de suportul platformei Android.
- Cadrul de testare automată Marionette a fost eliminat.
- Remedieri legate de eliminarea vulnerabilităților au fost amânate.

Sursa: opennet.ru
