Wydanie Firefox 72

Odbyło się wydanie przeglądarki internetowej Firefox 72, a także wersji mobilnej Firefox 68.4 dla platformy Android. Ponadto przygotowano aktualizację gałęzi z długoterminowym wsparciem 68.4.0. Wkrótce przejdzie do etapu beta testów przejdzie gałąź Firefox 73, której wydanie zaplanowane jest na 11 lutego (projekt przeszedł na 4 tygodnie cykl rozwoju).

Podstawowe nowości:

  • W domyślnie stosowanym standardowym trybie blokady niepożądanego kontentu wliczona ochrona przed śledzeniem użytkowników za pomocą metod ukrytej identyfikacji („browser fingerprinting”), która jest realizowana poprzez dodatkowym kategoriom 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 rozdzielczość ekranu, lista obsługiwanych typów MIME, specyficzne parametry w nagłówkach (HTTP/2 i HTTPS) analiza zainstalowanych wtyczek i czcionek, dostępność określonych Web API, specyficznych dla kart graficznych cechy renderowanie przy użyciu WebGL i Canvas, manipulacje z CSS, analiza cech pracy z myszą i klawiaturą.
    Wydanie Firefox 72
  • Aktywowane metod walki 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.
  • Dodano eksperymentalna wsparcie 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 neqo, napisanej w języku Rust realizacji klienta i serwera protokołu QUIC (HTTP/3 standaryzuje użycie protokołu QUIC jako transportu dla HTTP/2).
  • Zgodnie z wymaganiami obowiązującej ustawy CCPA (California Consumer Privacy Act) dodano 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 zobowiązuje się w ciągu 30 dni usunąć 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”.
    Wydanie Firefox 72
  • 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).

    Wydanie Firefox 72
  • Podczas wyświetlania paska przewijania zaangażowany kolor tła bieżącej strony.
  • Usunięto możliwość 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 zakończone 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 zaakceptowano łatek, umożliwiające w OpenBSD zastosowanie wywołań systemowych unveil() i pledge() 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 „part” oraz pseudo-element „::part„, umożliwiające selektywne wyświetlanie określonych elementów z Shadow DOM.

    <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 CSS Motion Path, 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
    offset,
    offset-path,
    offset-anchor,
    offset-distance i
    offset-rotate.
  • Włączono domyślnie oddzielne właściwości CSS do transformacji scale, rotate i translate, niezwiązane z właściwością transform 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 FormDataEvent i zdarzenie FormData, 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 Geolocation 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 dodano wsparcie dla warunkowych punktów przerwania (watchpoint), które uruchamiają się przy zmianie lub odczycie określonych właściwości obiektów.

    Wydanie Firefox 72
  • 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 web-konsoli w wielowierszowym trybie interpretacji JavaScript dodano wsparcie dla zapisywania i otwierania plików przy pomocy kombinacji Ctrl + O i Ctrl + S.
  • Dodano 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.

    Wydanie Firefox 72
  • 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 wyświetlono 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 Scratchpad, 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 20 luk bezpieczeństwa, z czego 11 (zebranych pod CVE-2019-17025 i CVE-2019-17024) 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

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster