Andreas Kling, de oprichter van de webbrowser Ladybird, heeft aangekondigd het ontwikkelingsproces van het project te veranderen. Ladybird stopt voortaan met het aannemen van openbare pull-requests en gaat verder met het doorvoeren van wijzigingen in de codebase alleen via begeleiders. Alle reeds ingediende openbare pull-requests zullen worden gesloten. De broncode van Ladybird blijft onder de BSD-licentie beschikbaar. Meldingen over problemen, kwetsbaarheden en website-testen blijven ongewijzigd aangenomen. Externe enthousiastelingen kunnen ook deelnemen aan discussies met betrekking tot standaarden en de architectuur van het project.
Als redenen voor het stopzetten van het aannemen van openbare pull-requests wordt de voorbereiding op de eerste alfa-release genoemd, die een striktere verdeling van verantwoordelijkheden voor de aangebrachte wijzigingen vereist. Volgens de makers van Ladybird zou code alleen moeten worden aangenomen van degenen die betrouwbaar zijn en persoonlijke verantwoordelijkheid willen nemen voor elke regel code, en of de code in overeenstemming is met de architectuur van het project en in de toekomst kan worden ondersteund.
Een van de problemen die ontstaan bij het aannemen van wijzigingen van alle geĆÆnteresseerden, is de afname van het vertrouwen in de auteurs van patches ā door de mogelijkheid om wijzigingen via AI te genereren, wordt de grootte van de patch nu niet meer gecorrigeerd met de benodigde inspanning en de tijd die aan ontwikkeling is besteed. Het aannemen van externe patches vergemakkelijkt ook de activiteiten van kwaadwillenden, die in het begin werkende wijzigingen genereren om vertrouwen te winnen voor toekomstige integratie van verborgen kwetsbaarheden in de code.
Daarnaast kan het rapport van mei over de ontwikkeling van Ladybird worden opgemerkt. Van recente prestaties wordt het volgende genoemd:
- Er is een JIT-compiler voor WebAssembly geĆÆmplementeerd, gebaseerd op Cranelift (de overstap van interpretatie naar JIT-compilatie heeft de prestatie van de CoreMark-test met 8 keer verhoogd en die van microtests van afzonderlijke functies met 3-4 keer);
- Er is een nieuwe blokker voor ongewenste inhoud in gebruik genomen, gebaseerd op de adblock-rust bibliotheek van het Brave-project en die filters ondersteunt in de stijl van Adblock Plus en EasyList;
- De HTML-parser is herschreven in de taal Rust;
- De scrollcode voor inhoud is uit de hoofdthread gehaald en in een apart compositieproces geplaatst en omgezet naar een asynchrone werkmethode;
- API Media Source Extensions is standaard ingeschakeld en de werking met streamingvideo is verbeterd;
- Een systeem voor het cachen van JavaScript-bytecode op schijf is toegevoegd;
- In de garbage collector is een incrementele geheugenopschoonmodus geĆÆmplementeerd, die lange onderbrekingen van berekeningen uitsluit en de reactietijd van de interface verbetert;
- De ondersteuning voor CSS is uitgebreid, containerquery's (@container), scope-gebied (@scope), 'grid-template-columns: subgrid', 'scroll-margin', 'scroll-padding' zijn geĆÆmplementeerd;
- API Permissies is toegevoegd;
- Het HSTS-protocol (HTTP Strict Transport Security) is geĆÆmplementeerd;
- Automatische detectie van tekstcodering is voorzien;
- Ondersteuning voor inspectie van flexbox- en grid-layouts is toegevoegd aan de webontwikkelaarstools;
- Compatibiliteit met Discord, Shopify, Reddit en websites met grafieken op basis van de TradingView-bibliotheek is verbeterd.

- De gebruikersinterface is gemoderniseerd op basis van de Qt-bibliotheek. Er is een verticale weergavemodus voor tabbladen geĆÆmplementeerd. Ondersteuning voor het slepen van tabbladen met de muis voor groepering, loskoppeling of verplaatsing naar een ander venster is toegevoegd;

- In plaats van de standaard Qt-stijlen voor panelen en knoppen, is een eigen ontwerp voor tabbladen, werkbalken en de adresbalk geĆÆmplementeerd. De mogelijkheid om recent gesloten tabbladen en vensters te herstellen is toegevoegd. De functie voor het invoegen van tekst uit het klembord met de middelste muisknop is geĆÆmplementeerd.

De Ladybird-browser wordt ontwikkeld door Andreas Kling, die ooit bij Nokia werkte en betrokken was bij de ontwikkeling van KHTML, en vervolgens bij Apple een van de ontwikkelaars van Safari was. Aanvankelijk werd het project opgezet als een applicatie voor het SerenityOS-besturingssysteem, maar in de zomer van 2024 werd het een apart project en kreeg het een donatie van 1 miljoen dollar. De browser is geschreven in C++ (het project is gestart met de herschrijving van componenten in Rust) en wordt verspreid onder de BSD-licentie. Het project ontwikkelt de eigen LibWeb-engine, JavaScript-interpreter LibJS en bijbehorende bibliotheken.
Bron: opennet.ru



