Skip to content

0.39.1

Compare
Choose a tag to compare
@p4checo p4checo released this 31 Dec 17:15
· 239 commits to master since this release

Brings the fork up to date with the upstream TCA release 0.39.1

Please refer to the TCA release notes for 0.39.1 and 0.39.0.

This brings the fork up to date with all the commits from TCA after the Concurrency Beta was merged, then up to version 0.39.1.

Migration notes

Please refer to PR #58 for more details, but the main points can be found below.

⚠️ Breaking changes due to Effect no longer typealiasing SignalProducer ⚠️

This update will cause countless breaking changes in projects as Effect is now a struct that wraps a SignalProducer instead of being a typealias of it. This is not as big of a problem in upstream TCA because Effect is still a Publisher, so all Combine operators will keep working on Effect operation chains, whereas in RAS-TCA they will now break.

We felt that despite being a harder migration path, users will be (forcibly 😅) steered away from SP-based effects in favor of the new async based ones quicker. Deprecation warnings providing fix-its were difficult to add, so please bear with the compiler screaming a bit at you 🙏🏼

ReactiveSwift 7.1 dependency

This release now points to ReactiveSwift 7.1, which already includes async APIs in TestScheduler and DateScheduler.

New SignalProducerConvertible.values Async(Throwing)Stream APIs

In order to use SignalProducers in the async "world", while replicating the existing APIs in Combine, two new
values computed properties in SignalProducerConvertible were added:

  • values: AsyncStream<Value> when Error == Never
  • values: AsyncThrowingStream<Value, Swift.Error> otherwise