You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Breaking Changes:
- Removed default handle_async/3 implementation in :reducer macro
- Previously all reducers had a no-op handle_async/3 by default
- This caused async: true actions to be silently ignored
- Now handle_async/3 is only exported if explicitly defined
- Actions with async: true will route to handle_action/2 if no handle_async/3
API Changes:
- dispatch_async/4 is now a convenience alias that adds async: true to meta
- dispatch_async/4 returns :ok (not {:ok, cancel_fn})
- Both dispatch/4 and dispatch_async/4 are fire-and-forget (async)
Version Updates:
- Updated version to 1.0.0 in mix.exs
- Updated README installation instructions to ~> 1.0
- Updated CHANGELOG release date to 2025-10-31
- Removed deprecated Redux modules from docs configuration
Documentation Updates:
- Fixed dispatch callback signatures in examples (3 arguments required)
- Updated all docs to reflect dispatch_async as convenience alias
- Clarified that async: true routes to handle_async/3 if available
- Added notes about default handle_async removal
Test Updates:
- Fixed dispatch_test.exs to expect :ok instead of {:ok, cancel_fn}
- Increased Process.sleep to 50ms for async action processing
- All 148 tests passing
Fixes:
- Fixed async actions being silently ignored when reducer lacks handle_async/3
- Fixed dispatch callback arguments in Example 03 (3 args required)
- Fixed test expectations for dispatch_async return value
0 commit comments