Mudança no processo de desenvolvimento e progresso no navegador Ladybird

Andreas Kling, o fundador do navegador web Ladybird, anunciou uma mudança no processo de desenvolvimento do projeto. Ladybird agora deixará de aceitar pull requests públicos e passará a promover mudanças na base de código apenas através de colaboradores. Todos os pull requests públicos já abertos serão fechados. O código-fonte do Ladybird continuará sendo disponibilizado sob a licença BSD. Relatórios de problemas, vulnerabilidades e testes de funcionamento com sites continuarão a ser aceitos sem alteração. Entusiastas externos também poderão participar das discussões relacionadas ao suporte a padrões e à arquitetura do projeto.

Como razões para interromper a aceitação de pull requests públicos, é mencionada a preparação para o primeiro lançamento alfa, que exige uma distribuição mais rigorosa de responsabilidade pelas mudanças introduzidas. Segundo os criadores do Ladybird, o código deve ser aceito apenas daqueles que são confiáveis e estão prontos para assumir a responsabilidade pessoal por cada linha de código, bem como se o código está em conformidade com a arquitetura do projeto e poderá ser mantido no futuro.

Entre os problemas que surgem ao aceitar mudanças de todos os interessados, destaca-se a diminuição da confiança nos autores dos patches — devido à possibilidade de mudanças geradas por IA, o tamanho do patch agora não reflete o esforço e o tempo gastos no desenvolvimento. A aceitação de patches externos também facilita a atividade de criminosos, que inicialmente geram mudanças funcionais para ganhar credibilidade para a subsequente inserção de vulnerabilidades ocultas no código.

Adicionalmente, pode-se notar o relatório de maio sobre o desenvolvimento do Ladybird. Entre as conquistas recentes estão:

  • Implementado um compilador JIT para WebAssembly, baseado no Cranelift (a transição da interpretação para a compilação JIT aumentou em 8 vezes o desempenho no teste CoreMark e de 3 a 4 vezes em microtestes de funções individuais);
  • Implementado um novo bloqueador de conteúdo indesejado, baseado na biblioteca adblock-rust do projeto Brave e que suporta filtros no estilo do Adblock Plus e EasyList;
  • Reescrito o parser HTML em Rust;
  • O código de rolagem de conteúdo foi removido do fluxo principal para um processo de composição separado e foi convertido para um modelo de trabalho assíncrono;
  • O API Media Source Extensions foi ativado por padrão e o suporte a streaming de vídeo foi aprimorado.
  • Adicionada a sistema de cache de bytecode JavaScript em disco;
  • No coletor de lixo, foi implementado um modo incremental de limpeza de memória, que elimina longas pausas de computação e melhora a responsividade da interface;
  • Ampliado o suporte a CSS, implementados os pedidos de contêiner (@container), delimitação da área de visibilidade (@scope), 'grid-template-columns: subgrid', 'scroll-margin', 'scroll-padding';
  • Adicionado API Permissions;
  • Implementado o protocolo HSTS (HTTP Strict Transport Security);
  • Possibilitada a detecção automática da codificação do texto;
  • Adicionada a suporte à inspeção de layouts flexbox e grid nas ferramentas para desenvolvedores web;
  • Melhorada a compatibilidade com Discord, Shopify, Reddit, assim como com sites que utilizam gráficos baseados na biblioteca TradingView.
  • Modernizada a interface do usuário com a biblioteca Qt. Implementado o modo de exibição vertical de abas. Adicionada a suporte para mover abas com o mouse para agrupá-las, destacá-las ou movê-las para outra janela;

  • Em vez dos estilos padrão do Qt para painéis e botões, foi implementada uma personalização própria para abas, barra de ferramentas e barra de endereços. Adicionada a possibilidade de restaurar abas e janelas fechadas recentemente. Implementada a função de colar texto do clipboard com o botão do meio do mouse.

O navegador Ladybird é desenvolvido por Andreas Kling, que antes trabalhou na Nokia e participou do desenvolvimento do KHTML, e mais tarde na Apple foi um dos desenvolvedores do Safari. O projeto foi inicialmente criado como um aplicativo para o sistema operacional SerenityOS, mas no verão de 2024 foi separado como um projeto independente e recebeu uma doação de 1 milhão de dólares. O navegador é escrito em C++ (o projeto de reescrever componentes em Rust foi iniciado) e é distribuído sob licença BSD. O projeto desenvolve seu próprio motor LibWeb, interpretador JavaScript LibJS e bibliotecas relacionadas.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster