Releases: onevcat/Kingfisher
8.1.1 - Clean Completion
8.1.0 - Live Photo
Add
- Live Photo support. Now you can use the
kf
extension onPHLivePhotoView
to load a live photo from network. Check its documentation for more information. #2302 @onevcat - A set of new APIs (new resource types, optional parameters for existing methods and error types, etc) for Live Photo support. #2302 @onevcat
Fix
8.0.3 - Animated Image Hitting
Fix
- A regression of iOS 18 that the
KFAnimatedImage
does not receive user interaction. #2295 @onevcat @danieldaquino
8.0.2 - Blur Scale
8.0.1 - Old Friends Matter
Fix
- A build issue in Xcode 15.2. Now the project builds and runs again in that old Xcode version. #2289
8.0.0 - Version 8
Major Update Notice
We are excited to announce Kingfisher 8, a major update that brings several important enhancements and features to our library:
- Full Support for Swift Concurrency: Kingfisher 8 now fully supports Swift concurrency under strict mode, allowing for more efficient and simplified asynchronous programming.
- Compatibility with Swift 6: This update includes support for Swift 6, aligning Kingfisher with the latest advancements in the Swift programming language.
- Language Backward Compatibility: Despite the new updates, Kingfisher 8 continues to support Swift 5, ensuring that your existing projects remain compatible.
Warning
This version introduces breaking changes. If you are planning to upgrade, please review the migration guide to ensure a smooth transition. The migration guide is available here: Migration to Kingfisher 8.
Kingfisher v8 is currently in an early alpha release. While most of the development work has been completed, the library may undergo further changes to adapt to any updates in future versions of Xcode 16.
We warmly invite you to try out this version to take full advantage of the new Swift language features and improvements. Should you encounter any issues or have feedback, please do not hesitate to open an issue. Your feedback and support are crucial in helping evolve the library.
Happy coding!
Add
- Full Swift 6 support. Now Kingfisher compiles with both Swift 5 and Swift 6 language mode. #2259 @onevcat
- Swift Concurrency prepared. All necessary public APIs in Kingfisher are now
async
compatible. Kingfisher is also now built under strict concurrency mode. #2239 @onevcat - Xcode 16 support. Explicitly built modules option is enabled and now Kingfisher can get better build performance under Xcode 16. #2260 @onevcat
- Refined documentation and beautified tutorials with DocC. #2160 @onevcat
Fix
- MD5 is deprecated by the system. Now the hash method for file URL is replaced with SHA256. #2117 @kmaschke85
- Now the view extension methods are created in a more generic way, which provides better compatibility and extensibility. #2244 @Mx-Iris @onevcat
- Rewrite the blur rendering method without deprecated
UIGraphicsBeginImageContextWithOptions
. #2274 @onevcat - Apply existential any to protocol for Swift 6. #2283 @qwerty3345
8.0.0-beta.1
Kingfisher 8 is a major upgrade and contains breaking changes to previous versions. Check this for more information.
Fix
- Remove
@unchecked
Sendable by @NachoSoto in #2272 - Change
swift(>=6)
to usecompiler
by @NachoSoto in #2273 - Rewrite the blur rendering method without deprecated
UIGraphicsBeginImageContextWithOptions
by @onevcat in #2274 - Update links for repositories moved to the swiftlang org on GitHub by @lamtrinhdev in #2275
- Apply existential any to protocol for Swift 6 by @qwerty3345 in #2283
8.0.0-alpha.3
8.0.0-alpha.2
Kingfisher 8 is a major upgrade and contains breaking changes to previous versions. Check this for more information.
Fix
- Change language version to Swift 5.0 for main target. This ensures compatibility with Xcode 15 while retaining strict concurrency checks.
- Update the pre-built binaries with Xcode 16 beta 2.
8.0.0-alpha.1
Major Update Notice
We are excited to announce Kingfisher 8, a major update that brings several important enhancements and features to our library:
- Full Support for Swift Concurrency: Kingfisher 8 now fully supports Swift concurrency under strict mode, allowing for more efficient and simplified asynchronous programming.
- Compatibility with Swift 6: This update includes support for Swift 6, aligning Kingfisher with the latest advancements in the Swift programming language.
- Language Backward Compatibility: Despite the new updates, Kingfisher 8 continues to support Swift 5, ensuring that your existing projects remain compatible.
Warning
This version introduces breaking changes. If you are planning to upgrade, please review the migration guide to ensure a smooth transition. The migration guide is available here: Migration to Kingfisher 8.
Kingfisher v8 is currently in an early alpha release. While most of the development work has been completed, the library may undergo further changes to adapt to any updates in future versions of Xcode 16.
We warmly invite you to try out this version to take full advantage of the new Swift language features and improvements. Should you encounter any issues or have feedback, please do not hesitate to open an issue. Your feedback and support are crucial in helping evolve the library.
Happy coding!
Add
- Full Swift 6 support. Now Kingfisher compiles with both Swift 5 and Swift 6 language mode. #2259 @onevcat
- Strict Swift Concurrency prepared. All necessary public APIs in Kingfisher are now
async
compatible. Kingfisher is also now built under strict concurrency mode. #2239 @onevcat - Xcode 16 support. Explicitly built modules option is enabled and now Kingfisher can get better build performance under Xcode 16. #2260 @onevcat
- Refined documentation and beautified tutorials with DocC. Check it out here! #2160 @onevcat
Fix
- MD5 is deprecated by the system. Now the hash method for file URL is replaced with SHA256. #2117 @kmaschke85
- Now the view extension methods are created in a more generic way, which provides better compatibility and extensibility. #2244 @Mx-Iris @onevcat
Prebuilt Frameworks
To accommodate users of both Xcode 15 and Xcode 16, Kingfisher will offer two variants of the prebuilt framework on the release page:
Kingfisher-${version}.zip
: Built with the Swift 5 compiler in Xcode 15, this framework is compatible with both Xcode 15 and 16. It does not include optimizations from Swift 6 and Xcode 16.Kingfisher-swift6-${version}.zip
: Built with the Swift 6 compiler in Xcode 16, this binary is exclusively for use with Xcode 16. As we eventually phase out support for Xcode 15, the Swift 5 variant will be discontinued in future releases.
This information pertains only to users who prefer to install Kingfisher with the xcframework bundle. If you are building Kingfisher from source, such as through Swift Package Manager or CocoaPods, you have the flexibility to choose the Xcode version and the language version you prefer. Kingfisher v8 is compatible with both Swift 5 (Xcode 15 and Xcode 16 with Swift 5 language version) and Swift 6 (Xcode 16).