Skip to main content

Updates

๐Ÿ“ฆ v1.0.0โ€‹

โœจ New Featuresโ€‹

  • โœ… Action Effect Validator: Allows effects to run conditionally by validating them before execution.
  • ๐Ÿงฉ Middleware Support:
    • IEffectMiddleware
    • IReducerMiddleware
    • IDispatchMiddleware
  • โš™๏ธ Behavior Configuration: You can configure execution behaviors via:
    • DispatchEffectBehavior
    • MiddlewareEffectBehavior
    • MiddlewareTaskBehavior
  • ๐Ÿ› ๏ธ Strict Manual Registration: Manual service registration must use extension methods:
    • AddStatePulse()
    • AddStatePulseEffect<>()
    • AddStatePulseAction<>()
    • AddStatePulseReducer<>()
    • AddStatePulseStateFeature<>()
    • AddStatePulseEffectValidator<>()

๐Ÿ’ฅ Breaking Changesโ€‹

  • โŒ Removed Action Validator โ€“ validating action data is not the responsibility of the state management layer.
  • ๐Ÿ”„ Renamed:
    • IStateAccessor<>.StateChanged โ†’ OnStateChanged
    • UsingSynchronousMode โ†’ Removed
    • Sync() โ†’ Await() for clarity and accuracy

๐Ÿš€ Performance Improvementsโ€‹

  • ๐Ÿง  Improved dispatcher caching
  • โšก Enhanced type cache in StatePulseRegistry
  • ๐Ÿงฌ Replaced reflection with dynamic method caching for faster dispatching

๐Ÿงผ Clean Code Improvementsโ€‹

  • ๐Ÿงน Refactored DispatchPrepper for cleaner and lighter internal logic

๐Ÿž Fixesโ€‹

  • ๐Ÿ› ๏ธ Resolved several null reference warnings
  • ๐Ÿงฝ Removed leftover internal artifacts

v0.9.41โ€‹

  • Fix: Added Anti-Service duplication to avoid double triggers.

v0.9.4โ€‹

  • Breaking Change, StateOf no longer accept lambda will throw exception you must define a Task directly... this was necessary due to Garbage Collector and tracking behavior.
  • Deprecated UsingSynchronousMode() instead use Sync().

v0.9.21โ€‹

  • Implement the Blazor Package and removed dependencies to Blazor ComponentBase which is no longer required...
  • Any objects within .NET can now use IStatePulse and benefit from state management without extra implementations.
  • Renamed IPulse to IStatePulse
  • using IStatePulse.StateOf(()=>this, () => InvokeAsync(StateHasChanged));

v0.9.2 (Blazor Packages)โ€‹

  • Deprecated now part of StatePulse regular since we have removed the dependencies to blazor component. ... that was quick!