CombineExt Versions Save

CombineExt provides a collection of operators, publishers and utilities for Combine, that are not provided by Apple themselves, but are common in other Reactive Frameworks and standards.

1.8.1

1 year ago

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

1.8.0

1 year ago

This version includes several bug fixes and new operators:

  • Fixes some stubborn memory leaks in CurrentValueRelay (#137) and WithLatestFrom (#129) - Thanks @jasdeepsaini & @TTOzzi !
  • Adds missing files to the project which prevented Carthage from building (#133) - Thanks @jasdeepsaini !
  • Fix a replay synchronization issue in ReplaySubject (#138) - Thanks @mruston-heb !
  • New flatMapFirst operator (#119) - Thanks @troupmar
  • New prefix(while:behavior:) operator (#70) - Thanks @jasdev
  • New mapToVoid operator (#129) - Thanks @danshevluk

1.7.0

1 year ago

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.

1.6.1

1 year ago

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(_:).

1.6.0

2 years ago
  • Add retry(when:) (Thanks @danielt1263)
  • Add enumerated() (Thanks @mihai8804858)
  • Add map(to:) (Thanks @danhalliday)
  • Fix a memory leak in withLatestFrom (Thanks @bharath2020)
  • Fix an issue with share(replay:) (Thanks @jabeattie @mRs-)

1.5.1

2 years ago

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

1.5.0

2 years ago

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

1.3.0

3 years ago

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

1.2.0

4 years ago

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]

1.1.0

4 years ago

CombineExt 1.1.0

CombineExt 1.1.0 is here, and boy oh boy what a packed release this is ! 🥳🥳🥳🥳

Many thanks to @jasdev and @jdisho for their immense contributions to this release ❤️

New Operators