0.0.15 (2026-02-07)
Fixes
feat: add activity journaling for crash-recovery replay safety
When a #[workflow] method calls a #[activity], the activity result is now
cached via DurableContext. On crash-recovery replay, the cached result is
returned instead of re-executing the activity body, preventing duplicate
side-effects.
Also unifies stateless and stateful entity codegen into a single path.
Persistence infrastructure (workflow engine, message storage, sharding,
durable builtins, activity journal wrapping) is now always generated
regardless of whether the entity has #[state]. State is orthogonal to
persistence — stateless entities get the same journaling and durable
workflow guarantees as stateful ones.
Key changes:
DurableContextextended with journal check/write/serialize logicActivityScope::buffer_writeused for atomic journal+state commitsgenerate_stateless_entityremoved (~530 lines); unified intogenerate_entity- All
state_persistedguards removed from codegen — persistence always enabled - Stateless entities now use the View pattern with
Derefto entity struct