Wydanie Firefoksa 108

Wydana została przeglądarka internetowa Firefox 108. Dodatkowo powstała aktualizacja gałęzi długoterminowego wsparcia - 102.6.0. Oddział Firefox 109 wkrótce zostanie przeniesiony do fazy testów beta, których wydanie zaplanowano na 17 stycznia.

Kluczowe innowacje w Firefoksie 108:

  • Dodano skrót klawiaturowy Shift+ESC umożliwiający szybkie otwarcie strony menedżera procesów (about:processes), umożliwiającej ocenę, które procesy i wątki wewnętrzne zużywają nadmierną ilość pamięci i zasobów procesora.
    Wydanie Firefoksa 108
  • Zoptymalizowane planowanie wyświetlania klatek animacji w warunkach dużego obciążenia, co poprawiło wyniki testów MotionMark.
  • Podczas drukowania i zapisywania formularzy PDF istnieje możliwość użycia znaków w językach innych niż angielski.
  • Zaimplementowano obsługę prawidłowej korekcji kolorów obrazów, zgodnie z profilami kolorów ICCv4.
  • Zapewniono, że tryb wyświetlania paska zakładek „tylko na nowych kartach” (ustawienie „Pokazuj tylko na nowej karcie”) działa poprawnie w przypadku nowych, pustych kart.
  • Dodano ustawienia cookiebanners.bannerClicking.enabled i cookiebanners.service.mode do about:config w celu automatycznego klikania banerów żądających pozwolenia na używanie plików cookie w witrynach. W interfejsie kompilacji nocnych zaimplementowano przełączniki sterujące automatycznym klikaniem banerów Cookie w odniesieniu do określonych domen.
  • Dodano interfejs Web MIDI API, umożliwiający interakcję z poziomu aplikacji internetowej z urządzeniami muzycznymi wyposażonymi w interfejs MIDI podłączonymi do komputera użytkownika. API jest dostępne tylko dla stron ładowanych poprzez HTTPS. Podczas wywoływania metody navigator.requestMIDIAccess() gdy do komputera podłączone są urządzenia MIDI, użytkownikowi pojawia się okno dialogowe z prośbą o zainstalowanie dodatku „Site Permission Add-on” wymaganego do aktywowania dostępu (patrz opis poniżej).
  • Zaproponowano eksperymentalny mechanizm Site Permission Add-on, który kontroluje dostęp witryn do potencjalnie niebezpiecznych interfejsów API i funkcji wymagających rozszerzonych uprawnień. Przez niebezpieczne rozumiemy możliwości, które mogą fizycznie uszkodzić sprzęt, wprowadzić nieodwracalne zmiany, zostać wykorzystane do zainstalowania złośliwego kodu na urządzeniach lub doprowadzić do wycieku danych użytkownika. Na przykład w kontekście Web MIDI API dodatek Permission służy do zapewnienia dostępu do urządzenia do syntezy dźwięku podłączonego do komputera.
  • Obsługa map importu jest domyślnie włączona, co pozwala kontrolować, które adresy URL będą ładowane podczas importowania plików JavaScript za pomocą instrukcji import i import(). Mapa importu jest określona w elemencie w formacie JSON с новым атрибутом «importmap». Например: { «imports»: { «moment»: «/node_modules/moment/src/moment.js», «lodash»: «/node_modules/lodash-es/lodash.js» } }

    Po zadeklarowaniu tej mapy importu w kodzie JavaScript możesz użyć wyrażenia „importuj moment z „moment”;”, aby załadować i uruchomić moduł JavaScript „/node_modules/moment/src/moment.js” bez wyszczególniania ścieżki (równoważne z „importowaniem momentu z „/node_modules/moment/src/moment.js”;’).

  • W elemencie „ „zaimplementowano obsługę atrybutów „wysokość” i „szerokość”, które określają wysokość i szerokość obrazu w pikselach. Określone atrybuty działają tylko wtedy, gdy element „ „jest zagnieżdżony w elemencie” " i są ignorowane, gdy są zagnieżdżone w elementach I . Aby wyłączyć przetwarzanie „wysokości” i „szerokości” w Dodano ustawienie „dom.picture_source_dimension_attributes.enabled” do about:config.
  • CSS udostępnia zestaw funkcji trygonometrycznych sin(), cos(), tan(), asin(), acos(), atan() i atan2().
  • CSS implementuje funkcję round(), aby wybrać strategię zaokrąglania.
  • CSS implementuje typ , co pozwala na wykorzystanie w funkcjach matematycznych znanych stałych matematycznych, takich jak Pi i E, a także nieskończoności i NaN. Na przykład „obróć(oblicz(1rad * pi))”.
  • Żądanie CSS „@container”, które pozwala stylizować elementy w zależności od rozmiaru elementu nadrzędnego (analog żądania „@media”, stosowanego nie do rozmiaru całego widocznego obszaru, ale do rozmiaru elementu nadrzędnego blok (kontener), w którym umieszczony jest element), dodano eksperymentalną obsługę cqw (1% szerokości), cqh (1% wysokości), cqi (1% wielkości inline), cqb (1% wielkości bloku ), cqmin (najmniejsza wartość cqi lub cqb) i cqmax (największa wartość cqi lub cqb). Ta funkcja jest domyślnie wyłączona i można ją włączyć za pomocą ustawienia układ.css.container-queries.enabled w about:config.
  • JavaScript dodał metodę Array.fromAsync, aby utworzyć tablicę z danych przychodzących asynchronicznie.
  • Dodano obsługę dyrektyw „style-src-attr”, „style-src-elem”, „script-src-attr” i „script-src-elem” do nagłówka HTTP CSP (Content Security Policy), zapewniając funkcjonalność styl i skrypt, ale z możliwością zastosowania ich do poszczególnych elementów i procedur obsługi zdarzeń, takich jak onclick.
  • Dodano nowe zdarzenie domContentLoaded, które jest uruchamiane po zakończeniu ładowania zawartości.
  • Do metody .get() dodano opcję forceSync, aby wymusić synchronizację.
  • Zaimplementowano oddzielny obszar panelu, w którym można umieścić dodatkowe widżety WebExtension.
  • Zmieniono logikę tworzenia czarnej listy sterowników dla systemu Linux niekompatybilnych z WebRender. Zamiast utrzymywać białą listę działających sterowników, dokonano przejścia na prowadzenie czarnej listy sterowników stwarzających problemy.
  • Ulepszona obsługa protokołu Wayland. Dodano obsługę zmiennej środowiskowej XDG_ACTIVATION_TOKEN z tokenem aktywacyjnym dla protokołu xdg-activation-v1, za pomocą którego jedna aplikacja może przełączyć fokus na inną. Rozwiązano problemy pojawiające się podczas przenoszenia zakładek myszką.
  • Większość systemów Linux ma włączoną animację paneli.
  • About:config udostępnia ustawienie gfx.display.max-frame-rate, które ogranicza maksymalną liczbę klatek na sekundę.
  • Dodano obsługę specyfikacji znaków Emoji 14.
  • Domyślnie włączone jest rozszerzenie OES_draw_buffers_indexed WebGL.
  • Zaimplementowano możliwość wykorzystania procesora graficznego do przyspieszenia rasteryzacji Canvas2D.
  • Na platformie Windows włączona jest piaskownica procesów wchodzących w interakcję z GPU.
  • Dodano obsługę instrukcji SIMD FMA3 (dodawanie i mnożenie z pojedynczym zaokrąglaniem).
  • Procesy używane do obsługi kart w tle na platformie Windows 11 działają teraz w trybie „Efektywności”, w którym harmonogram zadań zmniejsza priorytet wykonania, aby zmniejszyć zużycie procesora.
    Wydanie Firefoksa 108
  • Ulepszenia w wersji na Androida:
    • Dodano możliwość zapisania strony internetowej jako dokumentu PDF.
    • Dodano obsługę grupowania zakładek w panelach (zakładanie zakładek możliwe jest po przytrzymaniu kliknięcia w zakładkę).
    • Dostępny jest przycisk umożliwiający otwarcie wszystkich zakładek z określonej sekcji w nowych zakładkach, w nowym oknie lub w trybie incognito.

Oprócz innowacji i poprawek błędów, Firefox 108 naprawił 20 luk. 16 luk oznaczono jako niebezpieczne, z czego 14 (zebranych pod CVE-2022-46879 i CVE-2022-46878) jest spowodowanych problemami z pamięcią, takimi jak przepełnienie bufora i dostęp do już zwolnionych obszarów pamięci. Potencjalnie problemy te mogą doprowadzić do wykonania kodu przez osobę atakującą podczas otwierania specjalnie zaprojektowanych stron. Luka CVE-2022-46871 wynika z użycia kodu z nieaktualnej wersji biblioteki libusrsctp, która zawiera niezałatane luki. Luka CVE-2022-46872 umożliwia osobie atakującej mającej dostęp do procesu przetwarzania strony ominięcie izolacji piaskownicy w systemie Linux i odczytanie zawartości dowolnych plików poprzez manipulację komunikatami IPC powiązanymi ze schowkiem.

Źródło: opennet.ru

Dodaj komentarz