Odbyło się wydanie przeglądarki internetowej , a także wersji mobilnej na platformie Android. Wydanie Firefox 78 zostało zakwalifikowane jako wersja z długoterminowym wsparciem (ESR), dla której aktualizacje są wydawane przez cały rok. Ponadto stworzono aktualizację poprzedniej z długoterminowym wsparciem (wkrótce oczekiwane są jeszcze dwie aktualizacje 68.11 i 68.12). W najbliższym czasie na etapie znajdzie się gałąź Firefox 79, której wydanie jest planowane na 28 lipca.
:
- Rozszerzono stronę podsumowania (Protections Dashboard) z raportami o skuteczności mechanizmów ochrony przed śledzeniem, weryfikacji kompromitacji danych logowania i zarządzania hasłami. W nowym wydaniu dodano możliwość przeglądania statystyk dotyczących wykorzystania skompromitowanych danych logowania oraz śledzenia możliwych pokryć zapisanych haseł z znanymi przeciekami danych użytkowników. Sprawdzanie odbywa się poprzez integrację z bazą danych projektu haveibeenpwned.com, która zawiera dane o 9.7 miliardach kont, wykradzionych w wyniku włamań do 456 witryn. Podsumowanie jest dostępne na stronie „about:protections” lub przez menu wywoływane kliknięciem na ikonę tarczy w pasku adresu (zamiast Pokaż raport teraz pokazywana jest strona Protections Dashboard).

- W Uninstaller dodano przycisk „«, który umożliwia zresetowanie ustawień do wartości domyślnych i usunięcie wszystkich dodatków bez utraty zgromadzonych danych. W przypadku problemów użytkownicy często próbują je rozwiązać poprzez ponowną instalację przeglądarki. Przycisk Odśwież pozwoli na osiągnięcie podobnego efektu bez utraty zakładek, historii przeglądania, zapisanych haseł, plików Cookie, słowników oraz danych do automatycznego uzupełniania formularzy (po naciśnięciu przycisku tworzony jest nowy profil i przenoszone są do niego wskazane bazy danych). Po naciśnięciu Odśwież utracone zostaną dodatki, motywy, informacje o uprawnieniach, zainstalowane silniki wyszukiwania, lokalne magazyny DOM, certyfikaty, zmienione ustawienia oraz style użytkownika (userChrome, userContent).

- Do kontekstowego menu dla kart dodano opcje przywracania zamkniętych kart oraz zamykania kart po prawej stronie od bieżącej oraz zamykania wszystkich kart oprócz bieżącej.

- Zapewniono dezaktywację wygaszacza ekranu podczas prowadzenia rozmów wideo i konferencji opartych na WebRTC.
- Na platformie Windows dla GPU Intel przy dowolnej rozdzielczości ekranu system kompozycji , napisana w języku Rust, umożliwiająca znaczne zwiększenie prędkości renderowania oraz zmniejszenie obciążenia CPU. WebRender przenosi na GPU operacje renderowania treści strony, które realizowane są poprzez wykonane w GPU shadery. Wcześniej WebRender był uruchamiany na platformie Windows 10 dla GPU Intel przy użyciu małych rozdzielczości ekranu, a także na systemach z APU AMD Raven Ridge, AMD Evergreen oraz na laptopach z kartami graficznymi NVIDIA. W systemie Linux WebRender jest obecnie aktywowany tylko dla kart Intel i AMD w wersjach nocnych i nie jest wspierany dla kart NVIDIA. Aby wymusić jego włączenie, w about:config należy aktywować ustawienia „gfx.webrender.all” i „gfx.webrender.enabled” lub uruchomić Firefoksa z ustawioną zmienną środowiskową MOZ_WEBRENDER=1.
- Do 100% wzrosła liczba użytkowników z Wielkiej Brytanii, dla których na stronie nowej karty włączono wyświetlanie treści rekomendowanej przez usługę Pocket. Wcześniej takie strony wyświetlane były tylko użytkownikom z USA, Kanady i Niemiec. Płatne bloki sponsorowane są wyświetlane tylko w USA i są wyraźnie oznaczone jako reklama. Personalizacja związana z doborem treści odbywa się po stronie klienta, bez przesyłania informacji o użytkowniku do osób trzecich (do przeglądarki ładowana jest cała lista rekomendowanych linków na dany dzień, która jest klasyfikowana po stronie użytkownika na podstawie danych z historii odwiedzin). Aby wyłączyć rekomendowane treści Pocket, przewidziano opcję w konfiguratorze (Firefox Home Content/Recommended by Pocket) oraz opcję „browser.newtabpage.activity-stream.feeds.topsites” w about:config.
- łatki wpływające na wydajność i stabilność sprzętowego przyspieszenia dekodowania wideo za pomocą VA-API (wspierane tylko w środowiskach opartych na Wayland).
- Podniesione wymagania dotyczące komponentów systemowych Linux. Aby uruchomić Firefoksa w Linux, teraz wymagana jest przynajmniej Glibc 2.17, libstdc++ 4.8.1 oraz GTK+ 3.14.
- Zgodnie z planem zakończenia wsparcia dla przestarzałych algorytmów kryptograficznych, domyślnie wyłączono wszystkie zbiory szyfrów TLS oparte na DHE (TLS_DHE_*, protokół wymiany kluczy Diffiego - Hellmana). Aby zredukować potencjalny negatywny wpływ wynikający z wyłączenia DHE, dodano dwa nowe zbiory szyfrów AES-GCM oparte na SHA2.
- wsparcie protokołów TLS 1.0 i TLS 1.1. Aby uzyskać dostęp do stron internetowych przez bezpieczny kanał komunikacyjny, serwer musi zapewnić wsparcie przynajmniej TLS 1.2. Według danych Google obecnie około 0,5% ładowania stron internetowych nadal odbywa się z użyciem przestarzałych wersji TLS. Wyłączenie zostało dokonane zgodnie z IETF (Internet Engineering Task Force). Powodem rezygnacji z obsługi TLS 1.0/1.1 jest brak wsparcia dla nowoczesnych szyfrów (np. ECDHE i AEAD) oraz wymaganie obsługi starych szyfrów, których niezawodność w obecnym etapie rozwoju technologii komputerowej została poddana wątpliwości (np. wymagana jest obsługa TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, do weryfikacji integralności i autoryzacji używane są MD5 i SHA-1). Możliwość korzystania z przestarzałych wersji TLS można przywrócić poprzez ustawienie security.tls.version.enable-deprecated = true lub za pomocą przycisku na stronie z błędem, wyświetlanej podczas wejścia na stronę ze starym protokołem.
- Znacząco poprawiona jakość pracy z czytnikami ekranu dla osób z zaburzeniami wzroku (rozwiązano problemy z pozycjonowaniem kursora, wyeliminowano zawieszenia, przyspieszono przetwarzanie bardzo dużych tabel itp.). Dla użytkowników z migreną i epilepsją skrócono efekty animacyjne, takie jak podświetlenie kart i rozwijanie paska wyszukiwania.
- Dla przedsiębiorstw do zasad grupowych dodano nowe reguły dotyczące konfiguracji zewnętrznych aplikacji obsługujących, wyłączania trybu obraz-w-obraz oraz obowiązkowego ustawiania hasła głównego.
- W silniku JavaScript SpiderMonkey podsystem obsługi wyrażeń regularnych, który został zsynchronizowany z implementacją z silnika JavaScript V8 stosowanego w przeglądarkach opartych na projekcie Chromium. Zmiana pozwoliła na wprowadzenie wsparcia dla następujących możliwości związanych z wyrażeniami regularnymi:
- Pozwalają na dopasowanie części ciągu, które są zgodne z wyrażeniem regularnym, do określonych nazw zamiast numerów porządkowych dopasowań (na przykład zamiast „/(\d{4})-(\d{2})-(\d{2})/” można użyć „/(?\d{4})-(?\d{2})-(?\d{2})/” i uzyskać dostęp do roku nie przez result[1], ale przez result.groups.year).
- Unicode-znaków dodaje konstrukcje \p{…} i \P{…}, na przykład \p{Number} definiuje wszystkie możliwe znaki z obrazem cyfr (w tym symbole typu ①), \p{Alphabetic} — litery (łącznie z hieroglifami), \p{Math} — symbole matematyczne itd.
- Flaga powoduje, że maska „.” działa także na znaki nowej linii.
- Tryb pozwala na określenie w wyrażeniu regularnym, że jeden wzór poprzedza inny (na przykład dopasować kwotę w dolarach bez wychwytywania znaku dolara).
- Wprowadzone pseudoklas CSS i do wiązania reguł CSS z zestawem selektorów. Na przykład, zamiast
header p:hover, main p:hover, footer p:hover {…}
można wskazać
:is(header, main, footer) p:hover {…}
- Włączono pseudoklasy CSS i do wiązania z elementami formularzy (input lub textarea), które zostały zablokowane lub zezwolono na ich edytowanie.
- Dodano wsparcie dla metody do tworzenia zlokalizowanych list (np. zamiany „or” na „lub”, „and” na „i”).
const lf = new Intl.ListFormat(‘en’);
lf.format([‘Frank’, ‘Christine’, ‘Flora’]);
// → ‘Frank, Christine, and Flora’
// при локали «ru» будет ‘Frank, Christine и Flora’ - można wpisać funkcję, która zwiększy bieżącą wartość obiektu o 1. dodano wsparcie dla formatowania jednostek miary, walut, naukowych i kompaktowych oznaczeń (np. „Intl.NumberFormat(‘en’, {style: ‘unit’, unit: ‘meter-per-second’}”);
- Dodano metodę , umożliwiający zastąpienie lub wyczyszczenie istniejącego węzła potomnego.
- W gałęzi ESR włączono wsparcie dla Service Worker i Push API (w poprzednim wydaniu ESR były one wyłączone).
- WebAssembly dodał wsparcie dla importu i eksportu 64-bitowych parametrów funkcji, wykorzystując typ BigInt w JavaScript. Dla WebAssembly wprowadzono również rozszerzenie. , funkcje zwracane wielu wartości.
- W konsoli dla programistów webowych szczegółowe logowanie błędów związanych z Promise, w tym informacje o nazwach, stosach i właściwościach, co znacznie ułatwia rozwiązywanie problemów podczas korzystania z takich frameworków jak Angular.
- W narzędziach dla programistów webowych znacznie poprawiono wydajność nawigacji po DOM podczas inspekcji stron, które wykorzystują bardzo wiele właściwości CSS.
- W debuggerze JavaScript wprowadzono możliwość rozwijania skróconych nazw zmiennych na podstawie map źródłowych podczas użycia (Log points), które pozwalają przy wyzwoleniu etykiety zrzucić do konsoli webowej informacje o numerze linii w kodzie oraz wartościach zmiennych.
- W interfejsie inspekcji sieci dodano informacje o rozszerzeniach, mechanizmach ochrony przed śledzeniem oraz ograniczeniach CORS (Cross-Origin Resource Sharing), które spowodowały zablokowanie żądania.
Oprócz nowości i poprawek błędów w Firefox 78
naprawiono , z których kilka oznaczono jako krytyczne, co może prowadzić do wykonania kodu przez atakującego przy otwieraniu specjalnie przygotowanych stron. W tej chwili informacje ze szczegółami o naprawionych problemach bezpieczeństwa są niedostępne, oczekuje się, że lista luk zostanie opublikowana w ciągu kilku godzin.
Źródło: opennet.ru



