Dostępny Firefox 128 oraz wersja z długoterminowym wsparciem (ESR 128). Mimo wydania nowej wersji, deweloperzy postanowili na czas nieokreślony wydłużyć wsparcie dla poprzedniej wersji ESR (ESR 115), ponieważ to tam utrzymywano wsparcie dla systemu Windows 7, którego użytkownicy stanowią 10% bazy użytkowników Firefoxa.
Główne zmiany:
- Linux:
- Włączona wsparcie DMABuf na kartach graficznych NVIDIA (wymagany sterownik w wersji 545.23.6 lub nowszej).
- Zrealizowano wsparcie dla interfejsu DBus org.freedesktop.Application (bez tego niemożliwe jest zintegrowanie z wyszukiwarką GNOME Shell).
- Poprawiono odtwarzanie wideo AV1 w 10 bitach.
- Zrealizowano wsparcie dla odtwarzania chronionych treści (DRM) w trybie prywatnego przeglądania.
- Przeprojektowano interfejs czyszczenie danych: niektóre punkty zostały połączone (na przykład "dziennik odwiedzin i pobrań" z "dziennikiem form i wyszukiwania"), a także pokazano, ile miejsca zajmują poszczególne dane w wybranym okresie czasu.
- Dla zaznaczonego tekstu i linków dodano punkty menu kontekstowego "Przetłumacz zaznaczone" i "Przetłumacz tekst linku".
- Dodano wsparcie API do przypisywania z zachowaniem prywatności i ustawienie "Zezwól stronom internetowym na prowadzenie pomiarów reklamy z zachowaniem prywatności". Reklamodawcy będą mogli uzyskiwać uogólnione informacje, które nie zawierają danych o konkretnym użytkowniku, ale odpowiadają na ich pytania dotyczące efektywności reklam. Może to być dobra alternatywa dla "śledzenia" użytkowników, czym muszą zajmować się strony, aby ocenić skuteczność reklam.
- Ustawienie "Wysyłaj zapytania DNS przez proxy przy użyciu SOCKS 5" wliczona domyślnie. Dodano osobne ustawienie "Wysyłaj zapytania DNS przez proxy przy użyciu SOCKS v4" (ponieważ, jeśli proxy SOCKS4 nie obsługuje rozszerzenia SOCKSv4a, próba wysłania przez niego zapytań DNS spowoduje nieprawidłowe działanie proxy).
- Przywrócono ustawienie (browser.spin_cursor_while_busy), które zmienia kursor na obracające się kółko do czasu pełnego załadowania strony. Było ono domyślnie wyłączone przez 15 lat i usunięte w Firefoxie 119, ale okazało się, że niektórzy użytkownicy wolą widzieć wskaźnik ładowania.
- Przyspieszono działanie w trybie "Tylko HTTS": w przypadku napotkania strony, która nie obsługuje HTTPS, przeglądarka na chwilę zapamięta ją i nie będzie za każdym razem próbować połączyć się za pośrednictwem bezpiecznego połączenia.
- Po 25 latach na prośbę użytkownika dodano możliwość ustawienia przezroczystości tła przeglądarki (browser.tabs.allow_transparent_browser, oprócz tego należy zmienić szereg innych ustawień).
- Dodano lokalizacja na język syraki (skr).
- Użytkownikom w USA i Kanadzie będą pokazywane są najpopularniejsze i ostatnie wyszukiwania w rozwijanym menu paska adresu (browser.urlbar.recentsearches.featureGate, browser.urlbar.trending.featureGate).
- Pliki z niezidentyfikowanymi typami MIME text/* są teraz uznawane za text/plain i wyświetlane w przeglądarce.
- Naciśnięcie Enter w polu wyszukiwania (gdy jest ono oddzielone od paska adresu) już nie otwiera strony wyszukiwania. Twórcy zaznaczają, że takie otwieranie nie miało sensu: jeśli użytkownik chce coś wyszukać, wprowadza zapytanie od razu w polu wyszukiwania, a nie otwiera wyszukiwarkę przez pole wyszukiwania i dopiero potem wprowadza tam zapytanie.
- macOS:
- Podczas przechwytywania dźwięku z mikrofonu za pomocą getUserMedia teraz stosowane są środki obróbki i poprawy dźwięku, dostarczane przez system operacyjny.
- Ulepszono nawigacja po kartach.
- Przejście z trybu pełnoekranowego do trybu „Obraz w obrazie” już nie prowadzi do tego, że okno „Obraz w obrazie” otwiera się na pełnym ekranie.
- CSS:
- Włączona wsparcie odniesienie do kolorów (umożliwia określenie nowych kolorów w odniesieniu do już istniejących i zmianę przestrzeni kolorystycznej).
- Właściwość zawartość zyskało wsparciem tekstu alternatywnego dla treści ze zdjęciem (tekst alternatywny wyświetlana jest w drzewie dostępności przeglądarki).
- Zakończono wsparcie dla właściwości align-tracks i justify-tracks (były one wspierane tylko w Firefoxie i niedawno usunięte ze specyfikacji).
- JavaScript:
- Zrealizowano wsparcie dla zmiany rozmiaru ArrayBuffer i zwiększania SharedArrayBuffer (umożliwia zmianę rozmiaru buforów bez potrzeby alokacji nowego bufora i kopiowania danych do niego):
- Metoda SharedArrayBuffer.prototype.grow() umożliwia zwiększenie rozmiaru SharedArrayBuffer. Maksymalny rozmiar bufora określa parametr options.maxByteLength konstruktora SharedArrayBuffer(). Właściwości SharedArrayBuffer.prototype.growable i SharedArrayBuffer.prototype.maxByteLength odpowiednio wskazują, czy i do jakiego limitu rozmiar bufora może rosnąć.
- Metoda ArrayBuffer.prototype.resize() umożliwia zmianę rozmiaru ArrayBuffer. Maksymalny rozmiar bufora określa parametr options.maxByteLength konstruktora ArrayBuffer(). Właściwości ArrayBuffer.prototype.resizable i ArrayBuffer.prototype.maxByteLength odpowiednio wskazują, czy i do jakiego limitu rozmiar bufora może się zmieniać.
- Zrealizowano wsparcie dla zmiany rozmiaru ArrayBuffer i zwiększania SharedArrayBuffer (umożliwia zmianę rozmiaru buforów bez potrzeby alokacji nowego bufora i kopiowania danych do niego):
- HTTP:
- Nagłówek HTTP Akceptuj do żądania domyślne i żądania obrazów teraz zawiera typ MIME image/svg+xml.
- Zrealizowano wsparcie RFC 9218: Rozszerzalny schemat priorytetyzacji dla HTTP.
- API:
- Dodano wsparcie RTCRtpReceiver.getParameters() i RTCRtpSender.getParameters() (zwracają obiekt opisujący aktualnie używane kodeki do kodowania i transmisji multimediów na torach odbiorcy i nadawcy odpowiednio).
- pokazuje to, czego się spodziewano: można używać Request.bytes() i Response.bytes() do pobierania Uint8Array z Request i Odpowiedź.
- Zrealizowano wsparcie PushMessageData.bytes() (zwraca dane z push wiadomości w postaci tablicy bajtów w obiekcie Uint8Array).
- Zrealizowano wsparcie Blob.bytes()() (zwraca dane z Blob w postaci tablicy bajtów w obiekcie Uint8Array).
- Dodano wsparcie dla MediaKeys.getStatusForPolicy() (umożliwia aplikacji internetowej wcześniejsze sprawdzenie, czy odtwarzanie treści DRM z optymalną rozdzielczością będzie dostępne).
- Pojawiło się wsparcie RTCRtpTransceiver.setCodecPreferences() (umożliwia wymuszenie na zdalnym węźle wyboru preferowanego kodeka i wyłączenie negocjacji niektórych kodeków).
- Dostępna serializacja deklacyjnego shadow DOM: metody ShadowRoot.getHTML() i Element.getHTML(), oraz powiązane właściwości ShadowRoot.serializable i HTMLTemplateElement.shadowRootSerializable.
- Włączona domyślnie wsparcie dla interfejsu CSSPropertyRule (umożliwia uzyskiwanie wartości właściwości użytkownika CSS zdefiniowanych za pomocą reguły @property).
- Włączone wsparcie dla metody registerProperty() (umożliwia definiowanie własnych właściwości CSS za pomocą JavaScript).
- Usunięto niestandardową metodę HTMLMediaElement.seekToNextFrame().
- Narzędzia dewelopera:
- W podpowiedzi wyświetlanej po najechaniu kursorem na selektor reguły CSS, teraz wyświetlana specyficzność (pomaga zrozumieć, dlaczego niektóre reguły są stosowane przed innymi).
- W podpowiedzi wyświetlanej po najechaniu kursorem na zmienną, teraz wyświetlane jest nie tylko wartość zmiennej, ale także jej właściwości (składnia, dziedziczenie, wartość domyślna).
Źródło: linux.org.ru
