Skip to content
This repository has been archived by the owner on Jun 16, 2021. It is now read-only.

Latest commit

 

History

History
67 lines (43 loc) · 2.58 KB

CHANGELOG.md

File metadata and controls

67 lines (43 loc) · 2.58 KB

Master

  • Updates to RxSwift 5.0.
  • Renames Mutation to Event.
  • Removes deprecated APIs.
  • Adds the most general version of feedback loop
public func react<State, Request: Equatable, RequestID, Event>(
    requests: @escaping (State) -> [RequestID: Request],
    effects: @escaping (_ initial: Request, _ state: Observable<Request>) -> Observable<Event>
) -> (ObservableSchedulerContext<State>) -> Observable<Event> {
  • Simpler feedback loops are now just a specialization of the general one.
  • Removes hacky versions of feedback loops that existed because Swift compiler didn't generate automatic Equality conformance.
  • Fixes problem building with Carthage. #41
  • Xcode 10 compatbility
  • Renames Event to Mutation.
  • Fixes problem with feedback loop termination.
  • Fixes duplicated plist inclusion.
  • Fixes leak in Hashable overload of react feedback loop.
  • Shares final guard against reentrancy (if feedback loops have implementation issue and are synchronous) between all feedback loops.
  • Deprecates UI.* in favor of free methods.
  • Deprecates feedback loops of the form Driver<State> -> Driver<Event> in favor of Driver<State> -> Signal<Event>.
  • Adaptations for RxSwift 4.0.0.
  • Adds reentrancy guards to UI.bind feedback loop (Driver version).
  • Includes additional reentrancy checks to DEBUG builds.
  • Adapts UI extensions.
  • Improves reentrancy properties.
  • Adds ObservableSchedulerContext and additional system operator overload that enables passing of scheduler to feedback loops to improve cancellation guarantees.
  • Improves built in feedback loops with additional cancellation guarantees.
    • Receiving stale events by using built-in feedback loops shouldn't be possible anymore.
  • Deprecates feedback loops that don't use scheduler argument.