Byl vydán webový prohlížeč Firefox 108. Dále byla vytvořena aktualizace větve s dlouhodobou podporou — 102.6.0. V nadcházejících dnech bude převedena do fáze beta testování větev Firefox 109, jejíž vydání je naplánováno na 17. ledna.
Hlavní novinky ve Firefoxu 108:
- Byla přidána klávesová zkratka Shift+ESC pro rychlé otevření stránky správce procesů (about:processes), která umožňuje posoudit, které procesy a interní toky spotřebovávají nadměrné množství paměti a CPU.

- Bylo optimalizováno plánování výstupu snímků animací za vysoké zátěže, což vedlo ke zlepšení výsledků testu MotionMark.
- Při tisku a ukládání PDF formulářů byla poskytena možnost používání znaků v jiných než anglických jazycích.
- Byla implementována podpora správné barevné korekce obrázků podle barevných profilů ICCv4.
- Bylo zajištěno správné fungování režimu zobrazování panelu záložek "pouze na nových kartách" (nastavení "Only show on New Tab") pro prázdné nové karty.
- Do about:config byly přidány nastavení cookiebanners.bannerClicking.enabled a cookiebanners.service.mode pro automatické klikání na bannery vyžadující povolení k používání Cookie na webových stránkách. V rozhraní nočních sestavení byly implementovány přepínače pro správu automatického klikání na Cookie bannery aliased na konkrétní domény.
- Byl přidán API Web MIDI, který umožňuje webovým aplikacím interagovat s připojenými hudebními zařízeními uživatele, která mají rozhraní MIDI. API je k dispozici pouze pro stránky načtené přes HTTPS. Při vyvolání metody navigator.requestMIDIAccess() se při připojení MIDI zařízení k počítači zobrazí dialog s návrhem na instalaci doplňku "Site Permission Add-on", který je potřebný pro aktivaci přístupu (viz popis níže).
- Byl navržen experimentální mechanismus doplňku Site Permission Add-on pro správu přístupu webů k potenciálně nebezpečným API a funkcím vyžadujícím rozšířená oprávnění. Pod nebezpečnými se rozumí funkce, které mohou fyzicky poškodit hardware, provést nevratné změny, být použity k instalaci škodlivého kódu na zařízení nebo vést k úniku uživatelských dat. Například v kontextu API Web MIDI se doplněk Permission Add-on používá pro poskytování přístupu k zařízení pro syntézu zvuku připojenému k počítači.
- Podpora mapy importu ('import map') je ve výchozím nastavení povolena, což umožňuje řídit, které URL budou načteny při importu JavaScriptových souborů pomocí výrazů import a import(). Mapa importu je nastavena ve formátu JSON v elementu s novým atributem "importmap". Například: { "imports": { "moment": "\/node_modules\/moment\/src\/moment.js", "lodash": "\/node_modules\/lodash-es\/lodash.js" } }
Po deklaraci této mapy importu v JavaScriptovém kódu lze pro načtení a spuštění JavaScriptového modulu "\/node_modules\/moment\/src\/moment.js" použít výraz 'import moment from "moment";' aniž by bylo nutné podrobně uvádět cestu (ekvivalent 'import moment from "\/node_modules\/moment\/src\/moment.js";').
- V elementu "" byla implementována podpora atributů "height" a "width", které určují výšku a šířku obrázku v pixelech. Uvedené atributy platí pouze tehdy, když je element "" vložen do elementu "" a jsou ignorovány při vkládání do elementů
- V CSS byl poskytnut soubor trigonometrických funkcí sin(), cos(), tan(), asin(), acos(), atan() a atan2().
- V CSS byla implementována funkce round() pro výběr strategie zaokrouhlení.
- V CSS byl implementován typ , který umožňuje používat ve matematických funkcích známé matematické konstanty, jako jsou čísla Pi a E, stejně jako hodnoty nekonečna a NaN. Například, "rotate(calc(1rad * pi))".
- V CSS dotazu „@container“, který umožňuje formátování stylů elementů v závislosti na velikosti nadřazeného elementu (analog dotazu „@media“, aplikovaného nikoli na velikost celé viditelné plochy, ale na velikost bloku (kontejneru), do kterého je element umístěn), byla přidána experimentální podpora měrných jednotek cqw (1 % z šířky), cqh (1 % z výšky), cqi (1 % z inline velikosti), cqb (1 % z velikosti bloku), cqmin (nejmenší hodnota cqi nebo cqb) a cqmax (největší hodnota cqi nebo cqb). Možnost je ve výchozím nastavení deaktivována a aktivuje se přes parametr layout.css.container-queries.enabled v about:config.
- V JavaScriptu byl přidán metod Array.fromAsync pro vytváření pole z asynchronně přicházejících dat.
- Do HTTP hlavičky CSP (Content Security Policy) byla přidána podpora direktiv "style-src-attr", "style-src-elem", "script-src-attr" a "script-src-elem", které poskytují funkčnost direktiv style a script, ale s možností jejich použití na jednotlivé prvky a obsluhy událostí, jako je onclick.
- Byla přidána nová událost domContentLoaded, která je vyvolána po dokončení načtení obsahu.
- Do metody .get() byla přidána možnost forceSync pro vynucenou synchronizaci.
- Byla zavedena samostatná oblast panelu pro umístění widgetů rozšíření WebExtension.
- Byla změněna logika fungování černé listiny Linux ovladačů, které nejsou kompatibilní s WebRender. Místo udržování bílé listiny s pracovním ovladači byl přechod na vedení černé listiny problémových ovladačů.
- Byla vylepšena podpora protokolu Wayland. Přidána podpora proměnné prostředí XDG_ACTIVATION_TOKEN s aktivačním tokenem pro protokol xdg-activation-v1, pomocí kterého může jedna aplikace přepnout zaostření na jinou. Byly vyřešeny problémy, které nastávaly při pohybu myši přes záložky.
- Na většině systémů Linux byla aktivována animace panelu.
- V about:config byla zpřístupněna nastavení gfx.display.max-frame-rate pro omezení maximální obnovovací frekvence.
- Byla přidána podpora specifikace symbolů Emoji 14.
- Ve výchozím nastavení je aktivováno rozšíření WebGL OES_draw_buffers_indexed.
- Byla zavedena možnost využití GPU pro urychlení rastrování Canvas2D.
- Na platformě Windows byla aktivována sandboxová izolace procesů interagujících s GPU.
- Byla přidána podpora SIMD instrukcí FMA3 (násobení-sčítání s jednorázovým zaokrouhlením).
- Procesy používané pro zpracování pozadí na platformě Windows 11 jsou nyní spuštěny v režimu „Efficiency“, kdy plánovač úloh snižuje prioritu vykonávání pro snížení spotřeby CPU.

- Vylepšení v aplikaci pro Android:
- Byla přidána možnost ukládat webovou stránku jako PDF dokument.
- Byla implementována podpora pro seskupování karet v panelu (karty lze přesunout přes podržení na kartě).
- Bylo přidáno tlačítko pro otevření všech záložek ze zvoleného oddílu v nových více oknech nebo v režimu inkognito.
Kromě novinek a oprav chyb ve Firefoxu 108 bylo odstraněno 20 zranitelností. 16 zranitelností je označeno jako kritické, z nichž 14 (spadají pod CVE-2022-46879 a CVE-2022-46878) je způsobeno problémy s pamětí, jako jsou přetečení bufferu a přístup do již uvolněných oblastí paměti. Tyto problémy mohou potenciálně vést k provedení kódu útočníka při otevření speciálně vytvořených stránek. Zranitelnost CVE-2022-46871 je spojena s použitím kódu z zastaralé verze knihovny libusrsctp, která obsahuje neopravené zranitelnosti. Zranitelnost CVE-2022-46872 umožňuje útočníkovi, který získal přístup k procesu zpracování stránek, obejít izolaci sandboxu v Linuxu a přečíst obsah libovolných souborů prostřednictvím manipulací s IPC zprávami souvisejícími se schránkou.
Zdroj: opennet.ru


