A stability-focused release: fixes several crashes, freezes and memory issues across the library, multiple-selection and camera flows, speeds up album loading, improves camera output, and ships a privacy manifest. Available for both Swift Package Manager and CocoaPods.
Highlights
- Fixed multiple crashes and hard freezes in the library / multiple-selection and camera flows.
- Reduced memory pressure when picking multiple or large videos (no more jetsam terminations).
- Albums list now appears instantly even with many albums.
- Added a
PrivacyInfo.xcprivacyprivacy manifest for SPM and CocoaPods.
Crashes & stability
- Fixed a data race on the results array during mixed photo + video multiple selection that could crash the app. (#811)
- Guarded photo capture against the fatal "No active and enabled video connection" exception on unusable/corrupted cameras. (#735)
- Fixed a crash when confirming the picker with an empty selection. (#763)
Freezes & hangs
- Fixed the picker freezing (requiring a force-quit) when selecting multiple videos and one of them failed to export. (#784, #786)
- Fixed a permanent freeze when a selected photo could not be decoded, e.g. Sony RAW /
.ARW. (#824) - Fixed a freeze / blank preview when a gallery photo failed to load (undownloaded iCloud assets, older devices). (#756)
Memory
- Throttled concurrent video exports so picking multiple / large videos no longer spikes memory and gets the app terminated (jetsam). (#816)
- Fixed a retain cycle that leaked the entire picker (and captured media) when the completion closure strongly captured the picker. (#835)
Performance
- Album thumbnails are now loaded lazily per visible cell instead of synchronously up front, so the albums list appears immediately even for users with many albums. (#803)
Camera & media
- Camera-captured photos now carry their
PHAsset. (#785) - Fixed front-camera photos being distorted in landscape. (#753)
- Fixed images not being cropped to square on load when
onlySquareis enabled. (#776) - Fixed selecting the last frame of a video not producing the correct cover image.
- Implemented
YPMediaVideo.fetchData, which previously always returned emptyData. (#536)
Selection & UI
- Fixed a duplicated image when restoring a selection via
preselectedItems. (#819) - Fixed a Main Thread Checker warning by reading
UIWindowScene.screenon the main thread during video preview loading. (#847) - The photo/video screen background color is now configurable via
YPConfig.colors.photoVideoScreenBackgroundColor. (#844) - Corrected cropping behavior and documentation.
Privacy
- Added
PrivacyInfo.xcprivacyand wired it into both SPM (Package.swift) and CocoaPods (podspec). The library declares no tracking, no collected data, and no required-reason API usage. (#810)
Internal
- Extracted EXIF-only metadata for image cropping and removed unused code. (#849)
- Bumped the Stevia dependency.
Thanks
Big thanks to everyone who contributed to this release:
- @johnnyoin β Fix
onlySquarewhen appearing (#851) - @arubio-z β Avoid force-unwrapping the first selected asset (#852)
- @techinpark β Extract EXIF-only metadata for image cropping (#849)
- @EchoLunar β Configurable preview background color (#844)
Full Changelog: 5.3.2...5.4.0