Dostępny Firefox 85.
- System graficzny:
- WebRender włączono na urządzeniach używających połączenia „GNOME+Wayland+karta graficzna Intel/AMD” (poza wyświetlaczami 4K, których wsparcie oczekiwane jest w Firefox 86). Ponadto, WebRender włączono na urządzeniach korzystających z grafiki Iris Pro Graphics P580 (mobilne Xeon E3 v5), o których deweloperzy zapomnieli, a także na urządzeniach z sterownikami Intel HD Graphics w wersji 23.20.16.4973 (ten konkretny sterownik znajdował się na czarnej liście). Na urządzeniach z sterownikiem AMD 8.56.1.15/16 WebRender wyłączono.
- Na systemach korzystających z Wayland, ustawiono przyspieszenie sprzętowe wideo w formatach VP8/VP9.
- Wyłączono mechanizm Advanced Layers. Teraz tę pracę wykonuje WebRender.
- Tymczasowo wyłączone przyspieszenie Canvas 2D z wykorzystaniem procesora graficznego, powodujące artefakty w niektórych zasobach.
- Włączono podział sieciowy. Teraz pamięć podręczna (HTTP, obrazy, favikony, pul koneksji, CSS, DNS, autoryzacja HTTP, Alt-Svc, spekulacyjne wstępne połączenia, czcionki, HSTS, OCSP, tagi Prefetch i Preconnect, CORS i inne) jest przechowywana oddzielnie dla każdej domeny. Utrudni to poważnie śledzenie użytkowników przez duże CDN i sieci reklamowe, które mogą analizować obecność określonych plików w pamięci podręcznej przeglądarki i wyciągać wnioski na temat historii odwiedzin. Podział sieciowy pojawił się po raz pierwszy w Safari osiem lat temu (rozpoczął się od pamięci podręcznej HTTP, następnie Apple stopniowo dodawało inne kategorie), a pod koniec 2020 roku pojawił się w Chrome. Nieuchronną ceną będzie pewne zwiększenie ruchu (każdy zasób będzie ładował z CDN treść, nawet jeśli ta treść była już ładowana przez inny zasób) i czasu ładowania, ale według szacunków Google ta wartość jest niezwykle mała (4% ruchu, spowolnienie ładowania o 0.09-0.75% dla większości stron, 1.3% w najgorszych przypadkach). Niestety, w nowoczesnym internecie nie ma innego sposobu na walkę z superciasteczkami (dodatki takie jak Decentraleyes nie mogą stanowić alternatywy, ponieważ obejmują tylko niewielką część wymienionych powyżej treści pamięci podręcznej).
- Dodano możliwość wyświetlania paska zakładek tylko na stronie nowej karty (Widok → Panele narzędzi → Pasek zakładek → Tylko na nowej karcie) zamiast na wszystkich stronach. Ponadto Firefox nauczył się zapamiętywać folder dla dodawanych zakładek, a na pasku zakładek teraz wyświetla się folder „Inne zakładki” (browser.toolbars.bookmarks.showOtherBookmarks). Po imporcie zakładek z innych przeglądarek pasek zakładek będzie automatycznie włączony na wszystkich kartach. Dodano telemetria do oceny wzrostu interakcji z paskiem zakładek, wzrostu liczby nowych użytkowników importujących zakładki oraz użytkowników, którzy całkowicie wyłączają pasek zakładek.
- Dalsze ulepszenia paska adresu:
- W oknie dialogowym ustawień wyszukiwarek dodano „Zakładki”, „Historia” i „Otwarte karty”, co pozwala na przypisywanie im krótkich nazw.
- Każdą z wyszukiwarek można teraz ukryć z paska adresu.
- Dodano ustawienie, dzięki czemu nie będą proponowane wyszukiwarki w wynikach wyszukiwania (na przykład, począwszy od Firefox 83, przy wpisywaniu „bing” najpierw jest oferowana przełączysz się na wyszukiwarkę Bing).
- Pojawiło się selektywne drukowanie stron (na przykład, nie 1-5, a 1-3,5), a także drukowanie kilku stron na jednym arkuszu. Funkcje te są dostępne tylko w nowym oknie dialogowym podglądu druku, które można włączyć ustawieniem print.tab_modal.enabled.
- W menedżerze zapamiętanych haseł dodano czyszczenie wszystkich zapamiętanych haseł (wcześniej trzeba było je usuwać pojedynczo).
- Dodano możliwość wybór strony głównej i strony nowej karty, nawet jeśli zainstalowane jest rozszerzenie zmieniające te strony. Wcześniej użytkownik miał tylko wybór między „pogodzeniem się” a „wyłączeniem rozszerzenia”.
- Możliwe stało się wyświetlanie PID w podpowiedziach kartach (browser.tabs.tooltipsShowPid).
- Maksymalny możliwy powiększenie strony zwiększono z 300% do 500%, aby dorównać innym przeglądarkom.
- Automatyczne uzupełnianie adresu (gdy użytkownik wpisuje słowo w pasku adresu i naciska Ctrl+Enter) teraz dodaje prefiks https://, a nie http://.
- Zaktualizowano logo wyszukiwarki Bing. Sama wyszukiwarka została przemianowana na Microsoft Bing.
- Aby uniknąć awarii, maksymalna długość każdego linku w historii jest ograniczona do 2000 znaków.
- Maksymalny dozwolony rozmiar lokalnej pamięci (LocalStorage), który może być używany przez konkretny zasób internetowy, zwiększono od 5 do 25 megabajtów. W Firefox 84 wprowadzono zmiany w algorytmie obliczania objętości przechowywanych danych, w wyniku czego okazało się, że niektórym stronom internetowym przestało wystarczać 5 megabajtów. Ponieważ deweloperzy planują wkrótce całkowicie przepisać kod odpowiedzialny za LocalStorage (LocalStorage NextGen), zdecydowano się na razie po prostu zwiększyć limit, a nie tracić czasu na poprawianie kodu, który niedługo zniknie.
- Naprawiono niemożność odzyskania kilku zamkniętych kart, jeśli zostały one zamknięte nie przez użytkownika, a przez dodatek (odzyskiwana była jedynie ostatnia z zamkniętych kart, a nie wszystkie).
- Poprawiono zawieszanie się podczas ładowania dużych plików z serwisu Mega.
- Usunięto problem, przez który Firefox zainstalowany jako pakiet Flatpak nie mógł otworzyć adresu localhost:port.
- Heurystyka próbująca zgadnąć poprawne rozszerzenie pliku na podstawie typu MIME przesyłanego przez serwer, teraz tworzy wyjątki dla formatów zip, json i xml (co powodowało problemy podczas ładowania plików typu .rwp i .t5script, które w istocie są archiwami zip, ale mają inne rozszerzenie). Heurystyka jest niezbędna, ponieważ istnieje wiele źle skonfigurowanych serwerów, które wysyłają pliki z poprawnym typem MIME, ale niepoprawnym rozszerzeniem, oraz przynajmniej tyle samo serwerów, które wysyłają pliki z poprawnym rozszerzeniem, ale błędnym typem MIME (na przykład w przypadku .rwp (skompresowany katalog Train Simulator 2021) serwer nie powinien informować przeglądarki, że jest to archiwum ZIP). Użytkownicy nie chcą zatem zgłębiać, że to źle skonfigurowany serwer jest winny, a nie przeglądarka, dlatego na przykład Chrome zmuszony jest utrzymywać w kodzie ogromną listę typów MIME, aby rozwiązywać takie sytuacje.
- Naprawiono błąd prowadzący do nieskończonego powiadomienia o tym, że w sieci lokalnej wykryto Captive Portal. Odwiedzenie przez użytkownika domeny firefox.com skutkowało uzyskaniem informacji o HSTS, co zmuszało przeglądarkę do korzystania z protokołu HTTPS do połączenia z tą domeną. To z kolei łamało mechanizm wykrywania Captive Portal (który sprawdza dostępność adresu http://detectportal.firefox.com w HTTP, ponieważ zapytania HTTPS są bezużyteczne w przypadku rzeczywistej obecności Captive Portal).
- Naprawiono niemożność łączenia się z domenami w sieci lokalnej po nazwach NetBIOS.
- Całkowicie usunięto wsparcie dla Flash. Zamiast elementów i <embed>, o typie x-shockwave-flash lub x-test, będzie wyświetlana przezroczysta przestrzeń.
- Zakończono wsparcie dla Encrypted SNI (eSNI), stosowanego do szyfrowania pola SNI (zawiera nazwę hosta w nagłówkach pakietów HTTPS, jest używane do obsługi kilku zasobów HTTPS na jednym adresie IP, a także przez dostawców do selektywnego filtrowania ruchu i analizy odwiedzanych zasobów). Praktyka pokazała, że nie zapewnia to odpowiedniej prywatności, ponieważ nazwa domeny pojawia się na przykład w parametrach PSK (Pre-Shared Key) podczas wznawiania sesji, a także w niektórych innych polach. Tworzenie odpowiedników eSNI dla każdego z takich pól wydaje się niepraktyczne. W miejsce eSNI zaproponowano standard ECH (Encrypted Client Hello), w którym szyfrowane są nie pojedyncze pola, ale całe wiadomości ClientHello (za jego włączenie odpowiadają ustawienia network.dns.echconfig.enabled i network.dns.use_https_rr_as_altsvc).
- Zakończono wsparcie dla silników wyszukiwarek zainstalowanych w katalogu distribution lub w katalogu pakietu językowego. Takie silniki nie powinny pozostać po Firefox 78 (a jeśli pozostały, to jest to oczywisty błąd i nie powinny być używane).
- Dodatki:
- Wartość ustawienia 'tryb tylko HTTPS' jest teraz dostępna do odczytu przez dodatki, aby dodatki takie jak HTTPS Everywhere mogły wyłączać część swoich funkcji, które kolidują z tym trybem.
- Dodatkom teraz udostępniono API browsingData (dzięki czemu dodatki mogą usuwać dane zapisane w przeglądarce).
- HTML:
- Wsparcie zostało włączone <link rel=«preload»> (załadunek treści jeszcze przed tym, jak zostanie ona jawnie zażądana przez przeglądarkę).
- Wyłączono wsparcie dla elementu <menuitem>.
- CSS:
- Włączono wsparcie dla pseudo-klasy :focus-visible.
- Włączono wsparcie dla wartości pinch-zoom w właściwości touch-action.
- JavaScript: свойство collation теперь может передаваться в качестве опции конструктору Intl.Collator() (zamiast let pinyin = new Intl.Collator(["zh-u-co-pinyin"]); można napisać let pinyin = new Intl.Collator("zh", {collator: "pinyin"});).
- Narzędzia dewelopera:
- W edytorze kodu konsoli pojawił się przycisk do formatowania wyrażeń JS.
- Inspektor nauczył się włączać i wyłączać pseudo-klasę :focus-visible dla wybranego elementu (oprócz już obsługiwanych pseudo-klas :hover, :active, :focus, :focus-within i :visited).
Źródło: linux.org.ru
