2nd of May 2022 to 8th of May 2022 - Release 0.2.2

Slint 0.2.2 Release

This week we released version 0.2.2 of Slint. A short summary for on-lookers can be found at Reddit, while the CHANGELOG file has a more detailed summary for users of Slint.

So this week has seen many fixes to prepare for the release.

Simon at Berlin Rust & Tell

We were at the Berlin Rust & Tell event hosted by Prisma on April 12th. Simon was presenting on UIs on microcontrollers using Slint.

I mention this only now since the video was just made available.

Slint UI Library


  • GL backend: fix locating the default font in slightly atypical environments (#1245)

    Enable fontdb's fontconfig feature to parse fontconfig files to locate the directories where truetype fonts are located. This helps in system setups that differ from the defaults that fontdb uses otherwise.

    Fixes #1240

  • Properly initialize the default binding of a state to its materialized value (#1242)

    Fixes #1237

  • Fix conversion from brush to color in the ternary operator (#1241)

    Fixes #1235

  • Fix BoxShadow property incorrectly considered const (#1238)

    We steal the bindings for the geometry from the containing element, so we should also take the analysis.

    Fixes #1233

  • Qt: do not wrap QPainter directly, but use a unique_ptr instead (#1231)

    Because QPainter can't be relocated.

    Fixes #1230

  • GL Backend: Make window.hide() respect the set EventLoopQuitBehavior (#1225)

    This makes the Application quit, when the windows are hidden programmatically.

    Fixes #1220

  • Hack to make Qt not close newly opened popups when running on Windows (#1227)

    Windows sends a mouse release event after the close event when running on windows. This confuses our hack to close popups!

    So hack around the problem by ignoring any mouse button release event that does not follow a mouse button press event. I hope this will not cause too many side effects.

    Fixes: #1211

  • Qt: quit the application when calling hide() on the last window (#1224)

    Fixes the todo example not exiting when clicking on "yes" in the close popup

    cc #1212

Changes to the build system

  • Do not build node by default (#1210)

    Having to make sure the right version of npm is installed is a hassle for people that just want to try out slint for the first time. The proposed way to disable node support enables basically everything else, which opens another can of worms when Windows tries to build MCU support.

    So do not build Node.JS as part of the default build anymore, but document how to build it.

    The CI should build with --workspace already, so there should be no need to change the CI build.

  • Model: When items are inserted, sets the components after that as dirty (#1208)

    Because their index property needs to be updated

Other Crates and Libraries

Contributions to other crates and libraries made by the Slint developers:



    22 patches were committed in 17 pull requests by 5 authors.

    ← Next : 9th of May 2022 to 15th of May 2022 - 0.2.4 Release | Previous : 25th of April 2022 to 2nd of May 2022

    Slint is a declarative GUI toolkit to build native user interfaces for desktop and embedded applications written in Rust, C++, JavaScript, and Python. Find more information at https://slint.dev/ or check out the source code at https://github.com/slint-ui/slint