All Versions
169
Latest Version
Avg Release Cycle
29 days
Latest Release
541 days ago

Changelog History
Page 3

  • v6.2.0 Changes

    March 08, 2021

    โž• Add

    • The backend of Kingfisher's cache solution, DiskStorage and MemoryStorage, are now marked as public. So you can use them standalone in your project. #1649
    • An imageFrameCount property in image view extensions. It holds the frame count of an animated image if available. #1647
    • A new extraSessionDelegateHandler in ImageDownloader. Now you can receive the related session task delegate method by registering an external delegate object. #1620
    • A new method loadImmediately for KFImage to start the load manually. It is useful if you want to load the image before onAppear is called.

    ๐Ÿ›  Fix

    • โšก๏ธ Drop the use of @State for keeping image across View update for KFImage. This should fix some SwiftUI internal crash when setting the image in KFImage. #1642
    • ๐Ÿš€ The image reference in ImageBinder now is marked with weak. This helps release memory quicker in some cases. #1640

  • v6.1.1 Changes

    February 17, 2021

    ๐Ÿ›  Fix

    • โœ‚ Remove unnecessary queue dispatch when setting image result. This prevents image flickering when some situation. #1615
    • ๐Ÿ— Now the KF builder methods also accept optional URL or Source. It aligns the syntax with the normal view extension methods. #1617
    • ๐Ÿ›  Fix an issue that wrong hash is calculated for ImageBinder. It might cause view state lost for a KFImage. #1624
    • ๐Ÿ†“ Now the ImageCache will disable the disk storage when there is no free space on disk when creating the cache folder, instead of just crashing it. #1628
    • โ†ช A workaround for @State lost when using a view inside another container in a Lazy stack or grid. #1631
    • ๐ŸŽ Performance improvement for images with an non-up orientation in Exif when displaying in KFImage. #1629

  • v6.1.0 Changes

    February 01, 2021

    โž• Add

    • Rewrite state management for KFImage. Now the image reloading works in a more stable way without task dispatching. #1604
    • โž• Add fade and forceTransition modifier to KFImage to support built-in fade in effect when loading image in SwiftUI. #1604

    ๐Ÿ›  Fix

    • When an ImageModifier is applied, the modified image is not cached to memory cache anymore. The ImageModifier is intended to be used just before setting the image to a view and now it works as expected. #1612
    • ๐Ÿš€ Now SwiftUI and Combine are declared as weak link in podspec. This is a workaround for some rare case build issue. It does not affect supported deploy version of Kingfisher. #1607
    • โœ‚ Remove header file from podspec to allow Kingfisher built as a static framework in a Swift-ObjC mixed project. #1608

  • v6.0.1 Changes

    January 05, 2021

    ๐Ÿ›  Fix

    • Start the binder again when KFImage initialized, to keep the same behavior as previous versions. #1594

  • v6.0.0 Changes

    January 03, 2021

    โž• Add

    • A KF shorthand to create image setting tasks and config them. It provides a cleaner and modern way to use Kingfisher. Now, instead of using imageView.kf.setImage(with:options:), you can perform chain-able invocation with KF helpers. For example, the code below is identical. #1546

      // Old way
      imageView.kf.setImage(
        with: url,
        placeholder: localImage,
        options: [.transition(.fade(1)), .loadDiskFileSynchronously],
        progressBlock: { receivedSize, totalSize in
            print("progressBlock")
        },
        completionHandler: { result in
            print(result)
        }
      )
      
      // New way
      KF.url(url)
        .placeholder(localImage)
        .fade(duration: 1)
        .loadDiskFileSynchronously()
        .onProgress { _ in print("progressBlock") }
        .onSuccess { result in print(result) }
        .onFailure { err in print("Error: \(err)") }
        .set(to: imageView)
      
    • Similar to KF, The KFImage for SwiftUI is now having the similar chain-able syntax to setup an image task and options. This makes the KFImage APIs closer to the way how SwiftUI code is written. #1586

    • โž• Add support for TVMonogramView on tvOS. #1571

    • Some important properties and method in AnimatedImageView.Animator are marked as public now. It provides some useful information of the decoded GIF files. #1575

    • ๐Ÿ‘ An AsyncImageDownloadRequestModifier to support modifying the request in an asynchronous way. #1589

    • โž• Add a .lowDataMode option to support for Low Data Mode. When the .lowDataMode option is provided with an alternative source (usually a low-resolution version of the original image), Kingfisher will respect user's Low Data Mode setting and download the alternative image instead. #1590

    ๐Ÿ›  Fix

    • ๐Ÿ— An issue that importing AppKit wrongly in a macCatalyst build. #1547

    โœ‚ Remove

    • ๐Ÿšš Deprecated types, methods and properties are removed. If you are still using Kingfisher.Image, Kingfisher.ImageView or Kingfisher.Button, use the equivalent KFCrossPlatform types (such as KFCrossPlatformImage, etc) instead. Please make sure you do not have any warnings before migrate to Kingfisher v6. For more about the removed deprecated things, check #1525.
    • โฌ†๏ธ The standalone framework target of SwiftUI support is removed. Now the SwiftUI support is a part in the main Kingfisher library. To upgrade to v6, first remove Kingfisher/SwiftUI subpod (if you are using CocoaPods) or remove the KingfisherSwiftUI target (if you are using Carthage or Swift Package Manager), then reinstall Kingfisher. #1574

  • v5.15.8 Changes

    November 27, 2020

    ๐Ÿ›  Fix

    • An issue caused the onSuccess handler not be called when the image is already cached. #1570

  • v5.15.7 Changes

    October 29, 2020

    ๐Ÿ›  Fix

    • A potential crash when cancelling image downloading task while accessing its original request on iOS 13 or earlier. #1558

  • v5.15.6 Changes

    October 11, 2020

    ๐Ÿ›  Fix

    • Prevent main queue dispatching in ImageBinder if it is already on main thread. This prevents unintended flickering when reloading. #1551

  • v5.15.5 Changes

    September 29, 2020

    ๐Ÿ›  Fix

    • A possible fix for the crashes when cancelling a huge amount of image tasks too fast. [#1537]
  • v5.15.4 Changes

    September 24, 2020

    ๐Ÿ›  Fix

    • Give SessionDelegate an Objective-C name so it can work with other libraries even added by a dependency which generates Objective-C header. #1532