- Remove
dynamic
type fromspm
builds
- Xcode 16.0 compatibility
- Xcode 15.1 compatibility
- Add Compose and SwiftUI bridging functions
- Xcode 14.0 compatibility
- Specify type of the library for
spm
builds asdynamic
- Xcode 13.2 compatibility
- Xcode 13.0 compatibility
- Xcode 12.5 compatibility
- Xcode 12.4 compatibility
- Fix compilation errors in Xcode 11.4 beta
- Use Swift.Result instead of custom result implementation
- Update sample to match readme.
- Fix race conditions for iOS 13 for Signal and cleanup CallbackState
- Add new combiner
driven(by:)
that makes aReadSignal
emit its latest readable values when the given "driver" signal fires events. The combined signal will derive its signal kind from the driver, but without write access.
- Fix the
traitCollectionWithFallback
behaviour on iOS 13 to return the view's predicted traits and prior iOS 13 to respect the key window's traits before falling back to the main screen traits.
- Added signal transformations
contains(where:)
andallSatisfy(where:)
as wrappers for booleanreduce()
transforms. - Changed
reduce()
implementation to consider initial values when performed on readable signals.
- Added
deallocSignal(for:)
andNSObject.deallocSignal
for listen on deallocation of objects. - Added signal transformation
with(weak:)
as a convenience helper for breaking retain cycles.
- Migration to Swift 5.
- Addition: Make
Callbacker
conform toSignalProvider
.
- Bugfix: Make sure
shared()
updates its last value before calling out to get correct results in case of recursion.
- Update
combineLatest
to no longer allow mixing of plain and readable signals as for the returned signal to guarantee to be readable all provided signals must as be readable as well. This is technically a breaking of the API, but as the existing implementation is broken and might result in run-time crashes, this change can be considered as a bug-fix.
- Added new
Future
andSignal
delay
alternatives that accepts a closure that returns the delay based on the value allow variable delays.
- Fixed a bug with some of
Future
's repeat methods where the delaydelayBetweenRepetitions
was added after the last repetition as well. - Fixed bug where the predicate passed to
onResultRepeat
was not always scheduled correctly.
- Fixes a problem where onErrorRepeat would not respect the specified delay interval.
- Fixed issues with tvOS support.
- Updates some transforms such as
toVoid()
to schedule on.none
instead of.current
so these transforms won't cause a re-schedule.
- Updated the
Signal.flatMapLatest()
transformation to allow more flexible mixing of signal types betweenself
and the signal returned fromtransform
. - Added
Signal.toogle()
method for read-write boolean signals. - Added
didWrite()
transformations to read-write signals. - Added
UIControl
valueChanged
that will signal with the latest value when the control event.valueChanged
is signaled.
- Bugfix: Updated
Future.abort(forFutures:)
to more correctly handle repetition.
- Added versions of
bindTo()
that can bind a non optional to an optional value. - Added
enable()
toEnablable
similar asdisable()
. - Added more defaulted parameters to
Scheduler.init
for dispatch queues. - Fixes a crash on Swift 4.2 when immediately (on the same line) modifying a
ReadWriteSignal
'svalue
. - Added
Scheduler
perform
helper. - Added signal
withLatestFrom
transformation.
- Conditionally conform
Either
to Hashable whenLeft
andRight
conforms toHashable
. - Conforms UISlider to SignalProvider.
- Added
NSManagedObjectContext.scheduler
property for scheduling work on managed object contexts when CoreData is available.
- Added
DisposeBag.hold()
convenience method for holding a reference to an object. - Added
UITextField
delegates forshouldEndEditing
andshouldReturn
l - Added
UITextField.isEditingSignal
signal. - Added
UIView.install()
for installing gesture recognizers. - Added
UIView
signals for displaying editing menu for copy, cut and paste. - Added
orientationSignal
that will signal on orientation changes. - Added
UIRefreshControl
animate()
andrefersh()
helpers. - Added
disableActiveEventListeners()
helper
This is the first public release of the Flow library.