Skip to content

Releases: CombineCommunity/CombineExt

CombineExt 1.9.0

20 Jan 19:38

Choose a tag to compare

This version includes some code cleanups and fixes. I've also decided to stop supporting CocoaPods and Carthage due to its low demand volume and the maintenance burden it creates, and focusing on SPM solely for now.

  • Fix generic name shadowing in #166
  • Fixes WithLatestFrom concurrency issues #163 and #171
  • Fix memory leaks in PassthroughRelay in #168 (Thanks @just1103 !)
  • Fix buld issues and bump CI to support Xcode 26.0 & Xcode 16.4 only

CombineExt 1.8.1

19 Oct 16:32

Choose a tag to compare

This patch release bumps combine-schedulers and removed an unneeded exported import of Foundation.

CombineExt 1.8.0

06 Aug 06:57

Choose a tag to compare

This version includes several bug fixes and new operators:

CombineExt 1.7.0

26 Jun 20:30

Choose a tag to compare

This version introduces two changes:

  1. New divide-and-conquer based algorithms to optimize the usage of CombineLatestMany and ZipMany when working with massive (tens of thousands and up) of publishers.
  2. Update the version of combine-schedulers in our test suite.

CombineExt 1.6.1

23 May 20:37

Choose a tag to compare

This release is identical to 1.6.0 with the critical fix introduced in #128.

1.6.0 used an overload of map(to:) which the Swift compiler confuses with the closure-based map(_:) operator.
This version renames it to mapToValue(_:).

CombineExt 1.6.0

12 May 05:28

Choose a tag to compare

CombineExt 1.5.1

29 Sep 20:52

Choose a tag to compare

This PR reverts withLatestFrom to the previous implementation, since the composed (new) implementation was misbehaving in some scenarios.

CombineExt 1.5.0

21 Sep 18:37

Choose a tag to compare

A Swift 5.5 and Xcode 13 compatible release

  • Add mapToResult
  • Replace the implementation of withLatestFrom with a new composed variation
  • Fix a leak in share(replay:)
  • Fix carthage & archiving builds for Xcode 13

CombineExt 1.3.0

06 Mar 17:05

Choose a tag to compare

CombineExt 1.3.0

It's been a long time since the last release, and this one packs a great deal of changes and updates :)
Thanks to all of the wonderful contributors who worked on this release: @kitwtnb, @jasdev, @basvankuijck, @joewalsh, @dsk1306, @HugoSay

Changes

  • Add Collection.flatMapBatches(of:) to subscribe an array of publishers in batches (for example, processing batches of 3 requests at a time)
  • Add toggle() operator to toggle Boolean publishers
  • Add nwise() and pairwise() operators to batch groups of elements
  • Add Collection.merge() to merge a collection of equally-typed publishers
  • Add filterMany operator to filter publishers that emits collections
  • Add ignoreOutput(setOutputType:) to drop all elements, and altering the Publisher's output type
  • Add ignoreFailure(setFailureType::completeImmediately:) to ignore a failure, and alter the Publisher's failure type
  • Fix locking of ReplaySubject

CombineExt 1.2.0

17 May 14:28

Choose a tag to compare

CombineExt 1.2.0 is packed with many awesome additions !

Thanks to @jasdev, @jdisho, @RonKliffer, @ohayon and @dsk1306 for their incredible contributions to this release.

Let's break it down:

  • Improve .create ergonomics and support returning a AnyCancellable [#24]
  • Add ownership argument to assign so you can do assign(to: \.text, on: label, ownership: .weak) (Ownership supports .weak, .unowned and .strong) [#30]
  • Add ReplaySubject [#23]
  • Add share(replay:) [#23]
  • Add withLatestFrom for up to 4 publishers [#22]
  • Add prefix(duration:tolerance:in:options:) to limit the duration for accepting values [#27]
  • Add a Collection.amb() operators to race a Collection of publishers [#31]
  • Add Optional.publisher property as a shorthand to Optional.Publisher.init [#32]
  • Drop deployment target to iOS 10, tvOS 10, watchOS 3 and macOS 10.12 - to support older apps using Combine conditionally [#29]