ReactiveSwift v6.7.0-rc1 Release Notes
🚦 1. New operator
SignalProducer.Type.interval(_:interval:on:)for emitting elements from a given sequence regularly. (#810, kudos to @mluisbrown)
Signaloffers 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
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
Signalhas not been changed — event serialization remains the default behavior.
SignalProduceroffers an unserialized variant via
TestSchedulercan now advanced its clock by
TimeInterval. (#828, kudos to @carsten-wenderdel)
Signaland Properties now use fewer locks, which should translate into minor performance improvements. (#797)
📚 1. Fixed spelling error in
Lifetime.Tokenclass documentation. (#835, kudos to @ansonj)
♻️ 1. As a continued refactoring effort since ReactiveSwift 6.6.0, all unary
SignalProduceroperators 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.