ReactiveSwift v3.0.0 Release Notes
Release Date: 2017-11-17 // over 6 years ago-
๐ This is the first release of ReactiveSwift 3.0. It supports Swift 3.2 and Swift 4.0, and requires either Xcode 9 or the Swift 4.0 OSS compiler toolchain.
๐ฅ Breaking Change
๐ฆ
Signal
now usesLifetime
for resource management. (#404, kudos to @andersio)๐ฆ The
Signal
initialzer now accepts a generator closure that is passed with the inputObserver
and theLifetime
as its arguments. The original variant accepting a single-argument generator closure is now obselete. This is a source breaking change.// New: Add `Disposable`s to the `Lifetime`.let candies = Signal\<U, E\> { (observer: Signal\<U, E\>.Observer, lifetime: Lifetime) in lifetime += trickOrTreat.observe(observer) }// Obsolete: Returning a `Disposable`.let candies = Signal { (observer: Signal\<U, E\>.Observer) -\> Disposable? inreturn trickOrTreat.observe(observer) }
๐ Unavailable symbols in ReactiveSwift 2.x have been removed. (#551, kudos to @ikesyo)
๐ Bugfix
๐ Workaround an unexpected EGAGIN error being returned by pthread in 32-bit ARM debug builds. (#508)
๐ Fixed a potential integer overflow regarding the leeway computation in
SignalProducer.timer
. (#506, kudos to @soxjke)๐ Changes
ReactiveSwift has been migrated to Swift 4.0. (#422, kudos to @andersio)
๐ฆ
SignalProducer.startWithSignal
now returns the value of the setup closure. (#533, kudos to @Burgestrand)๐ Disabled code coverage data to allow app submissions with Xcode 9.0 (see Carthage/Carthage#2056, kudos to @NachoSoto)
๐จ The
SignalProducer
internals have undergone a significant refactoring, which bootstraps the effort to reduce the overhead of constant producers and producer compositions. (#487, kudos to @andersio)๐ Deprecation
๐ฆ 1.
Signal.Observer.action
has been deprecated. UseSignal.Observer.send
instead. (#515)