Releases: Arvtesh/UnityFx.Async
Releases · Arvtesh/UnityFx.Async
v1.1.0
Added
- Added
Promisehelper class with promise-specific helpers. - Added
ThenSequenceextensions. - Added unhandled exception event for
Donepromise extensions. - Added
LoadSceneAsyncextension method forAssetBundle. - Added
AsyncUtility.LoadSceneAsynchelper. - Added
npmsupport.
Fixed
- Fixed build issue for Unity 2018.3.
v1.0.2
v1.0.1
v1.0.0
Added
- Added more comments throughout the code.
- Added Unity 2018.3 support (esp. support all target .NET frameworks in a single Asset Store package).
- Added
awaitsupport toYieldInstructionUnity class. - Added coroutine helpers (
AsyncUtility.FromCoroutine). - Added helpers for loading assets from an
AssetBundle. - Added
AsyncUtility.FrameTimeawait helper.
Changed
- Added
DebuggerHiddenattribute to some properties/methods to make stack traces a bit more friendly. - Renamed
AsyncContinuationContexttoAsyncCallbackOptions. - Renamed web request helper methods (added
Asyncpostfix to their names). - Moved Unity extension methods to
UnityFx.Async.Extensionsnamespace (previously they were in namespaceUnityFx.Async).
Fixed
- Fixed web requests
nullresult in cases when downloaded file failed to open. - Fixed
AsyncUtility.AddCompletionCallbackexception when adding new callbacks from another callback. - Fixed
AsyncUpdateSourceimplementation to allow adding listeners from a callback. - Fixed
AsyncCompletionSource.SetProgressimplementation to allow setting progress when the operation is not started.
Removed
- Removed many specialized
IAsyncOperationCallbacksmethods to make the interface as minimalistic as possible (new extension methods are added to compensate). - Removed
(Try)SetExceptionsmethods/extensions andFromExceptionshelpers. - Removed extension methods of the
Animationclass. - Removed
WaitAsyncextension methods of theAnimatorclass. - Dropped
MovieTexturesupport.
v0.9.8
Added
AsyncResultis now Task-like type and can be used asasyncmethod result value (requires C# 7.2).- Added new
AsyncResult.FromActionoverloads. - Added new
SynchronizationContextextension methods (PostAsync,InvokeAsyncetc). - Added extension methods for
Socket,WebRequest,StreamBCL classes.
Changed
- Moved BCL extension methods to namespace
UnityFx.Async.Extensions(previously they were in namespaceUnityFx.Async).
Fixed
- Fixed
AsyncResultcompletion callbacks to be called event ifOnCompletedthrows. - Fixed exception not been set for
AsyncResult.FaultedOperationandAsyncResult.CanceledOperation. - Disabled
MovieTexturehelpers for iOS/Android (as it is not supported on mobiles).
Removed
- Removed
AsyncResultQueue. - Removed
AsyncLazy.
v0.9.7
Added
- Added convenience overloads for
SetException-like methods accepting as error message string. - Added allocation optimizations for single-threaded applications (particularly for Unity3d). See
AsyncResult.DefaultSynchronizationContextfor more info. - Added new overloads for
ConfigureAwaitextensions accepting continuation options instead of boolean flag. - Added
SynchronizationContextextension methods forSend/PostacceptingActionas the delegate. - Added
AsyncResult.Yieldstatic method (workd exactly asTask.Yield). - Added
AsyncUtility.AddFrameCallbackhelper for scheduling delegates forMonoBehaviourupdate loop. - Signed the assembly with a strong name.
- Added performance benchmarks.
- Added sandbox Unity project.
Changed
- Moved several of
IAsyncOperationEventsmethods to the interface extensions. - Simplified
AsyncLazyinterface.
Fixed
- Fixed error handling in
AsyncOperationResult.
Removed
- Removed Asset Store samples.
- Dropped Unity 5.0 support (the minimum version supported is now 5.4).
- Dropped
WWWsupport for Unity 2018.3+ (it has been deprecated in Unity).
v0.9.6
Added
- Added
Play/Waitextension methods forAnimationandAnimator. - Added
AsyncResult.IsStartedhelper property.
Changed
- Changed
AsyncResultconstructors argument order to avoid ambiguity in some cases. - Moved the package content to Plugins folder and remove assembly definition file.
- Moved web request related helpers from
AsyncUtilitytoAsyncWwwclass. - Changed
AsyncUtility.SendToMainThread,AsyncUtility.PostToMainThreadandAsyncUtility.InvokeOnMainThreadimplementation to useConcurrentQueuefor net46+ to avoid unnesesary locks. - Changed interface of
AsyncResultQueue.
Removed
- Removed
IAsyncOperationEvents.TryAddCompletionCallbackandIAsyncOperationEvents.TryAddProgressCallbackmethods. These methods are not needed in 99% of cases and may lead to logic errors in multi-threaded environment.
v0.9.5
Added
- Added
IAsyncOperation.Idproperty for easy operation identification. - Added
AsyncUtility.GetTextandAsyncUtility.GetByteshelpers. - Added
ToTaskextensions forAsyncOperation/UnityWebRequest/WWW. AsyncResultnow implementsAsyncContinuationto enable easy operation chaining.
Fixed
- Fixed compile warnings for Unity 2018.2.
Removed
- Removed
ToAsyncXxxextension methods forWWWandUnityWebRequest. - Removed
MovieTexturerelated methods for Unity 2018.2 (the class is deprecated now). - Removed
IAsyncSchedulableinterface (it was just another form ofIAsyncContinuation).
v0.9.4
Added
- Added assembly definition file for Unity 2017.3+.
- Added
AsyncResult.FaultedOperationhelper. - Added
AsyncUtility.IsMainThreadmethod. - Added
AsyncUtility.GetAssetBundle,AsyncUtility.GetTexture,AsyncUtility.AudioClipandAsyncUtility.GetMovieTexturehelper methods. - Added
AssetBundleCreateRequestwrapper operation. - Added
ThrowIfNonSuccessextension forIAsyncOperation. - Added
ToEnumextension forIAsyncResultthat converts an asynchronous operation (Task,AsyncResultetc) to enumerator. - Added
IAsyncSchedulableinterface - an abstraction of a schedulable entity. - Added
AsyncLazyhelper for initialization operations.
Fixed
- Fixed compile warnings for some older Unity versions.
- Fixed error handling for Unity operation wrappers.
Removed
- Removed
AggregateExceptionclass for net35.
v0.9.3
Added
- Added push-based progress reporting support.
- Added
AsyncResult.Delay(float)overloads. - Added
AsyncCreationOptions.SuppressCancellationoption. - Added update sources for
LateUpdate,FixedUpdateand end-of-frame updates. - Added
SynchronizationContextfor the main thread (if not set by Unity). - Added methods
AsyncUtility.PostToMainThread,AsyncUtility.SendToMainThreadasAsyncUtility.InvokeOnMainThread. - Added new
FromActionoverloads.
Changed
- Significantly reduced number of memory allocations when adding continuations.
- Changed signature of the
IAsyncContinuation.Invokemethod. - Changed
AsyncResult.OnCancelimplementation to do nothing (previously it threwNotSupportedException).
Fixed
- Fixed exception when removing listeners while in
AsyncUpdateSource.OnError/AsyncUpdateSource.OnCompleted/AsyncUpdateSource.Dispose. - Fixed
AsyncResult.MoveNextto always returntruewhile the operation is not completed. - Fixed
AsyncResultconstruction code not working as intended whenAsyncCreationOptionsare specified.
Removed
- Removed
AsyncOperationCallbackdelegate type.