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)๐ฆ 1.
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(_:)
andreentrantUnserializedPipe(_:)
. 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.๐ฆ 1.
SignalProducer
offers an unserialized variant viaSignalProducer.unserialized(_:)
. (#797)โฑ 1.
TestScheduler
can now advanced its clock byTimeInterval
. (#828, kudos to @carsten-wenderdel)๐ 1.
Signal
and Properties now use fewer locks, which should translate into minor performance improvements. (#797)๐ 1. Fixed spelling error in
Lifetime.Token
class documentation. (#835, kudos to @ansonj)๐จ 1. As a continued refactoring effort since ReactiveSwift 6.6.0, all unary
Signal
andSignalProducer
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.
๐ฆ 1. New operator
SignalProducer.take(until:)
that forwards any values untilshouldContinue
returnsfalse
. Equivalent totake(while:)
, except it also forwards the last value that failed the check. (#839, kudos to @nachosoto)