Ladybird’s latest monthly update is here, as the independent open-source browser, still in development, continues to move toward its first alpha release. This time, the update brings features users expect from a modern browser, including file downloads, browsing history, DevTools storage inspection, media playback speed controls, and tab previews.
Starting with downloads, Ladybird can now save files locally. The browser added a toolbar download indicator, a popover showing active downloads and their progress, an about page, support for canceling downloads, and a confirmation prompt when quitting while downloads are active.
Browsing history also arrived this month. Ladybird now has an about page listing local browsing history, supports searching, and allows users to delete entries. Right-clicking or long-pressing the back and forward buttons opens a native history menu with saved page titles and favicons. Plus, the browser added a shortcut to clear browsing data.
DevTools saw useful improvements, with a new Storage tab that lets developers inspect and modify cookies, browse and edit localStorage and sessionStorage, and inspect IndexedDB databases. CSS rule inspection improved, now showing individual declarations behind computed values, including overridden and invalid rules, with working jump-to-source links.
On the media side, Ladybird now supports changing playback speed. Audio is time-stretched so pitch remains stable when speeding up or slowing down. Muted media can autoplay by default, while audible playback still requires user interaction. This makes the browser behave more like users expect on modern websites without allowing unwanted sound.
The biggest Linux-relevant change, however, is security-related, with sandboxing now enabled by default. Ladybird helper processes now run inside real security sandboxes, using seccomp and Landlock on Linux and Seatbelt profiles on macOS.
Another important architectural change is that GPU access has moved into the sandboxed compositor process. This means WebContent processes no longer need direct GPU access, improving isolation between web content and graphics operations.
On the JavaScript side, Ladybird’s LibJS engine now uses its optimized assembly interpreter across all supported platforms, allowing removal of the older generic bytecode interpreter. JavaScript strings have moved to UTF-16 internally, matching how the language defines strings and reducing conversion overhead.
WebAssembly support improved too, with LibWasm gaining WebAssembly GC support, along with parts of the exception-handling proposal.
Moreover, the browser UI received a few minor improvements. Hovering over a background tab now shows a thumbnail preview, vertical tabs can be placed on the right, collapsed vertical tabs show audio and close icons, and several fixes landed around the location editor and macOS window behavior.
Finally, the project briefly reiterated its recent change in the development process. As previously covered, Ladybird no longer accepts public code contributions, with code changes now limited to maintainers only. Of course, the browser remains open source, and the project continues to welcome bug reports, test reductions, website testing, standards discussions, technical feedback, and security reports.
For additional details, see Ladybird’s blog post.
