Die Veröffentlichung des Web-Browsers Firefox 108 hat stattgefunden. Zudem wurde ein Update für den Long-Term-Support-Zweig – 102.6.0 – erstellt. In naher Zukunft wird der Zweig Firefox 109 in die Beta-Testphase überführt, dessen Veröffentlichung für den 17. Januar geplant ist.
Wichtige Neuerungen in Firefox 108:
- Eine Tastenkombination Shift+ESC wurde hinzugefügt, um die Seite des Prozessmanagers (about:processes) schnell zu öffnen, die ermöglicht, die Prozesse und internen Threads zu bewerten, die übermäßige Speicher- und CPU-Ressourcen verbrauchen.

- Die Planung der Ausgabe von Animationsbildern unter hoher Last wurde optimiert, was die Ergebnisse des MotionMark-Tests verbessert hat.
- Beim Drucken und Speichern von PDF-Formularen wurde die Möglichkeit geschaffen, Zeichen in anderen Sprachen als Englisch zu verwenden.
- Die Unterstützung für die korrekte Farbkorrektur von Bildern gemäß ICCv4-Farbprofilen wurde implementiert.
- Die korrekte Auslösung des Anzeigemodus der Lesezeichenleiste "nur auf neuen Tabs" (Einstellung „Only show on New Tab“) für leere neue Tabs wurde sichergestellt.
- In about:config wurden die Einstellungen cookiebanners.bannerClicking.enabled und cookiebanners.service.mode für das Auto-Klicken auf Banner hinzugefügt, die um Erlaubnis für die Verwendung von Cookies auf Websites bitten. In der Benutzeroberfläche der Nachtsicht-Builds wurden Schalter implementiert, um das Auto-Klicken auf Cookie-Banner in Bezug auf bestimmte Domains zu steuern.
- Die Web MIDI API wurde hinzugefügt, die es einer Webanwendung ermöglicht, mit an den Computer des Benutzers angeschlossenen MIDI-Musikinstrumenten zu interagieren. Die API ist nur für Seiten verfügbar, die über HTTPS geladen werden. Wenn die Methode navigator.requestMIDIAccess() aufgerufen wird und MIDI-Geräte am Computer angeschlossen sind, wird dem Benutzer ein Dialogfeld angezeigt, das vorschlägt, das Add-on „Site Permission Add-on“ zu installieren, das erforderlich ist, um den Zugriff zu aktivieren (siehe Beschreibung unten).
- Ein experimenteller Mechanismus für die Site Permission Add-on wurde vorgeschlagen, um den Zugriff von Websites auf potenziell gefährliche APIs und Funktionen zu steuern, die erweiterte Berechtigungen erfordern. Unter gefährlichen Funktionen versteht man solche, die physisch Hardware schädigen, nicht rückgängig zu machende Änderungen vornehmen, zur Installation von Malware auf Geräten verwendet werden oder zu einem Datenleck des Benutzers führen können. Beispielsweise wird im Kontext der Web MIDI API das Permission Add-on verwendet, um den Zugriff auf ein mit dem Computer verbundenes Synthesizergerät zu gewähren.
- Standardmäßig ist die Unterstützung für Importkarten („import map“) aktiviert, die steuern, welche URLs beim Import von JavaScript-Dateien über die Ausdrücke import und import() geladen werden. Die Importkarte wird im JSON-Format im <script>-Element mit dem neuen Attribut „importmap“ festgelegt. Zum Beispiel: <script type=„importmap“> { „imports“: { „moment“: „/node_modules/moment/src/moment.js“, „lodash“: „/node_modules/lodash-es/lodash.js“ } } </script>
Nachdem diese Importkarte im JavaScript-Code deklariert wurde, kann das Importieren und Ausführen des JavaScript-Moduls „/node_modules/moment/src/moment.js“ mit dem Ausdruck 'import moment from „moment“;' erfolgen, ohne den Pfad detailliert anzugeben (entspricht 'import moment from „/node_modules/moment/src/moment.js“;').
- Im <source>-Element wurde die Unterstützung der Attribute „height“ und „width“ implementiert, die die Höhe und Breite des Bildes in Pixeln definieren. Die angegebenen Attribute wirken nur, wenn das <source>-Element in ein <picture>-Element eingebettet ist, und werden bei der Einbettung in die <audio>- und <video>-Elemente ignoriert. Um die Verarbeitung von „height“ und „width“ in <source> zu deaktivieren, wurde in about:config die Einstellung „dom.picture_source_dimension_attributes.enabled“ hinzugefügt.
- In CSS steht eine Reihe trigonometrischer Funktionen zur Verfügung: sin(), cos(), tan(), asin(), acos(), atan() und atan2().
- In CSS wurde die Funktion round() implementiert, um eine Rundungsstrategie auszuwählen.
- In CSS wurde der Typ <calc-constant> eingeführt, der die Verwendung bekannter mathematischer Konstanten in mathematischen Funktionen ermöglicht, wie etwa die Zahlen Pi und E sowie die Werte Unendlichkeit und NaN. Zum Beispiel: „rotate(calc(1rad * pi))“.
- Im CSS-Query „@container“ wurde experimentelle Unterstützung für Maßeinheiten cqw (1 % der Breite), cqh (1 % der Höhe), cqi (1 % der Inline-Größe), cqb (1 % der Blockgröße), cqmin (der kleinste Wert von cqi oder cqb) und cqmax (der größte Wert von cqi oder cqb) hinzugefügt, die es ermöglicht, den Stil von Elementen basierend auf der Größe des Elternelements zu formen (ähnlich wie bei dem „@media“-Query, der auf die Größe des gesamten sichtbaren Bereichs und nicht auf die Größe des Blocks (Containers), in den das Element eingefügt wurde, angewendet wird). Die Funktion ist standardmäßig deaktiviert und kann über den Parameter layout.css.container-queries.enabled in about:config aktiviert werden.
- In JavaScript wurde die Methode Array.fromAsync hinzugefügt, um ein Array aus asynchron eintreffenden Daten zu erstellen.
- In den HTTP-Header CSP (Content Security Policy) wurde Unterstützung für die Direktiven „style-src-attr“, „style-src-elem“, „script-src-attr“ und „script-src-elem“ hinzugefügt, die die Funktionalität der Direktiven style und script bereitstellen, jedoch die Möglichkeit bieten, diese auf einzelne Elemente und Ereignishandler wie onclick anzuwenden.
- Ein neues Ereignis domContentLoaded wurde hinzugefügt, das nach Abschluss des Ladens des Inhalts ausgelöst wird.
- Im Method .get() wurde die Option forceSync für die erzwungene Synchronisierung hinzugefügt.
- Ein separater Bereich in der Leiste wurde implementiert, um Widgets von WebExtension-Erweiterungen unterzubringen.
- Die Logik des schwarzen Bildschirms von Linux-Treibern, die mit WebRender inkompatibel sind, wurde geändert. Statt eine Whitelist mit funktionierenden Treibern zu führen, wurde auf eine Blacklist problematischer Treiber umgeschaltet.
- Die Unterstützung des Wayland-Protokolls wurde verbessert. Die Verarbeitung der Umgebungsvariable XDG_ACTIVATION_TOKEN mit dem Aktivierungstoken für das Protokoll xdg-activation-v1 wurde hinzugefügt, mit dem eine Anwendung den Fokus auf eine andere setzen kann. Probleme, die beim Bewegen von Lesezeichen mit der Maus auftraten, wurden gelöst.
- Auf den meisten Linux-Systemen wurde die Animation der Leiste aktiviert.
- In about:config wurde die Einstellung gfx.display.max-frame-rate hinzugefügt, um die maximale Bildwiederholrate zu begrenzen.
- Die Unterstützung für die Emoji-Spezifikation 14 wurde hinzugefügt.
- Das WebGL-Erweiterung OES_draw_buffers_indexed ist standardmäßig aktiviert.
- Es wurde die Möglichkeit implementiert, die GPU zur Beschleunigung der Rasterisierung von Canvas2D zu nutzen.
- Auf der Windows-Plattform wurde die Sandbox-Isolierung für Prozesse, die mit der GPU interagieren, aktiviert.
- Die Unterstützung für SIMD-Befehle FMA3 (Multiplikation-Akkumulation mit einmaliger Rundung) wurde hinzugefügt.
- Die Prozesse, die zur Verarbeitung von Hintergrund-Registerkarten auf der Windows 11-Plattform verwendet werden, laufen jetzt im "Efficiency"-Modus, in dem der Task-Planer die Ausführungspriorität senkt, um den CPU-Ressourcenverbrauch zu reduzieren.

- Verbesserungen in der Android-Version:
- Es wurde die Möglichkeit hinzugefügt, eine Webseite als PDF-Dokument zu speichern.
- Die Unterstützung für die Gruppierung von Registerkarten in der Leiste wurde implementiert (Registerkarten können nach längerem Drücken an eine andere Stelle bewegt werden).
- Eine Schaltfläche wurde bereitgestellt, um alle Lesezeichen aus einem bestimmten Bereich in neuen Registerkarten in einem neuen Fenster oder im Inkognito-Modus zu öffnen.
Neben neuen Funktionen und Fehlerbehebungen wurden in Firefox 108 20 Sicherheitsanfälligkeiten behoben. 16 von ihnen wurden als kritisch eingestuft, darunter 14 Anfälligkeiten (unter CVE-2022-46879 und CVE-2022-46878), die durch Probleme im Umgang mit dem Speicher verursacht wurden, wie Pufferüberläufe und Zugriffe auf bereits freigegebene Speicherbereiche. Diese Probleme können potenziell dazu führen, dass beim Öffnen speziell gestalteter Seiten Code von Angreifern ausgeführt wird. Die Sicherheitsanfälligkeit CVE-2022-46871 bezieht sich auf die Verwendung von Code aus einer veralteten Version der Bibliothek libusrsctp, die nicht behobene Sicherheitsanfälligkeiten enthält. Die Sicherheitsanfälligkeit CVE-2022-46872 ermöglicht es einem Angreifer, der Zugriff auf die Seitenverarbeitungs-Engine hat, die Sandbox-Isolierung in Linux zu umgehen und den Inhalt beliebiger Dateien durch Manipulation von IPC-Nachrichten im Zusammenhang mit der Zwischenablage zu lesen.
Quelle: opennet.ru


