Release notes¶
0.8.0¶
Kanzi Rust API now works with Kanzi 3.9.15.
On Windows, you can now link against Kanzi libraries built in Debug mode.
Added
license-fileattribute toCargo.toml, referencing thekanzi-one-software-license-terms.txtlicense file.
0.7.0¶
Kanzi Rust API now works with Kanzi 3.9.14.
You can now directly compare shared and weak objects of different types.
Enhanced message handler interface: the provided closure now receives strongly typed message arguments.
Renamed
AbstractPropertyType::find_rawtoAbstractPropertyType::find.Renamed
AbstractMessageType::find_rawtoAbstractMessageType::find.Updated
AbstractDataObjectcasting to usedowncastmethods inObjectConstrainttrait instead of customcastmethods.
0.6.0¶
Kanzi Rust API now works with Kanzi 3.9.13.
Implemented a brand new interface for bridging Rust and C++ application code.
Added templates for application and plugin code for Rust.
Added registration of custom loggers from Rust.
Improved error messages for Kanzi exceptions caught by Rust.
Improved compiler error messages resulting from macro usage.
Removed all as-conversions from the Kanzi crate.
0.5.0¶
Kanzi Rust API now works with Kanzi 3.9.12.
Implemented a procedural macro to enable inheritance from C++ classes.
Added support for defining crates as dynamically loaded modules.
Added a new plugin example with inheritance:
XmlDataSource(as a part of ./examples/hello_rust).Introduced an interface for setting a global callback
Domain::set_error_callbackwhich can be used for tracking unhandled exceptions.Standardized all callback function signatures to return
kanzi::Result.Replaced all instances of the unwrap method with except for improved error handling.
Added Location context for
kanzi::Error.Introduced interfaces for
ListBoxConcept,Trajectory, andNamedIntervalProfiler.Added support for binding interfaces:
AbstractBinding,Binding,TwoWayBinding, andToSourceBinding.Raised the minimum supported Rust compiler version to 1.83.
Removed unmaintained dependencies: paste and json.
Increased overall test coverage to 80%.
0.4.0¶
Kanzi Rust API now works with Kanzi 3.9.12.
Provide interface for defining custom resource loaders.
Provide interface for creating textures.
Provide interface for reloading custom resources (can only be used with GPU resources).
Provide macro for defining custom property and message types.
Provide interface for
ListBoxConcept.Provide macro and traits for inheriting from
DataSource,NodeComponent`and other classes.Provide interface for
AbstractBinding.Provide interface for
Viewport2D.
0.3.0¶
Kanzi Rust API now works with Kanzi 3.9.11.
Provide safe iterator methods which eagerly collect all values of an iterator into Vec.
Provide
KanziStringandKanziStrtypes for better interaction with C++.Provide methods for subscriptions to dispatched messages on Node types.
Update recoverable function calls to return
Result<Option<{type}>>.Update how Kanzi Rust API is registered in Kanzi to properly handling crate uninitialization.
Provide Weak objects and do not allocate strong references in API calls by default.
Provide ThreadObject for sharing state with non-Kanzi threads.
Update API calls to cast returned objects to user defined types. Also provide
*_rawfunctions in case casting is undesirable.