AsyncObjects Versions Save

Several synchronization primitives and task synchronization mechanisms introduced to aid in modern swift concurrency.

v2.1.0

1 year ago

2.1.0 (2023-03-04)

✅ Tests

  • add async signal tests for events (#17) (5ce6b1a)

🔥 Refactorings

  • add identifier metadata for cancellation source registered tasks (#18) (0ab431e)
  • modify cancellation source implementation to not store tasks and linked cancellation sources (#15) (3c3c61b)

v2.0.0

1 year ago

2.0.0 (2023-01-07)

⚠ BREAKING CHANGES

  • AsyncObject: propagate cancellation error instead of swallowing (#8)
  • TaskOperation: use platform lock primitive instead of DispatchQueue for synchronization

🛠 Build System

  • resolve concurrency check warnings (c66bb81)

🐎 Performance Improvements

  • TaskOperation: use platform lock primitive instead of DispatchQueue 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 year ago

1.0.0 (2022-08-17)

💄 Styles

  • add swift-format for code formatting (001a1d2)
  • add vscode workspace settings (92c5810)

🔥 Refactorings

  • refactor continuation management to prevent race condition (dfa3717)
  • use CheckedContinuation for debug mode or for ASYNCOBJECTS_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 and block flags for TaskQueue (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)

📚 Documentation

  • add contributing guidelines (e4a78ee)
  • add docC calatalog for library (9e69dbb)
  • add github pages product specific documentation (05e1e30)
  • add installation and usage guidelines (0b4df47)