wydanie przeglądarki internetowej , a także Firefox 68.1 na platformę Android. Dodatkowo zostały wydane aktualizacje z długoterminowym wsparciem i (Gałąź ESR 60.x nie będzie już aktualizowana, zaleca się przejście na gałąź 68.x). Wkrótce na etapie przejdzie gałąź Firefox 70, której wydanie zaplanowano na 22 października.
:
- W domyślnym standardowym trybie blokowania niepożądanego kontentu dodano funkcje ignorowania plików Cookie wszystkich zewnętrznych systemów śledzenia oraz blokowania wstawek JavaScript, które prowadzą do wydobywania kryptowalut. Kod do wydobycia powoduje znaczące zwiększenie obciążenia procesora w systemie użytkownika i zazwyczaj jest wdrażany na stronach wskutek włamań lub używany na wątpliwych stronach jako metoda monetyzacji.
Dawniej te blokady były włączane tylko w surowym trybie blokowania, który teraz ma sens włączać tylko w przypadku chęci blokowania metod („browser fingerprinting”). Blokowanie odbywa się według listy .Przy blokacji w pasku adresu wyświetla się symbol tarczy, a w menu kontekstowym można sprawdzić, z jakich konkretnie stron zostały zablokowane pliki Cookie używane do śledzenia. W tej samej menu można selektywnie wyłączyć blokadę dla wybranych stron.
- Rozszerzono możliwości blokowania automatycznego odtwarzania multimediów. Oprócz wcześniej dodanej funkcji wyciszenia dźwięku w automatycznie odtwarzanym wideo możliwość całkowitego zatrzymania odtwarzania wideo, nie ograniczając się do wyciszenia dźwięku. Na przykład, jeśli wcześniej reklamy wideo na stronach były wyświetlane, ale bez dźwięku, to w nowym trybie, nawet bez wyraźnego kliknięcia, nie rozpoczną odtwarzania. Aby włączyć tryb w ustawieniach automatycznego odtwarzania (Opcje > Prywatność i bezpieczeństwo > Uprawnienia > Autoodtwarzanie) dodano nową opcję „Zablokuj dźwięk i wideo”, która uzupełniła domyślnie ustawiony tryb „Zablokuj dźwięk.”

Tryb może być wybrany w powiązaniu z konkretnymi stronami przez menu kontekstowe, które pojawia się po kliknięciu przycisku „(i)” w pasku adresu.
- Dla użytkowników z USA oraz dla wersji «en-US» zmieniono układ bloków na stronie startowej, wyświetlanej po otwarciu nowej karty, a także dodano wyświetlanie dodatkowej treści rekomendowanej przez serwis Pocket. Zmieniono rozmiar bloków i ilość rekomendacji, zaproponowano nowe sekcje tematyczne (Zdrowie, Nauka, Technologie i Rozrywka);
- Domyślnie wyłączono możliwość odtwarzania treści Flash przez wtyczkę Adobe Flash. Z ustawień wtyczki Adobe Flash Player usunięto opcję stałego włączania Flash i pozostawiono jedynie możliwości wyłączenia Flash oraz indywidualnego włączania dla konkretnych witryn (włączenie wymagane kliknięciem) bez zapamiętywania wybranego trybu. W gałęziach ESR przeglądarki Firefox wsparcie dla Flash będzie dostępne do końca 2020 roku;
- domyślnie przetwarzanie plików i , które pozwalają użytkownikowi na modyfikację wyglądu witryn lub interfejsu Firefox. Jako powód wyłączenia domyślnego podano pracę nad skróceniem czasu uruchamiania przeglądarki. Zmiana zachowania przez userContent.css i userChrome.css jest przez użytkowników niezwykle rzadko stosowana, a ładowanie danych CSS zużywa dodatkowe zasoby (optymalizacja eliminuje zbędne odwołania do dysku). Aby przywrócić przetwarzanie userChrome.css i userContent.css, w about:config dodano opcję „toolkit.legacyUserProfileCustomizations.stylesheets”, która będzie automatycznie aktywowana dla użytkowników, którzy już korzystają z userChrome.css lub userContent.css;
- Dla WebRTC wprowadzono możliwość przetwarzania kanałów z użyciem różnych kodeków wideo, co upraszcza tworzenie usług wideokonferencyjnych, w których uczestnicy mogą korzystać z różnych aplikacji klienckich;
- Dla architektury ARM64 w silniku JavaScript wprowadzono wsparcie dla kompilacji JIT;
- Z identyfikatorów przeglądarki (navigator.userAgent, navigator.platform oraz navigator.oscpu) usunięto informacje o korzystaniu z 32-bitowej wersji Firefox w środowisku 64-bitowym (wcześniej wymagane dla Flash, ale pozostawiało dodatkowy wektor dla ukrytej identyfikacji użytkownika);
- Dodana została funkcja oglądania wideo w trybie "obraz w obrazie" (Picture-in-Picture), umożliwiająca oddzielenie wideo w formie pływającego okna, które pozostaje na wierzchu podczas przeglądania w przeglądarce. Aby korzystać z tego trybu, należy kliknąć podpowiedź lub w menu kontekstowym wyświetlanym po kliknięciu prawym przyciskiem myszy na wideo, wybierając "Picture in picture" (w YouTube, który wstawia własny handler menu kontekstowego, należy dwukrotnie kliknąć prawym przyciskiem myszy lub kliknąć przytrzymując klawisz Shift). Obsługę trybu można włączyć w about:config za pomocą opcji "media.videocontrols.picture-in-picture.enabled";
- wdrożenie generatora haseł ("signon.generation.available" w about:config), który umożliwia wyświetlanie wskazówki z automatycznie wygenerowanym mocnym hasłem podczas wypełniania formularzy rejestracyjnych;
- W menedżerze haseł możliwość przetwarzania kont w kontekście domeny najwyższego poziomu, co umożliwia proponowanie jednego hasła zapisanego dla wszystkich subdomen. Na przykład, hasło zapisane dla login.example.com będzie teraz proponowane do autouzupełnienia w formularzach witryny www.example.com;
- procesów-obsługujących, który przekazuje systemowi operacyjnemu informacje o najważniejszych procesach. Na przykład, proces obsługi treści, który przetwarza aktywną kartę, będzie miał wyższy priorytet (przydzielone więcej zasobów CPU) niż proces związany z kartami w tle (jeśli na nich nie odtwarzane są wideo i dźwięk). Zmiana jest obecnie włączona domyślnie tylko dla platformy Windows, inne systemy wymagają aktywacji opcji dom.ipc.processPriorityManager.enabled w about-config;
- Aktywowano API , umożliwiająca tworzenie na bazie technologii WebExtensions dodatków w stylu Greasemonkey do uruchamiania skryptów użytkownika w kontekście stron internetowych. Na przykład, przy pomocy dołączenia skryptów można zmieniać wygląd i działanie przeglądanych stron. To API jest już częścią Firefoksa, ale dotychczas do jego aktywacji wymagane było ustawienie parametru „extensions.webextensions.userScripts.enabled” w about:config. W przeciwieństwie do istniejących dodatków o podobnej funkcjonalności, stosujących wywołanie tabs.executeScript, nowe API umożliwia izolację skryptów w osobnych środowiskach sandbox, rozwiązuje problemy z wydajnością i pozwala na obsługę różnych etapów ładowania stron.
- Właściwość navigator.mediaDevices jest teraz dostępna tylko po otwarciu strony w wysoce zabezpieczonym kontekście (Secure Context), tzn. po otwarciu przez HTTPS, przez localhost lub z pliku lokalnego;
- Dodano właściwości CSS i , umożliwiające kontrolowanie wyświetlania treści, która wychodzi poza granice bloków i elementów inline (przycięcie końcówki lub wyświetlenie paska przewijania). Właściwości są realizowane poprzez automatyczną konwersję na overflow-x i overflow-y w zależności od trybu wyjścia treści (od góry do dołu lub wierszami).
- Dla właściwości CSS zrealizowano wsparcie dla wartości break-spaces;
- Zrealizowano właściwość CSS , wskazującą, że element i jego zawartość są oddzielone od reszty drzewa DOM;
- Dodano właściwość CSS , pozwalającą określić, czy tekst może być zaznaczony przez użytkownika;
- Dodano możliwość definiowania reguł @supports dla selektorów (
format „@supports selector(selector-to-test){…}”), co może być stosowane do selektywnego stosowania CSS tylko w przypadku, gdy dany selektor jest wspierany lub nie w przeglądarce; - Dodano wsparcie dla dla instancji klas JavaScript, które pozwalają na określenie wcześniej zdefiniowanych właściwości, inicjowanych poza konstruktorem. W najbliższym czasie oczekiwana jest również obsługa prywatnych pól, niewidocznych poza klasą;
class Product {
name;
tax = 0.2; /*public field*/
#basePrice = 0; /*приватное поле*/
price;constructor(name, basePrice) {
this.name = name;
this.basePrice = basePrice;
this.price = (basePrice * (1 + this.tax)).toFixed(2);
}
} - Dodano API , umożliwiająca podłączenie obsługi, do której będą kierowane powiadomienia o zmianie rozmiaru określonych elementów na stronie. Kluczowa różnica nowego API od window.onresize i CSS Media Queries polega na tym, że można określić fakt zmiany konkretnego elementu na stronie, a nie całego widocznego obszaru, co pozwala zareagować zmianą tylko tego elementu, bez zmiany całej widocznej treści;
- Dodano API Microtasks, reprezentowane przez jedną metodę , która pozwala na niskim poziomie zaplanować wywołanie callbacku funkcji, dodając go do kolejki mikrozadań;
- Dodano nowe metody , , , DOMMatrix.fromMatrix(), ;
- Do nagłówków HTTP Access-Control-Expose-Headers, Access-Control-Allow-Methods i Access-Control-Allow-Headers dodano możliwość wskazania maski „*” dla żądań bez uwierzytelnienia;
- W konsoli webowej zapewniono grupowanie ostrzeżeń dotyczących aktywności związanej z śledzeniem ruchu użytkownika;
- W panelu inspekcji aktywności sieciowej dodano szczegółowe informacje o przyczynach blokowania zasobów (CSP, mieszana zawartość itp.), a także dodano opcjonalną kolumnę z pełnym URL;
- Przyspieszono uruchamianie debuggera JavaScript. W interfejsie about:debugging przeniesiono funkcje zdalnego debugowania. Zrealizowano wsparcie dla krokowego debugowania funkcji asynchronicznych (Async). nowa klasa punktów przerwań, które można powiązać z wystąpieniem zdarzeń związanych z myszą, ekranem dotykowym, animacją, DOM, zapytaniami medialnymi,
worker-ami itp. - W narzędziach dewelopera dodano interfejs do audytu widoku strony, w którym wykorzystywane są treści (na przykład wyświetlanie tekstu z atrybutu „alt
zamiast obrazów); - Na systemach z macOS, na których zainstalowano kilka kart graficznych, zapewniono bardziej agresywne przełączanie na energooszczędny GPU po zakończeniu przetwarzania treści WebGL. Dodano również zabezpieczenie przed przełączaniem z energooszczędnego na mocny GPU dla jednorazowych wywołań WebGL. W wersjach dla macOS zaimplementowano również wyświetlanie postępu ładowania plików przez standardowy interfejs Finder. Rozpoczęto tworzenie instalacyjnych wersji Firefox w formacie PKG;
- Dla systemu Windows 10 z najnowszymi aktualizacjami (1903+) dodano wsparcie dla rozszerzenia Web Authentication HmacSecret przez Windows Hello, umożliwiającego autoryzację na stronach bez wprowadzania hasła przy użyciu odcisku palca, rozpoznawania twarzy lub tokena USB;
- tworzenie nowych wydań Firefox dla Androida, które teraz pod nazwą kodową Fenix jest nową przeglądarką mobilną, korzystającą z silnika GeckoView oraz zestawu bibliotek Mozilla Android Components. Poprawki do Firefox dla Androida będą wydawane w ciągu roku w ramach gałęzi ESR Firefox 68, na przykład, aktualnie utworzono wydanie . Aby pobrać nową przeglądarkę, należy korzystać z wersji testowych
.
Oprócz nowości i poprawek błędów w Firefox 69 usunięto , z czego tylko jedna (CVE-2019-11751) jako krytyczna. Problem ten jest specyficzny dla platformy Windows i pozwala na zapisanie dowolnego pliku w systemie podczas uruchamiania przeglądarki z innej aplikacji (np. otwierając link z programu do wymiany wiadomości, można sformatować link w taki sposób, że uruchomienie przeglądarki spowoduje utworzenie pliku autostartowego w katalogu ‘Startup’). Zmniejszenie liczby krytycznych podatności wiąże się z tym, że problemy z pamięcią, takie jak przepełnienia buforów i odwołania do już zwolnionych obszarów pamięci, są teraz oznaczane jako niebezpieczne, ale nie krytyczne. W nowym wydaniu usunięto 13 takich problemów, które potencjalnie mogą prowadzić do wykonania kodu przez złośliwego użytkownika przy otwieraniu specjalnie przygotowanych stron.
Źródło: opennet.ru

