A avut loc lansarea browserului web Firefox 89. În plus, a fost creată o actualizare a ramurii cu suport pe termen lung 78.11.0. Ramura Firefox 90 va intra în faza de beta testing în curând, lansarea fiind programată pentru 13 iulie.
Noutăți principale:
- A fost realizată o modernizare semnificativă a interfeței. Au fost actualizate pictogramele, a fost unificat stilul diferitelor elemente și a fost reproiectată paleta de culori.
- Aspectul barei de tab-uri a fost modificat — colțurile butoanelor tab-urilor sunt rotunjite și acum nu se mai suprapun cu bara de jos (efectul butonului flotant). Separarea vizuală a tab-urilor inactive a fost eliminată, dar zona ocupată de buton este iluminată la trecerea cursorului peste tab.

- A fost restructurat meniul. Elemente rareori folosite și demodate au fost eliminate din meniul principal și din meniurile contextuale pentru a pune accentul pe cele mai importante funcționalități. Elementele rămase au fost regroupate în funcție de importanță și popularitate pentru utilizatori. În cadrul luptei împotriva aglomerărilor vizuale care distrag atenția, pictogramele de lângă elementele din meniu au fost eliminate, lăsând doar etichetele text. Interfața pentru configurarea barei și instrumentele pentru dezvoltatorii web au fost mutate într-un submeniu separat „Instrumente Avansate” („More Tools”).


- Meniul „…” (Acțiuni Pagina) încorporat în bara de adresă a fost eliminat, care permitea adăugarea unui marcaj, trimiterea unui link în Pocket, fixarea unui tab, lucrul cu clipboard-ul și inițierea trimiterii materialelor prin email. Opțiunile disponibile prin meniul „…” au fost mutate în alte părți ale interfeței, rămân accesibile în secțiunea de configurare a barei și pot fi plasate individual pe bară sub formă de butoane. De exemplu, butonul de deschidere a interfeței pentru realizarea capturilor de ecran este disponibil prin meniul contextual, care apare la clic dreapta pe pagină.

- A fost reproiectat panoul lateral pop-up pentru configurarea paginii cu o interfață care se desfășoară la deschiderea unui tab nou.

- Aspectul panourilor informative și al dialogurilor modale cu avertismente, confirmări și cereri a fost modificat și unificat cu celelalte dialoguri. Dialogurile se afișează cu colțuri rotunjite și sunt centrate vertical.

- După actualizare, a fost activată o fereastră care oferă opțiunea de a folosi Firefox ca browser implicit în sistem și permite selectarea temelor. Sunt disponibile temele: sistemică (care ține cont de setările sistemului pentru aspectul ferestrelor, meniurilor și butoanelor), ușoară, întunecată și Alpenglow (colorată).





- În mod implicit, în interfața de configurare a aspectului panoului, este ascuns butonul pentru activarea modului compact de afișare. Pentru a restaura această setare în about:config a fost implementat parametrul „browser.compactmode.show”. Pentru utilizatorii care au activat modul compact, parametrul va fi activat automat.
- Numărul elementelor care distrag atenția utilizatorului a fost redus. A fost eliminată notificările și avertizările inutile.
- În bara de adrese a fost integrat un calculator care permite calcularea expresiilor matematice introduse într-o ordine aleatorie. Calculatorul este dezactivat în mod implicit și necesită modificarea setării suggest.calculator în about:config. În una dintre versiunile viitoare, se așteaptă, de asemenea (deja adăugat în versiunile nightly en-US), apariția unui convertor de unități integrat în bara de adrese, care va permite, de exemplu, convertirea foot în metri.

- În versiunile pentru Linux a fost activată utilizarea motorului de compunere WebRender pentru toți utilizatorii Linux, inclusiv pentru orice medii desktop, toate versiunile Mesa și sistemele cu drivere NVIDIA (anterior, WebRender era activat doar pentru GNOME, KDE și Xfce cu drivere Intel și AMD). WebRender este scris în limbajul Rust și permite o creștere semnificativă a vitezei de redare și o reducere a sarcinii pe CPU prin mutarea operațiunilor de redare a conținutului paginii pe GPU, realizate prin shader-e executate pe GPU. Pentru a dezactiva WebRender în about:config se poate folosi setarea „gfx.webrender.enabled” sau se poate lansa Firefox cu variabila de mediu MOZ_WEBRENDER=0.
- Metoda de protecție totală a cookie-urilor (Total Cookie Protection) este activată implicit, ea fiind activată anterior doar în modul strict de blocare a conținutului nedorit. Acum, pentru fiecare site, este utilizat un depozit izolat pentru cookie-uri, ceea ce împiedică utilizarea cookie-urilor pentru urmărirea navigării între site-uri, deoarece toate cookie-urile emise de blocuri externe încarcate pe site sunt acum legate de site-ul principal și nu sunt transmise atunci când se accesează aceste blocuri de pe alte site-uri. Totuși, pentru serviciile nesusținute de urmărirea utilizatorilor, cum ar fi cele utilizate pentru autentificarea unică, a fost lăsată posibilitatea de transfer intersite a cookie-urilor. Informațiile despre cookie-urile blocate și permise între site-uri sunt afișate în meniul care apare la click pe simbolul scutului din bara de adrese.

- A fost activată a doua versiune a mecanismului SmartBlock, destinat să rezolve problemele de pe site-uri care apar din cauza blocării scripturilor externe în modul de navigare privată sau la activarea blocării îmbunătățite a conținutului nedorit (strict). SmartBlock permite să îmbunătățească semnificativ performanța unora dintre site-uri, care se blochează din cauza imposibilității de a încărca codurile scripturilor de urmărire. SmartBlock înlocuiește automat scripturile de urmărire cu stub-uri care asigură o încărcare corectă a site-ului. Stub-urile sunt pregătite pentru câteva scripturi de urmărire populare incluse în lista Disconnect, inclusiv scripturi cu widget-uri Facebook, Twitter, Yandex, Вконтакте și Google.
- S-a activat suportul pentru extensia TLS DC (Delegated Credentials) pentru delegarea certificatelor cu durată scurtă, care rezolvă problemele legate de certificatul de acces la site prin rețele de livrare a conținutului. Delegated Credentials introduce o cheie secretă intermediară suplimentară, a cărei valabilitate este limitată la ore sau câteva zile (nu mai mult de 7 zile). Această cheie este generată pe baza certificatului emis de autoritatea de certificare și permite păstrarea cheii secrete a certificatului original în secret față de serviciile de livrare a conținutului. Pentru a evita problemele de acces după expirarea duratei de viață a cheii intermediare, este disponibilă o tehnologie de actualizare automată, efectuată pe serverul TLS original.
- A fost introdusă o implementare terță (non-nativă pentru sistem) a elementelor de formulare, cum ar fi comutatoarele, butoanele, listele derulante și câmpurile de introducere a textului (input, textarea, button, select), care se remarcă printr-un aspect mai modern. Utilizarea unei implementări separate pentru elementele de formular a avut de asemenea un impact pozitiv asupra performanței de afișare a paginilor.
- A fost oferită posibilitatea de a manipula conținutul elementelor și
- A fost implementat API-ul Event Timing pentru măsurarea întârzierilor evenimentului înainte și după încărcarea paginii.
- A fost adăugată proprietatea CSS forced-colors pentru a determina dacă browserul de pe pagină aplică paleta de culori limitată specificată de utilizator.
- În proprietățile CSS ascent-override, descent-override și line-gap-override a fost adăugat descriptorul @font-face pentru a suprascrie metricile fontului, ceea ce poate fi utilizat pentru uniformizarea afișării fontului în diferite browsere și sisteme de operare, precum și pentru a exclude deplasarea layout-ului paginii provocată de fonturile web.
- În funcția CSS image-set(), care permite selectarea unei imagini dintr-un set de opțiuni cu o rezoluție diferită, cea mai potrivită pentru parametrii curenți ai ecranului și capacitatea de bandă a conexiunii, a fost implementat suportul pentru funcția type().
- În JavaScript, prin default, este permis utilizarea cuvântului cheie await în modulele de nivel superior, ceea ce permite o integrare mai lină a apelurilor asynchrone în procesul de încărcare a modulelor, fără a necesita ambalarea în „async function”. De exemplu, în loc de (async function() { await Promise.resolve(console.log(‘test’)); }()); acum se poate scrie await Promise.resolve(console.log(‘test’));
- Pe sistemele de 64 de biți, s-a permis crearea structurilor ArrayBuffers cu dimensiuni mai mari de 2GB (dar nu mai mult de 8GB).
- S-a suspendat suportul pentru evenimentele DeviceProximityEvent, UserProximityEvent și DeviceLightEvent, care nu sunt susținute în alte browsere.
- În panoul de inspecție a paginilor a fost îmbunătățită navigarea cu ajutorul tastaturii în proprietățile editabile ale BoxModel.
- În versiunile pentru Windows, aspectul meniurilor contextuale a fost îmbunătățit și a fost accelerat pornirea browserului.
- În versiunile pentru macOS, a fost implementată utilizarea meniurilor contextuale native pentru platformă și a benzilor de derulare. A fost adăugată suportul pentru efectul de derulare dincolo de zona vizibilă (overscroll), semnalizând atingerea capătului paginii. A fost adăugat suport pentru zoomul inteligent, activat printr-un dublu clic. A fost introdus suport pentru tema întunecată. Problemele cu discrepanțele de afișare a culorilor în CSS și imagini au fost rezolvate. În modul pe toată ecranul, a fost oferită posibilitatea de a ascunde barele.
Pe lângă noutăți și corecturi de erori, în Firefox 89 au fost eliminate 16 vulnerabilități, dintre care 6 sunt marcate ca periculoase. 5 vulnerabilități (grupate sub CVE-2021-29967) sunt cauzate de probleme de gestionare a memoriei, cum ar fi depășirile de buffer și accesarea zonelor de memorie deja eliberate. Aceste probleme pot permite, potențial, executarea codului de către un atacator la deschiderea unor pagini special concepute.
Sursa: opennet.ro













