Blasser Mond 32.2.0

Blasser Mond 32.2.0

Pale Moon ist ein Goanna-basierter Open-Source-Webbrowser, der für Microsoft Windows, Linux und Android verfügbar ist und sich auf Effizienz und Benutzerfreundlichkeit konzentriert. Stellen Sie sicher, dass Sie Ihren Browser optimal nutzen!

Pale Moon bietet Ihnen ein Surferlebnis in einem Browser, der vollständig auf einer eigenen, unabhängig entwickelten Quelle basiert, die aus Firefox/Mozilla-Code abgezweigt wurde, mit sorgfältig ausgewählten Funktionen und Optimierungen, um die Geschwindigkeit, Ressourcennutzung, Stabilität und Benutzererfahrung des Browsers zu verbessern. Gleichzeitig bietet er vollständige Anpassungsmöglichkeiten und eine wachsende Sammlung von Erweiterungen und Themes, um den Browser wirklich zu Ihrem eigenen zu machen.

Merkmale:

  • Optimiert für moderne Prozessoren
  • Basierend auf einer proprietären optimierten Layout-Engine (Goanna)
  • Sicher: aus ausgereiftem Mozilla-Code abgeleitet und regelmäßig aktualisiert
  • Sicher: Zusätzliche Sicherheitsfunktionen und sicherheitsbewusste Entwicklung
  • Unterstützt von unserer Benutzergemeinschaft und vollständig gemeinnützig
  • Vertraute, effiziente, vollständig anpassbare Benutzeroberfläche
  • Unterstützung für vollständige Themen: völlige Freiheit bei der Gestaltung aller Elemente
  • Unterstützung für einfach zu erstellende, leichtgewichtige Themes (Skins)
  • Reibungsloses und schnelles Zeichnen von Seiten und Skriptverarbeitung
  • Erhöhte Stabilität: weniger Browserabstürze
  • Unterstützung für viele Firefox-Erweiterungen
  • Unterstützung für eine wachsende Anzahl exklusiver Pale Moon-Erweiterungen
  • Umfangreiche und wachsende Unterstützung für HTML5 und CSS3
  • Viele Anpassungs- und Konfigurationsmöglichkeiten

Pale Moon 32.2.0 Änderungsprotokoll:

Dies ist ein weiteres wichtiges, großes Entwicklungsupdate, das unsere schnellen Entwicklungsbemühungen im v32-Meilenstein fortsetzt. Mit dieser Version sollten wir die Webkompatibilität mit den meisten gemeldeten problematischen Websites wiederhergestellt haben. Wenn Sie zuvor in Pale Moon auf problematische Websites gestoßen sind, ist es möglicherweise eine gute Idee, es mit dieser Version noch einmal zu versuchen. Besonderer Dank geht an Job Bautista, martok, dbsoft, FranklinDM und Travis für ihre fortgesetzte harte Arbeit, die dies Wirklichkeit werden ließ!

Dadurch wird unsere UXP/Goanna-Plattformversion auf 6.2 aktualisiert.

Änderungen/Korrekturen:

  • Dynamische Modulimporte implementiert. Siehe Implementierungshinweise.
  • Export von asynchronen Funktionen in Modulen implementiert.
  • JavaScript-Klassenfelder implementiert. Siehe Implementierungshinweise.
  • Logische Zuweisungsoperatoren ||=, &&= und implementiert? ?=.
  • Implementierung einer Lösung für Websites, die das offiziell veraltete mehrdeutige window.event verwenden. Dies ist standardmäßig deaktiviert, kann aber über die dom.window.event.enabled-Einstellung von about:config aktiviert werden. Siehe Implementierungshinweise.
  • self.structuredClone() implementiert (dies kann für jeden außer Webentwicklern sehr unklar sein. Entschuldigung ;-))
  • Element.replaceChildren implementiert. Wieder einmal in erster Linie ein Hinweis für Webentwickler.
  • Verbessertes Shadow DOM: Host-Matching.
  • CSS: :slotted() von WebComponents und zugehörige Funktionalität implementiert.
  • Verbessertes Seiten-Caching in unserem Speicherzuteiler.
  • Unterstützung für FFmpeg 6.0 hinzugefügt, besonders wichtig für hochmoderne Linux-Distributionen.
  • Es wurde ein potenzieller Deadlock beim Zeichnen von Bildern, insbesondere SVG, behoben. Dies löst eine Reihe von Hang-on-Shutdown-Szenarien.
  • Verschiedene Abstürze im Zusammenhang mit WebComponents und unserer letzten JavaScript-Arbeit wurden behoben.
  • Verschiedene Build-from-Source-Probleme auf sekundären Zielplattformen wurden behoben.
  • Verschiedene kleine Browser-Frontend-Skriptprobleme wurden behoben, die zu Fehlern oder Funktionsstörungen führen konnten.
  • Die Behandlung von asynchronen (Pfeil-)Funktionen, die in Konstruktoren deklariert wurden, wurde korrigiert.
  • Verschiedene kleine JavaScript-Konformitätsprobleme wurden behoben.
  • Es wurde ein Problem behoben, bei dem JavaScript (nur in Modulen) asynchrone Wrapper nicht ordnungsgemäß erstellte.
  • Die DOM-Leistungs-API wurde auf die aktuelle Spezifikation aktualisiert (Benutzer-Timing L3).
  • Beachten Sie die Implementierungshinweise, insbesondere wenn Sie dies in Webinhalten für wichtige Funktionen verwenden möchten.
  • Die Behandlung von Tastendruckereignissen wurde aktualisiert, um Tastendruckereignisse bei Strg+Eingabe zu senden.
  • Aktualisierte interne JavaScript-Strukturen, um zukünftige Portierungen zu erleichtern und die JavaScript-Leistung zu verbessern.
  • Aktualisierte Fensterbehandlung und -gestaltung auf dem Mac.
  • Die Freetype-Bibliothek wurde auf 2.13.0 aktualisiert.
  • Die Harfbuzz-Bibliothek wurde auf 7.1.0 aktualisiert.
  • Unsere DNS-Suchaufrufe wurden aktualisiert, um inet_ntoa() anstelle des veralteten inet_ntop() zu verwenden.
  • Die Abruf-API wurde aktualisiert, um aus Gründen der Spezifikationskonformität die globale Basis-URL anstelle der Basis-URL des Eintragsdokuments zu verwenden.
  • Wir unterstützen die veraltete Fontconfig nicht mehr auf GTK-Systemen.
  • Wir analysieren oder geben den Textkörper bekanntermaßen leerer Antworten von Servern (Inhaltslänge 0 oder im Fall von HEAD- oder CONNECT-Methoden) nicht mehr zurück.
  • Skaliertes Font-Caching auf GTK implementiert, um die Leistung zu verbessern.
  • Ein Build-Problem beim Erstellen für Linux auf ARM64 in späteren Distributionen wurde behoben.
  • Teilen Sie weitere Teile des Browsers in separate Teile auf. dll-Dateien unter Windows, um die Compilerbelastung und eine übergroße xul.dll zu reduzieren
  • mozilla::AlignedStorage entfernt (Codebereinigung).
  • Builds für FreeBSD verwenden jetzt xz zum Packen anstelle von bzip2. Auf Anfrage bieten wir jetzt auch GTK2-Builds für FreeBSD an.
  • Die Präferenz dom.getRootNode.enabled wurde mit der Präferenz dom.webcomponents.enabled zusammengeführt. Siehe Implementierungshinweise.
  • Ein potenzielles DoS-Problem bei der JPEG-Dekodierung wurde behoben.
  • Es wurde ein potenzielles Problem im Windows-Widget-Code behoben, das zu Abstürzen führen konnte.
  • Potenziell gefährliche externe Protokolle unter Windows deaktiviert.
  • Bekanntermaßen problematisch hinzugefügt. DLLs zur internen Blockliste hinzufügen.
  • Behobene Sicherheitsprobleme: CVE-2023-32209, CVE-2023-32214 und mehrere andere, die keine CVE-Bezeichnung haben.
  • Zusammenfassung der UXP Mozilla-Sicherheitspatches: 4 behoben, 1 abgelehnt, 27 nicht anwendbar.

Hinweise zur Implementierung:

  • JavaScript-Module verfügen über verschiedene Methoden zum Laden in Webseiteninhalte. Eine der später eingeführten Methoden ist eine import()-Deklaration im Funktionsstil, sogenannte „dynamische Modulimporte“, die von verschiedenen Web-Frameworks verwendet wurde und bei Pale Moon Probleme verursachte, die in den meisten Fällen zu leeren Seiten führten (was bei Websites der Fall wäre). Verwenden Sie eigentlich nicht die Dokumentstruktur HTML, sondern JavaScript, um Inhalte zu erstellen, alles aus importierten Modulen. Dies war in letzter Zeit ein großes Problem mit der Webkompatibilität und wir freuen uns, Ihnen mitteilen zu können, dass dieser komplexe Mechanismus implementiert wurde.
  • Die Sprachspezifikation von JavaScript wird weiterhin von einer Prototyping-Sprache hin zu einem eher „C-ähnlichen“ Hybrid verwässert. Als Teil dieser Bemühungen wurden JavaScript-Klassen in ECMAScript 6 eingeführt und nun in ES2022 um Klassenfelder und private Klassenfelder/-methoden sowie Statik erweitert. Wir sollten jetzt eine vollständige Implementierung davon haben, die die wichtigeren Teile des ES2022-Sprachupdates darstellt.
  • Die Verwendung des veralteten globalen Fensters „window.event“ von Microsoft Internet Explorer war für uns ein allgegenwärtiges Webkompatibilitätsproblem, insbesondere da es offiziell veraltet war und wir diese mehrdeutige und unzuverlässige Eigenschaft, die stark kontextsensitiv ist, nie implementiert haben. Websites sollten stattdessen das Ereignis verwenden, wie es an den Ereignishandler übergeben wurde, um die Ereignisquelle abzurufen. Da jedoch weder Chrome noch Firefox dies aufgegeben haben und scheinbar ein „Hühnerspiel“ spielen, wird es weiterhin im Web verwendet. Um diesen Konflikt zu lösen, haben wir nun das Äquivalent hinter einer Einstellung implementiert, um Benutzern die (vorübergehende) Verwendung des globalen window.events zu ermöglichen, während Webmaster ihre Websites aktualisieren. Wir hoffen, dass das Google-Lager dieses bald endlich fallen lässt, damit wir mit dieser alten Eigenart fertig werden können.
  • Die DOM Performance API wurde auf die User Timing Level 3-Spezifikation aktualisiert. Es sollte kritisch angemerkt werden, dass die DOM Performance API nie für den selbstverständlichen Einsatz bei veröffentlichten Inhalten konzipiert wurde, sondern nur für die Seitenleistungsanalyse durch Webdesigner konzipiert wurde. Natürlich kam es im Rahmen der Bereitstellung von Entwicklungstools für das Web aufgrund der genauen Navigations- und Timing-Messungen, die diese API liefern kann (wenn man Sie anschaut, Google!), zu viel Missbrauch. Aufgrund der engen Integration mit der Webinhaltsanalyse verursachte die ältere Spezifikationsimplementierung, die wir hatten, Probleme und führte sogar zum Ausfall einiger Dienste. Daher haben wir sie aktualisiert, jedoch mit einigen wichtigen Hauptunterschieden:
  • In Pale Moon lassen wir die Navigationszeitmessung deaktiviert, da dies ein erhebliches Datenschutzproblem für die Daten darstellt, die gesammelt werden können (genaue Navigationsereignisse und -zeiten). Wenn Sie ein Webentwickler sind und diese Timing-Messungen benötigen, können Sie sie mit dom.enable_performance_navigation_timing aktivieren.
  • Entgegen der Spezifikation ermöglicht unsere Implementierung keine unbegrenzte Aufzeichnung von Leistungsereignissen (es wird effektiv jedes Seitenereignis protokolliert!), was auch schnell Speicher verbrauchen kann. Stattdessen erzwingen wir ein vernünftiges Standardkontingent, das groß genug für alle legitimen Nutzungen sein sollte, aber eine unkontrollierte Ressourcennutzung oder eine umfangreiche Protokollierung von Benutzeraktionen verhindert.
  • Wenn das festgelegte Kontingent erreicht ist, wird eine Warnung in der Konsole ausgegeben und die aufgezeichneten Leistungsereignisse werden verworfen. Wenn Sie sich (törichterweise) auf Performance-API-Ereignisse verlassen, damit Ihre Webanwendung funktioniert, beachten Sie, dass dies zu Kompatibilitätsproblemen führen kann, da die API wiederum nicht für eine solche Verwendung konzipiert wurde. Für die Ereignisbehandlung stehen wesentlich bessere Alternativen zur Verfügung, die keine umfangreiche Aufzeichnung von Benutzerdaten erfordern oder auf eine Entwicklertool-API angewiesen sind.
  • Wir haben die DOM-Funktion getRootNode in der Vergangenheit implementiert, als sie in freier Wildbahn als eigenständige Funktion verwendet wurde. Ihre Hauptabsicht bestand jedoch immer darin, eine Hilfsfunktion als Teil von Shadow DOM/WebComponents zu sein. Aus diesem Grund haben wir die Einstellung nun mit der WebComponents-Einstellung zusammengeführt und sie zusammen mit dem Rest unserer WebComponents-Implementierung aktiviert und deaktiviert.

Herunterladen: Pale Moon (64-Bit) | Portable 64-Bit | ~40,0 MB (Freeware)
Download: Pale Moon (32-bit) | Tragbare 32-Bit

-Links: Pale Moon Homepage | Add-ons | Themen | Erweiterungen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert