Wydano przeglądarkę internetową Firefox 88. Ponadto, sformułowano aktualizację gałęzi z długoterminowym wsparciem 78.10.0. Gałąź Firefox 89 wkrótce wejdzie w fazę testów beta, a jej wydanie planowane jest na 1 czerwca.
Główne nowości:
- W przeglądarce PDF dodano wsparcie dla zintegrowanych formularzy wejściowych w plikach PDF, w których do zapewnienia interaktywnej interakcji z użytkownikiem używany jest JavaScript.
- Wprowadzono ograniczenie intensywności wyświetlania zapytań o pozwolenie na dostęp do mikrofonu i kamery. Podobne zapytania nie będą się pojawiać, jeśli w ciągu ostatnich 50 sekund użytkownik już przyznał dostęp do tego samego urządzenia, dla tej samej strony i tej samej karty.
- Wywołanie narzędzia do robienia zrzutów ekranu usunięto z menu „Akcje Strony”, które jest wyświetlane po kliknięciu na wielokropek w pasku adresu. Aby robić zrzuty ekranu, zaleca się wywołanie odpowiedniego narzędzia z menu kontekstowego wyświetlanego po kliknięciu prawym przyciskiem myszy lub umieszczenie skrótu na pasku narzędzi za pomocą interfejsu ustawień wyglądu.

- Dodano wsparcie dla skalowania gestem szczypania na touchpadach w systemie Linux z graficznymi środowiskami opartymi na protokole Wayland.
- W systemie wyjścia na drukarkę zrealizowano lokalizację jednostek miar używanych do ustalania marginesów.
- Przy uruchamianiu Firefox w środowiskach Xfce i KDE aktywowano użycie silnika kompozycji WebRender. W Firefox 89 planowane jest włączenie WebRender dla wszystkich pozostałych użytkowników systemu Linux, w tym wszystkich wersji Mesa oraz systemów z sterownikami NVIDIA (wcześniej WebRender był włączony tylko dla GNOME w przypadku posiadania sterowników Intel i AMD). WebRender jest napisany w języku Rust i pozwala osiągnąć znaczący wzrost szybkości renderowania i zmniejszenia obciążenia CPU poprzez przeniesienie operacji renderowania zawartości strony na GPU, które są realizowane przez szeregowane w GPU shadery. Aby wymusić włączenie, należy aktywować ustawienie „gfx.webrender.enabled” w about:config lub uruchomić Firefox z ustawioną zmienną środowiskową MOZ_WEBRENDER=1.
- Rozpoczęto etapowe włączanie protokołów HTTP/3 i QUIC. Na początku wsparcie dla HTTP/3 zostanie aktywowane dla niewielkiego procenta użytkowników, a jeśli nie wystąpią nieprzewidziane problemy, zostanie wprowadzone dla wszystkich pod koniec maja. Aby korzystać z HTTP/3, wymagana jest obsługa po stronie klienta oraz serwera ta sama wersja robocza standardu QUIC i HTTP/3, która jest określona w nagłówku Alt-Svc (Firefox obsługuje wersje robocze specyfikacji od 27 do 32).
- Wsparcie dla protokołu FTP jest domyślnie wyłączone. Ustawienie network.ftp.enabled domyślnie jest ustawione na wartość false, a parametr dla rozszerzeń browserSettings.ftpProtocolEnabled został przełączony w tryb tylko do odczytu. W następnej wersji cały kod związany z FTP zostanie usunięty. Powód to zmniejszenie ryzyka ataków na przestarzały, mający historię ujawniania podatności i problemy z konserwacją kod związany z obsługą FTP. Wspomniano również o pozbyciu się protokołów, które nie obsługują szyfrowania, co czyni je podatnymi na modyfikacje i przechwytywanie ruchu podczas ataków MITM.
- Aby zablokować możliwe wycieki między witrynami, zrealizowano izolację wartości właściwości „window.name” przez pierwotną witrynę, z której została otwarta strona.
- W JavaScript dodano właściwość „indices” do wyników wykonywania wyrażeń regularnych, która zawiera tablicę z początkowymi i końcowymi pozycjami grup dopasowania. Właściwość jest wypełniana tylko przy wykonywaniu wyrażenia regularnego z flagą „/d”. let re = /quick\s(brown).+?(jumps)/igd; let result = re.exec(‘The Quick Brown Fox Jumps Over The Lazy Dog’); // result.indices[0] === Array [ 4, 25 ] // result.indices[1] === Array [ 10, 15 ] // result.indices[2] === Array [ 20, 25 ]
- W Intl.DisplayNames() i Intl.ListFormat() zaostrzono kontrole, aby upewnić się, że opcje przekazywane do konstruktora są obiektami. Przy próbie przekazania łańcuchów lub innych prymitywów będą generowane wyjątki.
- Dla DOM udostępniono nową statyczną metodę AbortSignal.abort(), która zwraca AbortSignal, dla której już ustawiono parametr aborted.
- W CSS wprowadzono nowe pseudo-klasy „:user-valid” i „:user-invalid”, które definiują stan walidacji elementu formularza, dla którego po interakcji użytkownika z formularzem przeprowadzono walidację dostarczonych wartości. Kluczową różnicą między „:user-valid” i „:user-invalid” a pseudo-klasami „:valid” i „:invalid” jest to, że walidacja zaczyna się dopiero po tym, jak użytkownik przeszedł do innego elementu (na przykład przełączając się na inne pole za pomocą tabulatora).
- Funkcja CSS image-set(), która pozwala wybrać obrazek z zestawu opcji o różnych rozdzielczościach, najlepiej dopasowany do bieżących parametrów ekranu i przepustowości połączenia sieciowego, może teraz być używana w właściwościach CSS «content» i «cursor». h2::before { content: image-set( url(«small-icon.jpg») 1x, url(«large-icon.jpg») 2x); }
- W właściwości CSS outline zapewniono zgodność obrysu ustalonego za pomocą właściwości border-radius.
- W systemie macOS domyślną czcionką monospace został zmieniony na Menlo.
- W narzędziach dla deweloperów webowych w panelu inspekcji sieci pojawił się przełącznik między wyświetlaniem odpowiedzi HTTP w formacie JSON a w nieskróconej postaci, w jakiej odpowiedzi są przesyłane w sieci.

- Włączenie domyślnego wsparcia dla formatu obrazów AVIF (AV1 Image Format), który wykorzystuje technologie kodowania wewnątrzklatkowego z formatu kodowania wideo AV1, zostało odłożone do następnej wersji. W wersji Firefox 89 planowane jest również wprowadzenie zaktualizowanego interfejsu użytkownika oraz integracja kalkulatora w pasku adresu (włączane przez suggest.calculator w about:config)
Oprócz nowości i poprawek błędów w Firefox 88 usunięto 17 luk w zabezpieczeniach, z których 9 oznaczono jako niebezpieczne. 5 luk (zebranych pod CVE-2021-29947) wynika z problemów z pamięcią, w tym przepełnień buforów i dostępu do już zwolnionych obszarów pamięci. Potencjalnie problemy te mogą prowadzić do wykonania kodu przez złośliwego użytkownika po otwarciu specjalnie zaprojektowanych stron.
Źródło: opennet.ru


