Byl uvolněn webový prohlížeč Firefox 122 a byla vytvořena aktualizace větve s dlouhodobou podporou — 115.7.0. Větev Firefox 123 byla převedena do beta testování, jejíž vydání je naplánováno na 20. února.
Hlavní novinky ve Firefoxu 122:
- Byly rozšířeny možnosti týkající se zobrazení doporučení při zadávání do adresního řádku. Pro některé vyhledávače byla zavedena možnost zobrazení obrázků a textových popisů v doporučeních. Při vyhledávání informací souvisejících s webovým vývojem se mezi doporučeními objevují odkazy na dokumentaci v MDN (Mozilla Developer Network).

- Bylo zahájeno vytváření připravených deb balíčků pro Ubuntu, Debian a Linux Mint. Vytvářené balíčky jsou kompatibilní s tradičními sestaveními Firefoxu pro Debian a Ubuntu nabízenými ke stažení v archivech „.tar.bz2“. Při sestavování balíčků byly do kompilátoru zahrnuty další optimalizace a také příznaky pro zvýšení bezpečnosti. Součástí je .desktop soubor pro umístění zástupce na ploše a v menu distribuce. Návod na instalaci Firefoxu z APT repozitáře Mozilla.
- Byla vylepšena kvalita překladu stránek pomocí vestavěného systému strojového překladu. Byly vyřešeny problémy se zmizením přeložené stránky a narušením fungování interaktivních widgetů.
- Pro zvýšení ochrany před XSS útoky a pro zlepšení přenositelnosti mezi prohlížeči byla v SVGUseElement ukončena podpora URL „data:”.
- Byla přidána ochrana proti úniku informací o dříve navštívených odkazech prostřednictvím analýzy barvy pixelů pomocí filtrů používajících parametr currentColor. Výstup takových filtrů nyní nebude možné přečíst z canvasu v SVG, protože mohou být použity k určení barvy nastavené pomocí selektoru „:visited”.
- Ve verzích pro macOS byla přidána podpora technologie Passkey (pouze pro použití v iCloud Keychain), která uživateli umožňuje provádět autentizaci bez hesel pomocí biometrických identifikátorů, jako je otisk prstu nebo rozpoznávání obličeje.
- Byla zajištěna zpracování tokenu automatického vyplňování „webauthn”. V dialozích automatického vyplňování formulářů byl realizován výstup rozhraní pro připojení pomocí Passkey.
- V režimu soukromého prohlížení mají skripty možnost ukládat data prostřednictvím API Cache s cílem sjednocení chování v soukromém a běžném režimu (existující rozdíl bylo možné využít k určení práce uživatele v soukromém režimu).
- Ve WebRTC je ve výchozím nastavení aktivována podpora mechanizmu proaktivní opravy chyb ULPFEC (Uneven Level Protection Forward Error Correction), který umožňuje obnovit poškozené nebo ztracené pakety. Použití ULPFEC zlepšuje kvalitu videa pro uživatele s vadnými komunikačními kanály.
- Je povoleno používat prvek <hr> uvnitř prvku <select> pro vkládání oddělovačů do seznamů vytvořených na základě prvku <select>.
- Byla přidána možnost používat metodu showPicker s prvky pro programové volání implementace rozbalovacího menu poskytovaného prohlížečem.
- Pravidla pro rozdělování řádků pro zobrazení textu na webových stránkách byla upravena tak, aby vyhovovala normě Unicode. Pro asijské jazyky, jako jsou japonština a čínština, byla implementována podpora pro označování celých slov dvojitým kliknutím myši v textu.
- Bylo přidáno CSS vlastnost offset-position, která určuje počáteční pozici prvku a obvykle se používá spolu se vlastností offset-path k určení trajektorie pohybu animačních objektů.
- V CSS vlastnosti offset-path byla přidána podpora funkce ray(), která určuje segment čáry, po které má animovaný prvek následovat, jakož i hodnoty basic-shape a coord-box.
- Byla přidána podpora funkcí rect() a xywh() v CSS vlastnostech clip-path a offset-path pro vytváření základních tvarů.
- Byla přidána podpora pro animaci atributu SVG viewBox pomocí jazyka SMIL (Synchronized Multimedia Integration Language), který je určen k animaci SVG prvků.
- Parser URL, volaný pro odkazy s neznámou schémou, byl změněn na DefaultURI v souladu se specifikací.
- Byla zahrnuta podpora metod ArrayBuffer.prototype.transfer() a ArrayBuffer.prototype.transferToFixedLength() pro přenos práv držení paměti z jednoho ArrayBufferu na jiný. Po přenosu je buffer odpojen od původní oblasti paměti a stává se nepoužitelným. K ověření stavu bufferu lze použít vlastnost ArrayBuffer.prototype.detached.
- Byl implementován API LargestContentfulPaint, který poskytuje informace o době vykreslování největšího obrázku nebo textu v okamžiku, než uživatel začne interagovat se stránkou.
- Byla přidána podpora API Screen Wake Lock, která umožňuje webové aplikaci, například multimediálnímu přehrávači, zablokovat aktivaci spořiče obrazovky po dlouhé nečinnosti uživatele.
- Byla přidána experimentální podpora API:
- API deklarativního Shadow DOM (aktivuje se přes dom.webcomponents.shadowdom.declarative.enabled v about:config) pro vytváření nových kořenových větví v Shadow DOM, například za účelem oddělení importovaného externího stylu prvku a s ním související větve DOM od hlavního dokumentu. Navrhované deklarativní API umožňuje odpojení větví DOM pouze pomocí HTML bez potřeby psaní JavaScriptového kódu.
- API Popover (aktivuje se přes dom.element.popover.enabled v about:config) pro vytváření prvků rozhraní, které se zobrazují přes jiné prvky webového rozhraní. Například, pomocí nového API lze vytvářet akční nabídky, zobrazovat nápovědy k vyplnění formulářů, vytvářet vzdělávací rozhraní a implementovat zachytávání obsahu. Zobrazení přes jiné prvky se provádí nastavením atributu „popover“, přičemž umístění, kaskádování a zaměření vstupu se zpracovává automaticky. Na rozdíl od prvku „dialog“ prvky s atributem „popover“ nepoužívají modální režim, podporují události a snadno se zruší.
- Nástroje pro čtení a zápis do schránky (aktivují se přes dom.events.asyncClipboard.clipboardItem, dom.events.asyncClipboard.readText a dom.events.asyncClipboard.writeText v about:config), které umožňují používat rozhraní ClipboardItem a metody read(), readText() a write().
- Objekt Intl.Segmenter (zapnut pouze v nočních sestaveních Firefoxu) pro přesné segmentování textu v řetězci s ohledem na lokalitu, například pro rozdělení slov v jazycích, které k oddělování slov nepoužívají mezery.
- Ve vývojářských nástrojích pro web při inspekci, když se upravuje selektor nebo vlastnosti, stisknutí klávesy Enter nyní potvrdí vstup a zaměří se na odpovídající prvek, místo aby docházelo k přesunu zaostření na další pole pro vstup (pro změnu zaostření na další pole lze použít tabulaci).
- V aplikaci pro Android je nyní k dispozici možnost aktivace mechanismu GPC (Global Privacy Control), který nahradí hlavičku „DNT“ (Do Not Track) a umožní informovat webové stránky o zákazu prodeje osobních údajů a jejich použití pro sledování preferencí nebo pohybů mezi stránkami. Byla přidána možnost nastavit Firefox jako výchozí aplikaci pro prohlížení PDF. Pro zvýšení ochrany proti pasivní identifikaci uživatele je v hlavičce User-Agent nyní vždy nastavena verze „Android 10“, bez ohledu na skutečnou verzi platformy.
Kromě novinek a oprav chyb v Firefoxu 122 bylo odstraněno 15 zranitelností (5 označeno jako nebezpečné). 8 zranitelností bylo způsobeno problémy s pamětí, jako jsou přetečení bufferů a přístup k již uvolněným oblastem paměti. Tyto problémy mohou potenciálně vést k vykonávání kódu útočníka při návštěvě speciálně vytvořených stránek.
Dále je třeba zmínit oznámení společnosti Mozilla o vytvoření samostatné služby pro sledování případů diskriminace Firefoxu na různých platformách a řešení zjištěných problémů ve spolupráci s výrobci platforem. V současné době jsou na webu shrnuty technické problémy, které se vyskytují při používání Firefoxu v systémech Apple, Google a Microsoft. Například na platformě Android byla zaznamenána nemožnost importu nastavení prohlížeče a zhoršení kvality vyhledávání. V systému Windows je zmíněn zákaz programové změny výchozího prohlížeče a vnucování Microsoft Edge. Na Androidu a Windows se také zmiňuje uchovávání některých vazeb na Chrome a Edge i po změně výchozího prohlížeče.
Zdroj: opennet.ru

