Skip to content

v1.0.2

Choose a tag to compare

@nehadereddy nehadereddy released this 22 May 10:55
· 12 commits to main since this release
5cddaf5

Compatibility

  • The SDK is now fully compatible with both old and new versions of Xcode (before and after Xcode 26) and Swift (Swift 5.x and Swift 6.x including Swift 6.3.2).
  • No functionality has been changed. All fixes are only compatability ones, updates to ensure the SDK builds and runs correctly across all supported Xcode and Swift versions.

Fixed

  • Fixed invalid try (tuple) syntax in uploadFile that caused a Swift 6.3.2 compiler crash (SILGen segfault) under Xcode 26.
  • Fixed customizedChunkSize incorrectly storing 0 when chunkSizeKB: 0 was passed. Both nil and 0 now correctly fall back to the SDK default (16384 KB).
  • Fixed chunk size validation thresholds that were written in MB (< 5, > 500) but compared against a value stored in KB, causing valid chunk sizes and the SDK default to always fail validation.
  • Fixed FileHandle on iOS 13.0–13.3 silently returning empty Data due to a missing availability check. Legacy seek(toFileOffset:) and readData(ofLength:) are now used as a fallback on iOS < 13.4.
  • Fixed missing fileHandle.closeFile() fallback in deinit for iOS < 13.0.
  • Fixed force-unwrap crash on VideoChunkProcessor(fileURL:) returning nil when the file could not be opened.
  • Fixed force-unwrap crash on currentChunk in requestChunk.
  • Fixed NotificationCenter.addObserver being called off the main thread when uploadFile is invoked from a background thread.

Changed

  • Replaced duplicated chunk-success logic in submitHttpRequest with a shared handleChunkSuccess() method.
  • All closures (emit, upload task completion, asyncAfter) now capture self weakly via [weak self] to prevent retain cycles.
  • UploadEvent associated error values updated from bare Error to any Error for Swift 5.7+ and Swift 6 compatibility.

Added

  • Sendable conformance added to UploadEvent, UploadsDelegate, UploadProgressDelegate, and UploadSDKErrorDelegate for Swift 6 strict concurrency compliance.

Removed

  • Removed unstable () async throws -> String existential type from validateUserInput endpoint check, which is unsupported across Swift versions.
  • Removed unused variable var response = 429 and duplicate if let httpResponse rebinding inside submitHttpRequest.