- Added:
IdentifiedArray.remove(id:)
method for removing elements by identifier. - Added:
Reducer.combined(with:)
method for combining reducers using dot-chaining (thanks @alexito4). - Added:
Reducer.run
method for invoking the reducer in a more ergonomic fashion thancallAsFunction
in Swift 5.1. - Changed: optimized test support code to dynamically load XCTest just once per test process (rather than once per assertion failure).
- Changed:
IdentifiedArray
'sid
-based subscript no longer removes elements from the array when passednil
. Useremove(id:)
instead. - Changed:
CasePath
is no longer vendored. It is instead included as an SPM dependency. - Changed:
Effect.async
has been renamed toEffect.run
. - Changed:
Effect.sync
has been renamed toEffect.catching
. - Bug fixed:
TestScheduler
now always performs/schedules simultaneous work by earliest-scheduled. - Infrastructure: added binding-based animation demo to case studies.
- Infrastructure: add Swift forum to README.
- Infrastructure: fixed typo in
IfLetStore
documentation (thanks @jasdev).