The Second Release
The main goal of this release is to improve the experience of using callbacks and provide typed and filtered data in callbacks. It helps to use Rust types directly with tracers.
Changes in the Core
In this release, we completely refactored callbacks and introduced
a new builder type for constructing callbacks:
It can attach filters to a callback and crate different callbacks:
Receiver, and a link to an
Since filtering and mapping are available, we added a universal type
CallbackAction to set the expected type.
To improve the usability of
CallbackGuard, we removed type parameters,
and all guards can be grouped in the same collection.
All callbacks are now implemented using the same
Flow and Tracer
We added the
weight parameter to the
FlowInfo that already
ColumnLayout and will be supported by other layouts later.
The idea is to override the ordering of elements on auto-layouts
to show more important elements before less important.
Also, we extended the logging information of a
Tracer that now adds
target to log messages and keeps that information in the
We've implemented a termination order for actors spawned by the
Now actors terminate in reversed order (from the last spawned to the first).
It helps to control what actor will be terminated in the last orders
if spawned actors interact with each other.
Changes in Packs
Selector component is extended with a typed version called
It's a component that wraps a
Selector but expects a type parameter converted
String and parsed from a
In this update, we removed unused frontend dependencies.
TracerOpts derive macro renamed to
OptsBuilder to avoid conflicts
TracerOpts struct used for configuring
Packs are divided into features and the default feature
backend was deactivated.
Now you should explicitly choose
frontend features dependeing
where you use a pack.
Also we have fixed the issue with embedding assets: building failed if
feature was deactivated.
Visual Pack: added LiveValue
LiveValue is a component that renders a numeric value:
Internally it uses
BigDecimal value and it has own
to convert integers, floats and strings into big decimals.
This version contains many reefactoring changes that sometimes can slightly broke the backward compatibility, but we still release it as a minor version, because it has no new packs and components.
Added a timeout to the WebSocket interaction (
to interrupt a closing connection if that doesn't respond.
actions filtering method to the
All guards marked with the
must_use attribute and should be used,
because a hook dropped if a guard detached.
Layout hooks have to be attached explicitly to any engine that gives more flexibility to track a register of the engine.
engine crate is exported from the
Changes in packs
Component trait to have a universal way to produce flows that is
useful for dynamic dashboard creation and it's implemented for components of all packs.
Suffices of some events and actions chaged:
Changeis an event, and
Changedis an action of the
Selectis an event, and
Selectedis an action of the
Removed embedded hooks from components that now have to be set explicitly (see examples).
Fixed some paddings to have more consistent rendering rules.
size-fullwidth class is recommended to use with the
container class, but
by default the width still fits to the contents.