12th to 18th of December 2022 - 0.3.3 Release

Seasons Greetings

Merry Christmas🎄, Happy Holidays, and a Happy New Year🎉 2023!

We'll take a few days off to spend some time with friends and family, and to recharge our batteries.

We'd like to thank all our customers, contributors, followers on Twitter and Mastodon, and of course our community for their support, feedback, contributions, and trust in Slint. It's a pleasure to work with all of you!

Slint UI library

Release 0.3.3

On December 16 we released Slint 0.3.3, with new features and some bug fixes. Here are the highlights:

  • Added support for function, to define helper functions.
    
    CheckBox := Rectangle {
        in-out property <bool> checked;
        in property <string> text;
        public function toggle() {
            checked = !checked;
        }
    
        public function extended-text(ext: string) -> string {
            checked ? text + " " + ext : text
        }
    
        //...
    }
    
  • Online editor can now zoom the preview.
  • VS Code extension and online editor lets you add and remove bindings from the properties tab.
  • Added support for re-exporting types from other files using export * from "./other_file.slint";.

For more details, check out the ChangeLog

Upcoming Changes to the Slint Language - Part 2

Olivier published the second part of his thoughts on how to improve the Slint language. Any feedback is welcome.

New Features

  • Experimental platform API from C++ (#1965, #1973)
  • Add support for rendering system fonts with the software renderer (#1999)
  • Add support for CMAKE_*_OUTPUT_DIRECTORY variables for Slint build artifacts (#1979)

Tooling

  • LSP: Highlight and rename of element id (#1983)
  • Add declared properties via properties editor in online editor and VSCode (#1968)

Fixes

  • Fix rendering of border widths with FemtoVG and Skia (#1986)
  • Don't panic when seeing invalid property definitions in the LSP (#1997)
  • Fix parsing of "public function" in release mode (#1993)
  • Fix panic when a PopupWindow is a children of an optimized element (#1994)
  • Fix rust compilation of functions returning nothing (#1996)
  • Don't optimize properties used by functions (#1998)

Testing

  • Add infrastructure to test rendering via the software renderer (#1955)

Janitor Work

PRs: #1974, #1976, #1978, #1981, #1982, #1987, #2004

Other Crates and Libraries

Statistics

72 patches committed in 24 pull requests by 4 authors.

← Next : 2nd to 8th of January 2023 | Previous : 5th to 11th of December 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