Skip to content

8.0.0 - Version 8

Compare
Choose a tag to compare
@onevcat onevcat released this 17 Sep 14:54
· 76 commits to master since this release
8.0.0

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