Skip to content

Releases: OpenCombine/OpenCombine

0.14.0

23 Apr 16:13
Compare
Choose a tag to compare
0.14.0 Pre-release
Pre-release

This release is compatible with Xcode 14.2 and Swift 5.7

Additions

  • Primary associated type support for Publisher, Subscriber, ConnectablePublisher, Subject and Scheduler protocols (#239)

Bugfixes

  • Fixed nullifying the reference to parent in Future's conduit (#239)

0.13.0

01 Feb 18:18
Compare
Choose a tag to compare
0.13.0 Pre-release
Pre-release

This release is compatible with Xcode 13.2.

Additions

Bugfixes

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

0.12.0

29 Jan 15:06
28993ae
Compare
Choose a tag to compare
0.12.0 Pre-release
Pre-release

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:

0.11.0

29 Oct 21:54
Compare
Choose a tag to compare
0.11.0 Pre-release
Pre-release

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

  • The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.

0.10.2

23 Oct 12:31
c805f0f
Compare
Choose a tag to compare
0.10.2 Pre-release
Pre-release

Bugfixes

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

Known issues

  • The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.

0.10.1

04 Oct 12:05
915a7ef
Compare
Choose a tag to compare
0.10.1 Pre-release
Pre-release

Bugfixes

Known issues

  • The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.

0.10.0

28 Jun 17:44
f3d068d
Compare
Choose a tag to compare
0.10.0 Pre-release
Pre-release

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

  • The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.

0.9.0

12 Jun 21:02
Compare
Choose a tag to compare
0.9.0 Pre-release
Pre-release

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

  • The default implementation of the objectWillChange requirement of the ObservableObject protocol is not available in Swift 5.1 and later.

0.8.0

17 Jan 14:16
Compare
Choose a tag to compare
0.8.0 Pre-release
Pre-release

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

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

0.7.0

10 Dec 23:47
Compare
Choose a tag to compare
0.7.0 Pre-release
Pre-release

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

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