Skip to content

Duks v0.2.0

Choose a tag to compare

@CoreyKaylor CoreyKaylor released this 11 Jun 21:31
· 25 commits to main since this release

duks v0.2.0 Release Notes

Announcing duks v0.2.0, a major release that introduces persistence capabilities and enhanced saga workflows for
Kotlin Multiplatform state management.

✨ What's New

🗄️ Storage & Persistence Framework

  • Flexible Storage Abstraction: Generic StateStorage interface supporting any data format
  • Multiple Persistence Strategies:
    • OnEveryChange - Persist on every state update
    • Debounced - Wait for inactivity before persisting
    • Throttled - Rate-limited persistence
    • OnAction - Persist only on specific actions
    • Conditional - Custom persistence logic
  • Versioned Storage: Built-in support for state migrations
  • Easy Integration: Simple middleware configuration

🔄 Enhanced Saga System

  • Independent Workflows: Improved design for complex async operations
  • Saga Persistence: Save and restore long-running workflows
  • Dedicated Storage: SagaStorage interface for saga state
  • Flexible Persistence: Multiple strategies including checkpoint-based and completion-based

🎯 Middleware Lifecycle

  • Store-Aware Middleware: New StoreLifecycleAware interface
  • Initialization Hooks: Middleware can now react to store creation
  • Automatic State Restoration: Persistence middleware restores state on startup

📦 Other Improvements

  • Updated to latest Jetpack Compose version
  • Enhanced error handling throughout
  • Comprehensive test coverage for new features
  • Platform-specific storage implementations ready

💔 Breaking Changes

  • Saga configuration API updated - now uses SagaRegistry
  • Saga definitions must implement new SagaDefinition interface

📚 Documentation

See the updated README and storage documentation for detailed usage examples.


Full Changelog: https://github.com/username/duks/compare/v0.1.0...v0.2.0