Releases: Arvtesh/UnityFx.Async
Releases · Arvtesh/UnityFx.Async
v0.9.2
Added
- Added pull-based progress support (
IAsyncOperation.Progress
). - Added new methods to
IAsyncUpdateSource
. - Added
AsyncUpdateSource
class as defaultIAsyncUpdateSource
implementation. IAsyncOperation<T>
now inheritsIObservable<T>
.
Changed
- Renamed
(Try)AddCompletionCallback
/RemoveCompletionCallback
methods to(Try)AddContinuation
/RemoveContinuation
. - Changed
IAsyncOperation.Exception
type toException
. - Changed
IAsyncOperationEvents.Completed
type toAsyncCompletedEventHandler
.
Removed
- Removed
ToObservable
extension ofIAsyncOperation
.
v0.9.1
v0.9.0
Added
- Added
AsyncContinuationOptions
. - Added
AsyncCreationOptions
. - Added
Promise
-like extensionsThen
,ThenAll
,ThenAny
,Rebind
,Catch
,Finally
andDone
. - Added
Unwrap
extension methods. - Added
FromTask
/FromObservable
helpers. - Added
FromAction
helpers. - Added
ToAsync
extension method forIObservable
interface. - Added
TryAddContinuation
/RemoveContinuation
methods toIAsyncOperationEvents
for non-delegate continuations. - Added
IAsyncUpdatable
andIAsyncUpdateSource
interfaces. - Added
Delay
/Retry
overload that usesIAsyncUpdateSource
-based service for time management. - Added cancellation support (
IAsyncCancellable
interface,WithCancellation
extension method and many implementation changes). - Added
Wait
/Join
overloads withCancellationToken
argument.
Changed
- Changed
ContinueWith
extension signatures to match correspondingTask
methods. - Changed
IAsyncOperation.Exception
to always return an exception instance if completed with non-success. - Changed
AddCompletionCallback
/AddContinuation
to instance methods (instead of extensions).
Fixed
- Fixed exception not initialized properly for canceled operations sometimes.
Removed
- Removed
GetAwaiter
/ConfigureAwait
instance methods fromAsyncResult
to avoid code duplication (extension methods should be used). - Removed all
AsyncCompletionSource
methods havingcompletedSynchronously
argument.
v0.8.2
Added
- New
AsyncResult
constructors added. - New overloads for
AsyncResult.FromResult
,AsyncResult.FromCanceled
andAsyncResult.FromException
methods added.
Changed
- Made optimizations to
ToTask
extensions implementation for cases when target operation is completed. - Marked all assembly classes CLS-compilant.
Fixed
ToTask
extensions now throw inner exception instead of theAggregateException
in case of an error.- Fixed
AsyncResult.Delay
throwing exception when infinite delay (-1) specified.
v0.8.1
v0.8.0
Added
- Added
IAsyncCompletionSource.Operation
property to matchTaskCompletionSource
interface. - Added new constructor to
AsyncResult
. - Added
AsyncResult.Start
method to matchTask
interface. - Added
AsyncResult.OnStarted
virtual method. - Added
WhenAll
/WhenAny
static helpers forAsyncResult
. - Added
ConfigureAwait
extensions forIAsyncOperation
. - Added
Task
extension methods to that convert it to anAsyncResult
instance. - Added
AsyncResult.Retry
methods. - Added
Wait
overloads to matchTask
interface.
Removed
- Removed
AsyncResult.TryCreateAsyncWaitHandle
helper.
Changed
- Modified
AsyncResultAwaiter
implementation to throw if the operation was canceled or faulted (to matchTaskAwaiter
behaviour). - Implemented
AsyncCompletionSource
as a sealed analog ofTaskCompletionSource
. - Removed public completion methods from
AsyncResult
(moved them toAsyncCompletionSource
). - Made
SpinUntilCompleted
an extension method (wasAsyncResult
instance method). - Changed
IAsyncOperation.Exception
type toAggregateException
to matchTask
. - Changed
IAsyncOperationEvents.Completed
event signature & behaviour to always execute handler (event if it was registered after the comperation has copleted). - Removed
AsyncResult
constructors that accepted exceptions. - Changed
AsyncResult.Result
property to throwAggregateException
when faulted or canceled to mathchTask
behaviour.
Fixed
AsyncResultQueue
now does not remove uncompleted operations from the queue.AsyncResult.Exception
now only returns non-null value when the operation is faulted.
v0.7.1
Added
- Added possibility to store multiple exceptions in
AsyncResult
. - Added
AggregateException
class fornet35
target. - Added
IsEmpty
property toAsyncResultQueue
.
Changed
AsyncResult
implemenation is changed to prevent returning null operation result when the operation is completed for some cases.
v0.7.0
Added
- Added AsyncResultQueue
- Added continuations support.
- Added project documentation site (
docs
folder). - Added unit tests project.
- Added AppVeyor CI support.
- Added NuGet deployment.
- Added GitVersion support.