Uvoľnenie webového prehliadača Firefox 122 a vytvorenie aktualizácie vetvy s dlhodobou podporou — 115.7.0. Vetva Firefox 123 bola preložená do fázy beta testovania, pričom jej uvoľnenie je naplánované na 20. februára.
Hlavné novinky vo Firefox 122:
- Rozšírené možnosti týkajúce sa zobrazenia odporúčaní pri vkladaní do adresného riadku. Pre niektoré vyhľadávače bola implementovaná možnosť zobrazenia obrázkov a textových opisov v odporúčaniach. Pri vyhľadávaní informácií súvisiacich s webovým vývojom je zabezpečené zobrazenie odkazov na dokumentáciu v MDN (Mozilla Developer Network) medzi odporúčaniami.

- Začalo sa vytváranie hotových deb-balíkov pre Ubuntu, Debian a Linux Mint. Vytvárané balíky sú kompatibilné s tradičnými zostavami Firefoxu pre Debian a Ubuntu, ktoré sú ponúkané na stiahnutie v archívoch „.tar.bz2“. Pri zostavovaní balíkov bola v kompilátore zahrnutá dodatočná optimalizácia a aj pr flags pre zvýšenie bezpečnosti. Obsahuje .desktop súbor pre umiestnenie skratky na pracovnej ploche a v menu distribúcie. Inštrukcia na inštaláciu Firefoxu z APT repozitára Mozilla.
- Zlepšená kvalita prekladu stránok pomocou vstavaného systému strojového prekladu. Riešené problémy s miznutím preloženej stránky a narušovaním funkčnosti interaktívnych widgetov.
- Pre zvýšenie ochrany pred XSS útokmi a pre zlepšenie prenositeľnosti medzi prehliadačmi bola v SVGUseElement ukončená podpora URL „data:“.
- Pridaná ochrana proti úniku informácií o navštívených odkazoch analýzou farby pixelov pomocou filtrov, ktoré používajú parameter currentColor. Výstup takýchto filtrov už nebude možné prečítať z canvasu v SVG, pretože môžu byť použité na určenie farby zvoleného prostredníctvom selektora „:visited“.
- V zostavách pre macOS bola pridaná podpora technológie Passkey (používaná iba v iCloud Keychain), ktorá umožňuje používateľom autentifikáciu bez hesiel s využitím biometrických identifikátorov, ako je odtlačok prsta alebo rozpoznávanie tváre.
- Zabezpečené spracovanie tokenu automatického vyplnenia „webauthn“. V dialógoch automatického vyplnenia formulárov bol implementovaný výstupné rozhranie na pripojenie pomocou Passkey.
- V režime súkromného prehliadania majú skripty možnosť ukladať dáta prostredníctvom API Cache s cieľom unifikácie správania v súkromnom a bežnom režime (existujúci rozdiel sa mohol využiť na určenie práce používateľa v súkromnom režime).
- Vo WebRTC je predvolene aktivovaná podpora mechanizmu prediktívnej korekcie chýb ULPFEC (Uneven Level Protection Forward Error Correction), ktorý umožňuje obnoviť poškodené alebo stratené pakety. Použitie ULPFEC zlepšuje kvalitu videa pre používateľov so nestabilnými komunikačnými kanálmi.
- Povolené použitie prvku <hr> vnútri prvku <select> na vloženie oddelovačov do zoznamov vytvorených na báze prvku <select>.
- Pridaná možnosť použitia metódy showPicker s prvkami na programové vyvolanie implementácie rozbaľovacieho menu poskytovanej prehliadačom.
- Pravidlá rozdeľovania riadkov pri zobrazovaní textu na webových stránkach boli prispôsobené štandardu Unicode. Pre ázijské jazyky, ako sú japončina a čínština, bola realizovaná podpora výberu celých slov dvojitým kliknutím myši v texte.
- Zavedené CSS vlastnosť offset-position, ktorá určuje počiatočnú pozíciu prvku a zvyčajne sa používa spolu so vlastnosťou offset-path na určenie trajektórie pohybu animačných objektov.
- Do CSS vlastnosti offset-path bola pridaná podpora funkcie ray(), ktorá určuje segment čiary, po ktorej sa má animovaný prvok pohybovať, ako aj hodnôt basic-shape a coord-box.
- Do CSS vlastností clip-path a offset-path bola pridaná podpora funkcií rect() a xywh() na vytváranie základných tvarov.
- Pridaná podpora animovania SVG atribútu viewBox pri použití jazyka SMIL (Synchronized Multimedia Integration Language), určeného na animáciu SVG prvkov.
- URL parser, ktorý sa vyžaduje pre odkazy s neznámou schémou, bol zmenený na DefaultURI v súlade s požiadavkami špecifikácie.
- Zavedená podpora metód ArrayBuffer.prototype.transfer() a ArrayBuffer.prototype.transferToFixedLength() na prenášanie vlastníctva pamäte z jedného ArrayBuffer na druhý. Po prenose je búfer odpojený od pôvodnej oblasti pamäte a stáva sa nepoužiteľným. Na kontrolu stavu búfera možno použiť vlastnosť ArrayBuffer.prototype.detached.
- Implementovaný API LargestContentfulPaint, ktorý poskytuje informácie o čase vykreslenia najväčšieho obrázka alebo textu v fáze predtým, než používateľ začne interagovať so stránkou.
- Pridaná podpora API Screen Wake Lock, ktorá umožňuje webovej aplikácii, napríklad multimediálnemu prehrávaču, zablokovať zobrazenie ochrany obrazovky po dlhšej nečinnosti používateľa.
- Pridaná experimentálna podpora API:
- API Declarative Shadow DOM (aktivuje sa cez dom.webcomponents.shadowdom.declarative.enabled v about:config) na vytvorenie nových koreňových vetiev v Shadow DOM, napríklad na oddelenie importovaného externého štýlu prvku a s ním spojených podvetiev DOM od hlavného dokumentu. Navrhované deklaratívne API umožňuje odpojenie vetiev DOM len s použitím HTML bez potreby písania kódu v JavaScripte.
- API Popover (aktivuje sa cez dom.element.popover.enabled v about:config) na vytvorenie prvkov rozhrania, ktoré sú zobrazené nad inými prvkami webového rozhrania. Napríklad pomocou nového API je možné vytvárať akčné ponuky, zobrazovať tipy pre vyplnenie formulárov, vytvárať vzdelávacie rozhrania a implementovať zachytenie obsahu. Zobrazenie nad inými prvkami sa uskutočňuje nastavením atribútu „popover“, pričom umiestnenie, kaskádovanie a zameranie vstupu sú spravované automaticky. Na rozdiel od prvku „dialog“ prvky s atribútom „popover“ nepoužívajú modálny režim, podporujú udalosti a dajú sa ľahko zrušiť.
- Nástroje na čítanie a písanie do schránky (aktivujú sa cez dom.events.asyncClipboard.clipboardItem, dom.events.asyncClipboard.readText a dom.events.asyncClipboard.writeText v about:config), ktoré umožňujú používať rozhranie ClipboardItem a metódy read(), readText() a write().
- Objekt Intl.Segmenter (povolene len v nočných zostavách Firefoxu) na presné segmentovanie textu v reťazci so zohľadnením lokality, napríklad na rozdelenie slov v jazykoch, ktoré nepoužívajú medzery na rozdelenie slov.
- V nástrojoch pre webových vývojárov v režime inspekcie, pri úprave selektora alebo vlastností, stlačenie klávesu Enter teraz potvrdzuje vstup a zameriava na príslušný prvok, namiesto toho, aby presunulo zameranie na ďalšie vstupné pole (na presunutie zamerania na ďalšie pole sa môže použiť tabulátor).
- Verzia pre Android prináša možnosť aktivácie mechanizmu GPC (Globálna kontrola súkromia), ktorý nahrádza hlavičku „DNT” (Nerátať) a umožňuje informovať webové stránky o odmietnutí predaja osobných údajov a ich používania na sledovanie preferencií alebo pohybov medzi stránkami. Pridaná je možnosť nastavenia Firefoxu ako predvoleného programu na prezeranie PDF. Na posilnenie ochrany pred pasívnym identifikovaním používateľa je v hlavičke User-Agent teraz vždy uvedené „Android 10”, bez ohľadu na skutočnú verziu platformy.
Okrem noviniek a opravy chýb vo Firefox 122 bolo odstránených 15 zraniteľností (5 označených ako nebezpečné). 8 zraniteľností spôsobila problémy s pamäťou, ako sú pretečenia pamäte a prístup k už uvoľneným oblastiam pamäte. Potenciálne tieto problémy môžu viesť k vykonaniu kódu útočníka pri otvorení špeciálne upravených stránok.
Ďalším dôležitým oznamom je vytvorenie samostatnej služby Mozilla na sledovanie faktov diskriminácie Firefoxu na rôznych platformách a riešenie odhalených problémov spoločne s výrobcami platforiem. V súčasnosti sú na stránke zosumarizované technické problémy, ktoré vznikajú pri používaní Firefoxu v systémoch Apple, Google a Microsoft. Napríklad na platforme Android bola zaznamenaná nemožnosť importovať nastavenia prehliadača a zníženie kvality vyhľadávania. Na Windows sa spomína zákaz programovej zmeny predvoleného prehliadača a vnucovanie Microsoft Edge. V Android a Windows sa tiež spomína uchovávanie niektorých väzieb na Chrome a Edge aj po zmene predvoleného prehliadača.
Zdroj: opennet.ru

