This repository has been archived by the owner on Feb 5, 2023. It is now read-only.
Releases: kean/Future
Releases · kean/Future
Future 1.4.0
- Add Linux support - #12, by Joseph Heck
- Increaes mininum supported platform requirements to iOS 11.0 / watchOS 4.0 / macOS 10.13 / tvOS 11.0
- Increase minimum supported Xcode version to Xcode 11
Future 1.3.0
- Remove
FutureCompatible.swift
from the framework
Future 1.2.0
- Fix Xcode warnings – 9
- Add Installation Guide and API Reference
- Remove CocoaPods support
- Drop the
X
FutureX 1.1.1
- Add a version number compatible with Swift Package Manager
FutureX 1.1
- Replace custom
Future.Result
type withSwift.Result
FutureX 1.0
- Add Swift 5.0 support
- Add SwiftPM 5.0 support
- Remove Swift 4.0 and Swift 4.1 support
- Remove iOS 9, tvOS 9, watchOS 2.0, macOS 10.10 and macOS 10.11 support
FutureX 0.17
Refined on
method to attach callbacks. There are just two minor changes:
- Completion closure signature is now
() -> Void
instead of(Result) -> Void
. Completion is designed to be used in addition tosuccess
andfailure
to do things like hiding activity indicators. That's why theResult
variant never really made sense. If you'd like to useResult
instead, usefuture.materialize().on { result in }
. - Add a
func on(success: (Value) -> Void)
method. Nowfuture.on { }
(with a trailing closure) is inferred by the compiler to addsuccess
closure. Previously, it used to attachcompletion
closure. This change makes it a little bit nices to attach callbacks to futures that can't produce errors (Future<_, Never>
).
There is also a change in the project structure. We now use a single multi-platform target instead of four separate targets - one for each platform.
FutureX 0.16
- Add
Future
initializer which takes a throwing closure:init(catching body: () throws -> Value)
. This feature was added in the first FutureX PR #1, thanks to @moto0000! - Add
castError
variant which takes an error type as an argument - Add
Scheduler.default
which can be used to change the default scheduler which isScheduler.main
FutureX 0.15
on
no longer returnsFuture
to enable some wiggle room in the futureCancellationToken.noOp
renamed toCancellationToken.none
.- Add
FutureCompatible
andFutureExtension
FutureX 0.14
- Method
observe(on:)
is more flexible, it can now be used to runs transformations likemap
,tryMap
on a specified queue (and actually any other transformations too, it composes really well with any of them). - Instead of a convenience
Future { succeed, fail in }
we now haveFuture { promise in }
which is consistent with the regular way you create Promise/Future pair and also more flexible and performant. - Inline the first callback in
Promise
. It's very often when there is only one callback for eachPromise
. These operations are now up to 15% faster. - Implement
CustomDebugStringConvertible
forPromise