All Versions
15
Latest Version
Avg Release Cycle
67 days
Latest Release
814 days ago

Changelog History
Page 1

  • v0.13.0 Changes

    February 01, 2022

    🚀 This release is compatible with Xcode 13.2.

    ➕ Additions

    • 🏁 Windows support (thank you @MaxDesiatov!)
    • 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)

    🛠 Bugfixes

    • 🛠 Fixed reentrancy bugs in Subscribers.Sink and Subscribers.Assign (#210)
    • 🛠 Fixed lifecycle bugs in Publishers.Concatenate (#210)
  • v0.12.0 Changes

    January 29, 2021

    🚀 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:

    • 🛠 Fix Timer(timeInterval:repeats:block:) not accounting timeInterval (#196) via @grigorye
    • ➕ Add OpenCombineShim product for easier importing (#197) via @MaxDesiatov
    • Implementation for ObservableObject with Mirror (#201) via @kateinoigakukun
  • v0.11.0 Changes

    October 29, 2020

    🚀 This release is compatible with Xcode 12.1.

    ➕ Additions

    • Publisher.assigned(to:) method that accepts a Published.Publisher.
    • 🆕 New Publisher.switchToLatest() overloads.
    • 🆕 New Publisher.flatMap(maxPublishers:_:) overloads.
    • Optional.publisher property.
    • 🆕 New _Introspection protocol that allows to track and explore the subscription graph and data flow.

    🛠 Bugfixes

    • ⚠ The project should now compile without warnings.
    • ⚡️ The following entities have been updated to match the behavior of the newest Combine version:
      • 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 scheduler
      • Published
      • Publishers.ReceiveOn
      • Publishers.ReplaceError
      • RunLoop scheduler
      • Publishers.Sequence
      • Subscribers.Sink
      • Publishers.SubscribeOn
      • Publishers.Timeout
      • Timer publisher

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.
  • v0.10.2 Changes

    October 23, 2020

    🛠 Bugfixes

    • 🛠 Fixed a crash caused by recursive acquisition of a non-recursive lock in SubbjectSubscriber (#186, thanks @stuaustin for the bug report)

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.
  • v0.10.1 Changes

    October 04, 2020

    🛠 Bugfixes

    • 🛠 Fixed build errors on Linux with Swift 5.0 and Swift 5.3 toolchains (thanks, @adamleonard and @devmaximilian)

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.
  • v0.10.0 Changes

    June 28, 2020

    🚀 This release is compatible with Xcode 11.5.

    ➕ Additions

    • Timer.publish(every:tolerance:on:in:options:) (#156, thank you @MaxDesiatov)
    • OperationQueue scheduler (#165)
    • Publishers.Timeout (#164)
    • Publishers.Debounce (#133)

    🛠 Bugfixes

    • PassthroughSubject, CurrentValueSubject and Future have been rewritten from scratch. They are now faster, more correct and no longer leak subscriptions (#170).

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.
  • v0.9.0 Changes

    June 12, 2020

    🚀 This release is compatible with Xcode 11.5.

    ➕ Additions

    • The Subscribers.Demand struct can be nicely formatted in LLDB (#146, thank you @mayoff).
    • Publishers.SwitchToLatest (#142).
    • ⏱ The RunLoop scheduler in OpenCombineFoundation (#131).
    • Publishers.Catch and Publishers.TryCatch (#140).

    🛠 Bugfixes

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.
  • v0.8.0 Changes

    January 17, 2020

    🚀 This release is compatible with Xcode 11.3.1.

    ➕ Additions

    • Publishers.ReplaceEmpty (#122, thank you @spadafiva)
    • NotificationCenter.Publisher (#84)
    • URLSession.DataTaskPublisher (#127)
    • Publishers.DropUntilOutput (#136)
    • Publishers.CollectByCount (#137)
    • Publishers.AssertNoFailure (#138)
    • Publishers.Buffer (#143)

    🛠 Bugfixes

    • 🛠 Fixed integer overflows in DispatchQueue.SchedulerTimeType.Stride (#126, #130)
    • 🛠 Fixed the 'default will never be executed' warning on non-Darwin platforms (like Linux) (#129)

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1.
  • v0.7.0 Changes

    December 10, 2019

    🚀 This release is compatible with Xcode 11.2.1.

    ➕ Additions

    • Publishers.Delay (#114)
    • Publishers.ReceiveOn (#115)
    • Publishers.SubscribeOn (#116)
    • Publishers.MeasureInterval (#117)
    • Publishers.Breakpoint (#118)
    • Publishers.HandleEvents (#118)
    • Publishers.Concatenate (#90)

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1.
  • v0.6.0 Changes

    November 26, 2019

    🚀 This release is compatible with Xcode 11.2.1.

    Thread safety

    • Publishers.IgnoreOutput has been audited for thread safety (#88)
    • Publishers.DropWhile and Publishers.TryDropWhile have been audited for thread safety (#87)

    ➕ Additions

    • Publishers.Output (#91)
    • Record (#100)
    • 🚚 Publishers.RemoveDuplicates, Publishers.TryRemoveDuplicates (#89)
    • Publishers.PrefixWhile, Publishers.TryPrefixWhile (#89)
    • Future (#107, thanks @MaxDesiatov!)

    🛠 Bugfixes

    • 🛠 The behavior of the Publishers.Encode and Publishers.Decode subscriptions is fixed (#112)
    • 🛠 The behavior of the Publishers.IgnoreOutput subscription is fixed (#88)
    • 🖨 The behavior of the Publishers.Print subscription is fixed (#92)
    • 🛠 The behavior of the Publishers.ReplaceError subscription is fixed (#89)
    • 🛠 The behavior of the Publishers.Filter and Publishers.TryFilter subscriptions is fixed (#89)
    • 🛠 The behavior of the Publishers.CompactMap and Publishers.TryCompactMap subscriptions is fixed (#89)
    • 🛠 The behavior of the Publishers.Multicast subscription is fixed (#110)
    • 🛠 Publishers.FlatMap is reimplemented from scratch. Its behavior is fixed in many ways, it now fully matches that of Combine (#89)
    • 🛠 @Published property wrapper is fixed! (#112)
    • ⏱ The behavior of DispatchQueue.SchedulerTimeType is fixed to match that of the latest SDKs (#96)
    • OpenCombine is now usable on 32 bit platforms. Why? Because we can.

    Known issues

    • 0️⃣ The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1.