Skip to content
This repository was archived by the owner on Feb 5, 2023. It is now read-only.

Releases: kean/Future

Future 1.4.0

Choose a tag to compare

@kean kean released this 27 Apr 21:25
  • 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

Choose a tag to compare

@kean kean released this 20 Nov 12:49
  • Remove FutureCompatible.swift from the framework

Future 1.2.0

Choose a tag to compare

@kean kean released this 20 Nov 02:41
  • Fix Xcode warnings – 9
  • Add Installation Guide and API Reference
  • Remove CocoaPods support
  • Drop the X

FutureX 1.1.1

Choose a tag to compare

@kean kean released this 01 Sep 06:09
  • Add a version number compatible with Swift Package Manager

FutureX 1.1

Choose a tag to compare

@kean kean released this 04 Aug 10:38
  • Replace custom Future.Result type with Swift.Result

FutureX 1.0

Choose a tag to compare

@kean kean released this 04 Aug 10:38
  • 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

Choose a tag to compare

@kean kean released this 07 Apr 11:32

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 to success and failure to do things like hiding activity indicators. That's why the Result variant never really made sense. If you'd like to use Result instead, use future.materialize().on { result in }.
  • Add a func on(success: (Value) -> Void) method. Now future.on { } (with a trailing closure) is inferred by the compiler to add success closure. Previously, it used to attach completion 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

Choose a tag to compare

@kean kean released this 15 Dec 08:36
  • 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 is Scheduler.main

FutureX 0.15

Choose a tag to compare

@kean kean released this 24 Nov 17:07
  • on no longer returns Future to enable some wiggle room in the future
  • CancellationToken.noOp renamed to CancellationToken.none.
  • Add FutureCompatible and FutureExtension

FutureX 0.14

Choose a tag to compare

@kean kean released this 22 Nov 22:52
  • Method observe(on:) is more flexible, it can now be used to runs transformations like map, 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 have Future { 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 each Promise. These operations are now up to 15% faster.
  • Implement CustomDebugStringConvertible for Promise