You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the seventh minor release of ReactiveSwift 6.
Additions
Signal offers two special variants for advanced users: unserialized and reentrant-unserialized. (#797)
The input observer of these variants assume that mutual exclusion has been enforced by its callers.
You can create these variants through four Signal static methods: unserialized(_:), unserializedPipe(_:), reentrantUnserialized(_:) and reentrantUnserializedPipe(_:). These would be adopted by ReactiveCocoa UIKit bindings to improve interoperability with Loop, to tackle some legitimate recursive delivery scenarios (e.g. around first responder management), and also to reduce fine-grained locking in ReactiveCocoa.
Note that the default behavior of Signal has not been changed — event serialization remains the default behavior.
SignalProducer offers an unserialized variant via SignalProducer.unserialized(_:). (#797)
TestScheduler can now advanced its clock by TimeInterval. (#828, kudos to @carsten-wenderdel)
Changes
Signal and Properties now use fewer locks, which should translate into minor performance improvements. (#797)
Fixed spelling error in Lifetime.Token class documentation. (#835, kudos to @ansonj)
As a continued refactoring effort since ReactiveSwift 6.6.0, all unary Signal and SignalProducer operators have been migrated to a new internal representation.
When debugging your application, the call stacks involving ReactiveSwift may now look cleaner, without the clutter of compiler-generated reabstraction thunks. See #799 for an example.