Conversation
…olation BREAKING: Change default dispatch order to reducers-first BREAKING: Remove per-effect middleware and unify effect execution phases BREAKING: Guarantee deterministic BeforeEffect → Effects → AfterEffects flow BREAKING: Enforce non-singleton actions for correct scoping BREAKING: Replace transient lifetimes with scoped/singleton for core components BREAKING: Change ScanAssemblies to accept Assembly[] instead of Type[] BREAKING: Register IPulseGlobalTracker as scoped instead of singleton BREAKING: Remove AddStatePulse<Action,Effect,Reducer,State> extension BREAKING: Add AddStatePulseService<Implementation>() for auto type detection BREAKING: Add OnDispatchFailure(Exception, object) to IDispatchMiddleware BREAKING: Remove async dispatch rethrow; only synchronous Await() rethrows BREAKING: Convert reducers from Task to synchronous methods BREAKING: Remove ReducerExt helper BREAKING: Deprecate IDispatcherPrepper<TAction>.Prepare(Func<TAction>) FEATURE: Add global config for dispatch ordering and effect execution FEATURE: Add global and per-dispatch ordering (EffectsFirst/ReducersFirst) FEATURE: Guarantee BeforeReducers middleware runs before AfterReducer FEATURE: Allow reducers to run parallel with BeforeReducing when not awaited FEATURE: Add true fire-and-forget effect execution mode FEATURE: Add per-dispatch overrides (EffectsFirst, ReducersFirst, SequentialEffects, ParallelEffects) FEATURE: Add InvalidDispatchCombinationException for invalid config mixes FEATURE: Add safe recursive dispatch support in fire-and-forget mode FEATURE: Add PulseTrackingModel for thread-safe vs single-threaded tracking FEATURE: Add GlobalTrackerLifetime for scoped/singleton/BlazorServer/WASM FEATURE: Add IStateFeatureSingleton for shared server-side state FEATURE: Make reducers/effects/middleware/validators always transient FEATURE: Add global StateVersioning ticker to prevent stale state updates FEATURE: Add automatic stale-state discard with IStateAccessor FEATURE: Add Roslyn analyzer error for Prepare<T>(entity) constructor mismatch FEATURE: Add Roslyn analyzer error for With() on init/get-only properties SECURITY: Enforce Roslyn validation for StateOf<T> usage to prevent leaks SECURITY: Fix internal configuration paths FIX: Resolve various warnings FIX: Correct internal configuration behavior FIX: Ensure middleware registration via scanned assemblies FIX: Fix Await() not being respected in some cases FIX: Resolve race-condition cancellation affecting final action FIX: Fix race-condition inconsistencies FIX: Fix StateOf<TState>() cast failure to IStateAccessor<object> FIX: Make AddStatePulseServices() configuration optional
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…olation
BREAKING: Change default dispatch order to reducers-first
BREAKING: Remove per-effect middleware and unify effect execution phases
BREAKING: Guarantee deterministic BeforeEffect → Effects → AfterEffects flow
BREAKING: Enforce non-singleton actions for correct scoping
BREAKING: Replace transient lifetimes with scoped/singleton for core components
BREAKING: Change ScanAssemblies to accept Assembly[] instead of Type[]
BREAKING: Register IPulseGlobalTracker as scoped instead of singleton
BREAKING: Remove AddStatePulse<Action,Effect,Reducer,State> extension
BREAKING: Add AddStatePulseService() for auto type detection
BREAKING: Add OnDispatchFailure(Exception, object) to IDispatchMiddleware
BREAKING: Remove async dispatch rethrow; only synchronous Await() rethrows
BREAKING: Convert reducers from Task to synchronous methods
BREAKING: Remove ReducerExt helper
BREAKING: Deprecate IDispatcherPrepper.Prepare(Func)
FEATURE: Add global config for dispatch ordering and effect execution
FEATURE: Add global and per-dispatch ordering (EffectsFirst/ReducersFirst)
FEATURE: Guarantee BeforeReducers middleware runs before AfterReducer
FEATURE: Allow reducers to run parallel with BeforeReducing when not awaited
FEATURE: Add true fire-and-forget effect execution mode
FEATURE: Add per-dispatch overrides (EffectsFirst, ReducersFirst, SequentialEffects, ParallelEffects)
FEATURE: Add InvalidDispatchCombinationException for invalid config mixes
FEATURE: Add safe recursive dispatch support in fire-and-forget mode
FEATURE: Add PulseTrackingModel for thread-safe vs single-threaded tracking
FEATURE: Add GlobalTrackerLifetime for scoped/singleton/BlazorServer/WASM
FEATURE: Add IStateFeatureSingleton for shared server-side state
FEATURE: Make reducers/effects/middleware/validators always transient
FEATURE: Add global StateVersioning ticker to prevent stale state updates
FEATURE: Add automatic stale-state discard with IStateAccessor
FEATURE: Add Roslyn analyzer error for Prepare(entity) constructor mismatch
FEATURE: Add Roslyn analyzer error for With() on init/get-only properties
SECURITY: Enforce Roslyn validation for StateOf usage to prevent leaks
SECURITY: Fix internal configuration paths
FIX: Resolve various warnings
FIX: Correct internal configuration behavior
FIX: Ensure middleware registration via scanned assemblies
FIX: Fix Await() not being respected in some cases
FIX: Resolve race-condition cancellation affecting final action
FIX: Fix race-condition inconsistencies
FIX: Fix StateOf() cast failure to IStateAccessor
FIX: Make AddStatePulseServices() configuration optional