Wydano przeglądarkę internetową Firefox 94. Ponadto utworzono aktualizację gałęzi długoterminowego wsparcia — 91.3.0. Gałąź Firefox 95 została przeniesiona do etapu testów beta, której wydanie zaplanowano na 7 grudnia.
Główne innowacje:
- Zaimplementowano nową stronę usługi „about:unloads”, na której użytkownik może wymusić usunięcie z pamięci najbardziej zasobożernych kart bez ich zamykania (treść zostanie ponownie załadowana po przejściu do karty), aby zmniejszyć zużycie pamięci. Na stronie „about:unloads” dostępne karty są wymienione w kolejności priorytetu do przesunięcia, gdy brakuje pamięci RAM. Priorytet na liście jest wybierany w zależności od czasu dostępu do karty, a nie na podstawie zużytych zasobów. Po kliknięciu przycisku Unload pierwsza karta z listy zostanie usunięta z pamięci, druga zostanie usunięta następnym razem itd. Nie jest jeszcze możliwe usunięcie wybranej karty.

- Przy pierwszym uruchomieniu po zainstalowaniu aktualizacji wyświetlany jest nowy interfejs umożliwiający wybór jednego z sześciu sezonowych motywów kolorystycznych. Każdy z nich zawiera trzy poziomy trybu ciemnego, które wpływają na wygląd obszaru zawartości, paneli i paska kart w trybie ciemnym.

- Zaproponowano tryb ścisłej izolacji witryny, opracowany w ramach projektu Fission. W przeciwieństwie do wcześniej stosowanego dowolnego rozkładu przetwarzania kart w dostępnej puli procesów (8 domyślnie), tryb ścisłej izolacji umieszcza przetwarzanie każdej witryny w jej własnym oddzielnym procesie, z podziałem nie według kart, ale według domen (sufiks publiczny). Tryb ten nie jest aktywowany dla wszystkich użytkowników; strona „about:preferences#experimental” lub ustawienie „fission.autostart” w about:config mogą być użyte do jego wyłączenia lub włączenia.
Nowy tryb zapewnia bardziej niezawodną ochronę przed atakami Spectre, zmniejsza fragmentację pamięci i umożliwia dodatkową izolację zawartości zewnętrznych skryptów i bloków iframe. Zwraca pamięć do systemu operacyjnego bardziej wydajnie, minimalizuje wpływ zbierania śmieci i intensywnych obliczeń na strony w innych procesach, zwiększa wydajność dystrybucji obciążenia na różne rdzenie procesora i poprawia stabilność (awaria procesu obsługującego iframe nie pociągnie za sobą głównej witryny i innych kart). Ceną jest ogólny wzrost zużycia pamięci przy dużej liczbie otwartych witryn.
- Użytkownikom oferowany jest dodatek Multi-Account Containers, który implementuje koncepcję kontenerów kontekstowych, umożliwiających elastyczną izolację dowolnych witryn. Kontenery umożliwiają izolowanie różnych typów treści bez tworzenia oddzielnych profili, co pozwala na oddzielenie informacji z określonych grup stron. Można na przykład utworzyć oddzielne, odizolowane obszary do komunikacji osobistej, pracy, zakupów i bankowości lub zorganizować jednoczesne korzystanie z różnych kont użytkowników w jednej witrynie. Każdy kontener wykorzystuje oddzielne miejsce do przechowywania plików cookie, interfejsu API pamięci lokalnej (Local Storage), indeksowanej bazy danych (indexedDB), pamięci podręcznej i treści OriginAttributes. Dodatkowo, w przypadku korzystania z przeglądarki Mozilla, VPN Dla każdego kontenera można użyć innego serwera VPN.

- Usunięto żądanie potwierdzenia operacji podczas wychodzenia z przeglądarki lub zamykania okna za pomocą menu i przycisków zamykania okna. Oznacza to, że błędne kliknięcie przycisku „[x]” w tytule okna powoduje teraz zamknięcie wszystkich kart, w tym tych z otwartymi formularzami edycyjnymi, bez wcześniejszego ostrzeżenia. Po przywróceniu sesji dane w formularzach internetowych nie są tracone. Po naciśnięciu Ctrl+Q ostrzeżenie jest nadal wyświetlane. To zachowanie można zmienić w ustawieniach (panel Ogólne/ sekcja Karty/ parametr „Potwierdź przed zamknięciem wielu kart”).

- W zespołach dla platformy Linux W środowiskach graficznych korzystających z protokołu X11 domyślnie włączony jest nowy moduł renderujący. Używa on interfejsu EGL zamiast GLX do generowania grafiki. Moduł obsługuje sterowniki OpenGL Mesa 21.x (open source) oraz zastrzeżone sterowniki NVIDIA 470.x. Zastrzeżone sterowniki OpenGL firmy AMD nie są jeszcze obsługiwane. Korzystanie z EGL rozwiązuje problemy ze sterownikami GFX i rozszerza zakres urządzeń, dla których dostępna jest akceleracja wideo i WebGL. Nowy moduł renderujący jest rozwidleniem modułu DMABUF, pierwotnie stworzonego dla Wayland i umożliwiającego generowanie klatek bezpośrednio do pamięci GPU. Klatki te mogą być następnie mapowane na bufor ramki EGL i renderowane jako tekstura podczas łączenia elementów strony internetowej.
- W zgromadzeniach dla Linux Warstwa rozwiązująca problemy ze schowkiem w środowiskach opartych na Waylandzie jest domyślnie włączona. Pakiet zawiera również zmiany dotyczące obsługi wyskakujących okienek w środowiskach opartych na Waylandzie. Wayland wymaga ścisłej hierarchii okienek wyskakujących, co oznacza, że okno nadrzędne może utworzyć okno potomne z wyskakującym okienkiem, ale każde kolejne wyskakujące okienko zainicjowane z tego okna musi być połączone z oryginalnym oknem potomnym, tworząc łańcuch. W Firefoksie jednak każde okno może tworzyć wiele wyskakujących okienek, które nie tworzą hierarchii. Problem polegał na tym, że podczas korzystania z Waylanda zamknięcie jednego wyskakującego okienka wymagało przebudowania całego łańcucha okien z innymi wyskakującymi okienkami. Otwarcie wielu wyskakujących okienek nie jest rzadkością, ponieważ menu, podpowiedzi, okna dialogowe dodatków, prośby o uprawnienia i tym podobne są implementowane jako wyskakujące okienka.
- Mniejsze obciążenie podczas korzystania z interfejsów API performance.mark() i performance.measure() przy analizowaniu dużej liczby metryk.
- Zmieniono sposób renderowania podczas ładowania strony w celu zwiększenia wydajności ciepłego ładowania wcześniej otwartych stron w trybie ścisłej izolacji.
- Aby przyspieszyć ładowanie strony, zwiększono priorytet ładowania i wyświetlania obrazów.
- Silnik JavaScript charakteryzuje się niewielkim zmniejszeniem zużycia pamięci i zwiększoną wydajnością iteracji właściwości.
- Ulepszono harmonogram operacji zbierania śmieci, co skróciło czas ładowania stron w niektórych testach.
- Zmniejszono obciążenie procesora podczas sondowania gniazd w trakcie przetwarzania połączeń HTTPS.
- Ulepszona inicjalizacja pamięci masowej i skrócony czas uruchamiania dzięki zmniejszeniu operacji wejścia/wyjścia wątku głównego.
- Zamknięcie narzędzi programistycznych spowoduje zwolnienie większej ilości pamięci niż poprzednio.
- Reguła CSS @import obsługuje teraz funkcję layer(), która zwraca definicje warstwy kaskadowej określonej za pomocą reguły @layer.
- Funkcja structuredClone() implementuje obsługę kopiowania złożonych obiektów JavaScript.
- Atrybut „enterkeyhint” został zaimplementowany w formularzach. Umożliwia on zdefiniowanie zachowania po naciśnięciu klawisza Enter na klawiaturze wirtualnej.
- Zaimplementowano metodę HTMLScriptElement.supports(), za pomocą której można sprawdzić, czy przeglądarka obsługuje określone typy skryptów, na przykład moduły JavaScript lub klasyczne skrypty.
- Dodano właściwość ShadowRoot.delegatesFocus w celu sprawdzenia, czy właściwość delegatesFocus jest ustawiona w konkretnym Shadow DOM.
- Platforma Windows Zamiast rozpraszać użytkowników prośbami o zainstalowanie aktualizacji, przeglądarka teraz aktualizuje się w tle po jej zamknięciu. Windows 11 wdrożono obsługę nowego systemu menu (Snap Layouts).
- W zgromadzeniach dla macOS W przypadku filmów w trybie pełnoekranowym włączony jest tryb niskiego zużycia energii.
- W wersji platformowej Android:
- Łatwiejszy jest powrót do poprzednio przeglądanych i zamkniętych treści — nowa podstawowa strona główna umożliwia przeglądanie ostatnio zamkniętych kart, dodanych zakładek, wyszukiwań i rekomendacji Pocket.
- Możesz teraz dostosować zawartość wyświetlaną na stronie głównej. Na przykład możesz dostosować, które strony wyświetlają listy najczęściej odwiedzanych witryn, ostatnio otwieranych kart, ostatnio zapisanych zakładek, zapytań wyszukiwania i rekomendacji Pocket.
- Dodano obsługę przenoszenia długo nieaktywnych kart do osobnej sekcji Nieaktywne karty, aby uniknąć zaśmiecania głównego paska kart. Nieaktywne karty zawierają karty, do których nie uzyskano dostępu przez ponad 2 tygodnie. To zachowanie można wyłączyć w ustawieniach „Ustawienia->Karty-> Przenieś stare karty do nieaktywnych”.
- Rozszerzona heurystyka wyświetlająca rekomendacje w trakcie pisania na pasku adresu.

Oprócz nowych funkcji i poprawek błędów, Firefox 94 naprawia 16 luk, z których 10 oznaczono jako niebezpieczne. Pięć luk jest spowodowanych problemami z pamięcią, takimi jak przepełnienia bufora i dostęp do już zwolnionych obszarów pamięci. Problemy te mogą potencjalnie prowadzić do wykonania złośliwego kodu podczas otwierania specjalnie zaprojektowanych stron.
Źródło: opennet.ru





