Veröffentlichung von Firefox 147

Die Veröffentlichung des Webbrowsers Firefox 147 erfolgte, und Updates für die älteren Long-Term-Support-Versionen — 140.7.0 und 115.32.0 — wurden erstellt. Der Branch Firefox 148 wurde in die Beta-Testphase überführt, dessen Veröffentlichung für den 24. Februar geplant ist.

Die wichtigsten Neuerungen in Firefox 147 (1, 2, 3):

  • Die Unterstützung der Spezifikation Freedesktop.org XDG Base Directory wurde hinzugefügt, sowie die Möglichkeit, das Verzeichnis „~/.config/mozilla“ zur Speicherung von Profilen, Erweiterungen, Einstellungen und internen Datenbanken zu verwenden. Die Unterstützung für die Ablage von Daten im alten Verzeichnis „~/.mozilla“ bleibt als Option erhalten, die bei der Ausführung mit der Umgebungsvariablen „MOZ_LEGACY_HOME=1“ aktiviert wird.
  • Die Unterstützung des Mechanismus „Compression Dictionary Transport“ (RFC 9842) wurde hinzugefügt, der die Größe der zwischen Client und Server, durch die Verwendung der Komprimierungsalgorithmen Zstandard (Content-Encoding: dcz) und Brotli (Content-Encoding: dcb) in Kombination mit der Komprimierung typischer Strukturen unter Verwendung von Wörterbüchern reduziert. Es gibt zwei Nutzungsszenarien für Compression Dictionary Transport — die Komprimierung von Inhalten basierend auf zuvor vom Server bereitgestellten Wörterbüchern und die Verwendung bereits übermittelter Inhalte als Wörterbuch für die Komprimierung seiner neuen Version (Delta-Komprimierung, bei der nur die Änderungen im Vergleich zur bestehenden Version übertragen werden).

    Zum Beispiel kann der Server bei der Anfrage „GET /index.html“ Informationen über das Vorhandensein eines Wörterbuchs zurückgeben, indem er den Weg dazu im Header ‚Link: ; rel="compression-dictionary"‘ angibt. Beim Laden des Wörterbuchs „…/dict“ durch den Client wird der Server Informationen über dessen Anwendung auf HTML-Dateien im Header ‚Use-As-Dictionary: match="/*html"‘ bereitstellen. Bei der nächsten Anfrage an eine HTML-Ressource, wie z. B. „GET /index2.html“, gibt der Client an, dass er ein Wörterbuch hat, über den Header ‚Available-Dictionary: hash_wörterbuch‘. Wenn der Server ein Wörterbuch mit diesem Hash auf seiner Seite hat, wird er den Inhalt von index2.html zurückgeben, der mit Hilfe dieses Wörterbuchs komprimiert ist.

    Für die Delta-Komprimierung verschiedener Versionen von JavaScript-Dateien kann der Server in Antwort auf die Anfrage „GET /app.v1.js“ den Header ‚Use-As-Dictionary: match="/app*js"‘ festlegen, der darüber informiert, dass der zurückgegebene Inhalt zukünftig als Wörterbuch für die Pfade „/app*js“ verwendet werden kann. Bei der folgenden Anfrage nach einer Datei, die diesem Muster entspricht, wie z. B. „GET /app.v2.js“, übermittelt der Client den Hash des verfügbaren Wörterbuchs über den Header „Available-Dictionary:“, und der Server gibt nur die Änderungen zwischen den Dateien app.v1.js und app.v2.js zurück.

  • Die Seite about:keyboard wurde hinzugefügt, um Tastenkombinationen einzustellen und vorhandene Hotkeys zu überschreiben, beispielsweise um vertrautere Optionen zu wählen oder Konflikte mit anderen Programmen zu vermeiden.
    Veröffentlichung von Firefox 147
  • Die Wiedergabe von Videos unter Verwendung der hardwarebeschleunigten Dekodierung auf AMD-GPUs wurde optimiert. Auf Systemen mit AMD-GPU wird jetzt hardwaredecodiertes Video ohne zusätzliche Datenkopie (Zero-Copy-Modus) abgespielt, ähnlich wie es zuvor für Systeme mit Intel- und NVIDIA-GPUs implementiert wurde.
  • Für Version 5 wurde die Implementierung des Safe Browsing-Protokolls aktualisiert, das zur Überprüfung von URLs auf Listen unsicherer Ressourcen (Phishing-Websites, Seiten mit Malware usw.), die von Google bereitgestellt werden, verwendet wird. Die neue Protokollversion ermöglicht das Herunterladen von Sperrlisten zur Verwendung auf einem lokalen System (Datenbank mit SHA256-Hashpräfixen problematischer URLs), die jetzt in Firefox verwendet werden.
  • Eine Option zum automatischen Fortsetzen der Video-Wiedergabe im Bild-in-Bild-Modus wurde hinzugefügt, wenn auf einen anderen Tab gewechselt wird.
  • Im Modus des verbesserten Schutzes vor Verfolgung (ETP, Enhanced Tracking Protection => Strict) wird standardmäßig die Spezifikation LNA (Local Network Access) angewendet, um den Zugriff auf das lokale System (Loopback, 127.0.0.0/8) oder das interne Netzwerk (192.168.0.0/16, 10.0.0.0/8 usw.) bei der Interaktion mit öffentlichen Websites einzuschränken. Der Zugriff auf interne Ressourcen wird von Angreifern zur Durchführung von CSRF-Angriffen auf Router, Zugangspunkte, Drucker, Unternehmens-Webschnittstellen und andere Geräte und Dienste genutzt, die Anfragen nur aus dem lokalen Netzwerk annehmen. Darüber hinaus kann das Scannen interner Ressourcen zur indirekten Identifizierung oder zum Sammeln von Informationen über das lokale Netzwerk verwendet werden.
  • Auf Linuх-Systemen mit GNOME und dem Kompositionsserver Mutter wurde ein Problem mit verschwommenen Inhalten bei Verwendung von fractional scaling behoben.
  • Auf Apple-Computern mit Apple-Silicon-Chips und macOS wird die Unterstützung für die API WebGPU aktiviert.
  • Die im HTTP-Header Accept-Language festgelegten Sprachwahlprioritäten (q-Parameter) sind mit den Werten anderer Browser synchronisiert, was einige Portabilitätsprobleme gelöst hat. Beispielsweise wird für die zweite Sprache jetzt eine Priorität von q=0.9 anstelle von q=0.5 festgelegt, während die Priorität für jede nachfolgende Sprache um 0.1 verringert wird.
  • Die ICU-Bibliothek wurde auf Version 78 mit Unterstützung für Unicode 17 und Aktualisierungen der Locale-Daten aktualisiert.
  • In Service Workern ist die Verwendung von JavaScript-Modulen ESM (ECMAScript Module), die über die Ausdrücke import und export importiert bzw. exportiert werden, erlaubt.
  • Die Unterstützung für die Spezifikation CSS Module Scripts wurde hinzugefügt, die ein Modulsystem für JavaScript zur Verwendung beim Import von CSS-Ressourcen ermöglicht. Zum Beispiel: import styles from "./styles.css" with { type: "css" };
  • Im Pseudo-Element „::marker“, das die Anpassung von Zahlen und Punkten für Aufzählungen in
      und
        ermöglicht, dürfen CSS-Eigenschaften „counter-*“ und „quotes“ verwendet werden.
      1. Im API CompressionStream und DecompressionStream wurde die Unterstützung für das komprimierte Format Brotli hinzugefügt.
      2. Im API View Transitions, das zur Erstellung von Animationseffekten beim Wechsel zwischen verschiedenen DOM-Zuständen verwendet wird, wurde die Eigenschaft „type“ hinzugefügt, die ein Array mit Übergangstypen enthält. Außerdem wurde der entsprechende CSS-Selektor „:active-view-transition-type“ sowie die Eigenschaft document.activeViewTransition hinzugefügt, die eine Instanz des aktiven ViewTransition-Objekts für das Dokument zurückgibt.
      3. Ein Satz von CSS-Eigenschaften zur Steuerung der Anzeige von Elementen, die an die Position anderer Elemente gebunden sind (CSS Anchor Positioning), wurde aktiviert, ohne JavaScript zu verwenden, um beispielsweise Elemente von Popups (Popover) anzudocken, die analog zu Tooltipps erscheinen.
      4. Die Spezifikation „Storage Access Headers“, die den Header „Sec-Fetch-Storage-Access“ für die Anforderung und den Header „Activate-Storage-Access“ für die Antwort zur Erlangung des Zugriffs auf Drittanbieter-Cookies ohne Aufruf der Methode document.requestStorageAccess() definiert, wurde implementiert. Der Server kann über den Header „Activate-Storage-Access“ Zugriff auf Cookies anfordern, und dieser wird vom Client gesendet, wenn der Benutzer zuvor die Berechtigung zum Zugriff auf den Cookie-Speicher über die API Storage Access bestätigt hat.
      5. Im CSS-Eigenschaft „root-font-relative“ wurde die Unterstützung für relative Maßeinheiten rcap, rch, rex und ric hinzugefügt.
      6. Die Navigation-API ermöglicht es Webanwendungen, Navigationsvorgänge im Fenster abzufangen, Übergänge zu initiieren und die Historie der Aktionen mit der Anwendung zu analysieren. Die API bietet eine alternative Lösung zu den Eigenschaften window.history und window.location, die für single-page Webanwendungen optimiert ist.
      7. In den Entwicklertools für das Web wurde in der CSS-Regel-Palette die Unterstützung für die Bearbeitung und das Hinzufügen von Selektoren für Pseudo-Elemente implementiert. In die Anzeige von Daten im JSON-Format wurde eine Schaltfläche zum Importieren von Ressourcen in das Profilerstellungssystem (Firefox Profiler) hinzugefügt, um Informationen über ihre Größe zu bestimmen. In den Panels zur Inspektion von HTML-Elementen und Animationen wird die Anzeige von Pseudo-Elementen von View Transitions unterstützt. In der CSS-Regel-Palette wurde die Anzeige der Regeln @position-try implementiert, die zur Steuerung der Anzeige von Elementen verwendet werden, die an den Positionen anderer Elemente gebunden sind (CSS Anchor Positioning).
      8. Die Version von Firefox für Android hat hinzugefügt der Schutz vor Angriffen über Drittkanäle, wie Spectre, die zur Umgehung der Isolation zwischen Websites verwendet werden. Früher war ein solcher Schutz nur in Desktop-Builds verfügbar.

    Neben Neuerungen und Bugfixes wurden in Firefox 147 23 Sicherheitsanfälligkeiten behoben. 10 dieser Sicherheitsanfälligkeiten sind auf Speicherprobleme zurückzuführen, wie z. B. Pufferüberläufe und den Zugriff auf bereits freigegebene Speicherbereiche. Diese Probleme könnten potenziell dazu führen, dass Angreifer beim Öffnen speziell gestalteter Seiten Code ausführen. 3 Sicherheitsanfälligkeiten erlauben es, die Sandbox-Isolation aufgrund unzureichender Grenzkontrollen und ganzzahliger Überläufe im Grafikelement zu umgehen.

    Quelle: opennet.ru

60GB SSD 8Gb DDR4