Directory Structure:
- Changed the structure of the folders in the repository so as to allow .Net Core/Standard library solution to sit side-by-side with the Unity solution, attempting to minimize toes stepped on.
- Added a Unity project with Unity version 2017.4.1 (the earliest the Asset Store Tools supports).
Bug Fixes:
- Fixed PromiseMethodBuilders in non-IL2CPP builds when the TStateMachine is a struct.
- Fixed a Promise.Progress callback subscribed to a promise chain where the chain is broken by a cancelation token and continued with Promise.ContinueWith reports incorrect progress (introduced in v 0.9 with Promise.ContinueWith).
- Fixed progress subscribed to a promise that was created from a deferred with a cancelation token.
- Fixed various progress bugs with multi promises (All/Merge/Race/First).
- Fixed CancelationToken.Equals(object).
Behavior changes:
- Added thread checks to make sure the library is only used with one thread (in DEBUG mode only).
Misc:
- Added a temporary optimization in Promise.HandleBranches until background tasks are added.
- Removed class restriction on PromiseYielder.WaitFor (since there are some structs that can be yielded in Coroutines, like
AsyncOperationHandle
s).