Андреас Клинг (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 Permissions;
- Реализиран протокол 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



