Odbyło się wydanie przeglądarki internetowej , a także Firefox 68.4 dla platformy Android. Ponadto przygotowano aktualizację z długoterminowym wsparciem . Wkrótce przejdzie do etapu przejdzie gałąź Firefox 73, której wydanie zaplanowane jest na 11 lutego (projekt na 4 tygodnie ).
:
- W domyślnie stosowanym standardowym trybie blokady niepożądanego kontentu ochrona przed śledzeniem użytkowników za pomocą metod ukrytej identyfikacji („browser fingerprinting”), która jest realizowana poprzez na liście Disconnect.me, obejmującym hosty przyłapane na używaniu skryptów do ukrytej identyfikacji. Ukryta identyfikacja oznacza przechowywanie identyfikatorów w obszarach nieprzeznaczonych do trwałego przechowywania informacji („Supercookies”), a także generowanie identyfikatorów na podstawie danych pośrednich, takich jak , lista obsługiwanych typów MIME, specyficzne parametry w nagłówkach ( i ) analiza zainstalowanych , dostępność określonych Web API, specyficznych dla kart graficznych renderowanie przy użyciu WebGL i Canvas, z CSS, analiza cech pracy z i .
- metod z natarczywymi prośbami o przyznanie stronie dodatkowych uprawnień (Notification.requestPermission(), PushManager.subscribe() i MediaDevices.getDisplayMedia()). Prośby o potwierdzenie uprawnień nie będą teraz przerywać pracy z przeglądarką, lecz będą prowadziły do wyświetlenia wskaźnika w pasku adresu po zarejestrowaniu interakcji użytkownika ze stroną (kliknięcie myszą lub naciśnięcie klawiszy). Wiele stron nadużywa możliwości żądania uprawnień w przeglądarkach, głównie poprzez okresowe pojawianie się próśb o otrzymywanie powiadomień push. Analiza telemetrii wykazała, że 97% takich próśb jest odrzucanych, w tym w 19% przypadków użytkownik natychmiast zamyka stronę, nie naciskając przycisku zgody lub odmowy.
- eksperymentalna protokół HTTP/3 (aby aktywować w about:config, należy ustawić opcję „network.http.http3.enabled”). Wsparcie dla HTTP/3 w Firefox opiera się na , napisanej w języku Rust realizacji klienta i serwera protokołu QUIC (HTTP/3 użycie protokołu QUIC jako transportu dla HTTP/2).
- Zgodnie z wymaganiami obowiązującej ustawy (California Consumer Privacy Act) możliwość usunięcia danych telemetrycznych z serwerów Mozilla. Usunięcie danych jest realizowane w przypadku rezygnacji z zbierania telemetrii w sekcji „about:preferences#privacy” („Zbieranie danych i ich wykorzystanie przez Firefox”). Po odznaczeniu pola „Zezwól Firefoxowi na wysyłanie danych technicznych i interakcji do Mozilli”, które steruje wysyłką telemetrii, Mozilla w ciągu 30 dni wszystkie dane zebrane przed rezygnacją z przesyłania telemetrii. Spośród danych, które osiadają na serwerach Mozilli w trakcie gromadzenia telemetrii, wyróżnia się informacje dotyczące wydajności, bezpieczeństwa Firefox oraz ogólne parametry, takie jak liczba otwartych kart i długość sesji (informacje o odwiedzanych stronach i zapytaniach nie są przesyłane). Pełne informacje dotyczące zbieranych danych można znaleźć na stronie „about:telemetry”.
- Dodano wsparcie dla trybu obrazu w obrazie (Picture-in-Picture) w systemach Linux i macOS, co pozwala na oddzielne wyświetlanie wideo w pływającym oknie, które pozostaje widoczne podczas nawigacji po przeglądarce. Aby włączyć ten tryb, należy kliknąć w podpowiedź lub w menu kontekstowym, które wyświetla się po kliknięciu prawym przyciskiem myszy na wideo, a następnie wybrać „Picture in picture” (w YouTube, który dodaje własny obsługiwacz menu kontekstowego, należy dwukrotnie kliknąć prawym przyciskiem myszy lub kliknąć przytrzymując klawisz Shift).
- Podczas wyświetlania paska przewijania kolor tła bieżącej strony.
- przypinania kluczy publicznych (PKP, Public Key Pinning), które pozwala za pomocą nagłówka HTTP Public-Key-Pins jednoznacznie określić certyfikaty jakich organów certyfikacyjnych można używać dla danej strony. Jako przyczynę podaje się niską popularność tej funkcji oraz ryzyko problemów ze zgodnością (wsparcie PKP w Chrome) oraz możliwość zablokowania własnej strony z powodu przypinania niewłaściwych kluczy lub ich utraty (np. przypadkowe usunięcie lub kompromitacja w wyniku włamania).
- W skład , umożliwiające w OpenBSD wywołań systemowych i dla dodatkowej izolacji systemu plików i procesów.
- Usunięto wsparcie dla blokowania obrazów z zewnętrznych domen. Jako przyczynę usunięcia podaje się brak zainteresowania tą funkcją wśród użytkowników oraz niewygodny interfejs do blokowania.
- W wersjach dla systemu Windows wprowadzono eksperymentalną możliwość używania certyfikatów klienckich z wspólnego magazynu certyfikatów systemu operacyjnego (aby włączyć, należy aktywować opcję security.osclientcerts.autoload w about:config).
- Domyślnie aktywowano wsparcie dla CSS Shadow Parts, w tym atrybut „” oraz pseudo-element „„, umożliwiające selektywne wyświetlanie określonych elementów z .
<custom-element>
<p part="»example»">Paragraf</p>
</custom-element>… w CSS do wyboru elementów powiązanych z atrybutem part:
custom-element::part(example) {
border: solid 1px black;
border-radius: 5px;
padding: 5px;
} - Dodano wsparcie dla specyfikacji , pozwalającej na definiowanie trajektorii ruchu obiektów animacji przy pomocy CSS bez użycia kodu JavaScript i bez blokowania procesów rysowania i interakcji podczas wyświetlania animacji. Do zarządzania animacją wprowadzono właściwości CSS
,
,
,
i
. - Włączono domyślnie oddzielne właściwości CSS do transformacji , i , niezwiązane z właściwością to znaczy, że w CSS teraz można użyć „scale: 2;” zamiast „transform: scale(2);”.
- W JavaScript wprowadzono operator logiczny łączący „«, który zwraca prawy operand, jeśli lewy operand ma wartość NULL lub undefined, i odwrotnie. Na przykład, „const foo = bar ?? 'domyślna wartość'”, jeśli bar jest równy null, zwróci łańcuch lub wartość bar w przeciwnym razie, w tym gdy bar jest równy 0 i ' ', w przeciwieństwie do operatora „||”.
- Dodano API i zdarzenie , które umożliwiają użycie handlerów w JavaScript do dodawania danych do formularza na etapie jego wysyłania bez konieczności zapisywania danych w ukrytych elementach input.
- API zaktualizowano, aby odpowiadać nowej specyfikacji, na przykład, przekształcono Coordinates w GeolocationCoordinates, Position w GeolocationPosition oraz
PositionError w GeolocationPositionError. - W narzędziu do debugowania JavaScript wsparcie dla warunkowych punktów przerwania (), które uruchamiają się przy zmianie lub odczycie określonych właściwości obiektów.
- Przyspieszono uruchamianie debuggera JavaScript w warunkach otwierania bardzo dużej liczby kart (głównie priorytet teraz przyznawany jest widocznym kartom).
- W trybie Responsive Design Mode wprowadzono symulację różnych wartości meta viewport. W trybie inspekcji stron dodano symulator wartości „prefers-color-scheme”.
- W w wielowierszowym trybie interpretacji JavaScript dodano wsparcie dla zapisywania i otwierania plików przy pomocy kombinacji Ctrl + O i Ctrl + S.
- ustawienie javascript.options.asyncstack dla wizualnego rozdzielenia asynchronicznych komunikatów w web-konsoli. W przypadku aktywacji ustawienia dla console.trace() i console.error() wyświetlany jest pełny stos wywołania asynchronicznych operacji, co pozwala zrozumieć planowanie uruchamiania timerów, zdarzeń, promise, generatorów itp.
- W trybie inspekcji WebSocket dokonano analizy i wizualizacji metadanych formatu SignalR, stosowanego w wiadomościach ASP.NET Core. Dodatkowo dodano liczniki, które pokazują całkowity rozmiar wysłanych i odebranych danych.
- W narzędziu do monitorowania aktywności sieciowej na zakładce Timings osobno dane o czasie kolejkowania do załadowania, rozpoczęcia ładowania i zakończenia ładowania każdego zasobu.
- Z narzędzi dla web-developerów wykluczono środowisko , przeznaczone dla eksperymentów z kodem JavaScript (w miejsce Scratchpad w poprzednim wydaniu wprowadzono wielowierszowy tryb pracy web-konsoli).
Oprócz nowości i poprawek błędów w Firefox 72 usunięto , z czego 11 (zebranych pod i ) oznaczone jako potencjalnie zdolne do wykonania kodu złośliwego po otwarciu specjalnie przygotowanych stron. Przypominamy, że problemy z pamięcią, takie jak przepełnienia buforów i odniesienia do już zwolnionych obszarów pamięci, od niedawna są oznaczane jako niebezpieczne, ale nie krytyczne. Szczególną uwagę zwraca problem CVE-2019-17017 w kodzie XPCVariant.cpp, który także potencjalnie może prowadzić do wykonania kodu.
Źródło: opennet.ru
