Skip to content

Releases: glessard/deferred

Improved queue handling

03 Dec 00:11
43546df
Compare
Choose a tag to compare

API improvements

20 Feb 00:03
9d58420
Compare
Choose a tag to compare
  • API improvements when the Failure type is Never: some accessors become non-Optional, while some functions become non-throwing.

  • Made the cancel() method available only when it is usable by repeating it in conditional extensions.

  • Added a customization point for cancellation for subclasses of Deferred.

  • Added versions of recover() for error types more specific than Error.

Typed Errors

19 Feb 23:57
Compare
Choose a tag to compare

Major update to deferred, adding typed errors as a generic parameter, using the same parameter names as the standard library's Result.

Another major change involves execution scheduling: execution now starts only once a Deferred's result has been explicitly requested in some way. The notify method is the primary way to accomplish this (along with onValue and onError), as well an explicit call to beginExecution().

Finally, the URLSessionTask wrapper has been moved to its own package, DeferredHTTP.

5.1.0

23 May 00:09
9d37c72
Compare
Choose a tag to compare

Encapsulation improvements and improved lock-freedom.

5.0.0

19 May 23:40
Compare
Choose a tag to compare
improve `testResumeAfterCancellation`

5.0.0-b2

16 May 00:21
Compare
Choose a tag to compare
5.0.0-b2 Pre-release
Pre-release
add and update doc-comments

4.4.0

09 Feb 02:06
4782650
Compare
Choose a tag to compare

Improves performance by consolidating notifications and deallocations

  • fewer calls to dispatch_async
  • more work done in each dispatch_async

Improvements to and full testing of DeferredURLSessionTask.

Added a split method for any Deferred whose value type is a tuple of 2, 3 or 4 elements. The return value is a tuple of Deferred; if the original Deferred's outcome is an Error, then every Deferred in the split is determined with the same Error.

more api tweaks

20 Oct 12:33
ebeb34b
Compare
Choose a tag to compare
  • added parameter labels to determine() methods (with fix-its.) The parameter-less versions didn't save anything much, while causing grief when Value has a type that implements Error

  • improved behaviour of firstValue(). Its outcome is now an error only when all the inputs are errors.

  • the old behaviour is still provided by firstDetermined().

api tweaks

24 Sep 16:49
cf3f00f
Compare
Choose a tag to compare

made class Transferred: Deferred public as a convenience.
renamed Determined<T> to Outcome<T> (no changes necessary.)
renamed some parameter labels for clarity (with deprecation/rename warnings.)

Swift 4.2 update

01 Sep 01:32
Compare
Choose a tag to compare
4.1.3

update CI configuration