Releases: SwiftyLab/AsyncObjects
Releases · SwiftyLab/AsyncObjects
v2.1.0
v2.0.0
2.0.0 (2023-01-07)
⚠ BREAKING CHANGES
AsyncObject
: propagate cancellation error instead of swallowing (#8)TaskOperation
: use platform lock primitive instead ofDispatchQueue
for synchronization
🛠 Build System
- resolve concurrency check warnings (c66bb81)
🐎 Performance Improvements
TaskOperation
: use platform lock primitive instead ofDispatchQueue
for synchronization (f28ee66)
🐛 Fixes
- fix data race with task cancellation (bca8299)
- fix potential data race handling actor reentrancy (63fed91)
🚀 Features
TaskOperation
: allow customizing priority of task (6650693)TaskOperation
: allow executing as detached task (#7) (e3dcfeb)TaskOperation
: allow tracking child tasks completion (571419d)TaskQueue
: allow adding task to queue wihout waiting for completion (d8ee18a)- add logging option (#10) (bdd688b)
- add scheduling with Clock API support (#9) (d1c5531)
🔥 Refactorings
AsyncObject
: propagate cancellation error instead of swallowing (#8) (9f7f243)- fix actor isolation bug with protocol conformance on older swift versions (#11) (c1ce0e2)
💄 Styles
TaskOperation
: add separate error for retrieving result without starting (9a852d9)- add swift package index documentation support (3ae2525)
✅ Tests
v1.0.0
1.0.0 (2022-08-17)
💄 Styles
🔥 Refactorings
- refactor continuation management to prevent race condition (dfa3717)
- use
CheckedContinuation
for debug mode or forASYNCOBJECTS_USE_CHECKEDCONTINUATION
flag (3899792)
✅ Tests
- add async countdown event tests (8e07add)
- add async event tests (ad42d72)
- add async semaphore tests (fd075bd)
- add future tests (43a209e)
- add task queue tests (bbb8188)
- add tests for cancellation source (3e81653)
- add tests for multiple synchronization objects wait (dc56f4e)
- add tests for structured concurrency-GCD bridge (7b36c93)
- remove methods usage not supported on linux (485452c)
🚀 Features
- add
barrier
andblock
flags forTaskQueue
(d3e566a) - add async countdown event (f138abc)
- add async event (dc3090c)
- add async semaphore (fbd6b65)
- add cancellation source for controlling multiple tasks cooperative cancellation (b92665d)
- add CocoaPods support (646db5b)
- add operation type to bridge GCD/
libdispatch
with structured concurrency (51b302e) - add option to provide number of objects to wait for (20b5725)
- add priority based task execution on
TaskQueue
(df5e6e7) - add task queue to run concurrent tasks and barrier tasks similar to DispatchQueue (84e4d29)
- add transfering data across tasks with
Future
(d4d658f) - add wait for multiple synchronization objects (68702b5)