Release von Firefox 75

Hat stattgefunden Release des Web-Browsers Firefox 75, sowie mobile Version Firefox 68.7 für die Plattform Android. Darüber hinaus wurde ein Update erstellt. Zweig mit langfristiger Unterstützung 68.7.0. In naher Zukunft wird die Version in die Beta-Testphase übergehen Der Branch Firefox 76 wird am 5. Mai veröffentlicht (Projekt übernommen wurde über einen Zeitraum von 4-5 Wochen Entwicklungszyklus).

Haupt- Neuheiten:

  • Für Linux begann die Erstellung von offiziellen Builds im Flatpak-Format.
  • Das Design der Adresszeile wurde aktualisiert. Bei einem Klick auf die Adresszeile wird nun ohne Notwendigkeit, sofort mit der Eingabe zu beginnen, eine Dropdown-Liste der am häufigsten verwendeten Links angezeigt. Der Hinweis mit den Suchergebnissen wurde für eine qualitativ hochwertige Nutzung auf kleinen Bildschirmen optimiert. Im Bereich der kontextuellen Vorschläge werden Hinweise zur Lösung typischer Probleme, die bei der Nutzung des Browsers auftreten, angezeigt.

    Die Anzeige des Protokolls https:// und der Subdomain „www.“ im Dropdown-Bereich der Links, die beim Tippen in die Adresszeile angezeigt werden, wurde eingestellt (zum Beispiel werden die unterschiedlichen Inhalte https://opennet.ru und https://www.opennet.ru nicht mehr unterscheidbar sein). Das Protokoll http:// wird in den Suchergebnissen unverändert angezeigt.

    Release von Firefox 75
  • Für Linux wurde das Verhalten beim Klicken in die Adresszeile geändert (wie unter Windows und macOS) – ein einfacher Klick wählt den gesamten Inhalt aus, ohne ihn in die Zwischenablage zu kopieren, ein Doppelklick wählt ein Wort aus, ein Dreifachklick wählt den gesamten Inhalt aus und kopiert ihn in die Zwischenablage.
  • Implementiert die Möglichkeit Bilder, die sich außerhalb des sichtbaren Bereichs befinden, werden nicht geladen, bis der Benutzer den Seiteninhalt an die Stelle direkt vor dem Bild scrollt. Um das verzögerte Laden der Seiten zu steuern, wurde dem „img“-Tag das Attribut „loading“ hinzugefügt, das den Wert „lazy“ annehmen kann. Es wird angenommen, dass das verzögerte Laden den Speicherverbrauch reduzieren, den Datenverkehr verringern und die Ladegeschwindigkeit der Seiten erhöhen wird. Um das verzögerte Laden zu steuern, wurde in about:config der Parameter „dom.image-lazy-loading.enabled“ hinzugefügt.
  • Implementiert Vollständige Unterstützung von WebGL in Umgebungen, die das Wayland-Protokoll verwenden. Bisher ließ die Leistung von WebGL in den Linux-Bauten von Firefox aufgrund fehlender Unterstützung für die Hardwarebeschleunigung und Probleme mit den gfx-Treibern für X11 sowie der Verwendung unterschiedlicher Standards zu wünschen übrig. Mit der Verwendung von Wayland hat sich die Situation dank eines neuen Backends, das den Mechanismus DMABUFverwendet. Neben der Hardwarebeschleunigung von WebGL ermöglichte das Backend auch die Implementierung . unterstützt die Beschleunigung der H.264-Videodekodierung mit VA-API (Video Acceleration API) und FFmpegDataDecoder (Unterstützung für VP9 und andere Videoformat-Codierungen openSUSE/SUSE in Firefox 76). Um die Beschleunigung über about:config zu steuern, werden die Parameter „widget.wayland-dmabuf-webgl.enabled“ und „widget.wayland-dmabuf-vaapi.enabled“ angeboten.
  • Für Benutzer aus dem Vereinigten Königreich wurde die Anzeige von gesponserten Beiträgen auf der Startseite im Bereich des von Pocket empfohlenen Inhalts aktiviert. Die Blöcke sind deutlich als Werbung gekennzeichnet und in den Einstellungen deaktivierbar. Zuvor wurde Werbung nur Benutzern aus den USA angezeigt. Der Modus zur Bereinigung alter Cookies und Website-Daten beim Besuch von Websites mit Tracking-Codes, mit denen der Benutzer nicht interaktiv interagiert hat. Der Modus zielt darauf ab, das Tracking durch Weiterleitungen zu bekämpfen.
  • Implementiert Implementierung von modalen Dialogen, die an einzelne Tabs gebunden sind und nicht die gesamte Benutzeroberfläche blockieren.
  • Die Möglichkeit, Websites in Form von Anwendungen (Apps) zu installieren und zu öffnen, die es ermöglichen, mit der Website wie mit einem gewöhnlichen Desktop-Programm zu arbeiten. Um dies in about:config zu aktivieren, muss die Einstellung „browser.ssb.enabled=true“ hinzugefügt werden, wonach im Kontextmenü der Seitenelemente (drei Punkte in der Adresszeile) der Punkt „Website als App installieren“ erscheint, der es ermöglicht, eine Verknüpfung für das separate Öffnen der aktuellen Website auf dem Desktop oder im Anwendungsmenü zu platzieren. Entwicklung

    Release von Firefox 75
  • Hinzugefügt Entwicklung des Konzepts „ sich intensiv weiterentwickelt SSB“, das das Öffnen von Websites in einem separaten Fenster ohne Menü, Adresszeile und andere Elemente der Browseroberfläche vorsieht. Im aktuellen Fenster werden nur Links zu Seiten der aktiven Website geöffnet, und der Zugriff auf externe Links führt zur Erstellung eines separaten Fensters mit dem normalen Browser.Site Specific BrowserImplementierung des Modus „
    Release von Firefox 75
  • wurde erweitert. nosniffnosniffDas über den HTTP-Header „X-Content-Type-Options“ aktivierte System deaktiviert nun auch die automatische MIME-Typ-Erkennung für HTML-Dokumente, nicht nur für JavaScript und CSS. Dieser Modus hilft, sich vor Angriffen zu schützen, die mit der Manipulation von MIME-Typen verbunden sind. Der Browser analysiert standardmäßig den Typ des verarbeiteten Inhalts und behandelt ihn entsprechend dem festgelegten Typ. Zum Beispiel, wenn im „.jpg“-Dateiformat HTML-Code gespeichert wird, wird die Datei beim Öffnen als HTML und nicht als Bild behandelt. Ein Angreifer kann ein Upload-Formular für eine JPG-Datei verwenden, die HTML mit JavaScript-Code enthält, und dann einen Link zu dieser Datei veröffentlichen. Beim direkten Öffnen dieses Links wird der JavaScript-Code im Kontext der Website ausgeführt, auf der die Datei hochgeladen wurde (so können Cookies und andere mit der Website verbundene Nutzerdaten des geöffneten Links ermittelt werden).
  • Es wird ein lokales Caching aller vertrauenswürdigen PKI-Zertifikate von Mozilla-zertifizierten Zertifizierungsstellen bereitgestellt, was die Kompatibilität mit fehlerhaft konfigurierten Web-Servern verbessert hat.
  • Auf Seiten, die über HTTP ohne Verschlüsselung geöffnet werden, ist die Nutzung der Web Crypto API untersagt.
  • Für Windows wurde ein Modus für direkte Komposition (Direct Composition) implementiert, der die Leistung steigert und die Integration von Kompositionstechniken erleichtert. WebRender, geschrieben in Rust, und lagert die Zeichenoperationen vom Inhalt der Seite auf die GPU aus.
  • Für macOS wurde eine experimentelle Möglichkeit zur Verwendung von Client-Zertifikaten aus dem allgemeinen Zertifikatsspeicher des Betriebssystems implementiert (um diese in about:config zu aktivieren, muss die Option security.osclientcerts.autoload aktiviert werden). Ab Firefox 72 war diese Funktion nur für Windows verfügbar.
  • Nach Linux wird in den Versionen für macOS ein Isolationsmechanismus verwendet. RLBox, der darauf abzielt, die Ausnutzung von Sicherheitslücken in externen Funktionsbibliotheken zu verhindern. In dieser Phase ist die Isolierung nur für die Bibliothek Graphite, die für die Schriftartenrendering zuständig ist, aktiviert. RLBox kompiliert C/C++-Code aus der zu isolierenden Bibliothek in einen niedrigstufigen Zwischen-Code für WebAssembly, der dann als WebAssembly-Modul präsentiert wird, dessen Berechtigungen ausschließlich an dieses Modul gebunden sind. Das erstellte Modul läuft in einem separaten Speicherbereich und hat keinen Zugriff auf den Rest des Adressraums. Im Falle einer Ausnutzung einer Schwachstelle in der Bibliothek wäre ein Angreifer eingeschränkt und könnte nicht auf die Speicherbereiche des Hauptprozesses zugreifen oder die Kontrolle außerhalb der isolierten Umgebung übergeben.
  • Das Attribut „type“ im Element kann jetzt nur den Wert „text/css“ annehmen.
  • In CSS wurden Funktionen implementiert. min(), max() und clamp().
  • Für die CSS-Eigenschaft text-decoration-skip-ink wurde die Unterstützung für den Wert „all“ eingeführt, der das verpflichtende Brechen von Unterstreichungen und Durchstreichungen beim Kontakt mit Textglyphen vorschreibt (früher gebrochene Linien formatierten sich adaptiv und schlossen Berührungen nicht aus; bei „all“ sind Berührungen mit Glyphen vollständig verboten).
  • In JavaScript wurde die Unterstützung für öffentliche statische Felder hinzugefügt. für Instanzen von JavaScript-Klassen, die vordefinierte Eigenschaften zulassen, die außerhalb des Konstruktors initialisiert werden.

    class ClassWithStaticField {
    static staticField = 'statisches Feld'
    }

  • Unterstützung der Klasse hinzugefügt Intl.Locale, die Methoden zur Analyse und Verarbeitung von durch die Locale festgelegten Sprache-, Region- und Schriftsystemsparametern bereitstellt, sowie zum Lesen und Schreiben von Unicode-Erweiterungstags und zum Speichern benutzerdefinierter Locale-Einstellungen im serialisierten Format;
  • Die Implementierung der Eigenschaft Function.caller wurde an den neuesten Entwurf der neuen ECMAScript-Spezifikation angepasst (anstatt TypeError wird jetzt null zurückgegeben, wenn der Aufruf aus einer Funktion mit den Attributen strict, async oder generator erfolgt).
  • In HTMLFormElement wurde die Methode requestSubmit(), die die programmgesteuerte Übermittlung von Formulardaten ähnlich einem Klick auf die Schaltfläche zur Datenübermittlung initiiert. Die Funktion kann bei der Entwicklung eigener Schaltflächen zum Senden von Formularen verwendet werden, bei denen der Aufruf von form.submit() nicht ausreichend ist, da dieser nicht zu einer interaktiven Überprüfung der Parameter, zur Generierung des 'submit'-Ereignisses und zur Übertragung der an die Sende-Schaltfläche gebundenen Daten führt.
  • Das Ereignis submit wird jetzt durch ein Objekt vom Typ SubmitEvent und nicht durch Event implementiert. SubmitEvent enthält neue Eigenschaften, die es ermöglichen, das Element zu bestimmen, dessen Aufruf zur Übermittlung des Formulars geführt hat. Zum Beispiel ermöglicht SubmitEvent die Verwendung eines gemeinsamen Handlers für verschiedene Schaltflächen und Links, die zur Übermittlung des Formulars führen.
  • Die korrekte Übertragung des Klickereignisses bei der Aufruf der Methode click() für abgekoppelte Elemente (die nicht Teil des DOM-Baums sind) wurde implementiert.
  • Im API Web Animations Die Möglichkeit wurde hinzugefügt, Animationen an den Anfangs- oder Endkeyframe zu binden, und der Browser berechnet selbst den finalen oder anfänglichen Zustand (es genügt, nur den ersten oder letzten Keyframe anzugeben). Standardmäßig sind Animation.timeline getter, Document.timeline, DocumentTimeline, AnimationTimeline, Document.getAnimations() und Element.getAnimations() enthalten.
  • Die Möglichkeit zur Aktivierung der Seitenprofilierung ohne Installation eines separaten Add-ons wurde hinzugefügt, indem die Schaltfläche „Enable Profiler Menu Button“ auf der Website gedrückt wird. profiler.firefox.com. Ein Modus zur Analyse der Leistung nur für den aktiven Tab wurde hinzugefügt.
  • Im Web-Console ist der Modus für die sofortige Berechnung von Ausdrücken hinzugekommen, der es Entwicklern ermöglicht, Fehler beim Eingeben komplexer Ausdrücke schneller zu finden und zu beheben, indem das vorläufige Ergebnis beim Tippen angezeigt wird.
  • Im Werkzeug für die Messung von Seitenbereichen (Measuring Tool) wurde die Möglichkeit hinzugefügt, die Größe des rechteckigen Rahmens zu ändern (zuvor konnte der Rahmen nach dem Loslassen der Maustaste nicht mehr geändert werden, und bei ungenauer Platzierung musste man von vorne messen).
  • Im Inspektionsinterface wurden die Unterstützung für die Elementsuche mit XPath-Ausdrücken zusätzlich zur bereits verfügbaren Suche mit CSS-Selektoren hinzugefügt.
  • Die Möglichkeit zur Filterung von WebSocket-Nachrichten mit regulären Ausdrücken wurde hinzugefügt (zuvor wurden nur Textmasken unterstützt).
  • Im JavaScript-Debugger wurde die Unterstützung für das Binden von Haltepunkten an WebSocket-Ereignishandler hinzugefügt.
  • Das Interface zur Analyse der Netzwerkaktivität wurde bereinigt. Die Darstellung von Tabellen wurde optimiert, um eine gleichzeitige Verarbeitung einer großen Anzahl von Verbindungen zu ermöglichen. Die Trennlinien der Spalten und die Schaltflächen zur Anwendung von Filtern wurden kontrastreicher gestaltet. Im Netzwerkblockierungsbereich wurde die Möglichkeit zur Verwendung des Zeichens „*“ in URL-Masken implementiert (ermöglicht eine Bewertung des Verhaltens der Website unter Bedingungen mit Ladefehlern).

    Release von Firefox 75

Neben den Neuheiten und Bugfixes wurde in Firefox 75 behoben eine Reihe von Sicherheitsanfälligkeiten, von denen einige als kritisch eingestuft sind, d.h. sie können zur Ausführung von Schadcode führen, wenn speziell gestaltete Seiten geöffnet werden. Derzeit sind detaillierte Informationen zu den behobenen Sicherheitsproblemen nicht verfügbar, es wird erwartet, dass die Liste der Schwachstellen in den nächsten Stunden veröffentlicht wird.

Quelle: opennet.ru

60GB SSD 8Gb DDR4