Skip to content
This repository was archived by the owner on Aug 29, 2022. It is now read-only.

Releases: bignerdranch/Deferred

v2.2.1: Deferred Del Vesuvio

31 Oct 18:33

Choose a tag to compare

Threading fixes from the newly-introduced Task code.

v2.2: Task Del Giorno

24 Sep 11:30

Choose a tag to compare

  • Introduces the Task<SuccessValue> class, a composition of a Future<Result> and NSProgress. (#98, #111)
  • Introduces sugar for upon(_:) with Result successes and failures (#98)
  • Introduces sugar for fill(_:) with Result successes and failures (#98)
  • Fix API unintentionally exposed to ObjC in 2.0.0 (#111)

v2.2 Candidate: Task de Napoli

11 Sep 06:46

Choose a tag to compare

Pre-release
  • Introduces the Task<SuccessValue> class, a composition of a Future<Result> and NSProgress. (#98, #111)
  • Introduces sugar for upon(_:) with Result successes and failures (#98)
  • Introduces sugar for fill(_:) with Result successes and failures (#98)
  • Fix API unintentionally exposed to ObjC in 2.0.0 (#111)

v2.0: No Promises

07 Jul 05:06

Choose a tag to compare

Deferred is a milestone release of our framework for Swift 2.x, used daily by your friends at Big Nerd Ranch.

Since 1.0:

  • An extensible protocol-oriented concept of Futures and Promises, which compose into the Deferred you know and love.
  • Deferred itself is much more efficient, requiring no locking overhead.
  • Introduce ExecutorType as an alternative to directly using Dispatch queues.
  • ReadWriteLock and LockProtected support throws.
  • Completely rewritten documentation.
  • Enhanced debugging and Playgrounds support.
  • Support for macOS, tvOS, and watchOS.

Special thanks to @cbkeur, @jeremy-w, @jgallagher, @lyricsboy, and @randomstep for their hours of rubber-ducking and passion for the specific color of this bikeshed.

v2.0 Release Candidate: Deferred County Superior Court

14 Apr 04:57

Choose a tag to compare

Since 2.0b6:

  • Improvements to documentation (#78, #89, #94, #96)
  • Better support for playgrounds and debugging on futures and LockProtected (#80, #85)
  • Support for Swift 2.2 (#81)
  • Add a convenience initializer to Future<Value> that never fills. This is great for stub APIs, and could previously be accomplished with Future(Deferred()). (#82)
  • Expose the generic GCD queue used by the no-argument upon as public API (#83)
  • Introduce ExecutorType as an alternative to directly using GCD queues (#89)
  • Replace IgnoringFuture.init(_:) with FutureType.ignored(). The IgnoringFuture type may be removed in a future release. (#92)

v2.0 Beta 6: Singing In The Rain

12 Apr 13:29

Choose a tag to compare

Pre-release

v2.0 Beta 5: It'll Get There Eventually!

18 Feb 02:49

Choose a tag to compare

  • Fixes bug in Deferred.wait(_:). (#67; thanks @preble!)
  • Performance improvements for locking types (#69)
  • Support for Swift Package Manager (#69)
  • Basic compatibility with Linux (assuming availability of Grand Central Dispatch; #69)
  • Makes map(upon:transform:) and flatMap(upon:transform:) correctly return Future (#71; #72)

v2.0 Beta 4: Do? There Is No Do. There Is Only Try.

19 Dec 17:02

Choose a tag to compare

  • Cleanups and refactorings to more clearly define the use of GCD. (Part #54)
  • ReadWriteLock and LockProtected are all now rethrows-compatible. (#55)
  • Adds 3- and 4-argument versions of and. (#52)
  • Turn .ignoringValue into a full IgnoringFuture type. (#60)
  • Renames AnyFuture to simply Future. (#60)
  • Adds tvOS and watchOS targets. (#62)
  • Adds CocoaPods support. (#62)

v2.0 Beta 3: General Atomics International

30 Nov 18:22

Choose a tag to compare

Requires Swift 2.1 (Xcode 7.1 and 7.2)

  • Significant internal reworking. (#30)
    • Deferred now requires Swift 2.1, and deploys to OS X 10.10 and iOS 8.0.
    • Removes any dependency on Foundation in Deferred itself.
    • Deferred.fill(_:) and Deferred.upon(_:) are each much more efficient, and involve no threading overhead.
    • Removes Deferred.value. Use the new Deferred.wait(_:) method instead.
    • Adopts GCD QoS classes for improved performance.
    • Improves unit test coverage.
  • any(_:) and all(_:) now take any collection. (#30)
  • Restructures convenience methods into protocol extensions. (#33)
    • Introduces AnyFuture for erasing the type of an underlying Deferred or Task. (#24)
  • Revamps any to flatten nested Deferred instances. (#42)
  • Improve coverage and automatically publish documentation. (#53)

v2.0 Beta 2: Once Upon a Queue

01 Sep 02:59

Choose a tag to compare

Pre-release

Adds uponMainQueue function for convenient resolution of the value on the main queue.