Die Veröffentlichung des Web-Browsers Firefox 89 hat stattgefunden. Außerdem wurde ein Update für die LTS-Version 78.11.0 erstellt. In naher Zukunft wird die Version Firefox 90 in die Beta-Testphase überführt, deren Veröffentlichung für den 13. Juli geplant ist.
Hauptneuheiten:
- Eine umfassende Überarbeitung des Interfaces wurde durchgeführt. Die Symbol-Piktogramme wurden aktualisiert, der Stil verschiedener Elemente vereinheitlicht und die Farbpalette überarbeitet.
- Das Design der Tab-Leiste wurde geändert – die Ecken der Tab-Schaltflächen sind abgerundet und verschmelzen jetzt nicht mehr mit der unteren Kante der Leiste (Floating-Button-Effekt). Die visuelle Trennung inaktive Tabs wurde entfernt, aber der Bereich, der von der Schaltfläche eingenommen wird, wird bei Mouseover auf den Tab hervorgehoben.

- Das Menü wurde umstrukturiert. Selten verwendete und veraltete Elemente wurden aus den Haupt- und Kontextmenüs entfernt, um die Aufmerksamkeit auf die wichtigsten Funktionen zu lenken. Die verbleibenden Elemente wurden nach Wichtigkeit und Nutzeranfragen neu gruppiert. Zur Bekämpfung störender visueller Überfrachtungen wurden die Piktogramme neben den Menüelementen entfernt und nur Textlabels beibehalten. Das Interface zur Anpassung der Leiste und die Werkzeuge für Web-Entwickler wurden in ein separates Untermenü "Zusätzliche Werkzeuge" verschoben.


- Das in der Adressleiste integrierte Menü „…“ (Seitenaktionen) wurde entfernt, über das man Lesezeichen hinzufügen, Links in Pocket senden, Tabs anheften, mit der Zwischenablage arbeiten und Material per E-Mail versenden konnte. Die über das Menü „…“ verfügbaren Optionen wurden in verschiedene Teile des Interfaces verschoben und sind im Abschnitt zur Anpassung der Leiste weiterhin verfügbar und können einzeln als Schaltflächen auf der Leiste platziert werden. Beispielsweise ist die Schaltfläche zum Aufrufen der Benutzeroberfläche zur Erstellung von Screenshots über das Kontextmenü verfügbar, das angezeigt wird, wenn man mit der rechten Maustaste auf die Seite klickt.

- Die sich öffnende Seitenanpassungs-Seitenleiste wurde überarbeitet, die Benutzeroberfläche wird nun beim Öffnen eines neuen Tabs angezeigt.

- Die Gestaltung der Informationspanels und modalen Dialoge mit Warnungen, Bestätigungen und Anfragen wurde geändert und mit anderen Dialogen vereinheitlicht. Die Dialoge weisen abgerundete Ecken auf und sind vertikal zentriert.

- Nach dem Update wird ein Bildschirm angezeigt, der vorschlägt, Firefox als Standardbrowser im System zu verwenden und die Möglichkeit bietet, ein Design auszuwählen. Zur Auswahl stehen die Designs: Systemdesign (berücksichtigt die Systemeinstellungen bei der Gestaltung von Fenstern, Menüs und Schaltflächen), hell, dunkel und Alpenglow (farbig).





- Im Standardinterface der Anzeigeeinstellungen ist der Button zum Aktivieren des kompakten Modus der Anzeigeleisten ausgeblendet. Um die Einstellung zurückzusetzen, wurde die Option „browser.compactmode.show“ in about:config eingeführt. Für Benutzer, die den kompakten Modus aktiviert haben, wird die Option automatisch aktiviert.
- Die Anzahl der Elemente, die die Aufmerksamkeit des Benutzers ablenken, wurde reduziert. Überflüssige Warnungen und Benachrichtigungen wurden entfernt.
- In die Adresszeile wurde ein Rechner integriert, der die Berechnung von in beliebiger Reihenfolge angegebenen mathematischen Ausdrücken ermöglicht. Der Rechner ist standardmäßig deaktiviert und erfordert eine Änderung der Einstellung suggest.calculator in about:config. In einer der nächsten Versionen wird auch erwartet (bereits in den Nachbuilds en-US hinzugefügt), dass ein in die Adresszeile integrierter Einheitenkonverter erscheint, der es beispielsweise ermöglicht, Fuß in Meter umzuwandeln.

- In den Builds für Linux wird die Nutzung der Kompositing-Engine WebRender für alle Linux-Benutzer aktiviert, einschließlich aller Desktop-Umgebungen, aller Mesa-Versionen und Systeme mit NVIDIA-Treibern (zuvor war webRender nur für GNOME, KDE und Xfce bei Vorhandensein von Intel- und AMD-Treibern aktiv). WebRender ist in Rust geschrieben und ermöglicht eine erhebliche Erhöhung der Rendering-Geschwindigkeit und eine Verringerung der CPU-Belastung, indem Renderoperationen von der CPU auf die GPU ausgelagert werden, die durch auf der GPU ausgeführte Shader realisiert werden. Um WebRender in about:config zu deaktivieren, kann die Einstellung „gfx.webrender.enabled“ verwendet werden oder Firefox kann mit der Umgebungsvariablen MOZ_WEBRENDER=0 gestartet werden.
- Die standardmäßig aktivierte Methode des vollständigen Cookie-Schutzes (Total Cookie Protection) wird nun für jede Website verwendet, wobei ein separates, isoliertes Speicher für Cookies verwendet wird. Dies verhindert das Tracking von Nutzerbewegungen zwischen Websites, da alle Cookies von externen Elementen, die auf der Website geladen werden, nun an die Hauptwebsite gebunden bleiben und bei Anfragen an diese Elemente von anderen Websites nicht übertragen werden. Ausnahmen für die zwischenwebseitliche Übertragung von Cookies bleiben für Dienste bestehen, die nicht mit dem Tracking von Nutzern verbunden sind, z. B. bei der einheitlichen Authentifizierung. Informationen zu blockierten und erlaubten zwischenwebseitlichen Cookies werden im Menü angezeigt, das erscheint, wenn auf das Schildsymbol in der Adresszeile geklickt wird.

- Die zweite Version des SmartBlock-Mechanismus wurde aktiviert, um Probleme auf Websites zu lösen, die aufgrund der Blockierung externer Skripte im privaten Modus oder bei aktivierter strenger Blockierung von unerwünschtem Inhalt auftreten. SmartBlock ermöglicht unter anderem eine signifikante Verbesserung der Leistung einiger Websites, die aufgrund der Unfähigkeit, Tracking-Skripte zu laden, verlangsamt werden. SmartBlock ersetzt automatisch die verwendeten Tracking-Skripte durch Platzhalter, die ein korrektes Laden der Website gewährleisten. Platzhalter sind für einige beliebte Tracking-Skripte vorbereitet, die in die Disconnect-Liste aufgenommen wurden, einschließlich Skripten mit Widgets von Facebook, Twitter, Yandex, Vkontakte und Google.
- Die Unterstützung für das TLS-Erweiterung DC (Delegated Credentials) wurde aktiviert, um kurzlebige Zertifikate zu delegieren, die das Problem mit Zertifikaten beim Zugriff auf die Website über Content-Delivery-Netzwerke lösen. Delegated Credentials führt einen zusätzlichen intermediären privaten Schlüssel ein, dessen Gültigkeitsdauer auf Stunden oder einige Tage (maximal 7 Tage) begrenzt ist. Dieser Schlüssel wird auf der Grundlage eines vom Zertifizierungsstellen ausgestellten Zertifikats generiert und ermöglicht es, den privaten Schlüssel des ursprünglichen Zertifikats vor den Content-Delivery-Diensten geheim zu halten. Um Probleme mit dem Zugriff nach Ablauf der Lebensdauer des intermediären Schlüssels zu vermeiden, ist eine automatische Aktualisierungstechnologie vorgesehen, die auf der Seite des ursprünglichen TLS-Servers erfolgt.
- Es wurde eine externe (nicht systemnative) Implementierung von Eingabeformularelementen wie Schaltern, Schaltflächen, Dropdown-Listen und Texteingabefeldern (input, textarea, button, select) vorgestellt, die sich durch ein modernes Design auszeichnet. Der Einsatz einer separaten Implementierung von Formularelementen hat sich auch positiv auf die Leistung der Seitenanzeige ausgewirkt.
- Es wurde die Möglichkeit zur Manipulation des Inhalts von Elementen <input> und <textarea> mit Hilfe der Befehle Document.execCommand() bereitgestellt, wobei die Bearbeitungshistorie erhalten bleibt und ohne explizite Angabe der Eigenschaft contentEditable.
- Die API Event Timing wurde implementiert, um die Verzögerungen von Ereignissen vor und nach dem Laden der Seite zu messen.
- Die CSS-Eigenschaft forced-colors wurde hinzugefügt, um festzustellen, ob der Browser auf der Seite die benutzerdefinierte eingeschränkte Farbpalette anwendet.
- Die CSS-Eigenschaften ascent-override, descent-override und line-gap-override wurden um den @font-face-Dekorator erweitert, um die Schriftmetriken zu überschreiben, was zur Vereinheitlichung der Schriftanzeige in verschiedenen Browsern und Betriebssystemen verwendet werden kann, sowie um die Verschiebung des Seitenlayouts durch Web-Schriften zu vermeiden.
- In der CSS-Funktion image-set(), die es ermöglicht, ein Bild aus einer Reihe von Optionen mit unterschiedlicher Auflösung auszuwählen, das am besten zu den aktuellen Bildschirmparametern und der Bandbreite der Netzwerkverbindung passt, wurde die Unterstützung für die Funktion type() implementiert.
- In JavaScript ist die Verwendung des Schlüsselworts await auf oberster Ebene in Modulen standardmäßig erlaubt, was eine sanftere Integration asynchroner Aufrufe in den Modul-Ladeprozess ermöglicht und ohne Verpackung in eine „async function“ auskommt. Zum Beispiel kann statt (async function() { await Promise.resolve(console.log(‘test’)); }()); jetzt geschrieben werden await Promise.resolve(console.log(‘test’));
- Auf 64-Bit-Systemen ist die Erstellung von ArrayBuffer-Strukturen mit einer Größe von mehr als 2 GB (aber nicht mehr als 8 GB) erlaubt.
- Die Unterstützung für die Ereignisse DeviceProximityEvent, UserProximityEvent und DeviceLightEvent wurde eingestellt, da sie in anderen Browsern nicht unterstützt werden.
- Im Inspektor für Seiten wurden die Navigation mit der Tastatur in den bearbeitbaren Eigenschaften des BoxModells verbessert.
- In den Builds für Windows wurde das Erscheinungsbild der Kontextmenüs verbessert und der Start des Browsers beschleunigt.
- In den Builds für macOS wurde die Verwendung plattformeigener Kontextmenüs und Scrollleisten umgesetzt. Unterstützung für den Overscroll-Effekt hinzugefügt, der anzeigt, dass das Ende der Seite erreicht wurde. Unterstützung für intelligentes Zoomen, das durch Doppelklicken aktiviert wird. Unterstützung für einen dunklen Modus hinzugefügt. Probleme mit der Farbabweichung in CSS und Bildern wurden behoben. Im Vollbildmodus gibt es die Möglichkeit, Bedienfelder auszublenden.
Neben den neuen Funktionen und Fehlerbehebungen in Firefox 89 wurden 16 Sicherheitsanfälligkeiten behoben, von denen 6 als gefährlich eingestuft werden. 5 dieser Sicherheitsanfälligkeiten (unter CVE-2021-29967 aufgelistet) wurden durch Speicherprobleme verursacht, wie z. B. Pufferüberläufe und Zugriffe auf bereits freigegebene Speicherbereiche. Diese Probleme können potenziell zur Ausführung von Angreifercode führen, wenn speziell gestaltete Seiten geöffnet werden.
Quelle: opennet.ru













