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

---
title: This Month in Ladybird | daily.dev
description: Ladybird&#x27;s June update reports 241 merged PRs from 52 contributors and 3,455 new passing WPT subtests, bringing the total to over 1.8 million. Notable engine...
canonical: https://daily.dev/posts/this-month-in-ladybird-m5ejvqste
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 June update reports 241 merged PRs from 52 contributors and 3,455 new passing WPT subtests, bringing the total to over 1.8 million. Notable engine...
og:url: https://daily.dev/posts/this-month-in-ladybird-m5ejvqste
og:image: https://api.daily.dev/og/posts/m5EjvqsTe.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)** · 4 min read · 0 upvotes · 0 comments

## Summary

Ladybird's June update reports 241 merged PRs from 52 contributors and 3,455 new passing WPT subtests, bringing the total to over 1.8 million. Notable engine work includes proper support for CSS logical alias properties respecting writing-mode and direction, CSS counters on pseudo-elements, the tech() function in @font-face src descriptors, persisted Local Storage backed by SQLite, an initial OffscreenCanvas implementation, and preliminary (emulated) Geolocation API support. Windows porting is progressing, with JS tests and LibWeb building on Windows though the browser itself doesn't run yet, and upcoming alpha/beta releases will target Linux and macOS only. CI improvements include Blacksmith-hosted runners, a self-hosted macOS runner, and Windows CI on pull requests. The team is also triaging early security vulnerability reports received via GitHub's disclosure feature, including one exploited in a CTF competition.

## Full article

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

## Questions this post answers

### Does the Ladybird browser support Windows yet?

Not fully yet. Upcoming alpha and beta releases will target only Linux and macOS. Community contributors have made progress on a Windows port: JavaScript tests already run on Windows and the LibWeb engine library builds cleanly there, but the headless browser and WebContent process do not run yet.

_Track Ladybird's Windows porting progress and other browser engine milestones on daily.dev._

### How does Ladybird persist local storage data now?

Local storage in Ladybird is now persisted to disk using a SQLite database, instead of being lost whenever the WebContent process exited. Previously it behaved similarly to session storage. This matters for sites that store access tokens in local storage, such as Discord, since users would otherwise be logged out on every browser restart.

_Developers evaluating alternative browser engines follow storage and API changes like this on daily.dev._

### What does the tech() function do in a CSS @font-face src descriptor?

The tech() function lets font authors declare that a linked font file uses a particular font feature or technology, similar to how format() works, so browsers can skip downloading files they can't use, such as variable fonts or those using incremental transfer. Ladybird implemented this in PR #4983, saving bandwidth and load time.

_Follow emerging CSS font-loading features like tech() as browser support evolves 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-m5ejvqste)

```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-m5ejvqste","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/this-month-in-ladybird-m5ejvqste"},"datePublished":"2026-08-31T05:54:41.094Z","dateModified":"2026-08-31T05:55:27.743Z","description":"Ladybird's June update reports 241 merged PRs from 52 contributors and 3,455 new passing WPT subtests, bringing the total to over 1.8 million. Notable engine...","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-m5ejvqste","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,css","timeRequired":"PT4M"}
{"@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-m5ejvqste#faq","mainEntity":[{"@type":"Question","name":"Does the Ladybird browser support Windows yet?","acceptedAnswer":{"@type":"Answer","text":"Not fully yet. Upcoming alpha and beta releases will target only Linux and macOS. Community contributors have made progress on a Windows port: JavaScript tests already run on Windows and the LibWeb engine library builds cleanly there, but the headless browser and WebContent process do not run yet. Track Ladybird's Windows porting progress and other browser engine milestones on daily.dev."}},{"@type":"Question","name":"How does Ladybird persist local storage data now?","acceptedAnswer":{"@type":"Answer","text":"Local storage in Ladybird is now persisted to disk using a SQLite database, instead of being lost whenever the WebContent process exited. Previously it behaved similarly to session storage. This matters for sites that store access tokens in local storage, such as Discord, since users would otherwise be logged out on every browser restart. Developers evaluating alternative browser engines follow storage and API changes like this on daily.dev."}},{"@type":"Question","name":"What does the tech() function do in a CSS @font-face src descriptor?","acceptedAnswer":{"@type":"Answer","text":"The tech() function lets font authors declare that a linked font file uses a particular font feature or technology, similar to how format() works, so browsers can skip downloading files they can't use, such as variable fonts or those using incremental transfer. Ladybird implemented this in PR #4983, saving bandwidth and load time. Follow emerging CSS font-loading features like tech() as browser support evolves on daily.dev."}}]}
```

