Release 0.2

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

rillrate crate


In this release, we completely refactored callbacks and introduced a new builder type for constructing callbacks: CallbackBuilder. It can attach filters to a callback and crate different callbacks: function, Receiver, and a link to an Actor.

Since filtering and mapping are available, we added a universal type parameter to 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 CallbackFn trait.

Flow and Tracer

We added the weight parameter to the FlowInfo that already supported by 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 a target to log messages and keeps that information in the log_targetfield.

meio crate

We've implemented a termination order for actors spawned by the System. 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

Control Pack


The Selector component is extended with a typed version called TypedSelector.

It's a component that wraps a Selector but expects a type parameter converted into a String and parsed from a String.



Version 0.2.1

In this update, we removed unused frontend dependencies.

Also, TracerOpts derive macro renamed to OptsBuilder to avoid conflicts with TracerOpts struct used for configuring Tracers parameters.

Version 0.2.2

Packs are divided into features and the default feature backend was deactivated. Now you should explicitly choose backend or frontend features dependeing where you use a pack.

Also we have fixed the issue with embedding assets: building failed if app feature was deactivated.

Visual Pack: added LiveValue

The LiveValue is a component that renders a numeric value:


Internally it uses BigDecimal value and it has own ToDecaimal trait to convert integers, floats and strings into big decimals.

Version 0.2.3

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.

meio-connect changes

Added a timeout to the WebSocket interaction (meio-connect::talker::Talker) to interrupt a closing connection if that doesn't respond.

rillrate changes

Added actions filtering method to the CallbackBuilder.

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.

And the engine crate is exported from the rillrate crate.

Changes in packs

Added the 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:

  • Change is an event, and Changed is an action of the TextInput component
  • Select is an event, and Selected is an action of the Selector component

Removed embedded hooks from components that now have to be set explicitly (see examples).

Fixed some paddings to have more consistent rendering rules.

The size-fullwidth class is recommended to use with the container class, but by default the width still fits to the contents.

"Live Dashboard in 5 Minutes" weekly digest Subscribe