Wydana została przeglądarka internetowa Firefox 90. Dodatkowo powstała aktualizacja do gałęzi wsparcia długoterminowego 78.12.0. Oddział Firefox 91 wkrótce zostanie przeniesiony do fazy testów beta, których wydanie zaplanowano na 10 sierpnia.
Główne innowacje:
- W sekcji ustawień „Prywatność i bezpieczeństwo” dodano dodatkowe ustawienia dla trybu „Tylko HTTPS”, po włączeniu wszystkie żądania wysyłane bez szyfrowania są automatycznie przekierowywane do bezpiecznych wersji stron („http://” zostaje zastąpione przez „https ://”). Zaproponowano interfejs do prowadzenia listy wyjątków dla witryn, z których możliwe jest użycie „http://” bez przymusowej zamiany na „https://”.

- Ulepszona implementacja mechanizmu SmartBlock, mająca na celu rozwiązywanie problemów na stronach, które powstają w wyniku blokowania zewnętrznych skryptów w trybie przeglądania prywatnego lub gdy włączone jest ulepszone blokowanie niechcianych treści (ścisłe). SmartBlock automatycznie zastępuje skrypty używane do śledzenia kodami pośredniczącymi, które zapewniają prawidłowe ładowanie witryny. Stuby są przygotowane dla niektórych popularnych skryptów śledzenia użytkowników znajdujących się na liście rozłączeń. Nowa wersja zawiera adaptacyjne blokowanie widżetów Facebooka hostowanych na stronach osób trzecich - skrypty są domyślnie blokowane, ale blokowanie jest wyłączone, jeśli użytkownik jest zalogowany na konto na Facebooku.
- Wbudowana implementacja protokołu FTP została usunięta. Podczas próby otwarcia łączy z identyfikatorem protokołu „ftp://” przeglądarka spróbuje teraz wywołać aplikację zewnętrzną w taki sam sposób, w jaki wywoływane są procedury obsługi „irc://” i „tg://”. Powodem zaprzestania obsługi FTP jest brak zabezpieczenia tego protokołu przed modyfikacjami i przechwytywaniem ruchu tranzytowego podczas ataków MITM. Według twórców Firefoksa w dzisiejszych warunkach nie ma powodu używać FTP zamiast HTTPS do pobierania zasobów. Ponadto kod obsługi FTP przeglądarki Firefox jest bardzo stary, stwarza problemy w zakresie konserwacji i ma historię ujawniania dużej liczby luk w przeszłości.
- Podczas zapisywania strony w formacie PDF (opcja „Drukuj do PDF”) działające hiperłącza zostają zachowane w dokumencie.
- Przycisk „Otwórz obraz w nowej karcie” w menu kontekstowym został przeprojektowany tak, aby otwierał obraz w zakładce tła (wcześniej po kliknięciu od razu przechodziłeś do nowej karty z obrazem, ale teraz stara karta pozostaje aktywna).
- Włożono prace, aby poprawić wydajność renderowania oprogramowania w systemie komponowania WebRender, który wykorzystuje moduły cieniujące do wykonywania sumarycznych operacji renderowania elementów strony. W przypadku większości systemów ze starszymi kartami graficznymi lub problematycznymi sterownikami graficznymi, system komponowania WebRender ma włączony tryb renderowania programowego (gfx.webrender.software=true w about:config).
- W zespołach dla platformy Windows Zapewnia instalację aktualizacji w tle, nawet gdy przeglądarka Firefox nie jest uruchomiona.
- Zaimplementowano możliwość wykorzystania do uwierzytelniania certyfikatów klienta przechowywanych w tokenach sprzętowych lub magazynach certyfikatów systemu operacyjnego.
- Wprowadzono obsługę grupy nagłówków HTTP Fetch Metadata (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site i Sec-Fetch-User), która umożliwia wysyłanie dodatkowych metadanych dotyczących charakteru żądania (żądanie między witrynami, żądanie za pośrednictwem znacznika img, żądanie zainicjowane bez działania użytkownika itp.) w celu akceptacji serwer Środki ochrony przed niektórymi typami ataków. Na przykład, jest mało prawdopodobne, aby link do firmy obsługującej przelewy pieniężne został określony za pomocą znacznika img, więc takie żądania można zablokować bez przekazywania ich do aplikacji.
- JavaScript implementuje obsługę oznaczania metod i pól klasy jako prywatnych, po czym dostęp do nich będzie otwarty tylko wewnątrz klasy. Aby zaznaczyć, należy poprzedzić nazwę znakiem „#”: class ClassWithPrivateField { #privateField; statyczny #PRIVATE_STATIC_FIELD; #privateMethod() { return „witaj, świecie”; } }
- Do konstruktora Intl.DateTimeFormat dodana została właściwość dayPeriod, która umożliwia wyświetlenie przybliżonej pory dnia (rano, wieczór, popołudnie, noc).
- W JavaScript obiekty Array, String, TypedArray implementują metodę at(), która pozwala na zastosowanie indeksowania względnego (pozycja względna jest określona jako indeks tablicy), łącznie z podaniem wartości ujemnych względem końca (np. „arr.at(-1)” zwróci ostatni element tablicy).
- Dodano obsługę starszych właściwości WheelEvent - WheelEvent.wheelDelta, WheelEvent.wheelDeltaX i WheelEvent.wheelDeltaY, co przywróci zgodność z niektórymi starymi stronami, które zostały utracone po niedawnym przeprojektowaniu WheelEvent.
- API Canvas implementuje metodę createConicGradient() w interfejsie CanvasRenderingContext2D, która umożliwia tworzenie gradientów utworzonych wokół punktu o określonych współrzędnych (oprócz dostępnych wcześniej gradientów liniowych i promieniowych).
- Dodano obsługę schematu URI protokołu „matrix”, którego można używać w procedurach obsługi Navigator.registerProtocolHandler() i protokołu_handlers.
- W Narzędziach dla programistów internetowych, w Panelu monitorowania odpowiedzi sieciowej serwer (Odpowiedź) Wprowadzono podgląd pobranych czcionek.

Źródło: opennet.ru


