Add
- Add
KFOptionSetter.copyForMutation()for value-type conformers that need safe copy-on-mutate behavior;KF.Builderkeeps its existing in-place semantics. #2554 #2551 @onevcat @EmanTahir888
Fix
- Fix
KFImageandKFAnimatedImagemodifiers mutating a shared context across copied view values, which could overwrite sibling options and callbacks or crash optimized builds. #2554 #2551 #2440 @onevcat @EmanTahir888 @greatsk55 - Fix
KFImageplaceholder and failure-view layout before image load while retaining fade, load, and caller-provided SwiftUI transitions. #2555 #2550 #2533 @onevcat @wodud1107 @mrtsamma - Fix
SessionDataTaskraces when concurrent cancellation and download startup access its callback storage andstartedstate. #2539 #2549 #2441 @devzahirul @onevcat @nickm01 - Avoid full-size data copies during completed-download and progressive-decoding reads, reducing memory pressure and out-of-memory crashes on large images. #2547 #2543 @onevcat @MANEG-SEON-A
- Ensure
ImageDownloaderDelegatereceives exactly onedidFinishDownloadingImageForURLcallback for each completed download, with the correct failure. #2548 @onevcat - Synchronize retrieval-context state so alternative-source and low-data fallbacks do not lose errors or reuse removed sources. #2541 @devzahirul
- Ensure replacement retry, low-data, and alternative-source download tasks reach
downloadTaskUpdatedbefore their completion callback can run. #2537 @onevcat - Make network observers one-shot and cancellation-safe, without delivery depending on a starved internal queue. #2536 #2559 @onevcat
- Fix disk-cache initial-index races to preserve files stored during setup and avoid permanently disabling the
maybeCachedshortcut for a new cache. #2535 #2558 @onevcat - Remove a redundant file-existence lookup when reading disk-cache metadata. #2556 @devzahirul
- Fix disk caching with
autoExtAfterHashedFileNamefor image URLs whose paths contain@. #2540 #2301 @devzahirul @Ceylo