Skip to content

1.0.23

Choose a tag to compare

@siamakrostami siamakrostami released this 27 Mar 18:48
· 35 commits to main since this release

🛡️ Thread Safety & Swift 6 Compatibility

Major Improvements

  • Swift 6 Ready: Full compatibility with Swift 6 concurrency model
  • Sendable Compliance: Properly implemented Sendable protocol across all network components
  • Race Condition Fixes: Eliminated potential data races in concurrent operations

Specific Enhancements

  • Added thread-safe property accessors throughout APIClient
  • Implemented queue-synchronized collections for requestsToRetry and activeSessions
  • Created proper barrier flags for write operations to ensure safety
  • Fixed StreamingSessionDelegate to safely handle concurrent data buffer access
  • Enhanced SendablePromise with dedicated synchronization queue
  • Added proper @unchecked Sendable handling with manual synchronization
  • Improved session tracking with thread-safe cleanup

Under the Hood

  • Standardized synchronization patterns with queue.sync
  • Optimized lock usage to prevent potential deadlocks
  • Reduced shared mutable state exposure

This version marks a significant improvement in stability for multi-threaded environments and prepares the framework for Swift 6's stricter concurrency requirements.