<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc" -->

---
title: This Month in Ladybird | daily.dev
description: Ladybird&#x27;s September 2024 update covers 242 merged PRs from 48 contributors. Highlights include replacing the in-house HTTPS stack with curl (over 5x faster...
canonical: https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: This Month in Ladybird | daily.dev
og:description: Ladybird&#x27;s September 2024 update covers 242 merged PRs from 48 contributors. Highlights include replacing the in-house HTTPS stack with curl (over 5x faster...
og:url: https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc
og:image: https://api.daily.dev/og/posts/lnFtZcpJC.png
og:image:alt: This Month in Ladybird
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# This Month in Ladybird

**[Ladybird Browser](https://daily.dev/sources/ladybird)** · 5 min read · 0 upvotes · 0 comments

## Summary

Ladybird's September 2024 update covers 242 merged PRs from 48 contributors. Highlights include replacing the in-house HTTPS stack with curl (over 5x faster networking), adopting FFmpeg for broader audio codec support (Vorbis, MP3, FLAC, Opus, Wave), restoring and improving emoji rendering with ZWJ sequence support, moving font decoding fully to Skia, and adding CSS Transitions, CSS Cascade Layers (@layer), a style sheet inspector, and GPU-accelerated SVG/CSS masks via Skia's SkSL. Web Platform Test coverage jumped by nearly 589,000 passing subtests, reaching 1,510,615 total, while test timeouts dropped sharply. The team also announced it has chosen Swift as its long-term successor language to C++, planning an incremental, component-by-component migration rather than a full rewrite. New project sponsors, including a $50,000 contribution, were also welcomed.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ladybird.org/newsletter/2024-09-30>

## Questions this post answers

### What language did the Ladybird browser project choose to succeed C++?

Ladybird's core developers chose Swift as the language to gradually succeed C++, after evaluating alternatives including Rust, Swift, and Fil-C. The decision was driven by Swift 6's improved C++ interoperability features and its growing cross-platform support. Rather than a full rewrite, new components will be introduced in Swift and integrated incrementally with the existing C++ codebase over time.

_Track how browser engines like ladybird migrate legacy C++ code to safer languages on daily.dev._

### Why did Ladybird switch from its own HTTPS implementation to curl?

Ladybird replaced its in-house HTTPS implementation with the curl library to improve both compatibility and performance, often loading pages more than 5 times faster. This networking change also helped cut the full Web Platform Test run time from 7 hours down to under 5 hours.

_Developers evaluating networking libraries can follow performance-driven migrations like this on daily.dev._

### Does the Ladybird browser support CSS Cascade Layers (@layer)?

Yes, Ladybird added support for the CSS @layer rule, which groups style sheets into layers that apply in a predictable order to avoid specificity conflicts between resets, frameworks, and custom styles. This feature was highlighted as part of the Interop 2022 initiative and is now usable when styling pages rendered in Ladybird.

_Frontend developers tracking new browser CSS support can follow features like cascade layers on daily.dev._

---

Tags: [#css](https://daily.dev/tags/css), [#swift](https://daily.dev/tags/swift), [#webassembly](https://daily.dev/tags/webassembly)

[View this post on daily.dev](https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"This Month in Ladybird","url":"https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc"},"datePublished":"2026-08-31T05:54:40.384Z","dateModified":"2026-08-31T05:56:13.822Z","description":"Ladybird's September 2024 update covers 242 merged PRs from 48 contributors. Highlights include replacing the in-house HTTPS stack with curl (over 5x faster...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f0d04d597be9efdaf11883698ad30378?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f0d04d597be9efdaf11883698ad30378?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Ladybird Browser","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Ladybird Browser","logo":"https://media.daily.dev/image/upload/s--gBOjamNh--/f_auto,q_auto/v1788155675/logos/ladybird?_a=BAMAMicg0","url":"https://daily.dev/sources/ladybird"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"css,swift,webassembly","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Ladybird Browser","item":"https://daily.dev/sources/ladybird"},{"@type":"ListItem","position":3,"name":"This Month in Ladybird"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/this-month-in-ladybird-lnftzcpjc#faq","mainEntity":[{"@type":"Question","name":"What language did the Ladybird browser project choose to succeed C++?","acceptedAnswer":{"@type":"Answer","text":"Ladybird's core developers chose Swift as the language to gradually succeed C++, after evaluating alternatives including Rust, Swift, and Fil-C. The decision was driven by Swift 6's improved C++ interoperability features and its growing cross-platform support. Rather than a full rewrite, new components will be introduced in Swift and integrated incrementally with the existing C++ codebase over time. Track how browser engines like ladybird migrate legacy C++ code to safer languages on daily.dev."}},{"@type":"Question","name":"Why did Ladybird switch from its own HTTPS implementation to curl?","acceptedAnswer":{"@type":"Answer","text":"Ladybird replaced its in-house HTTPS implementation with the curl library to improve both compatibility and performance, often loading pages more than 5 times faster. This networking change also helped cut the full Web Platform Test run time from 7 hours down to under 5 hours. Developers evaluating networking libraries can follow performance-driven migrations like this on daily.dev."}},{"@type":"Question","name":"Does the Ladybird browser support CSS Cascade Layers (@layer)?","acceptedAnswer":{"@type":"Answer","text":"Yes, Ladybird added support for the CSS @layer rule, which groups style sheets into layers that apply in a predictable order to avoid specificity conflicts between resets, frameworks, and custom styles. This feature was highlighted as part of the Interop 2022 initiative and is now usable when styling pages rendered in Ladybird. Frontend developers tracking new browser CSS support can follow features like cascade layers on daily.dev."}}]}
```

