Releases: FastPix/iOS-Uploads
Releases · FastPix/iOS-Uploads
v1.0.2
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 inuploadFilethat caused a Swift 6.3.2 compiler crash (SILGen segfault) under Xcode 26. - Fixed
customizedChunkSizeincorrectly storing0whenchunkSizeKB: 0was passed. Bothniland0now correctly fall back to the SDK default (16384KB). - 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
FileHandleon iOS 13.0–13.3 silently returning emptyDatadue to a missing availability check. Legacyseek(toFileOffset:)andreadData(ofLength:)are now used as a fallback on iOS < 13.4. - Fixed missing
fileHandle.closeFile()fallback indeinitfor iOS < 13.0. - Fixed force-unwrap crash on
VideoChunkProcessor(fileURL:)returningnilwhen the file could not be opened. - Fixed force-unwrap crash on
currentChunkinrequestChunk. - Fixed
NotificationCenter.addObserverbeing called off the main thread whenuploadFileis invoked from a background thread.
Changed
- Replaced duplicated chunk-success logic in
submitHttpRequestwith a sharedhandleChunkSuccess()method. - All closures (
emit, upload task completion,asyncAfter) now captureselfweakly via[weak self]to prevent retain cycles. UploadEventassociated error values updated from bareErrortoany Errorfor Swift 5.7+ and Swift 6 compatibility.
Added
Sendableconformance added toUploadEvent,UploadsDelegate,UploadProgressDelegate, andUploadSDKErrorDelegatefor Swift 6 strict concurrency compliance.
Removed
- Removed unstable
() async throws -> Stringexistential type fromvalidateUserInputendpoint check, which is unsupported across Swift versions. - Removed unused variable
var response = 429and duplicateif let httpResponserebinding insidesubmitHttpRequest.
v1.0.1
Domain migration: fastpix.io → fastpix.com
All FastPix-hosted endpoints (api.fastpix.io, dashboard.fastpix.io, docs.fastpix.io, www.fastpix.io) are migrating to the .com TLD. Existing .io hosts continue to serve traffic temporarily for backward compatibility, but they are planned for future deprecation.
-
API endpoint migration
- Direct Upload API endpoint updated from:
https://api.fastpix.io/v1/on-demand/upload
- To:
https://api.fastpix.com/v1/on-demand/upload
- Direct Upload API endpoint updated from:
-
Documentation updates
- README references for dashboard, documentation, and API links are being updated to use
.comdomains.
- README references for dashboard, documentation, and API links are being updated to use
Note: Existing
.iodomains will continue functioning temporarily, but migration to.comendpoints is strongly recommended to avoid future disruptions.
v1.0.0
- Files are automatically split into chunks (configurable, default size is 16MB/chunk).
- Allows temporarily pausing the upload and resuming after a while.
- Track the entire upload process using callback functions to monitor uploads lifecycle.
- Uploads might fail due to temporary network failures. Individual chunks are retried for 5 times with exponential backoff to recover automatically from such failures.
- Comprehensive error management to notify users of issues during uploads.
- Options to customize chunk size and retry attempts.
- Implemented support for Google Cloud Storage resumable uploads and chunked client uploads.
- Added retry mechanism with exponential backoff for GCS upload failures based on retryable status codes.
- Enabled support for user-provided signed URLs, allowing resumable uploads to work with externally generated session URIs.
- Updated the API endpoint from https://v1.fastpix.io/on-demand/uploads to https://api.fastpix.io/v1/on-demand/upload for obtaining signed URLs.