Wydano przeglądarkę internetową Firefox 121 oraz przygotowano aktualizację gałęzi z długoterminowym wsparciem — 115.6.0. Gałąź Firefox 122 przeszła do etapu testów beta, jej wydanie zaplanowano na 23 stycznia.
Główne nowości w Firefox 121:
- W systemie Linux domyślnie włączono użycie kompozytora serwera Wayland zamiast XWayland, co rozwiązało problemy z działaniem gładzika, obsługą gestów na ekranach dotykowych oraz ustawianiem DPI dla każdego monitora w środowiskach opartych na Wayland. Użycie Wayland pokazuje również poprawę wydajności pracy z grafiką. Mimo to, z powodu ograniczeń protokołu Wayland, występują problemy z wyświetlaniem okna „obraz w obrazie” na wierzchu.
- W ustawieniach w sekcji Ogólne / Przeglądanie dodano opcję wymuszenia podkreślania linków, niezależnie od ustawień CSS na stronie (może być przydatne dla osób mających problemy z postrzeganiem kolorów).

- W przeglądarce PDF wprowadzono wyświetlanie pływającego przycisku z koszem do usuwania rysunków, tekstu i obrazów dodanych podczas edytowania PDF.

- Na platformie Windows wprowadzono komunikat o zainstalowaniu pakietu Rozszerzenia Wideo AV1, umożliwiającego sprzętowe przyspieszenie dekodowania wideo w formacie AV1.
- Na platformie macOS dodano wsparcie dla sterowania za pomocą poleceń głosowych.
- Dodano wsparcie dla opóźnionego ładowania bloków iframe, co pozwala na nieładowanie treści znajdujących się poza widocznym obszarem, dopóki użytkownik nie przewinie strony do miejsca tuż przed danym elementem. Aby zarządzać opóźnionym ładowaniem stron, do znacznika „iframe” dodano atrybut „loading”, który może przyjmować wartość „lazy” (<iframe loading=lazy>). Opóźnione ładowanie pozwoli na zmniejszenie zużycia pamięci, obniżenie ruchu i zwiększenie szybkości początkowego otwierania stron.
- Dodano CSS-owe pseudoklas „:has()” do sprawdzania obecności elementów podrzędnych w nadrzędnym. Na przykład, „p:has(span)” obejmuje elementy <p>, w których znajduje się element <span>.
- Do właściwości CSS text-indent dodano parametry „hanging” i „each-line”, upraszczające formatowanie stylów akapitów, na przykład dla bibliografii i wierszy. Zezwolono także na łączenie kilku parametrów text-indent w jednym wyrażeniu, na przykład „text-indent: 3em hanging each-line”.
- Właściwość CSS text-wrap zyskała nowe parametry: „balance” (pozwala na poprawę jednolitości formatowania wielowierszowych bloków tekstowych, takich jak długie nagłówki) oraz „stable” (zakazuje ponownego formatowania treści podczas edytowania).
- Funkcja Date.parse() zyskała wsparcie dla dodatkowych formatów, takich jak MMM-DD-YYYY, wskazanie milisekund, określenie dnia tygodnia przed datą („Wed, 1970-01-01”) oraz ignorowanie błędów w pisowni dnia tygodnia („foo 1970-01-01”).
- Dodano statyczną metodę Promise.withResolvers(), która pozwala na użycie funkcji callback resolve i reject do definiowania obsługiwaczy, które rozwiązują lub odrzucają instancje Promise po ich utworzeniu.
- W WebAssembly dodano wsparcie dla instrukcji return_call i return_call_indirect w celu optymalizacji rekursji ogonowej (tail-call), co pozwala na redukcję zużycia pamięci w stosie, zwiększenie wydajności oraz lepsze wsparcie dla funkcjonalnych języków programowania.
- W API WebTransport, przeznaczonym do wysyłania i odbierania danych pomiędzy przeglądarką a serwerem, dodano właściwość sendOrder, która pozwala na nadawanie osobnych priorytetów dla wysyłania i odbierania w interaktywnych strumieniach.
- W narzędziach dla deweloperów internetowych podjęto działania mające na celu zwiększenie dostępności dla osób z ograniczeniami, na przykład zharmonizowano i powiększono wskaźnik fokusu w różnych narzędziach. Wbudowany debugger JavaScript zyskał opcję „Pause on debugger statement” do wyłączania debugera.

- W wersji na Androida usunięto awarie, które występowały podczas kopiowania do schowka i wyświetlania powiadomienia na pełnym ekranie. Rozwiązano problemy z renderowaniem na smartfonach Google Pixel 8 i Samsung Galaxy S22. Wprowadzono katalog dodatków. W trybie prywatnego przeglądania zapewniono blokadę zewnętrznych cookies oraz dostępu do lokalnego magazynu. W trybie ręcznego ustawienia Enhanced Tracking Protection włączono blokadę kodu do śledzenia ruchów wykorzystywanego w mediach społecznościowych.
Oprócz nowości i poprawek błędów w Firefox 121 usunięto 27 luk w zabezpieczeniach. 13 z tych luk (11 połączono pod CVE-2023-6864 i CVE-2023-6873), oznaczonych jako niebezpieczne, spowodowanych jest problemami z zarządzaniem pamięcią, takimi jak przepełnienia buforów i dostęp do już zwolnionych obszarów pamięci. Potencjalnie te problemy mogą prowadzić do wykonania kodu przez atakującego po otwarciu specjalnie przygotowanych stron. Jeszcze jedna niebezpieczna luka (CVE-2023-6135) dotyczy podatności biblioteki NSS na atak „Minerva”, pozwalający na rekonstrukcję klucza prywatnego poprzez analizę danych z kanałów zewnętrznych.
Źródło: opennet.ru



