Wydano przeglądarkę internetową Firefox 119 oraz utworzono aktualizację gałęzi z długoterminowym wsparciem — 115.4.0. Na etap testów beta przeszła gałąź Firefox 120, której wydanie zaplanowano na 21 listopada.
Główne nowości w Firefox 119:
- Proponowany jest zaktualizowany interfejs strony Firefox View, który upraszcza dostęp do wcześniej przeglądanych treści. Na stronie Firefox View zebrane są w jednym miejscu informacje o aktywnych kartach, niedawno odwiedzonych stronach, zamkniętych kartach i kartach z innych urządzeń. W nowej wersji w Firefox View zapewniono wyświetlanie informacji o wszystkich kartach otwartych w dowolnych oknach oraz dodano możliwość przeglądania historii odwiedzin z sortowaniem według daty lub strony.

- Włączono możliwość importowania rozszerzeń z Chrome i przeglądarek opartych na silniku Chromium. W dialogu importu danych z innych przeglądarek („Import Data” na stronie about:preferences#general) pojawiła się opcja przenoszenia rozszerzeń. Do przenoszenia wykorzystywana jest lista 72 rozszerzeń, w której dopasowane są identyfikatory tych samych rozszerzeń, które istnieją dla Chrome i Firefox. Jeśli podczas importu danych z Chrome obecne są rozszerzenia z tej listy, w Firefox zamiast wersji rozszerzenia dla Chrome instalowana jest wersja przeznaczona dla Firefox.

- Włączono wsparcie dla mechanizmu ECH (Encrypted Client Hello), który rozwija ESNI (Encrypted Server Name Indication) i jest używany do szyfrowania informacji o parametrach sesji TLS, takich jak żądana nazwa domeny. Kluczowa różnica między ECH a ESNI polega na tym, że w ECH zamiast szyfrowania na poziomie pojedynczych pól całkowicie szyfrowane jest całe wiadomość TLS ClientHello, co pozwala na blokowanie wycieków przez pola, które nie są objęte ESNI, na przykład pole PSK (Pre-Shared Key).
- W oferowanych przez wbudowany podgląd PDF możliwościach edycji dokumentów pojawiło się wsparcie dla wstawiania obrazów i notatek tekstowych do nich, oprócz wcześniej dostępnego rysowania ręcznie liniami oraz dołączania komentarzy tekstowych. Nowy tryb edycji PDF został aktywowany tylko u części użytkowników; aby wymusić włączenie go na stronie about:config, należy aktywować ustawienie „pdfjs.enableStampEditor”.

- Changed settings related to session restoration after exiting the browser. Unlike previous releases, information will now be retained not only about active tabs between sessions, but also about recently closed tabs, allowing users to restore accidentally closed tabs after a restart and view their list in Firefox View mode. By default, data about the last 25 tabs opened within the last 7 days will be saved. Information about tabs in closed windows will also be taken into account, processing the list of closed tabs in the context of all windows, not just the current one.
- The capabilities of Total Cookie Protection have been expanded, where each site uses a separate isolated cookie store, preventing cookies from being used to track movement between sites (all cookies set by third-party blocks loaded onto the site (iframe, js, etc.) are tied to the site from which those blocks are loaded). The new version implements isolation for the URI scheme 'blob:....' (Blob URL), which can potentially be used to transmit information suitable for tracking users.
- For users of enhanced tracking protection (ETP, Enhanced Tracking Protection) strict mode, additional protection against indirect user identification through font analysis is enabled — visible fonts to sites are limited to system fonts and fonts from standard language sets.
- The snap package for Firefox supports using the native Ubuntu file selection dialog when accessing data from other browsers, as well as supports determining available capabilities based on the installed version of xdg-desktop-portal.
- Support for selecting a monitor for placing the browser window launched in kiosk mode has been added. The monitor is selected using the command line parameter '--kiosk-monitor'. The browser switches to full-screen mode immediately after launching in kiosk mode.
- Detection of multimedia content in files processed with the MIME type 'application/octet-stream' has been discontinued. For such files, the browser will now offer to download the file instead of starting playback.
- W ramach przygotowań do włączenia w Firefox blokady zewnętrznych Cookie zaktualizowano implementację API Storage Access, które jest stosowane do proszenia użytkownika o uprawnienia do uzyskania dostępu do pamięci Cookie z iframe, gdy zewnętrzne Cookie są domyślnie blokowane. W nowej implementacji wzmocniono ochronę i dodano zmiany, aby uniknąć problemów z działaniem stron.
- Dla własnych elementów (Custom Element), które rozszerzają funkcjonalność istniejących elementów HTML, dodano wsparcie dla atrybutów ARIA (Accessible Rich Internet Applications), co pozwala na uczynienie tych elementów bardziej dostępnymi dla osób z ograniczeniami. Dodano możliwość ustawiania i odczytywania atrybutów ARIA bezpośrednio dla elementów DOM (np. buttonElement.ariaPressed = "true") bez użycia metod setAttribute i getAttribute.
- W nagłówku HTTP Cross-Origin-Embedder-Policy, który zarządza trybem izolacji Cross-Origin i pozwala określać zasady bezpiecznego użycia uprzywilejowanych operacji na stronie, dodano wsparcie dla parametru „credentialless”, który wyłącza przesyłanie informacji związanych z danymi uwierzytelniającymi, takimi jak Cookie i certyfikaty klienta.
- Do funkcji CSS attr() dodano możliwość podania drugiego argumentu, którego wartość będzie używana w sytuacjach, gdy wskazany atrybut jest nieobecny lub ma niedopuszczalną wartość. Na przykład, attr(foobar, "Default value").
- Dodano metody Object.groupBy i Map.groupBy do grupowania elementów tablicy, wykorzystując jako klucz do grupowania wartość tekstową zwracaną przez funkcję callback wywoływaną dla każdego elementu tablicy.
- Dodano metody: String.prototype.isWellFormed() do sprawdzania, czy w napisie występuje poprawnie uformowany tekst Unicode (sprawdzane jest występowanie tylko pełnych „par zastępczych” złożonych znaków) oraz String.prototype.toWellFormed() do czyszczenia i konwertowania tekstu Unicode do poprawnej formy.
- Do metod WebTransport.createBidirectionalStream() i WebTransport.createUnidirectionalStream() dodano wsparcie dla właściwości „sendOrder” do określenia względnego priorytetu wysyłanych strumieni.
- W API AuthenticatorAttestationResponse zaproponowano nowe metody getPublicKey(), getPublicKeyAlgorithm() oraz getAuthenticatorData().
- W API Web Authentication dodano wsparcie dla właściwości credProps, umożliwiających określenie obecności danych uwierzytelniających po ich utworzeniu lub rejestracji.
- W API PublicKeyCredential dodano metody parseCreationOptionsFromJSON(), parseRequestOptionsFromJSON() oraz toJSON() do konwersji obiektów na format JSON, odpowiedni do serializacji/deserializacji i przesyłania na serwer.
- W narzędziach dla programistów webowych ulepszono interfejs do interaktywnej pracy z CSS (Nieaktywne style CSS), w którym wprowadzono możliwość identyfikacji właściwości CSS, które nie wpływają na element, oraz dodano pełne wsparcie dla pseudoelementów, takich jak „::first-letter”, „::cue” i „::placeholder”.
- Wbudowany przeglądarka danych w formacie JSON automatycznie przełącza się na wyświetlanie danych takimi, jakie są (raw), jeśli przeglądane dane JSON są niepoprawne lub uszkodzone.
- Na platformie Windows dodano wsparcie dla systemowego ustawienia, które ukrywa kursor podczas wpisywania tekstu.
- W wersji dla platformy Android naprawiono awarie występujące podczas pełnoekranowego oglądania wideo. Dodano wsparcie dla zapytań medialnych prefers-contrast i prefers-reduced-transparency w środowisku Android 14.
Oprócz nowości i poprawek błędów w Firefox 119 usunięto 25 luk w zabezpieczeniach. 17 z tych luk (16 scalono pod CVE-2023-5730 i CVE-2023-5731), które zostały oznaczone jako niebezpieczne, wynika z problemów z pamięcią, takich jak przepełnienia buforów i dostęp do już zwolnionych obszarów pamięci. Te problemy mogą potencjalnie prowadzić do wykonania kodu przez intruza po otwarciu specjalnie przygotowanych stron. Jeszcze jedna niebezpieczna luka (CVE-2023-5721) umożliwia, poprzez clickjacking, potwierdzenie lub anulowanie niektórych dialogów lub ostrzeżeń przeglądarki.
Źródło: opennet.ru



