Die Version des Webbrowsers Firefox 94 wurde veröffentlicht. Zudem wurde ein Update für die Long-Term-Support-Version 91.3.0 bereitgestellt. Die Beta-Testphase für Firefox 95 hat begonnen, dessen Veröffentlichung für den 7. Dezember geplant ist.
Hauptneuheiten:
- Eine neue Dienstseite «about:unloads» wurde implementiert, auf der Benutzer speicherintensive Tabs manuell entladen können, um den Speicherverbrauch zu reduzieren, ohne sie zu schließen (der Inhalt wird beim Wechsel zur Registerkarte erneut geladen). Auf der Seite «about:unloads» sind die geöffneten Tabs in der Reihenfolge ihrer Priorität aufgelistet, die im Falle eines Speichermangel entladen werden können. Die Priorität im Listeneintrag wird anhand der Zugriffszeit zur Registerkarte und nicht aufgrund des Ressourcenverbrauchs bestimmt. Durch Drücken der Schaltfläche Unload wird der erste Tab in der Liste aus dem Speicher entfernt, beim nächsten Druck der zweite usw. Das manuelle Entladen von Tabs nach Wahl ist derzeit noch nicht möglich.

- Beim ersten Start nach der Aktualisierung wird eine neue Benutzeroberfläche angezeigt, um aus sechs saisonalen Farbthemen auszuwählen. Für jedes Thema werden drei Intensitätsstufen für den Dunkelton angeboten, die die Darstellung der Inhalte, der Panels und der Tab-Wechselleiste in dunklen Farbtönen beeinflussen.

- Es wurde ein Modus für strikte Isolation von Websites eingeführt, der im Rahmen des Projekts Fission entwickelt wurde. Im Gegensatz zur bisherigen zufälligen Verteilung der Verarbeitung von Tabs auf den verfügbaren Pool von Prozessen (standardmäßig 8) wird im Modus der strikten Isolation die Verarbeitung jeder Website in einen eigenen Prozess ausgegliedert, und zwar nach Domains (Public Suffix) und nicht nach Tabs. Dieser Modus ist nicht für alle Benutzer aktiviert. Zur Deaktivierung oder Aktivierung kann die Seite „about:preferences#experimental“ oder die Einstellung „fission.autostart“ in about:config verwendet werden.
Der neue Modus bietet einen zuverlässigeren Schutz vor Spectre-Angriffen, reduziert die Speicherfragmentierung, ermöglicht eine zusätzliche Isolation des Inhalts externer Skripte und iFrame-Elemente. Zudem gibt er den Speicher effektiver an das Betriebssystem zurück, minimiert die Auswirkungen von Garbage Collection und rechenintensiven Prozessen auf Seiten in anderen Prozessen, erhöht die Effizienz der Lastverteilung auf verschiedene CPU-Kerne und verbessert die Stabilität (ein Absturz des Prozesses, der iFrames behandelt, zieht nicht den Hauptsite und andere Tabs mit sich). Der Preis dafür ist ein allgemeiner Anstieg des Speicherverbrauchs bei vielen geöffneten Webseiten.
- Benutzern wird das Multi-Account-Container-Add-on angeboten, das das Konzept der kontextbezogenen Container umsetzt. Diese Container ermöglichen eine flexible Isolierung beliebiger Websites. Sie bieten die Möglichkeit, verschiedene Arten von Inhalten zu isolieren, ohne separate Profile erstellen zu müssen, wodurch Informationen verschiedener Gruppenseiten voneinander getrennt werden können. So können beispielsweise separate, voneinander isolierte Bereiche für persönliche Kommunikation, Arbeit, Einkaufen und Bankgeschäfte erstellt werden, oder die gleichzeitige Nutzung verschiedener Benutzerkonten auf einer einzigen Website organisiert werden. In jedem Container werden separate Speicher für Cookies, die Local Storage API, indexedDB, Cache und OriginAttributes verwendet. Darüber hinaus kann bei der Verwendung von Mozilla VPN für jeden Container ein anderer VPN-Server genutzt werden.

- Die Bestätigungsanfrage beim Schließen des Browsers oder eines Fensters über das Menü und die Schaltflächen zum Schließen wurde entfernt. Das heißt, ein versehentliches Drücken der Schaltfläche „[x]“ in der Kopfzeile des Fensters führt nun zum Schließen aller Tabs, auch der mit geöffneten Bearbeitungsformularen, ohne vorherige Warnung. Nach einer Sitzungserneuerung gehen die Daten in den Web-Formularen nicht verloren. Beim Drücken von Ctrl+Q wird weiterhin eine Warnung ausgegeben. Dieses Verhalten kann in den Einstellungen geändert werden (Panel Allgemein / Abschnitt Tabs / Parameter „Vor dem Schließen mehrerer Tabs bestätigen“).

- In den Builds für die Linux-Plattform, die grafische Umgebungen mit dem X11-Protokoll verwenden, ist standardmäßig ein neuer Rendering-Backend aktiviert, der sich dadurch auszeichnet, dass er für die Grafikausgabe EGL anstelle von GLX nutzt. Dieser Backend unterstützt die Nutzung der OpenGL-Mesa 21.x Treiber sowie der proprietären NVIDIA 470.x Treiber. Proprietäre OpenGL-Treiber von AMD werden derzeit nicht unterstützt. Die Verwendung von EGL löst Probleme mit Grafiktreibern und erweitert die Palette an Geräten, für die Video- und WebGL-Beschleunigung verfügbar ist. Der neue Backend wurde durch die Aufteilung des DMABUF-Backends entwickelt, das ursprünglich für Wayland erstellt wurde und es ermöglicht, Frames direkt in den GPU-Speicher auszugeben, der dann in einem EGL-Framebuffer reflektiert und als Textur beim Rendering von Webseitenelementen dargestellt werden kann.
- In den Linux-Versionen ist standardmäßig eine Schicht enthalten, die Probleme mit der Zwischenablage in Umgebungen, die auf dem Wayland-Protokoll basieren, löst. Auch Änderungen in der Handhabung von Pop-up-Fenstern in diesen Umgebungen sind integriert. Wayland verlangt eine strikte Hierarchie von Pop-up-Fenstern, d.h. ein übergeordnetes Fenster kann ein untergeordnetes Fenster mit einem Pop-up erzeugen, aber das daraufhin in diesem Fenster initiierte nächste Pop-up muss an das ursprüngliche untergeordnete Fenster gebunden sein und eine Kette bilden. Im Firefox hingegen kann jedes Fenster mehrere Pop-ups erzeugen, die keine Hierarchie bilden. Das Problem besteht darin, dass das Schließen eines der Pop-ups unter Wayland den Umbau der gesamten Fensterkette mit anderen Pop-ups erfordert, wobei es nicht ungewöhnlich ist, mehrere offene Pop-ups zu haben, da Menüs, Tooltips, Erweiterungsdialoge, Berechtigungsanfragen usw. in Form von Pop-ups realisiert sind.
- Die Overheadkosten bei der Nutzung der APIs performance.mark() und performance.measure() mit einer großen Anzahl analysierter Metriken wurden gesenkt.
- Das Rendering-Verhalten beim Laden von Seiten wurde angepasst, um die Leistung des "warm" lgeladenen Zugriffs auf zuvor geöffnete Seiten im strikten Isolationsmodus zu verbessern.
- Um die Ladezeiten der Seiten zu beschleunigen, wurde die Priorität beim Laden und Anzeigen von Bildern erhöht.
- Im JavaScript-Engine wurde der Speicherverbrauch leicht gesenkt und die Leistung bei der Iteration über Eigenschaften verbessert.
- Die Planung von Garbage Collector-Aufrufen wurde optimiert, was in einigen Tests zu schnelleren Ladezeiten der Seiten führte.
- Die CPU-Last beim Polling von Sockets bei der Verarbeitung von HTTPS-Verbindungen wurde reduziert.
- Die Initialisierung des Speichers wurde beschleunigt und die Startzeit durch Reduzierung der E/A-Operationen im Hauptthread verkürzt.
- Beim Schließen der Entwicklertools wird nun mehr Speicher als zuvor freigegeben.
- In der CSS-Regel @import wurde die Unterstützung für die Funktion layer() hinzugefügt, die Definitionen von kaskadierenden Schichten bereitstellt, die durch die Regel @layer festgelegt sind.
- In der Funktion structuredClone() wurde die Unterstützung für das Kopieren komplexer JavaScript-Objekte implementiert.
- Für Formulare wurde das Attribut „enterkeyhint“ implementiert, das das Verhalten beim Drücken der Enter-Taste auf der virtuellen Tastatur festlegt.
- Die Methode HTMLScriptElement.supports() wurde eingeführt, um die Unterstützung bestimmter Skripttypen durch den Browser zu überprüfen, wie beispielsweise JavaScript-Module oder klassische Skripte.
- Die Eigenschaft ShadowRoot.delegatesFocus wurde hinzugefügt, um zu überprüfen, ob die Eigenschaft delegatesFocus im jeweiligen Shadow DOM eingestellt ist.
- Auf der Windows-Plattform wird anstelle aufdringlicher Benutzerabfragen zur Installation von Updates der Browser jetzt im Hintergrund beim Schließen aktualisiert. In der Umgebung von Windows 11 wird die Unterstützung für das neue Menüsystem (Snap Layouts) implementiert.
- In den macOS-Builds wird für Vollbildvideos der Energiesparmodus verwendet.
- In der Version für die Android-Plattform:
- Das Zurückkehren zu zuvor angesehenem und geschlossenem Inhalt wurde vereinfacht — auf der neuen basalen Startseite besteht die Möglichkeit, kürzlich geschlossene Tabs, gespeicherte Lesezeichen, Suchanfragen und Empfehlungen des Pocket-Dienstes einzusehen.
- Die Möglichkeit zur Anpassung der Inhalte auf der Startseite wurde bereitgestellt. Beispielsweise können Sie die Anzeige von Listen der am häufigsten besuchten Seiten, kürzlich geöffneten Tabs, neu gespeicherten Lesezeichen, Suchanfragen und Pocket-Empfehlungen anpassen.
- Die Unterstützung für das Verschieben von seit längerem inaktiven Tabs in eine separate Sektion 'Inaktive Tabs' wurde hinzugefügt, um die Haupt-Tab-Leiste nicht zu überlasten. Inaktive Tabs sind solche, auf die seit über 2 Wochen nicht zugegriffen wurde. Dieses Verhalten kann in den Einstellungen unter 'Einstellungen->Tabs-> Alte Tabs zu inaktiven verschieben' deaktiviert werden.
- Die Heuristik zur Anzeige von Empfehlungen während der Eingabe in die Adresszeile wurde erweitert.

Neben neuen Funktionen und Fehlerbehebungen wurden in Firefox 94 16 Sicherheitsanfälligkeiten behoben, von denen 10 als kritisch eingestuft werden. 5 dieser Sicherheitsrisiken ergeben sich aus Speicherproblemen wie Pufferüberläufen und dem Zugriff auf bereits freigegebene Speicherbereiche. Diese Probleme könnten potenziell zur Ausführung von Angreifercode bei Öffnung speziell gestalteter Seiten führen.
Quelle: opennet.ru





