slint v0.3.1 Release Notes

Release Date: 2022-10-28 // over 2 years ago
  • ๐Ÿ”„ Changed

    • The property Window::background is now a brush instead of a color (allowing gradients).
    • Switch to yeslogic-fontconfig-sys from servo-fontconfig dependency. This allows for fontconfig to be a run-time dependency via dlopen.
    • Skia renderer: Improvements to text input.

    โž• Added

    • Added slint::FilterModel, slint::MapModel to the C++ API.
    • Added slint::SortModel to Rust and C++ API.
    • Added VecModel::extend and VecModel::extend_from_slice.
    • Online editor: Added "Properties" and "Outline" tabs.
    • Added initial support for input methods with pre-edit text.
    • Added a dark theme for the Fluent style, which is automatically selected if the system color scheme is dark.
    • Added fluent-light and fluent-dark as explicit styles to select a light/dark variant, regardless of the system color scheme setting.

    ๐Ÿ›  Fixed

    • TextInput now shows the text mouse cursor.
    • In Flickable, added a small delay before passing the Press pointer event to the children.
    • Online editor: Fixed "go to definition" across files.
    • Fixed a panic in the slint compiler when visiting layout properties for loop analysis (#1659).
    • Fixed compilation error in the generated code (#1733, #1735).

Previous changes from v0.3.0

  • ๐Ÿ’ฅ Breaking Changes

    • mod now works on any numeric type, not only integers.
    • Minimum rust version is now 1.60.
    • The "backend-gl-*" Rust crate features for configuring the GL renderer have been changed and split by renderer.
    • VecModel::remove now returns the removed element.
    • slint::invoke_from_event_loop and slint::quit_event_loop now return a Result.

    โž• Added

    • Added the platform module providing API to use slint on bare metal with a software renderer.
    • Added an experimental Skia renderer.
    • Button: Add a checkable property that turns the button into a toggle button. Use the new checked property to query whether the toggle button is pressed down or not.
    • Added support for slint::Window::set_position and slint::Window::position to set and get the placement of the window on the screen.
    • Added slint::Window::scale_factor() as getter to read the system device pixel ratio.
    • Added support for slint::Window::set_size and slint::Window::size to set and get the size of the window on the screen.
    • Added slint::Window::dispatch_event and slint::WindowEvent to be able to manually send a mouse or touch event to a window.
    • Added animation-tick().
    • SharedString implements std::fmt::Write and added slint::format!.
    • Image can now be rotated with the rotation-* properties.
    • Use docking widgets and integration of slint-lsp into the Online Code Editor.

    ๐Ÿ›  Fixed

    • Fixed Ctrl+Backspace/Ctrl+Del not deleting words in text input elements.
    • Resizing of live-preview window in the IDE integrations.
    • Preferred size of the TabWidget in the fluent style take in account the size of the tabs (#1363).
    • Fixed cursor behavior when typing the Enter key at the end of a TextEdit (#1318).
    • Fixed a memory leak of images when using the GL backend.
    • Fixed starting and stopping slint::Timer from withing their callback (#1532).