Releases: kean/Nuke
Releases · kean/Nuke
Nuke 7.6.1
- Fix SwiftPM 5.0 support by adding explicit platform version requirements – Vadim Shpakovski in #220
- Update Nuke 7 Migration Guide
Nuke 7.6
- Add Swift 5.0 support – Daniel Storm in #217
- Add SwiftPM 5.0 support - Vadim Shpakovski in #219
- Remove Swift 4.0 and Swift 4.1 support
- Remove iOS 9, tvOS 9, watchOS 2.0, macOS 10.10 and macOS 10.11 support
- Add a single
Nuke
target which can build the framework for any platform - Replace deprecated
OSAtomic
functions withunfair_lock
, there are no performance regressions
Nuke 7.5.2
Nuke 7.5.1
- Update Swift version in pbxproj to Swift 4.2, #199
- Update demo to Swift 4.2
Nuke 7.5
Additions
- #193 Add an option to
ImageDecompressor
to allow images to upscale, thanks to @drkibitz - #197 Add a convenience initializer to
ImageRequest
which takes an image processor (ImageProcessing
) as a parameter, thanks to @drkibitz
Improvements
- Add a guarantee that if you cancel
ImageTask
on the main thread, you won't receive any more callbacks (progress, completion) - Improve internal
Operation
performance (async operation subclass), images are loading up to 5% faster
Removals
Nuke 7 had a lot of API changes, to make the migration easier it shipped with Deprecated.swift file (536 line of code) which enabled Nuke 7 to be almost 100% source-compatible with Nuke 6. It's been 6 months since Nuke 7 release, so now it's finally a good time to remove all of this code.
With all these removals, Nuke compiles up to 10% faster. Test coverage is at 93.35%.
Nuke 7.4.2
- #174 Fix an issue with an
ImageView
reuse logic where in rare cases a wrong image would be displayed, thanks to @michaelnisi
Nuke 7.4.1
- Disable automatic
stopPreheating
which was causing issues
Nuke 7.4
Prefetching Improvements
- Add an
ImagePreheater.Destination
option toImagePreheater
. The default option is.memoryCache
which works exactly the wayImagePreheater
used to work before. The more interesting option is.diskCache
. The preheater with.diskCache
destination will skip image data decoding entirely to reduce CPU and memory usage. It will still load the image data and store it in disk caches so that it can be used later. - Add a convenience
func startPreheating(with urls: [URL])
function which creates requests with.low
priority for you. ImagePreheater
now automatically cancels all of the managed outstanding requests on deinit.- Add
UICollectionViewDataSourcePrefetching
demo on iOS 10+. Nuke still supports iOS 9 so Preheat is also still around.
Other Changes
- #187 Fix an issue with progress handler reporting incorrect progress for resumed (206 Partial Content) downloads
- Remove
enableExperimentalAggressiveDiskCaching
function fromImagePipeline.Configuration
, please useDataCache
directly instead - Update Performance Guide
Nuke 7.3.2
- #178 Fix TSan warning being triggered by performance optimization in
ImageTask.cancel()
(false positive) - Fix an issue where a request (
ImageRequest
) with a default processor and a request with the same processor but set manually would have different cache keys
Nuke 7.3.1
ImagePipeline
now updates the priority of shared operations when the registered tasks get canceled (was previosuly only reacting to added tasks)- Fix an issue where
didFinishCollectingMetrics
closure wasn't called for the tasks completed with images found in memory cache and the tasks canceled before they got a chance to run. Now every created tasks gets a correspondingdidFinishCollectingMetrics
call.