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

---
title: This Month in Ladybird | daily.dev
description: The Ladybird browser project shares its November progress report, covering 454 merged PRs from 55 contributors. Highlights include a complete rewrite of the...
canonical: https://daily.dev/posts/this-month-in-ladybird-j6drv64as
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: The Ladybird browser project shares its November progress report, covering 454 merged PRs from 55 contributors. Highlights include a complete rewrite of the...
og:url: https://daily.dev/posts/this-month-in-ladybird-j6drv64as
og:image: https://api.daily.dev/og/posts/j6DRV64AS.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

The Ladybird browser project shares its November progress report, covering 454 merged PRs from 55 contributors. Highlights include a complete rewrite of the Temporal API bringing ECMAScript conformance to 97%, early exploration of Swift 6 as a possible C++ successor language, and new sponsors including 37signals and Puter. On the web platform side, the team shipped individual CSS transform properties (scale, rotate, translate), completed CSS nesting support inside @media/@supports/@layer, added initial vertical text layout, expanded the Web Crypto API with HMAC and ECDH, added DNS-over-TLS, moved canvas rendering to the Skia GPU backend, added mask-image support, pointer events, initial Content Security Policy enforcement, more CSS color() color spaces, and started work on the Editing API (document.execCommand).

## Full article

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

## Questions this post answers

### What is Ladybird's ECMAScript conformance score after the Temporal rewrite?

Ladybird reached 97% ECMAScript conformance on test262 after completely rewriting its Temporal date/time API implementation, described as the highest score of any browser engine at that point. The rewrite replaced an older implementation that had fallen out of sync with the evolving TC39 Temporal proposal, rather than patching it incrementally.

_Developers tracking browser engine conformance milestones can follow updates like this on daily.dev._

### Does Ladybird support CSS nesting inside @media and @supports rules?

Yes, Ladybird's CSS nesting implementation is complete and supports nesting selectors inside @media, @supports, and @layer rules, producing the same result as manually writing fully qualified selectors. This lets developers write nested style rules with conditional media queries directly inside a parent selector block.

_Web developers relying on modern CSS nesting syntax can check engine support progress via daily.dev._

### Is Ladybird considering replacing C++ with Swift?

Ladybird announced it is exploring Swift 6 as a possible successor language to C++ for its codebase. The work is exploratory, focused on build system integration and prototypes using Swift's C++ interop features, with no plan for a full rewrite and details shared in a Swift Forums post.

_Engineers weighing language migrations for large native codebases can follow this kind of exploration on daily.dev._

---

Tags: [#open-source](https://daily.dev/tags/open-source), [#css](https://daily.dev/tags/css)

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

```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-j6drv64as","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/this-month-in-ladybird-j6drv64as"},"datePublished":"2026-08-31T05:54:39.457Z","dateModified":"2026-08-31T05:55:44.197Z","description":"The Ladybird browser project shares its November progress report, covering 454 merged PRs from 55 contributors. Highlights include a complete rewrite of the...","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-j6drv64as","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,css","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-j6drv64as#faq","mainEntity":[{"@type":"Question","name":"What is Ladybird's ECMAScript conformance score after the Temporal rewrite?","acceptedAnswer":{"@type":"Answer","text":"Ladybird reached 97% ECMAScript conformance on test262 after completely rewriting its Temporal date/time API implementation, described as the highest score of any browser engine at that point. The rewrite replaced an older implementation that had fallen out of sync with the evolving TC39 Temporal proposal, rather than patching it incrementally. Developers tracking browser engine conformance milestones can follow updates like this on daily.dev."}},{"@type":"Question","name":"Does Ladybird support CSS nesting inside @media and @supports rules?","acceptedAnswer":{"@type":"Answer","text":"Yes, Ladybird's CSS nesting implementation is complete and supports nesting selectors inside @media, @supports, and @layer rules, producing the same result as manually writing fully qualified selectors. This lets developers write nested style rules with conditional media queries directly inside a parent selector block. Web developers relying on modern CSS nesting syntax can check engine support progress via daily.dev."}},{"@type":"Question","name":"Is Ladybird considering replacing C++ with Swift?","acceptedAnswer":{"@type":"Answer","text":"Ladybird announced it is exploring Swift 6 as a possible successor language to C++ for its codebase. The work is exploratory, focused on build system integration and prototypes using Swift's C++ interop features, with no plan for a full rewrite and details shared in a Swift Forums post. Engineers weighing language migrations for large native codebases can follow this kind of exploration on daily.dev."}}]}
```

