All Versions
15
Latest Version
Avg Release Cycle
67 days
Latest Release
777 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.