Bola vydaná verzia webového prehliadača Firefox 94. Okrem toho bolo vytvorené aktualizované vydanie pre dlhodobú podporu — 91.3.0. Do fázy beta testovania prešla veta Firefox 95, ktorej vydanie je naplánované na 7. decembra.
Hlavné novinky:
- Bola implementovaná nová funkcia na stránke „about:unloads“, kde si používatelia môžu vypnúť pamäťovo náročné karty bez ich zatvorenia (obsah sa obnoví pri prechode na kartu). Na stránke „about:unloads“ sú existujúce karty zoradené podľa priority, ak je nedostatok operačnej pamäte. Priorita v zozname sa určuje podľa času prístupu k karte a nie na základe spotrebovanej energie. Po stlačení tlačidla Unload sa z pamäte vypne prvá karta zo zoznamu, pri ďalšom stlačení — druhá atď. Zatváranie kariet na vlastný výber zatiaľ nie je možné.

- Pri prvom spustení po inštalácii aktualizácie sa spustí nové rozhranie na výber zo šiestich sezónnych farebných tém, pre ktoré sú navrhnuté tri úrovne aplikácie tmavého odtieňa, ovplyvňujúce zobrazenie obsahu, panelov a pásu s prepínačmi kariet v tmavých tónoch.

- Bol navrhnutý prísny režim izolácie stránok, ktorý sa vyvíjal v rámci projektu Fission. Na rozdiel od doteraz používaného priehľadného prerozdelenia spracovania kariet do dostupného bazénu procesov (predvolene 8), prísny režim izolácie presúva spracovanie každej stránky do svojho vlastného samostatného procesu s rozdelením nie podľa kariet, ale podľa domén (Public Suffix). Tento režim nebol aktivovaný pre všetkých používateľov a na jeho vypnutie alebo zapnutie sa môže použiť stránka „about:preferences#experimental“ alebo nastavenie „fission.autostart“ v about:config.
Nový režim poskytuje bezpečnejšiu ochranu pred útokmi triedy Spectre, znižuje fragmentáciu pamäte, umožňuje dodatočne izolovať obsah externých skriptov a blokov iframe. Efektívnejšie vracia pamäť operačnému systému, minimalizuje dopad garbage collection a intenzívnych výpočtov na stránky v iných procesoch, zvyšuje efektívnosť rozdelenia záťaže medzi rôzne jadrá CPU a zlepšuje stabilitu (zhodzenie procesu spracovávajúceho iframe neovplyvní hlavnú stránku a iné karty). Cena za to je celkové zvýšenie spotreby pamäte pri veľkom počte otvorených stránok.
- Používateľom je ponúkané rozšírenie Multi-Account Containers s implementáciou konceptu kontextových kontajnerov, ktoré sa dajú použiť na flexibilnú izoláciu rôznych stránok. Kontajnery poskytujú možnosť izolácie rôznych typov obsahu bez vytvárania samostatných profilov, čo umožňuje oddeliť informácie rôznych skupín stránok. Napríklad je možné vytvoriť samostatné, navzájom izolované oblasti pre osobnú komunikáciu, prácu, nákupy a bankové operácie alebo usporiadať súčasné používanie rôznych používateľských účtov na jednej stránke. V každom kontajneri sa používajú samostatné úložiská pre Cookies, Local Storage API, indexedDB, cache a obsah OriginAttributes. Okrem toho, pri použití Mozilla VPN pre každý kontajner je možné použiť rôzne VPN servery.

- Bola odstránená žiadosť o potvrdenie operácie pri odchode z prehliadača alebo zatvorení okna prostredníctvom menu a tlačidla na zatvorenie okna. T.z. omylom stlačenie tlačidla „[x]“ v záhlaví okna teraz vedie k zatvoreniu všetkých kariet, vrátane tých s otvorenými formulármi na úpravy, bez predchádzajúceho zobrazenia upozornenia. Po obnovení relácie sa údaje vo webových formulároch nestratia. Pri stlačení Ctrl+Q sa naďalej zobrazuje varovanie. V nastaveniach je možné toto správanie zmeniť (panel General / sekcia Tabs / parameter „Confirm before closing multiple tabs“).

- V zostaveniach pre platformu Linux pre grafické prostredia, ktoré používajú protokol X11, je predvolene zahrnutý nový backend vykresľovania, ktorý sa vyznačuje používaním EGL na vykresľovanie grafiky rozhrania namiesto GLX. Backend podporuje prácu s otvorenými OpenGL ovládačmi Mesa 21.x a proprietárnymi ovládačmi NVIDIA 470.x. Proprietárne OpenGL ovládače AMD zatiaľ nie sú podporované. Použitie EGL rieši problémy s gfx ovládačmi a umožňuje rozšíriť spektrum zariadení, pre ktoré je k dispozícii zrýchlenie videa a WebGL. Nový backend bol pripravený rozdelením backendu DMABUF, pôvodne vytvoreného pre Wayland, ktorý umožňuje priamy výstup snímok do pamäte GPU, ktorá sa môže odraziť vo framebufferi EGL a vykresliť ako textúra pri spájaní prvkov webovej stránky.
- V zostaveniach pre Linux je predvolene zahrnutá vrstva, ktorá rieši problémy s clipboardom v prostrediach založených na protokole Wayland. Súčasťou sú aj zmeny týkajúce sa spracovania vyskakovacích okien (popup) v prostrediach založených na protokole Wayland. Wayland vyžaduje dodržiavanie prísnej hierarchie vyskakovacích okien, t.j. rodičovské okno môže vytvoriť potomok s popupom, ale iniciované z tohto okna nasledujúce popup musí byť viazané na pôvodné potomkové okno, čím sa vytvorí reťazec. V prehliadači Firefox môže každé okno generovať niekoľko popupov, ktoré netvorí hierarchiu. Problém spočíval v tom, že pri používaní Waylandu zatvorenie jedného z popupov si vyžaduje prestavbu celej reťazca okien s inými popupmi, pričom prítomnosť niekoľkých otvorených popupov nie je výnimočná, pretože v podobe popupov sú realizované ponuky, vyskakovacie nápovedy, dialógy doplnkov, žiadosti o oprávnenia atď.
- Znížené režijné náklady pri používaní API performance.mark() a performance.measure() s veľkým počtom analyzovaných metrik.
- Správanie vykresľovania počas načítania stránok sa zmenilo pre zvýšenie výkonu "teplého" načítania predtým otvorených stránok v režime prísnej izolácie.
- Na urýchlenie načítania stránok bol zvýšený priorita načítania a zobrazenia obrázkov.
- V JavaScriptovom engíne bolo mierne znížené spotreba pamäte a zvýšený výkon pri prehľadávaní vlastností.
- Vylepšené operácie plánovania vyvolania garbage collectora, čo umožnilo skrátiť čas načítania stránok v niektorých testoch.
- Znížené zaťaženie CPU pri procesoch poll-ingu soketov pri spracovaní HTTPS pripojení.
- Zrýchlená inicializácia úložiska a skrátený čas počiatočného spustenia vďaka zníženiu vstupno-výstupných operácií v hlavnom vlákne.
- Pri uzatváraní nástrojov pre vývojárov bolo zabezpečené uvoľnenie väčšieho objemu pamäte než predtým.
- Do CSS pravidla @import bola pridaná podpora funkcie layer(), ktorá vypisuje definície kaskádovej vrstvy definovanej pomocou pravidla @layer.
- Vo funkcii structuredClone() bola implementovaná podpora pre kopírovanie zložitých objektov JavaScript.
- Pre formuláre bol zavedený atribút „enterkeyhint“, ktorý umožňuje určiť správanie pri stlačení klávesy Enter na virtuálnej klávesnici.
- Bol implementovaný metóda HTMLScriptElement.supports(), pomocou ktorej je možné kontrolovať podporu konkrétnych typov skriptov prehliadačom, ako sú JavaScript moduly alebo klasické skripty.
- Pridaná vlastnosť ShadowRoot.delegatesFocus na kontrolu nastavenia vlastnosti delegatesFocus v samostatnom Shadow DOM.
- Na platforme Windows sa prehliadač teraz aktualizuje na pozadí pri zatvorení, namiesto rušivých výziev na inštaláciu aktualizácie. V prostredí Windows 11 bola implementovaná podpora novej systémovej ponuky (Snap Layouts).
- V zostavách pre macOS bol pre celoobrazovkové video zavedený režim nízkej spotreby energie.
- Vo verzii pre platformu Android:
- Bol zjednodušený návrat k predtým prezeranému a zatvorenému obsahu – na novej základnej domácej stránke je poskytnutá možnosť prezerania nedávno zatvorených kariet, pridaných záložiek, vyhľadávacích dopytov a odporúčaní služby Pocket.
- Bola poskytnutá možnosť nastaviť obsah zobrazený na domácej stránke. Napríklad je možné nastaviť zobrazenie zoznamov najčastejšie navštevovaných stránok, nedávno otvorených kariet, nedávno uložených záložiek, vyhľadávacích dopytov a odporúčaní Pocket.
- Pridaná podpora presunu dlhodobo neaktívnych kariet do samostatnej sekcie Inactive Tabs, aby sa nezapĺňal hlavný panel kariet. Do Inactive Tabs budú umiestnené karty, ktoré neboli otvorené viac ako 2 týždne. Uvedené správanie je možné vypnúť v nastaveniach „Settings->Tabs-> Move old Tabs to inactive.“
- Bola rozšírená heuristika pri zobrazení odporúčaní počas písania do adresného riadku.

Okrem noviniek a opravy chýb vo Firefox 94 bolo odstránených 16 zraniteľností, z ktorých 10 je označených ako nebezpečné. 5 zraniteľností sú spôsobené problémami s pamäťou, ako sú pretečenia zásobníka a prístup k už uvoľneným oblastiam pamäte. Tieto problémy môžu potenciálne viesť k vykonávaniu kódu útočníka pri otvorení špeciálne upravených stránok.
Zdroj: opennet.ru





