Die Veröffentlichung des Web-Browsers Firefox 88 hat stattgefunden. Darüber hinaus wurde ein Update für den Long-Term-Support-Zweig 78.10.0 erstellt. Bald wird der Firefox 89 in die Betatest-Phase überführt, dessen Veröffentlichung für den 1. Juni geplant ist.
Hauptneuheiten:
- Der PDF-Viewer hat die Unterstützung für integrierte Formularfelder in PDF-Dateien hinzugefügt, die zur Gewährleistung der interaktiven Benutzerinteraktion JavaScript verwenden.
- Es wurde eine Einschränkung der Häufigkeit von Berechtigungsanfragen für den Zugriff auf das Mikrofon und die Kamera eingeführt. Solche Anfragen werden nicht angezeigt, wenn der Benutzer in den letzten 50 Sekunden bereits Zugriff auf dasselbe Gerät, für dieselbe Website und denselben Tab gewährt hat.
- Der Zugriff auf das Screenshot-Werkzeug wurde aus dem Menü „Seitenaktionen“ entfernt, das beim Klicken auf die drei Punkte in der Adressleiste angezeigt wird. Um Screenshots zu erstellen, wird empfohlen, das entsprechende Werkzeug über das Kontextmenü aufzurufen, das beim Rechtsklick angezeigt wird, oder ein Symbol in der Menüleiste über die Benutzeroberfläche zur Anpassung des Erscheinungsbilds zu platzieren.

- Die Unterstützung für das Pinch-to-Zoom auf Touchpads in Linux mit grafischen Umgebungen, die auf dem Wayland-Protokoll basieren, wurde hinzugefügt.
- Im Drucksystem wurde die Lokalisierung der Maßeinheiten, die zur Festlegung der Ränder verwendet werden, implementiert.
- Beim Start von Firefox in Xfce- und KDE-Umgebungen wurde die Verwendung der WebRender-Rendering-Engine aktiviert. In Firefox 89 wird erwartet, dass WebRender für alle anderen Linux-Nutzer aktiviert wird, einschließlich aller Mesa-Versionen und Systeme mit NVIDIA-Treibern (zuvor war WebRender nur für GNOME bei Vorhandensein von Intel- und AMD-Treibern aktiviert). WebRender ist in Rust geschrieben und ermöglicht eine signifikante Steigerung der Rendering-Geschwindigkeit sowie eine geringere CPU-Belastung, indem GPU-Operationen zum Rendern des Seiteninhalts durch ausgeführte Shader auf der GPU ausgelagert werden. Um es in about:config zwangsweise zu aktivieren, sollte die Einstellung „gfx.webrender.enabled“ aktiviert werden oder Firefox mit der Umgebungsvariable MOZ_WEBRENDER=1 gestartet werden.
- Der schrittweise Einsatz der Protokolle HTTP/3 und QUIC hat begonnen. Zunächst wird die Unterstützung für HTTP/3 nur für einen kleinen Prozentsatz der Benutzer aktiviert, und sofern keine unvorhergesehenen Probleme auftreten, wird dieses bis Ende Mai allen zur Verfügung stehen. Für die Nutzung von HTTP/3 ist Unterstützung auf der clientseitigen notwendig. Server die gleiche Version des Entwurfsstandards QUIC und HTTP/3, die im Alt-Svc-Header angegeben ist (Firefox unterstützt die Entwurfsspezifikationen von 27 bis 32).
- Die Unterstützung des FTP-Protokolls ist standardmäßig deaktiviert. Die Einstellung network.ftp.enabled ist standardmäßig auf false gesetzt, und die Option für die Erweiterungen browserSettings.ftpProtocolEnabled wurde in den Nur-Lesen-Modus versetzt. Im nächsten Release wird der gesamte mit FTP verbundene Code entfernt. Als Grund für diese Entscheidung wird die Verringerung der Angriffsrisiken auf alten Code genannt, der eine Geschichte von Sicherheitsanfälligkeiten hat und Probleme bei der Wartung der FTP-Unterstützung aufweist. Außerdem wird die Beseitigung von Protokollen erwähnt, die keine Verschlüsselung unterstützen und daher anfällig für Modifikationen und Abhörung von Datenverkehr bei MITM-Angriffen sind.
- Um mögliche intersite Leaks zu blockieren, wird der Wert der Eigenschaft 'window.name' vom primären Standort isoliert, von dem die Seite geöffnet wurde.
- In JavaScript wurde der Eigenschaft 'indices' das Ergebnis der Ausführung regulärer Ausdrücke hinzugefügt, das ein Array mit den Anfangs- und Endpositionen der Übereinstimmungsgruppen enthält. Die Eigenschaft wird nur gefüllt, wenn der reguläre Ausdruck mit dem Flag '/d' ausgeführt wird. let re = /quick\s(brown).+?(jumps)/igd; let result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog'); // result.indices[0] === Array [ 4, 25 ] // result.indices[1] === Array [ 10, 15 ] // result.indices[2] === Array [ 20, 25 ]
- In Intl.DisplayNames() und Intl.ListFormat() wurde die Überprüfung verschärft, dass die an den Konstruktor übergebenen Optionen Objekte sind. Bei dem Versuch, Strings oder andere primitive Typen zu übergeben, werden Ausnahmen ausgelöst.
- Für das DOM wurde eine neue statische Methode AbortSignal.abort() bereitgestellt, die ein AbortSignal zurückgibt, für das das abgebrochene Signal bereits gesetzt wurde.
- In CSS wurden neue Pseudoklassen ':user-valid' und ':user-invalid' implementiert, die den Validierungsstatus eines Formularelements definieren, für das nach der Interaktion des Benutzers mit dem Formular eine Validierungsprüfung der angegebenen Werte durchgeführt wurde. Der wesentliche Unterschied zwischen ':user-valid' und ':user-invalid' sowie den Pseudoklassen ':valid' und ':invalid' besteht darin, dass die Prüfung erst beginnt, nachdem der Benutzer auf ein anderes Element gewechselt hat (z. B. durch Tabulatorwechsel auf ein anderes Feld).
- Die CSS-Funktion image-set(), die es ermöglicht, ein Bild aus einer Sammlung von Varianten mit unterschiedlicher Auflösung auszuwählen, die am besten zu den aktuellen Bildschirmparameter und der Bandbreite der Netzwerkverbindung passt, kann jetzt in den CSS-Eigenschaften "content" und "cursor" verwendet werden. h2::before { content: image-set( url("small-icon.jpg") 1x, url("large-icon.jpg") 2x); }
- Im CSS-Attribut outline wurde die Übereinstimmung mit dem durch das Attribut border-radius festgelegten Rand sichergestellt.
- Für macOS wurde die Standardschriftart für monospace auf Menlo geändert.
- In den Entwicklertools für das Web gibt es in der Netzwerkinspektor-Panel einen Schalter zum Wechseln zwischen der Anzeige von HTTP-Antworten im JSON-Format und im unveränderten Format, in dem die Antworten über das Netzwerk gesendet werden.

- Die Standardunterstützung für das Bildformat AVIF (AV1 Image Format), das Technologien aus der Videocodierung AV1 für die intra-frame Komprimierung verwendet, wurde auf die nächste Version verschoben. In der Version Firefox 89 soll auch eine aktualisierte Benutzeroberfläche angeboten und ein Taschenrechner in die Adresszeile integriert werden (über suggest.calculator in about:config aktivierbar).
Neben Neuerungen und Fehlerbehebungen wurden in Firefox 88 17 Sicherheitsanfälligkeiten behebt, von denen 9 als kritisch eingestuft sind. 5 Sicherheitsanfälligkeiten (unter CVE-2021-29947 zusammengefasst) resultieren aus Problemen bei der Speicherverwaltung, wie Pufferüberläufe und Zugriffe auf bereits freigegebene Speicherbereiche. Diese Probleme könnten potenziell zur Ausführung von Angreifercode führen, wenn speziell gestaltete Seiten geöffnet werden.
Quelle: opennet.ru


