SixtyFPS v0.1.1 Release Notes

Release Date: 2021-08-19 // over 2 years ago
  • 🔄 Changed

    • Fixed lookup scope when resolving model expression in for or if constructs: the self element now refers to the correct element instead of the root.
    • Rust: default to the native style if Qt is available
    • Rust: deprecated SharedVector::as_slice_mut(). Use SharedVector::make_mut_slice() instead.
    • The default non-native widget style is now the new "fluent" style.
    • The internal normalization of identifiers is using - instead of _, this is an internal change, but it can be seen in error messages. When listing properties the identifiers are preserved. For fields in structures they are normalized.
      • 👉 Show a compilation error when there are duplicated element ids.
    • The clip property can now be any expression.

    ➕ Added

    • ComboBox now has a selected callback.
    • Window now has an icon property.
    • Added sixtyfps::Weak::upgrade_in_event_loop in the Rust API.
    • Added sixtyfps::Model::as_any() in the Rust API.
    • Added conversion between sixtyfps::Image and sixtyfps::interpreter::Value in the C++ API.
    • Properties of type angle and duration are allowed in the public API.
    • Every element now has a visible property.
    • Slider now has a changed callback.
    • Added TabWidget widget.
    • Rust: sixtyfps::Image can now be constructed from image data provided by sixtyfps::SharedPixelBuffer. This enables integrating with other low-level software rendering or the the popular Rust image crate.
    • VSCode extension: added an option to specify command line arguments for the LSP.

    🛠 Fixed

    • GridLayout cells with colspan and rowspan respect properly their constraints.
    • Don't panic when replacing programmatically text in a TextInput and then editing it.
    • The default height of elements in a ListView no longer defaults to 100%.
    • Fixed support for *= and /= on types with unit such as length.
    • Don't panic when using a self assignment operator on an invalid type - this produces a compiler error instead.
    • Fixed angle conversion for values specified in radians, gradians and turns.
    • Fixed SharedVector sometimes not allocating big enough storage.