Freya 0.5

- marc2332

hey

👋 Hey again, this is a summary of Freya v0.5, the next release of my Rust 🦀 GUI library. This blog post is more focused and compact, highlighting the most important changes.

This release has a strong focus on stability, refinement and documentation, with fixes and improvements across multi-window apps, async work, rendering, text editing and performance, alongside new guides and expanded API docs. But there are also some big additions, like experimental web support and HTML rendering powered by Blitz.

Freya in the browser (experimental)

The new freya-web backend runs Freya apps in the browser using WebAssembly (WASMM) and paints the UI to a canvas element. It uses the same component model, layout and rendering APIs as normal freya.

Try it below, or open the demo full-size.

Web support is experimental, and not every desktop integration works in the browser. See the web example for setup instructions.

HTML rendering

freya-html, powered by Blitz, replaces the experimental WRY-based freya-webview integration. HTML and CSS are now rendered inside Freya’s own rendering pipeline, without embedding a native browser surface.

It supports inline documents and URLs, navigation history, resource caching and form interactions. It does not run JavaScript and is not a full browser. Enable the html feature to use it.

HTML and CSS rendered by Blitz inside Freya, including a search form, checkboxes, radio buttons and links

See the HTML example for the app shown above.

Important changes

APIs

Performance

Rendering

Components

Internals

Browse the full changes or the examples for more details.

Documentation

The docs have also grown, with new guides and clearer explanations of existing APIs:

Sanctum

I’ve also been working on Sanctum, my Linux desktop environment written in Rust, which I’ve been daily driving for around six months.

All its UI is built with Freya, from the settings app, file explorer, system monitor and image viewer to the dock, control panel, notifications and app switcher. It also has its own Wayland compositor.

Sanctum desktop showing its settings app, file explorer, system monitor and control panel, all built with Freya

It’s still a personal project and not open source yet. You can find more screenshots and a video in my Sanctum post.

Thanks

Thank you to everyone who contributed code, reported bugs or tried the prereleases :)

Thanks as well to my sponsors piny4man, 高庆丰, Huddy Buddy, Gabriel Jõe, Mark, Fractura and Senary Domain for supporting Freya’s development.

If you want to support Freya’s development, you can sponsor me on GitHub.