Releases: actuate-rs/actuate
Releases · actuate-rs/actuate
actuate-v0.20.1
actuate-v0.20.0
0.20.0 - 2024-12-13
Breaking changes
- Fix
Data
impl for&T
(63d89ed) - Remove Data from root exports (677b160)
- Replace
Memoize
trait with more specificGenerational
trait (febe238)
Features
- Impl
Data
for Rc<dyn Fn(..)> and deriveClone
forCatch
composable (e038307) - Impl
Clone
forfrom_fn
,from_iter
, andmemo
composables (21c016f) - Add
material_ui
composable (5dad9a3)
Fixes
- Replace
std
deps withcore
(68d44a2) - Simplify styling in
scroll_view
composable and updatehttp
example (f90e4c4) - Check for removed entities in Spawn composable (c23e158)
Documentation
actuate-v0.19.1
0.19.1 - 2024-12-09
Features
- Add
use_effect
hook (5ae0a51)fn use_effect<D, T>(cx: ScopeState, dependency: D, effect: impl FnOnce(&D))
Fixes
- Remove
AnyItemState
infrom_iter
composable to pass stacked borrows check in miri (2360814)
Documentation
- Add docs for
from_fn
andfrom_iter
composables (5c379e1)
actuate-v0.19.0
0.19.0 - 2024-12-08
Breaking changes
- Require
'static
items infrom_iter
composable- This prevents edge cases where an item may have been removed from a collection, but references still exist down the tree.
Documentation
actuate-v0.18.0
actuate-v0.17.2
actuate-v0.17.1
0.17.1 - 2024-12-06
Features
-
Create
FromFn
composable- You can now create a composable without input using
from_fn
(433ab1d) -
fn from_fn<F, C>(f: F) -> FromFn<F, C> where F: Fn(ScopeState) -> C, C: Compose
- You can now create a composable without input using
-
Derive
Clone
andDebug
forButton
,Container
, andRadioButton
(4f337ed)
Documentation
- Update docs for feature flags (869aa89)
actuate-v0.17.0
actuate-v0.16.1
actuate-v0.16.0
0.16.0 - 2024-12-05
Breaking changes
- Major internal rewrite! (9ef73eb) The new internals allow for more dynamic control over the composition
, enabling features like pause and resume of a composition.
Composer::try_compose
will now also skip directly to changed composables, rather than setting change flags.- Removes exported methods for
ScopeData
- The
Runtime
struct is now private to ensure safety
- Removes exported methods for
Features
-
Composer
is now an iterator! This allows for stepping through each composable in the composition. -
Composer
also implementsfmt::Debug
:use actuate::prelude::*; use actuate::composer::Composer; #[derive(Data)] struct A; impl Compose for A { fn compose(cx: Scope<Self>) -> impl Compose { (B, C) } } #[derive(Data)] struct B; impl Compose for B { fn compose(cx: Scope<Self>) -> impl Compose {} } #[derive(Data)] struct C; impl Compose for C { fn compose(cx: Scope<Self>) -> impl Compose {} } let mut composer = Composer::new(A); composer.try_compose().unwrap(); assert_eq!(format!("{:?}", composer), "Composer(A(B, C))")