Open source implementation of Apple's Combine framework for processing values over time.
This release is compatible with Xcode 13.2.
Publishers.Throttle
(#195, thank you @stuaustin)Publishers.PrefixUntilOutput
(#206)Publishers.Zip
(#222, thank you @MaxDesiatov and @ArthurChi)async
/await
extensions: Future.value
and Publisher.values
(#219)Subscribers.Sink
and Subscribers.Assign
(#210)Publishers.Concatenate
(#210)This release adds a new OpenCombineShim
product that will conditionally re-export either
Combine on Apple platforms, or OpenCombine on other platforms. Additionally, ObservableObject
protocol is now available and working on all platforms.
A bug with Timer(timeInterval:repeats:block:)
firing immediately not accounting for the passed
timeInterval
is fixed.
Merged pull requests:
Timer(timeInterval:repeats:block:)
not accounting timeInterval
(#196) via @grigorye
OpenCombineShim
product for easier importing (#197) via @MaxDesiatov
ObservableObject
with Mirror
(#201) via @kateinoigakukun
This release is compatible with Xcode 12.1.
Publisher.assigned(to:)
method that accepts a Published.Publisher
.Publisher.switchToLatest()
overloads.Publisher.flatMap(maxPublishers:_:)
overloads.Optional.publisher
property._Introspection
protocol that allows to track and explore the subscription graph and data flow.Subscribers.Assign
Publishers.Breakpoint
Publishers.Buffer
CombineIdentifier
Publishers.CompactMap
Publishers.Concatenate
Publishers.Debounce
Publishers.Delay
DispatchQueue.SchedulerTimeType.Stride
Publishers.Drop
Publishers.Encode
Publishers.Decode
Publishers.Filter
Publishers.HandleEvents
Publishers.IgnoreOutput
Publishers.MeasureInterval
OperationQueue
schedulerPublished
Publishers.ReceiveOn
Publishers.ReplaceError
RunLoop scheduler
Publishers.Sequence
Subscribers.Sink
Publishers.SubscribeOn
Publishers.Timeout
Timer
publisherobjectWillChange
requirement of the ObservableObject
protocol is not available in Swift 5.1 and later.This release is compatible with Xcode 11.5.
Timer.publish(every:tolerance:on:in:options:)
(#156, thank you @MaxDesiatov)OperationQueue
scheduler (#165)Publishers.Timeout
(#164)Publishers.Debounce
(#133)PassthroughSubject
, CurrentValueSubject
and Future
have been rewritten from scratch. They are now faster, more correct and no longer leak subscriptions (#170).objectWillChange
requirement of the ObservableObject
protocol is not available in Swift 5.1 and later.This release is compatible with Xcode 11.5.
Subscribers.Demand
struct can be nicely formatted in LLDB (#146, thank you @mayoff).Publishers.SwitchToLatest
(#142).RunLoop
scheduler in OpenCombineFoundation
(#131).Publishers.Catch
and Publishers.TryCatch
(#140).COpenCombineHelpers
target (#145, thank you @mayoff).objectWillChange
requirement of the ObservableObject
protocol is not available in Swift 5.1 and later.This release is compatible with Xcode 11.3.1.
Publishers.ReplaceEmpty
(#122, thank you @spadafiva)NotificationCenter.Publisher
(#84)URLSession.DataTaskPublisher
(#127)Publishers.DropUntilOutput
(#136)Publishers.CollectByCount
(#137)Publishers.AssertNoFailure
(#138)Publishers.Buffer
(#143)DispatchQueue.SchedulerTimeType.Stride
(#126, #130)objectWillChange
requirement of the ObservableObject
protocol is not available in Swift 5.1.This release is compatible with Xcode 11.2.1.
Publishers.Delay
(#114)Publishers.ReceiveOn
(#115)Publishers.SubscribeOn
(#116)Publishers.MeasureInterval
(#117)Publishers.Breakpoint
(#118)Publishers.HandleEvents
(#118)Publishers.Concatenate
(#90)objectWillChange
requirement of the ObservableObject
protocol is not available in Swift 5.1.