Skip to content

@devxoul devxoul released this Apr 19, 2020 · 8 commits to master since this release

  • Guarantee thread safety (#126)
  • Add an availability to specify a scheduler (#128)
  • Fix a crash in Mac Catalyst (#129, @mariohahn)
  • Import RxSwift with @_exported attribute (#130)
  • Ensure that mutate and reduce are executed in the same serial scheduler (#131)
  • Ensure that the last published state can be observed immediately (#135, @wplong11)
  • Introduce IdentityEquatable and IdentityHashable (#136)
  • Use WeakMapTable from dependency (#138)

⚠️ Breaking Change Notice

This version contains a potential breaking API change (#128). Reactors will no longer force to observe states in the main thread. Since the default scheduler is changed to CurrentThreadScheduler, you need to specify an observer if there is a UI binding on a non-main thread:

performOnBackgroundThread {
  reactor.state.map { $0.someText }
    .observeOn(MainScheduler.instance)
    .bind(to: myLabel.rx.text)
}

Alternatively, you can use the Scheduling API to specify the scheduler:

class MyReactor {
  let scheduler: Scheduler = MainScheduler.instance
}
Assets 2

@devxoul devxoul released this Jun 15, 2019 · 75 commits to master since this release

  • Add Reactor.isStubEnabled and deprecate Stub.isEnabled for the runtime performance. (e813112)
Assets 2

@devxoul devxoul released this Jun 15, 2019 · 78 commits to master since this release

  • Add Swift 5 support 🚀 (#106)

Special thanks to @mariohahn and @tokijh 🎉

Assets 2

@devxoul devxoul released this Oct 25, 2018 · 97 commits to master since this release

  • Introduce StateRelay as a replacement of Variable (#82, @tokijh)
Assets 2

@devxoul devxoul released this Sep 26, 2018 · 109 commits to master since this release

Assets 3

@devxoul devxoul released this Nov 17, 2017 · 129 commits to master since this release

  • Create a state stream automatically when accessing action (#49, @creasty)
Assets 3

@devxoul devxoul released this Oct 19, 2017 · 137 commits to master since this release

  • Add Swift 4 support 🎉
Assets 3

@devxoul devxoul released this Aug 19, 2017 · 159 commits to master since this release

  • Add a StoryboardView protocol to support Storyboard (#38)

Breaking Changes

Use StoryboardView for storyboard-initialized views. From this version, a View protocol immediately calls a bind(reactor:) when a reactor is assigned (same as 0.4.x behavior). A StoryboardView defers a binding until its view is loaded. See documentation

Assets 3

@devxoul devxoul released this Jul 28, 2017 · 173 commits to master since this release

  • Bypass a Swift compiler bug in generic subclass associated object (#30)
Assets 3

@devxoul devxoul released this Jul 28, 2017 · 176 commits to master since this release

  • Fix Carthage build failure
Assets 3
You can’t perform that action at this time.