Андреас Клинг (Andreas Kling), основател на уеб браузъра Ladybird, обяви промяна в процеса на разработка на проекта. Ladybird вече спира приема на публични pull-заявки и преминава към промотиране на промени в кода само чрез придружаващи. Всички вече отворени публични pull-заявки ще бъдат затворени. Изходният код на Ladybird ще продължи да се предоставя под лицензия BSD. Съобщения за проблеми, уязвимости и тестове на работа с сайтове ще се приемат без промяна. Външни ентусиасти също ще могат да участват в дискусии, свързани с поддръжката на стандарти и архитектурата на проекта.
Като причина за спирането на приема на публични pull-заявки се посочва подготовка за първия алфа-релиз, изискваща по-строго разпределение на отговорността за внесените промени. Според създателите на Ladybird, кодът трябва да се приема само от тези, които заслужават доверие и са готови да поемат лична отговорност за всяка линия код, както и за това, дали кодът отговаря на архитектурата на проекта и дали може да бъде поддържан в бъдеще.
Като проблеми, произтичащи от приема на промени от всеки, който желае, се посочва намаляване на доверието в авторите на пачове — заради възможността за генериране на промени чрез AI, размерът на пача вече не коригира разходите на труд и времето, вложено в разработка. Приемането на външни пачове също улеснява дейността на злонамерени лица, които в началото генерират работещи промени, за да спечелят доверие за последващо внедряване на скрити уязвимости в кода.
Допълнително може да се спомене майския отчет за развитието на Ladybird. От последните достижения се отбелязват:
- Реализиран е JIT-компилатор за WebAssembly, основан на Cranelift (преходът от интерпретация към JIT-компилация е увеличил производителността на теста CoreMark 8 пъти и 3-4 пъти на микротестовете на отделни функции);
- Въведен е нов блокировач на нежелан съдържание, основан на библиотеката adblock-rust от проекта Brave, който поддържа филтри в стил Adblock Plus и EasyList;
- Парсерът на HTML е пренаписан на Rust;
- Кодът за превъртане на съдържанието е изнесен от основния поток в отделен процес на композиране и е преведен на асинхронен модел на работа;
- API Media Source Extensions е включено по подразбиране и работата с потоково видео е подобрена;
- Добавена е система за кеширане на байткода на JavaScript на диска;
- В сборщика на боклук е реализиран инкрементален режим на почистване на паметта, който изключва дълги спирания на изчисленията и повишава отзивчивостта на интерфейса;
- Разширена е поддръжката на CSS, реализирани са контейнерни запитвания (@container), разделение на видимостта (@scope), „grid-template-columns: subgrid“, „scroll-margin“, „scroll-padding“;
- Добавен е API за разрешения;
- Реализиран е протокол HSTS (HTTP Strict Transport Security);
- Осигурено е автоматично определяне на кодирането на текста;
- В инструментите за уеб разработка е добавена поддръжка за инспектиране на flexbox и grid оформления;
- Подобрена е съвместимостта с Discord, Shopify, Reddit, както и с сайтове, които използват графики на базата на библиотеката TradingView.

- Модернизиран е потребителският интерфейс на базата на библиотеката Qt. Реализиран е режим на вертикално показване на разделите. Добавена е поддръжка за преместване на раздели с мишка за групиране, отделяне или прехвърляне в друг прозорец;

- Вместо стандартните стилове на Qt за панели и бутони, е реализирано собствено оформление за разделите, инструменталната лента и адресната лента. Добавена е възможност за възстановяване на наскоро затворени раздели и прозорци. Реализирана е функция за поставяне на текст от клипборда с средния бутон на мишката.

Браузерът Ladybird се развива от Андреас Клинг, който някога е работил в компанията Nokia и е разработвал KHTML, а след това в Apple е бил един от разработчиците на Safari. Първоначално проектът е създаден като приложение за операционната система SerenityOS, но през лятото на 2024 година е отделен в самостоятелен проект и получи дарение от 1 милион долара. Браузерът е написан на C++ (стартира проектът по пренаписване на компонентите на Rust) и се разпространява под лицензия BSD. Проектът развива собствен двигател LibWeb, интерпретатор на JavaScript LibJS и свързани библиотеки.
Източник: opennet.ru



