The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
CombineExt 1.8.1
1 year ago
This patch release bumps combine-schedulers and removed an unneeded exported import of Foundation.
CombineExt 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
CombineExt 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.
CombineExt 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(_:)`.
CombineExt 1.6.0
1 year 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-)
CombineExt 1.5.1
2 years ago
This PR reverts `withLatestFrom` to the previous implementation, since the composed (new) implementation was misbehaving in some scenarios.
CombineExt 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
CombineExt 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`
CombineExt 1.2.0
3 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]
CombineExt 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
- [**`zip(with:)`, `Collection<Publisher>.zip()`**](https://github.com/CombineCommunity/CombineExt#ZipMany): Variadic Zip
- [**`combineLatest(with:)`, `Collection<Publisher>.combineLatest()`**](https://github.com/CombineCommunity/CombineExt#CombineLatestMany): Variadic CombineLatest
- [**`amb(_:)`, `amb(with:)`**](https://github.com/CombineCommunity/CombineExt#amb): Takes several publishers and uses the one which emits the first event
- [**`mapMany`**](https://github.com/CombineCommunity/CombineExt#MapMany): Map a publisher of array as if you're mapping each individual element of that array
- [**`partition`**](https://github.com/CombineCommunity/CombineExt#partition): Partition a publisher into two separate publishers based on a provided predicate
- [**`removeAllDuplicates`**](https://github.com/CombineCommunity/CombineExt#removeallduplicates): De-duplicate values across the entire lifetime of the publisher, as opposed to `removeDuplicates` which only de-duplicates values pair-wise.
- [**`setOutputType(to:)`**](https://github.com/CombineCommunity/CombineExt#setOutputType): Set the `Output` type of a publisher whose output is `Never`, similarly to `setFailureType(to:)`.