Kingfisher Changelog

What's new in Kingfisher 7.11.0

Feb 12, 2024
  • Add:
  • Add visionOS as a supported platform when being used in CocoaPods. For other dependency managers, it was already supported from previous versions. #2205 @onevcat @grachyov
  • A name for background task started for image cache cleanup. #2201 @antohisorin

New in Kingfisher 7.10.2 (Jan 11, 2024)

  • Fix:
  • An issue that loading the same GIF image in differnet image views may crash the app. #2194
  • A build script issue that exported the xcframeworks does not have the correct cert signing. #2179
  • In iOS 13 and earlier, the new Swift runtime fails to convert Any? to a protocol value. #2182

New in Kingfisher 7.10.1 (Dec 11, 2023)

  • Fix:
  • Now the CarPlay support (CPListItem) compiles again for iOS SDK 14.0 to 14.4. It was because an undocumented API change in the CPListItem property. #2172 @brendonjkding
  • Fix an infinite View refreshing loop when KFImage is set with startLoadingBeforeViewAppear to true and the loading keeping fails. #2169 @onevcat @sisoje @mirkokg

New in Kingfisher 7.10.0 (Oct 30, 2023)

  • Add:
  • Actually add the privacy manifest files to the xcframework, Swift Package Manager and CocoaPods. #2122#2156 @CloudosaurusRex @NikcN22
  • Enable the modulemap generation and -Swift.h header again for ObjC compatibility. #2138 @yev-kanivets
  • Fix:
  • Use the trait collection to determine animated image scale, instead of the deprecated UIScreen API. #2157 @hyun99999
  • An issue that a local AV asset creates multiple disk caches when connected to Xcode during Debug phase. #2158 @onevcat @elijahdou
  • The disk cache now is still availiable when the whole cache folder is removed by external operations instead of the methods in Kingfisher. #2162 @onevcat @uclort
  • Some documentation and CI impro/vements.

New in Kingfisher 7.9.1 (Aug 27, 2023)

  • Fix:
  • Update to the terminology for the latest Xcode 15 beta. It prevents building failing and warnings from previous beta versions. #2123 @simonbs
  • A misused reason in the privacy manifest file. Now Kingfisher should declare the reason of using file creation and access time correctly. (However, the manifest file mechanism of SDK seems not working yet in Xcode 15 beta 7) #2135 @CloudosaurusRex @onevcat
  • Some warnings which happens when building xcframework. This prevents them from becoming errors in the coming Swift 6. #2136

New in Kingfisher 7.9.0 (Jul 30, 2023)

  • Add:
  • Add visionOS as support target. Now Kingfisher can run natively on visionOS, in both UIKit or SwiftUI mode. #2103
  • Add private manifest file (PrivacyInfo.xcprivacy) to the project to meet Apple's requirement of describing data collected and use of required reason API. #2104
  • Support digital signature in xcframework. Now the xcframework of Kingfisher is signed with the Apple Developer ID of the maintainer team. #2106
  • A public initializer of ImageDownloadResult. This allows overriding side to construct and return a valid download result. #2107 @kmaschke85
  • Fix:
  • Some documentation fixes.

New in Kingfisher 7.8.1 (Jun 21, 2023)

  • Fix:
  • Now the animated image creation from disk cache will use the input processor correctly. #2099 @yeatse

New in Kingfisher 7.8.0 (Jun 18, 2023)

  • Add:
  • Introduce a custom image source provider to enable third-party image processors to utilize AnimatedImageView. #2094 @yeatse
  • Fix:
  • Deprecate the ImageResource and rename it to KF.ImageResource. This triggers a warning when explicitly refering to ImageResource, which conflicts to the identical names from Apple's GeneratedAssetSymbols or DeveloperToolsSupport in Xcode 15. It does not fix the issue automatically, but can help to achieve a smoother transition. #2092 @JohnnyTseng @rtharston

New in Kingfisher 7.7.0 (May 21, 2023)

  • Add:
  • Expose a new imageDownloader(_:didReceive:completionHandler:) delegate method in ImageDownloaderDelegate to allow making ResponseDisposition decision to the download task. #2048 @onevcat
  • Fix:
  • Some type conversion warnings which might annoy under Swift 6 compiler. #2060 #2063 @zunda-pixel
  • Apply access limitation to the internal Source.Identifier. #2074 @iwill-hwang

New in Kingfisher 7.6.2 (Feb 23, 2023)

  • Fix:
  • An issue causes high CPU usage and infinite loop when setting nil URL to a KFImage when startLoadingBeforeViewAppear is also true. #2035 Big thanks to @BobbyRohweder
  • The extension support for CPListItem won't set the image back to blank when the loading failing. Now it keeps showing the placeholder, if set. #2031 @DevVenusK

New in Kingfisher 7.6.1 (Feb 13, 2023)

  • Fix:
  • A compiling issue that new version of Swift (Swift 5.8) refuses to accept the false-positive optional binding. #2029 @JetForMe

New in Kingfisher 7.6.0 (Feb 5, 2023)

  • Add:
  • Add a contentConfigure modifier to KFImage and related view types under SwiftUI. This allows you returning a non-image view to finish the configuation and display it as the loading result of KFImage. #2027
  • Make the cachePathBlock public so you can also configure it when creating a custom DiskStorage.Config. #2025 by @zarechnyy

New in Kingfisher 7.5.0 (Jan 8, 2023)

  • Add:
  • Add a KFImage modifier startLoadingBeforeViewAppear to allow image loading before SwiftUI view's onAppear. This is a workaround for #1988.
  • Fix:
  • Now loading images from local disk also respects the backgroundDecode option. #2009

New in Kingfisher 7.4.1 (Oct 26, 2022)

  • Fix:
  • A rare crash from _UIImageCGImageContent when loading GIF files on iOS 15 or later. #2004
  • Now the dSYM symbols are contained inside the xcframework bundle instead of as standalone files. #1998
  • An issue that the processor is not applied to original image data when DefaultCacheSerializer.preferCacheOriginalData is set to true. #1999

New in Kingfisher 7.4.0 (Oct 5, 2022)

  • Add:
  • A data property in RetrieveImageResult for reading the original data when an image loading is done. #1986
  • An async data getter in ImageDataProvider. More async methods are on the way. #1989
  • Fix:
  • A workaround for some cases the KFImage does not load images when embedded in the SwiftUI List on iOS 16. This only alleviates the problem when shallow embedded. For deeper nested, waiting for Apple's fix. #1988 FB11564208

New in Kingfisher 7.3.2 (Sep 14, 2022)

  • Fix:
  • A regression introduced by the previous version, which changed the default layout behavior when setting a placeholder. Now the KFImage should have the same layout behavior as SwiftUI's AsyncImage while loading. if no placeholder is set, it takes all the proposed size while loading. If a placeholder is set, it propose size to the placeholder and follow placeholder's layout. #1975