Releases: onevcat/Kingfisher
Releases · onevcat/Kingfisher
8.8.0 - Background Relief
Add
- Add
AnimatedImageView.purgeFrames(keepCurrentFrame:)and opt-inpurgeFramesOnBackgroundto reduce animated frame memory while app is backgrounded. #2482 #2445 @onevcat @Ceylo - Add
KFAnimatedImage.purgeFramesOnBackground(_:)to expose background frame purging in SwiftUI. #2484 @WZBbiao
Fix
- Fix missing completion callback when original cache reports cached but returns no image. #2481 #2472 @onevcat @hotngui
- Fix
AnimatedImageViewdeinit compatibility for older Swift 6 toolchains without isolated deinit support. #2485 @onevcat - Apply
retryStrategyinImagePrefetcherload path so retry options also work during prefetching. #2487 @TastyHeadphones - Fix non-Sendable
RetryDecisioncapture warning in ImagePrefetcher retry flow under Swift 6 concurrency checks. #2488 @onevcat
8.7.0 - Async Expedition
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
8.6.2 - High Fidelity
Fix
- Improve macOS graphics context for high bit depth to support rendering 10-bit images. #2448 #2447 @onevcat @BobbyRohweder
8.6.1 - Atomic
Fix
- Fix non-atomic task creation for concurrent same-URL requests to prevent callback loss. #2444 @darkbrewx
8.6.0 - Retryfisher
Add
- Add network retry strategy with configurable retry logic for failed downloads. #2439 @komkovla
- Add network metrics collection for download tasks with download speed measurement and timestamp handling. #2416 @darkbrewx
Fix
- Fix crash on setting indicator on macOS 26 by changing default indicator style. #2442 @onevcat
- Fix retain cycle in ImageDownloader when transferring network metrics. #2419 @darkbrewx
- Upgrade to the latest Xcode recommended settings for improved build configuration. #2417 @onevcat
- Update CI script to make it work with Xcode 26. #2442 @onevcat
8.5.0 - Transition Dancer
Add
- Add SwiftUI native transition support for KFImage with
loadTransition(_:animation:)method. #2410 @darkbrewx @onevcat
Fix
- Fix documentation for
loadDiskFileSynchronouslyin SwiftUI components to clarify default synchronous behavior. #2411 @pinkjuice66 @onevcat - Fix BorderImageProcessor.identifier implementation. #2409 @teameh
8.4.0 - Failure Fisher
8.3.3 - Swift Harmony
Add
- Update Carthage support for both watchOS and iOS platforms for earlier versions of v8 temporarily #2399 @wolfcon
Fix
- Fix Swift Task Continuation Misuse issue with Swift 6 compatible solution #2398 @VladimirHorky @onevcat
- Fix ThumbnailImageDataProvider image orientation issue #2396 @gongzhang @onevcat
- Remove incorrect watchOS available declaration #2382 @wolfcon @onevcat
8.3.2 - Tariffisher
Fix
- Memory cache cleanning timer will now be correctly set when the cache configuration is set. #2376 @erincolkan
- Add
BUILD_LIBRARY_FOR_DISTRIBUTIONflag to podspec file. Now CocoaPods build can produce stabible module. #2372 @gquattromani - Refactoring on cache file name method in
DiskStorage. #2374 @NeoSelf1