Releases: kean/Nuke
Releases · kean/Nuke
Nuke 2.1.0
- #57
ImageDecompressor
now usesCGImageAlphaInfo.NoneSkipLast
for opaque images - Add
ImageProcessorWithClosure
that can be used for creating anonymous image filters ImageLoader
ensures thread safety of image initializers by running decoders on aNSOperationQueue
withmaxConcurrentOperationCount=1
. However,ImageDecoder
class is now also made thread safe.
Nuke 2.0.1
- #53 ImageRequest no longer uses NSURLSessionTaskPriorityDefault, which requires CFNetwork that doesn't get added as a dependency automatically
Nuke 2.0
Nuke now has an official website!
Main Changes
- #48 Update according to Swift API Design Guidelines. All APIs now just feel right.
- Add
ImageRequestMemoryCachePolicy
enum that specifies the wayImageManager
interacts with a memory cache;NSURLRequestCachePolicy
no longer affects memory cache - Add
UIImage
extension with helper functions forCore Image
:nk_filter(_:)
, etc. - Add
ImageFilterGaussianBlur
as an example of a filter on top ofCore Image
framework - #17 Add
priority
toImageRequest
- Add
removeResponseForKey()
method toImageMemoryCaching
protocol and the corresponding method toImageManager
- Implement congestion control for
ImageLoader
that preventsNSURLSession
trashing - Simplify
ImageLoaderDelegate
by combining methods that were customizing processing in a single high-level method:imageLoader(_:processorFor:image:)
. Users now have more control over processing - Add
NSURLResponse?
parameter todecode
method fromImageDecoding
protocol ImageDataLoading
protocol no longer hasisLoadEquivalentRequest(_:toRequest)
andisCacheEquivalentRequest(_:toRequest)
. Those methods are now part ofImageLoaderDelegate
and they have default implementationImageResponseInfo
is now a struct- Improved error reporting (codes are now stored in enum, more codes were added, error is now created with a failure reason)
UI Extensions Changes
- Move
nk_imageTask(_:didFinishWithResponse:options)
method toImageLoadingView
protocol, that's really where it belongs to - Add
handler
property toImageViewLoadingOptions
that allows you to completely override display/animate logic inImageLoadingView
- Remove
nk_prepareForReuse
method fromImageLoadingView
extensions (useless) - Remove
placeholder
fromImageViewLoadingOptions
, move it to a separate argument which is only available onImageDisplayingView
s - Add
animated
,userInfo
toImageViewLoadingOptions
ImageViewLoadingOptions
is now nonull everywhere- Add
setImageWith(task:options:)
method toImageViewLoadingController
Other Changes
- If you add a completion handler for completed task, the response is now marked as
isFastResponse = true
- Fix an issue that allowed incomplete image downloads to finish successfully when using built-in networking
equivalentProcessors(rhs:lhs:)
function is now private (and it also is renamed)- Remove public
isLoadEquivalentToRequest(_:)
andisCacheEquivalentToRequest(_:)
methods fromImageRequest
extension - Add
ImageTaskProgress
struct that represents load progress, movefractionCompleted
property fromImageTask
toImageTaskProgress
- Remove public helper function
allowsCaching
fromImageRequest
extension - Remove deprecated
XCPSetExecutionShouldContinueIndefinitely
from playground
Nuke 1.4.0
- #46 Add option to disable memory cache storage (thanks to @RuiAAPeres)
Nuke 1.3.0
- Add Core Image Integration Guide
- Fill most of the blanks in the documentation
- #47 Fix target size rounding errors in image downscaling (Pyry Jahkola @pyrtsa)
- Add
imageScale
property toImageDecoder
class that returns scale to be used when creatingUIImage
(iOS, tvOS, watchOS only) - Wrap each iteration of
ImageProcessorComposition
in anautoreleasepool
Nuke 1.2.0
- #20 Add preheating for UITableView (see ImagePreheatingControllerForTableView class)
- #41 Enhanced tvOS support thanks to @joergbirkhold
- #39 UIImageView: ImageLoadingView extension now available on tvOS
- Add factory method for creating session tasks in ImageDataLoader
- Improved documentation
Nuke 1.1.1
- #35 ImageDecompressor now uses
32 bpp, 8 bpc, CGImageAlphaInfo.PremultipliedLast
pixel format which adds support for images in an obscure formats, including 16 bpc and more - Improve docs
Nuke 1.1.0
Nuke 1.0.0
- #30 Add new protocols and extensions to make it easy to add full featured image loading capabilities to custom UI components. Here's how it works:
extension MKAnnotationView: ImageDisplayingView, ImageLoadingView {
// That's it, you get default implementation of all the methods in ImageLoadingView protocol
public var nk_image: UIImage? {
get { return self.image }
set { self.image = newValue }
}
}
- #30 Add UIImageView extension instead of custom UIImageView subclass
- Back to the Mac! All new protocol and extensions for UI components (#30) are also available on a Mac, including new NSImageView extension.
- #26 Add
getImageTaskWithCompletion(_:)
method to ImageManager - Add essential documentation
- Add handy extensions to ImageResponse
Nuke 0.5.1
Nuke is now available almost everywhere. Also got rid of CocoaPods subspecs.
New Supported Platforms
- CocoaPods, Nuke, watchOS
- CocoaPods, Nuke, OSX
- CocoaPods, NukeAlamofirePlugin, watchOS
- CocoaPods, NukeAlamofirePlugin, OSX
- Carthage, Nuke, watchOS
- Carthage, Nuke, OSX
- Carthage, NukeAlamofirePlugin, iOS
- Carthage, NukeAlamofirePlugin, watchOS
- Carthage, NukeAlamofirePlugin, OSX
Repo Changes
- Remove Nuke/Alamofire subspec, move sources to separate repo Nuke-Alamofire-Plugin
- Remove Nuke/GIF subspec, move sources to separate repo Nuke-AnimatedImage-Plugin
Code Changes
- #9, #19 ImageTask now has a closure for progress instead of NSProgress
- Rename ImageLoadingDelegate to ImageLoadingManager
- Add ImageLoaderDelegate with factory method to construct image decompressor, and
shouldProcessImage(_:)
method - Make ImageRequest extensions public
- Make ImageTask constructor public; Annotate abstract methods.