Vydání Firefoxu 75

Proběhlo vydání webového prohlížeče Firefox 75, a také mobilní verze Firefox 68.7 pro platformu Android. Kromě toho bylo vytvořeno aktualizace větev s dlouhou dobou podpory 68.7.0. V blízké budoucnosti přejde na fázi beta testování přejde na verzi Firefox 76, jejíž vydání je naplánováno na 5. května (projekt přešel na 4-5 týdnů vývojový cyklus).

Hlavní novinky:

  • Pro Linux se začalo vytvářet oficiální sestavení ve formátu Flatpak.
  • Byl aktualizován design adresního řádku. Při kliknutí na adresní řádek se nyní bez nutnosti začít psát okamžitě zobrazuje rozbalovací seznam nejčastěji používaných odkazů. Návrhy s výsledky vyhledávání byly optimalizovány pro kvalitnější práci na malých obrazovkách. V oblasti kontextových doporučení jsou nyní zobrazeny tipy na řešení běžných problémů, které mohou nastat při práci s prohlížečem.

    Bylo zastaveno zobrazení protokolu https:// a poddomény „www.“ v rozbalovacím bloku odkazů, který se zobrazuje při psaní do adresního řádku (například obsahově odlišné https://opennet.ru a https://www.opennet.ru budou nerozeznatelné). Protokol http:// se zobrazuje ve výsledcích vyhledávání beze změny.

    Vydání Firefoxu 75
  • Pro Linux bylo změněno chování při kliknutí do adresního řádku (bylo to uděláno jako ve Windows a macOS) — jedno kliknutí vybere vše bez vložení do schránky, dvojité kliknutí vybere jedno slovo, trojité kliknutí vybere vše a vloží do schránky.
  • Byla implementována možnost nahrávat obrázky, které se nacházejí mimo viditelnou oblast, dokud uživatel nescrolluje obsah stránky na místo těsně předcházející obrázku. Pro správu odloženého načítání stránek byl do tagu „img“ přidán atribut „loading“, který může mít hodnotu „lazy“. Předpokládá se, že odložené načítání umožní snížit spotřebu paměti, snížit provoz a zvýšit rychlost načítání stránek. Pro správu odloženého načítání byl do about:config přidán parametr „dom.image-lazy-loading.enabled“.
  • Byla implementována plná podpora WebGL v prostředích využívajících protokol Wayland. Dosud úroveň výkonu WebGL v linuxových verzích Firefoxu zaostávala kvůli absenci podpory hardwarového zrychlení, a to z důvodu problémů s gfx ovladači pro X11 a používání různých standardů. Při použití Waylandu se situace zlepšila díky novému backendu, který používá mechanismus DMABUF. Kromě hardwarového zrychlení WebGL backend také umožnil realizovat podporu urychlení dekódování videa H.264 pomocí VA-API (Video Acceleration API) a FFmpegDataDecoder (podpora VP9 a dalších formátů kódování videa 4. listopadu. v prohlížeči Firefox 76). Pro ovládání zapnutí urychlení ve about:config jsou navrženy parametry „widget.wayland-dmabuf-webgl.enabled“ a „widget.wayland-dmabuf-vaapi.enabled“.
  • Pro uživatele z Velké Británie je povoleno zobrazení placených sponzorovaných bloků na úvodní stránce v sekci doporučeného obsahem Pocket. Bloky jsou jasně označeny jako reklama a lze je vypnout v nastaveních. Předtím byla reklama were shown pouze pro uživatele ze Spojených států.
  • Realizováno režim čištění starých cookies a dat webu při návštěvě webů s kódem sledování pohybu, se kterými uživatel interaktivně neinteragoval. Režim se zaměřuje na boj proti sledování prostřednictvím přesměrování.
  • Začala realizace modálních dialogů, které jsou vázány na jednotlivé karty a neblokují celé uživatelské rozhraní.

    Vydání Firefoxu 75
  • Byla přidána možnost instalace a otevření webů ve formě aplikací (Apps), které umožňují organizovat práci s webem jako s běžným stolním programem. Pro aktivaci v about:config je nutné přidat nastavení „browser.ssb.enabled=true“, po čemž se v kontextovém menu akcí se stránkou (tři tečky v adresním řádku) objeví položka „Install Website as App“, která umožňuje umístit na plochu nebo do menu aplikací zástupce pro samostatné otevření aktuálního webu. Vývoj pokračuje rozvoj konceptu „Site Specific Browser“ (SSB), který předpokládá otevření webu v samostatném okně bez nabídky, adresního řádku a dalších prvků uživatelského rozhraní prohlížeče. V aktuálním okně se otevírají pouze odkazy na stránky aktivního webu, a přechod na externí odkazy vede k vytvoření samostatného okna s běžným prohlížečem.
    Vydání Firefoxu 75
  • Rozšířena realizace režimu „nosniff«, aktivovaného prostřednictvím HTTP hlavičky «X-Content-Type-Options», který nyní deaktivuje také logiku automatického určování MIME typů pro HTML dokumenty, a ne pouze pro JavaScript a CSS. Tento režim pomáhá chránit před útoky souvisejícími s manipulací MIME typy. Browser předem analyzuje typ zpracovávaného obsahu a zpracovává ho v závislosti na zjištěném typu. Například, pokud uložíte HTML kód do souboru «.jpg», tento soubor se při otevření zpracovává jako HTML, a ne jako obrázek. Útočník může využít formulář pro nahrávání obrázků pro jpg soubor obsahující HTML s JavaScript kódem, po kterém může publikovat odkaz na tento soubor, který při přímém otevření vykoná JavaScript kód v kontextu webu, na který byl soubor nahrán (může být určeno cookie a další přidružené údaje o uživateli, který odkaz otevřel).
  • Bylo zajištěno lokální ukládání všech důvěryhodných PKI certifikátů certifikačních autorit, které jsou známy společnosti Mozilla, což zlepšilo kompatibilitu s nesprávně nastavenými webovými servery.
  • Na stránkách otevřených pomocí HTTP bez šifrování je zakázáno používání API Web Crypto.
  • Pro Windows byl implementován režim přímého kompozitování (Direct Composition), který zvyšuje výkon a přibližuje realizaci systému kompozitování WebRender, napsaného v jazyce Rust, který přesouvá operace vykreslování obsahu stránky na GPU.
  • Pro macOS byla implementována experimentální možnost použití klientských certifikátů z obecného úložiště certifikátů operačního systému (pro aktivaci v about:config je třeba povolit možnost security.osclientcerts.autoload). Od Firefoxu 72 byla tato možnost dostupná pouze pro Windows.
  • Po Linuxu byl v sestavách pro macOS zaveden mechanismus izolace RLBox, zaměřený na blokaci využívání zranitelností ve třetích knihovnách funkcí. V tomto stadiu je izolace aktivována pouze pro knihovnu Graphite, odpovídající za vykreslování písem. RLBox provádí kompilaci C/C++ kódu izolované knihovny do nízkoúrovňového mezikódu WebAssembly, který je poté zabaleno do WebAssembly modulu, jehož oprávnění jsou nastavena pouze pro tento modul. Sestavený modul běží v oddělené oblasti paměti a nemá přístup k ostatnímu adresnímu prostoru. V případě vykonání zranitelnosti v knihovně bude útočník omezen a nebude se moci dostat k oblastem paměti hlavního procesu nebo přenést kontrolu mimo izolované prostředí.
  • Atribut „type“ v prvku nyní může mít pouze hodnotu „text/css“.
  • V CSS byly implementovány funkce min(), max() a clamp().
  • Pro vlastnost CSS text-decoration-skip-ink byla implementována podpora hodnoty „all“, která předepisuje povinné přerušení linky podtržení a přeškrtnutí při průniku s textovými glyfy (dříve používaná hodnota „auto“ adaptivně generovala přerušení a nevyškrtávala dotyky, při hodnotě all jsou dotyky s glyfem zcela zakázány).
  • V JavaScriptu byla přidána podpora veřejných statických polí pro instance tříd JavaScriptu, které umožňují definovat předem určené vlastnosti inicializované mimo konstruktor.

    class ClassWithStaticField {
    static staticField = ‘statické pole’
    }

  • Byla přidána podpora třídy Intl.Locale, poskytující metody pro analýzu a zpracování sad zvolených parametru jazyka, regionu a stylu, stejně jako pro čtení a zápis tagů rozšíření Unicode a uchování uživatelských nastavení lokality v serializovaném formátu;
  • Implementace vlastnosti Function.caller byla přizpůsobena poslednímu návrhu nové specifikace ECMAScript (místo TypeError nyní vrací null, pokud je volání provedeno z funkce s atributem strict, async nebo generator).
  • Do HTMLFormElement byla přidána metoda requestSubmit(), která iniciuje programové odeslání dat formuláře analogicky ke kliknutí na tlačítko pro odeslání dat. Funkce může být použita při vývoji vlastních tlačítek pro odeslání formuláře, pro která volání form.submit() nestačí, protože nevede k interaktivnímu ověření parametrů, generaci události 'submit' a přenosu dat přidružených k tlačítku pro odeslání.
  • Událost submit je nyní realizována objektem SubmitEvent, nikoli Event. SubmitEvent zahrnuje nové vlastnosti, které umožňují zjistit prvek, jehož vyvolání vedlo k odeslání formuláře. Například, SubmitEvent umožňuje použít jeden zpracovatel, který je společný pro různé tlačítka a odkazy vedoucí k odeslání formuláře.
  • Bylo implementováno správné předání události kliknutí při vyvolání metody click() pro odpojené prvky (které nejsou součástí DOM stromu).
  • V API Web Animations Byla přidána možnost vázání animace na počáteční nebo koncový klíčový snímek, přičemž prohlížeč sám vypočítá finální nebo počáteční stav (stačí uvést pouze první nebo poslední klíčový snímek). Ve výchozím nastavení jsou zahrnuty Animation.timeline getter, Document.timeline, DocumentTimeline, AnimationTimeline, Document.getAnimations() a Element.getAnimations().
  • Byla přidána možnost aktivace rozhraní pro profilování stránek bez instalace samostatného doplňku, stisknutím tlačítka „Enable Profiler Menu Button“ na webu. profiler.firefox.com. Přidán režim analýzy výkonu pouze pro aktivní kartu.
  • V webové konzoli se objevil režim okamžitého výpočtu výrazů, který umožňuje vývojářům rychleji odhalovat a opravovat chyby při zadávání složitých výrazů díky zobrazení předběžného výsledku při psaní.
  • V nástroji pro měření oblastí stránky (Measuring Tool) byla přidána možnost změny velikosti obdélníkového rámce (dříve, pokud jste uvolnili tlačítko myši, rámeček nebylo možné změnit a v případě nepřesného zaměření bylo nutné měřit od začátku).
  • V rozhraní inspekce stránek byla přidána podpora vyhledávání prvků pomocí výrazů XPath vedle dříve dostupného vyhledávání pomocí CSS selektorů.
  • Byla přidána možnost filtrování zpráv WebSocket pomocí regulárních výrazů (dříve byly podporovány pouze textové masky).
  • V JavaScript ladicích nástrojích byla přidána podpora vázání zarážek na zpracovatele událostí WebSocket.
  • Byl proveden úklid uživatelského rozhraní pro analýzu síťové aktivity. Bylo optimalizováno vykreslování tabulek při souběžném zpracování velkého počtu připojení. Oddělovače sloupců a tlačítka pro aplikaci filtrů byly učiněny více kontrastními. V panelu blokování síťových požadavků byla implementována možnost použít znak „*“ v maskách URL (umožňuje posoudit chování webu v podmínkách selhání načítání zdrojů).

    Vydání Firefoxu 75

Kromě novinek a oprav chyb ve Firefoxu 75 byla odstraněna řady zranitelností, z nichž některé jsou označeny jako kritické, tedy mohou vést k provedení kódu útočníka při otevření speciálně upravených stránek. V současné době nejsou k dispozici podrobnosti o opravených bezpečnostních problémech, očekává se, že seznam zranitelností bude zveřejněn během několika hodin.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster