Skip to content

Releases: onevcat/Kingfisher

6.1.0 - SwiftUI Rework

01 Feb 12:44
Compare
Choose a tag to compare

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

6.0.1 - Bind & Hug

05 Jan 13:08
Compare
Choose a tag to compare

Fix

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

6.0.0 - New Year 2021

03 Jan 06:37
Compare
Choose a tag to compare

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

5.15.8 - KFImage handler

27 Nov 14:38
Compare
Choose a tag to compare

Fix

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

5.15.7 - Cancel Lock

29 Oct 12:45
Compare
Choose a tag to compare

Fix

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

5.15.6 - ImageBinder Callback

11 Oct 02:30
Compare
Choose a tag to compare

Fix

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

5.15.5 - Cancelling Fix

29 Sep 13:31
Compare
Choose a tag to compare

Fix

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

5.15.4 - Farewell Objective-C (CocoaPods)

24 Sep 01:18
Compare
Choose a tag to compare

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

5.15.3 - Farewell Objective-C

20 Sep 16:21
Compare
Choose a tag to compare

Fix

  • Removed the unnecessary ObjC header generating and module defining due to Xcode 12 is now generating conflicted types even for different libraries. #1517
  • Set deploy target for SwiftUI target and its pod spec to iOS 10 and macOS 10.12, which aligns to the settings of core framework. That resolves some dependency issues when using CocoaPods for both app target and extension targets. But it does not mean you can use the SwiftUI support on those minimal target. All related APIs are still unavailable on old system versions. #1524

5.15.2 - Xcode 11 Revived

19 Sep 09:06
Compare
Choose a tag to compare

Fix

  • Fix a build error introduced by the previous SwiftUI fix for Xcode 12. Now Xcode 11 can also build the KingfisherSwiftUI target. #1515