Andreas Kling, der Gründer des Web-Browsers Ladybird, hat Änderungen im Entwicklungsprozess des Projekts bekannt gegeben. Ladybird wird künftig keine öffentlichen Pull-Requests mehr annehmen und wird Änderungen im Code nur noch über Begleitpersonen fördern. Alle bereits offenen öffentlichen Pull-Requests werden geschlossen. Der Quellcode von Ladybird bleibt unter der BSD-Lizenz verfügbar. Meldungen über Probleme, Sicherheitslücken und Tests im Zusammenhang mit Websites werden weiterhin unverändert entgegengenommen. Externe Enthusiasten können ebenfalls an Diskussionen teilnehmen, die mit der Unterstützung von Standards und der Architektur des Projekts verbunden sind.
Die Gründe für die Einstellung der Annahme öffentlicher Pull-Requests sind die Vorbereitungen für die erste Alpha-Version, die eine strengere Verteilung der Verantwortung für die vorgenommenen Änderungen erfordert. Nach Ansicht der Entwickler von Ladybird sollte Code nur von vertrauenswürdigen Personen angenommen werden, die bereit sind, für jede Codezeile die persönliche Verantwortung zu übernehmen und dafür zu sorgen, dass der Code mit der Architektur des Projekts übereinstimmt und in Zukunft unterstützt werden kann.
Ein Problem, das beim Empfangen von Änderungen von allen Interessierten auftritt, ist das gesunkene Vertrauen in die Autoren von Patches. Dies liegt daran, dass Änderungen jetzt durch KI generiert werden können und die Patch-Größe nicht mehr mit dem Arbeitsaufwand und der dafür aufgewendeten Entwicklungszeit übereinstimmt. Die Annahme von Drittanbieter-Patches erleichtert zudem das Vorgehen von Angreifern, die zunächst funktionierende Änderungen generieren, um sich Vertrauen zu erschleichen und später versteckte Schwachstellen in den Code einzuführen.
Zusätzlich kann der Bericht vom Mai über die Entwicklung von Ladybird erwähnt werden. Zu den jüngsten Erfolgen zählen:
- Ein JIT-Compiler für WebAssembly wurde implementiert, der auf Cranelift basiert (der Übergang von der Interpretation zur JIT-Kompilation hat die CoreMark-Testleistung um das Achtfache und die Mikro-Tests einzelner Funktionen um das Drei- bis Vierfache erhöht);
- Ein neuer Blocker für unerwünschte Inhalte wurde implementiert, der auf der Bibliothek adblock-rust des Brave-Projekts basiert und Filter im Stil von Adblock Plus und EasyList unterstützt;
- Der HTML-Parser wurde in Rust neu geschrieben;
- Der Code zum Scrollen des Inhalts wurde aus dem Hauptstrom in einen separaten Kompositionsprozess ausgelagert und auf ein asynchrones Arbeitsmodell umgestellt.
- Die API Media Source Extensions ist standardmäßig aktiviert, und die Leistung beim Streaming von Videos wurde verbessert.
- Ein System zur Speicherung von JavaScript-Bytecode im Cache wurde hinzugefügt.
- Im Garbage Collector wurde ein inkrementeller Speicherreinigungsmodus implementiert, der lange Verzögerungen bei Berechnungen vermeidet und die Reaktionsfähigkeit der Benutzeroberfläche erhöht.
- Die Unterstützung von CSS wurde erweitert, mit implementierten Container-Abfragen (@container), Sichtbarkeitsbereichs (@scope), „grid-template-columns: subgrid“, „scroll-margin“ und „scroll-padding“.
- Das API für Berechtigungen wurde hinzugefügt.
- Das HSTS-Protokoll (HTTP Strict Transport Security) wurde implementiert.
- Automatische Textkodierungserkennung wurde sichergestellt.
- Zu den Entwicklertools für das Web wurde die Unterstützung zur Inspektion von Flexbox- und Grid-Layouts hinzugefügt.
- Die Kompatibilität mit Discord, Shopify, Reddit sowie mit Websites, die Grafiken basierend auf der TradingView-Bibliothek verwenden, wurde verbessert.

- Die Benutzeroberfläche auf Basis der Qt-Bibliothek wurde modernisiert. Ein vertikaler Tab-Anzeigemodus wurde implementiert. Die Unterstützung für das Verschieben von Tabs mit der Maus zur Gruppierung, Ablösung oder zum Verschieben in ein anderes Fenster wurde hinzugefügt.

- Anstelle der Standard-Qt-Stile für Panels und Schaltflächen wurde ein eigenes Design für Tabs, Werkzeugleisten und die Adresszeile umgesetzt. Die Möglichkeit, kürzlich geschlossene Tabs und Fenster wiederherzustellen, wurde hinzugefügt. Außerdem wurde die Funktion zum Einfügen von Text aus der Zwischenablage mit der mittleren Maustaste realisiert.

Der Browser Ladybird wird von Andreas Kling entwickelt, der früher bei Nokia arbeitete und an der Entwicklung von KHTML beteiligt war, bevor er bei Apple einer der Entwickler von Safari war. Ursprünglich wurde das Projekt als Anwendung für das Betriebssystem SerenityOS geschaffen, wurde jedoch im Sommer 2024 zu einem eigenständigen Projekt und erhielt eine Spende von 1 Million Dollar. Der Browser ist in C++ geschrieben (das Projekt zur Neuschreibung der Komponenten in Rust begann) und wird unter der BSD-Lizenz verbreitet. Im Rahmen des Projekts werden die eigene Engine LibWeb, der JavaScript-Interpreter LibJS und verwandte Bibliotheken weiterentwickelt.
Quelle: opennet.ru



