Releases: Cysharp/UniTask
Ver 2.0.11-rc8
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
- Add JobHandle.WaitAsync(CancellationToken)
- Fix channel's cancellationTokenRegistration does not handle correctly
- Fix in UnityEditor performance issue
- Fix: does not work zero-allocation mechanism in release build
- .NET Core - UniTask to ValueTask becomes zero overhead
- .NET Core - coreapp3.1's UniTask.Yield becomes zero allocation
- .NET Core - Add ValueTask.AsUniTask
Breaking Changes
- lower Unity support version is changed to
2019.1
UniTaskVoid
can not await.- UnityWebRequest's AsyncOperation calls
UnityWebRequest.Abort()
when detect canceled IObservable<T>.ToUniTask
parameter order changed fromCancellationToken cancellationToken, bool useFirst
tobool useFirst, CancellationToken cancellationToken
Ver 2.0.10-rc7
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
- Add
WithCancellation
method to all async operation extensions - Improved all async operation extensions performance when async operation is done
- Add
DOTween
extensions (require tocom.demigiant.dotween
import from OpenUPM or defineUNITASK_DOTWEEN_SUPPORT
) - Fix
SuppressCancellationThrow
does not handle correctly when thrownOperationCanceledException
in async method - Fix
UniTaskAsyncEnumerable.CombineLatest
when source is immediately completed
Breaking Changes
- Remove
ConfigureAwait
method from all async operation extensions(renamed toToUniTask
) UniTask.VoidAction
is renamed toUniTask.Action
UniTask.VoidUnityAction
is renamed toUniTask.UnityAction
UniTask.Void/Action/UnityAction
type is changed fromFunc<UniTask>
toFunc<UniTaskVoid>
Ver 2.0.9-rc6
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
- Add
UniTaskAsyncEnumerable.CombineLatest
- Add
UniTaskAsyncEnumerable.Pairwise
Breaking Changes
State<T>
is renamed toReadOnlyAsyncReactiveProperty<T>
and removed setter and implicit conversion.
Ver 2.0.8-rc5
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
- Add new
State<T>
class, similar asReadOnlyReactiveProperty<T>
, no serializable, can create fromIUniTaskAsyncEnumerable
(or ToState extension method), can create from T implicit operator, can get setter byGetSetter
once. - Add
UnityEvent<T>
andInputField
AsyncEventHandler and extensions - Add UniTaskAsyncEnumerable.EveryValueChanged
- Impl AsyncReactiveProperty.ToString
Fix
- Fix UniTask.WaitUntilValueChanged does not handle UnityEngine.Object is destroyed correctly
Ver 2.0.7-rc4
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
ForEachAsync(async _ => { })
becomes compile error- Add
IUniTaskAsyncEnumerable.Publish
- Add
CancellationToken.WaitUntilCanceled
extension method
Ver 2.0.6-rc3
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
- Add UniTask.Defer
- Add UniTask.WaitUntilCanceled
- Add IUniTaskAsyncEnumerable.SkipUntilCanceled
- Add IUniTaskAsyncEnumerable.TakeUntilCanceled
- Fix ChannelReader.Completion throws UnobservedException when not touched
- Add IAsyncReadOnlyReactiveProperty.WithoutCurrent
- TaskTracker track Channel
- TaskTracker track All AsyncLINQ operators
Breaking Changes
- AsyncTrigger MoveNext returns false when destroyed
- AsyncReactiveProperty MoveNext returns false when called Dispose
- IAsyncReadOnlyReactiveProperty renamed to IReadOnlyAsyncReactiveProperty
Ver 2.0.5-rc2
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
- Add
Channel.CreateSingleConsumerUnbounded
, that is equivalent toSystem.Threading.Channels
, similar as go channel - Add
IUniTaskAsyncEnumerable.Queue
- Add
AsyncReactiveProperty.WithoutCurrent
- Add
BindTo<TSource, TObject>(Action<TObject, TSource> bindAction)
- Fix
IUniTaskAsyncEnumerable.Take
, requires one more value when terminate - Fix
AsyncReactiveProperty
does not implementsIAsyncReactiveProperty
- Fix
IUniTaskAsyncEnumerable.Timer
is not over
Breaking Changes
AsyncReactiveProperty
produce current value at first
Ver 2.0.4-rc1
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Improvement
- Add AsyncReactiveProperty
- Add IUniTaskAsyncEnumerable.BindTo(Text/Selectable/TMP_Text) extension methods
- Reduced AsyncTrigger allocation
- Stacktrace in PlayerLoop shows current PlayerLoopTiming
- More human-readable stacktrace for UniTask.Linq
Ver 2.0.3-preview4
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
Changed
- Modified directory structure, under
Runtime
andEdtiro
directory to follow standard UPM design
UniTask.Linq
preview4 new feature, Cysharp.Threading.Tasks.Linq
, it includes asynchronous LINQ(push-based Rx vs pull-based async linq).
UniTaskAsyncEnumerable
, standard factory and all linq operators.- Unity specified factory generator
EveryUpdate
,Timer
,TimerFrame
,Interval
,IntervalFrame
. - uGUI component has
***AsAsyncEnumerable
that converts event to async stream. - All async triggers(
Cysharp.Threading.Tasks.Triggers
) implementsIUniTaskAsyncEnumerable<T>
, all triggers can query LINQ.
Ver 2.0.2-preview3
This version is preview, if you want to use stable version, check 1.3.1.
2.0.x has many breaking changes, see 2.0.0-preview1 release notes.
- Fix bug of WhenAll(array), WhenAny(array) - zero length array does not continue next
- Improve performance of WhenAll(array), WhenAny(array)