Skip to content

Releases: kean/Nuke

Nuke 2.1.0

27 Feb 11:41
Compare
Choose a tag to compare
  • #57 ImageDecompressor now uses CGImageAlphaInfo.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 a NSOperationQueue with maxConcurrentOperationCount=1. However, ImageDecoder class is now also made thread safe.

Nuke 2.0.1

10 Feb 19:16
Compare
Choose a tag to compare
  • #53 ImageRequest no longer uses NSURLSessionTaskPriorityDefault, which requires CFNetwork that doesn't get added as a dependency automatically

Nuke 2.0

06 Feb 13:40
Compare
Choose a tag to compare

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 way ImageManager interacts with a memory cache; NSURLRequestCachePolicy no longer affects memory cache
  • Add UIImage extension with helper functions for Core Image: nk_filter(_:), etc.
  • Add ImageFilterGaussianBlur as an example of a filter on top of Core Image framework
  • #17 Add priority to ImageRequest
  • Add removeResponseForKey() method to ImageMemoryCaching protocol and the corresponding method to ImageManager
  • Implement congestion control for ImageLoader that prevents NSURLSession 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 to decode method from ImageDecoding protocol
  • ImageDataLoading protocol no longer has isLoadEquivalentRequest(_:toRequest) and isCacheEquivalentRequest(_:toRequest). Those methods are now part of ImageLoaderDelegate and they have default implementation
  • ImageResponseInfo 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 to ImageLoadingView protocol, that's really where it belongs to
  • Add handler property to ImageViewLoadingOptions that allows you to completely override display/animate logic in ImageLoadingView
  • Remove nk_prepareForReuse method from ImageLoadingView extensions (useless)
  • Remove placeholder from ImageViewLoadingOptions, move it to a separate argument which is only available on ImageDisplayingViews
  • Add animated, userInfo to ImageViewLoadingOptions
  • ImageViewLoadingOptions is now nonull everywhere
  • Add setImageWith(task:options:) method to ImageViewLoadingController

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(_:) and isCacheEquivalentToRequest(_:) methods from ImageRequest extension
  • Add ImageTaskProgress struct that represents load progress, move fractionCompleted property from ImageTask to ImageTaskProgress
  • Remove public helper function allowsCaching from ImageRequest extension
  • Remove deprecated XCPSetExecutionShouldContinueIndefinitely from playground

Nuke 1.4.0

09 Jan 20:08
Compare
Choose a tag to compare
  • #46 Add option to disable memory cache storage (thanks to @RuiAAPeres)

Nuke 1.3.0

07 Dec 22:31
Compare
Choose a tag to compare
  • 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 to ImageDecoder class that returns scale to be used when creating UIImage (iOS, tvOS, watchOS only)
  • Wrap each iteration of ImageProcessorComposition in an autoreleasepool

Nuke 1.2.0

15 Nov 11:51
Compare
Choose a tag to compare
  • #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

30 Oct 21:18
Compare
Choose a tag to compare
  • #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

23 Oct 17:52
Compare
Choose a tag to compare
  • #25 Add tvOS support
  • #33 Add app extensions support for OSX target (other targets were already supported)

Nuke 1.0.0

18 Oct 17:00
Compare
Choose a tag to compare
  • #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

13 Oct 17:19
Compare
Choose a tag to compare

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

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.