Add
- Add opt-in async cache type check API
imageCachedTypeAsyncto avoid synchronous disk access on the calling thread. #2480 #2323 @onevcat @jotai-coder - Add optional
cacheKeyparameter forPhotosPickerItemImageDataProviderandPHPickerResultImageDataProviderfor better cache control. #2479 @onevcat - Support using an
OperationQueueor equivalent interface inCallbackQueuefor custom processing queue control. #2474 @onevcat
Fix
- {"Fix"=>"stabilize cacheKey for PhotosPicker/PHPicker data providers. Now uses stored property with picker-provided identifier or falls back to a per-instance UUID. #2478 @onevcat"}
- Fix a race condition crash in
ImagePrefetcher.handleCompletewhen iterating sources during concurrent mutation. #2465 @erichoracek - Fix GIF disk cache losing animation when original data is missing. Now
DefaultCacheSerializerprefers embedded GIF bytes over re-encoding to PNG. #2454 #2453 @onevcat @rztime - Fix a crash when accessing
KingfisherWrapper<UIApplication>.sharedin unit tests. #2450 @maxchuquimia - Call async modifier start callback before resume to ensure proper callback timing. #2462 @onevcat
- Remove ActorBox and harden background task cleanup to fix Sendable/main actor issues. #2459 @onevcat
- Mark
ImagePrefetchercallback types as@Sendableto fix Swift 6 concurrency warnings. - Deprecate SwiftUI
.onFailureImagemodifier in favor of.onFailureView. #2451 #2449 @onevcat @sagarrai21802