All Versions
Latest Version
Avg Release Cycle
119 days
Latest Release
2313 days ago

Changelog History

  • v2.0.2 Changes

    December 17, 2017
    • โž• Added ability to set the animation duration for fading in the image. Thanks to @holgersindbaek
    • ๐Ÿ›  Fix Xcode 9 warnings
    • ๐Ÿ›  Fix Xcode 9 static analyzer issues
  • v2.0.1 Changes

    January 12, 2016
  • v2.0.0 Changes

    December 27, 2015
    • #86 Migrate to AFNetworking 3
    • #84 Add progressHandler to DFImageTask
  • v1.0.1 Changes

    November 18, 2015
    • ๐Ÿ‘ #85 Add Carthage support for iOS 8.0+ (was 9.0+ only)
  • v1.0.0 Changes

    September 27, 2015


    ๐Ÿš€ DFImageManager 1.0.0 is the first major release. It makes DFImageManager more robust and future proof.

    The main difference is the absence of conditional compilation that relied on __has_include macros. Conditional compilation now only takes place when default image manager is created and doesn't rely on __ has_include. In practice from the user point of view everything should work the same way it did before.

    ๐Ÿ—„ DFImageManager is also getting deprecated in favor of Nuke.

    ๐Ÿ”„ Changes


    • Now requires iOS 8.0+
    • Remove conditional compilation that relied on __has_include macros
    • DFImageView can no longer be used for GIF playback, use DFAnimatedImageView instead
    • โž• Add DFCompositeImageDecoder
    • โž• Add DFWebPImageDecoder
    • โž• Add DFAnimatedImageView, DFAnimatedImageDecoder, DFAnimatedImageProcessor
    • โœ‚ Remove +[DFImageManager sharedDecoder] dependency injector, there is now a single entry point to configure image manager and that is DFImageManagerConfiguration
    • โœ‚ Remove -[DFURLImageFetcher initWithSession:sessionDelegate:] method and DFURLImageFetcherSessionDelegate protocol, this feature was too hardcode for basic built-in networking
    • ๐Ÿšš DFImageManager/NSURLSession subspec is removed, sources made part of DFImageManager/Core subspec
    • โž• Add limited Carthage support


    • #12 Lightweight generics thanks to @adly-holler
    • DFImageManagerConfiguration no longer forces you to initialize it with image fetcher instance
    • โž• Add convenience class methods to DFImageManager that forward calls to sharedManager
    • -[DFImageProcessing shouldProcessImage:forRequest:partial:] method is now optional
    • [DFImageTask resume] method now returns image task
    • ๐Ÿ›  Fix -[NSCache df_recommendedTotalCostLimit] for watchOS
    • โœ‚ Remove +[DFImageManager addSharedManager:] method
    • โœ‚ Remove +[DFImageManager defaultManager] method
    • DFImageManager/PhotosKit subspec is now optional
  • v0.8.0 Changes

    September 12, 2015


    ๐Ÿ“š DFImageManager 0.8.0 makes things more cohesive. Documentation, examples, demos, project structure - everything was revised and uncluttered. This release also features limited watchOS 2 support which at this point includes DFImageManager/Core and DFImageManager/NSURLSession subpecs.

    ๐Ÿ”„ Changes


    • #28 DFImageFetching protocol now requires fetch operation to conform to simple DFImageFetchingOperation protocol
    • ๐Ÿ‘ #15 watchOS 2 support, at this moment only DFImageManager/Core and DFImageManager/NSURLSession subpecs are available
    • DFImageManager/Extensions subspec with DFCompositeImageTask and DFProxyImageManager are no longer part of the framework. There are multiple more generic ways to implement those features.
    • ๐Ÿ“š Revised documentation, examples, demos, project structure


    • #75 Provide an easier way to enable progressive image decoding
    • #73 -[DFImageManaging imageTaskForRequest:completion:] and -[DFImageManaging imageTaskForResource:completion:] methods return nonnull image task instead of nullable
    • Cleaner DFImageRequestOptions implementation
    • โœ‚ Remove canonical requests feature which was very application specific
    • โฌ‡๏ธ Reduce number of DFImageRequestPriority options, DFImageRequestPriority no longer bound to NSOperationQueuePriority
    • Multiple implementation details are improved across the board
  • v0.7.2 Changes

    September 06, 2015

    ๐Ÿš€ Minor technical release that fixes some typos and updates docs.

  • v0.7.1 Changes

    September 04, 2015


    ๐ŸŽ DFImageManager 0.7.1 focuses on stability and performance. The main changes were made to the image processing. Images are now decompressed and scaled in a single step (x2-4 times faster depending on scale, significantly reduces memory usage) which allows DFImageManager to scale large images (~6000x4000 px) and prepare them for display with ease.

    ๐Ÿ”„ Changes


    • #64 Image decompression and scaling are now made in a single step (x2-4 times faster depending on scale, significantly reduces memory usage)


    • #70 Always draw decompressed images using kCGImageAlphaPremultipliedFirst and CGColorSpaceCreateDeviceRGB
    • ๐Ÿ”จ #67 Refactor task queue in DFURLImageFetcher; Delay only execution of session tasks, not cancellation
    • ๐Ÿšš #66 DFPhotosKitImageFetcher remove obsolete targetSize and contentMode checks in isRequestCacheEquivalent:toRequest method
    • ๐Ÿšš #65 Remove excessive -[DFAnimatedImage initWithAnimatedGIFData:] method; make animatedImage property nonnull
    • ๐Ÿšš #63 Remove unused methods from UIImage+DFImageUtilities
    • #60 Make DFImageManager/Core subspec smaller by moving non-core classes to DFImageManager/Extensions subspec.
    • โœ‚ Remove excessive DFImageViewDelegate
    • โœ‚ Remove excessive imageTargetSize, imageContentMode and imageRequestOptions properties from DFImageView
    • โœ‚ Remove excessive -[DFURLImageFetcherDelegate URLImageFetcher:didEncounterError:] method

    ๐Ÿ›  Bugfix

    • ๐Ÿ›  #71 BUGFIX: DFImageManagerImageLoader sometimes fails to cancel fetch operations
    • ๐Ÿ›  #69 BUGFIX: Fix -[DFImageManager invalidateAndCancel]
    • ๐Ÿ›  #68 BUGFIX: Add optional -[DFImageFetching invalidate] method that would allow DFURLImageFetcher and DFAFImageFetcher to invalidate NSURLSession and release delegate
    • ๐Ÿ›  #62 BUGFIX: Fix GIF cost calculation in DFImageCache
    • ๐Ÿ›  BUGFIX: Fix DFImageView priority management
  • v0.7.0 Changes

    August 23, 2015


    ๐Ÿ‘€ DFImageManager 0.7.0 brings progressive image decoding support, and puts everything in its right place. It adds a separate stage for image decoding (see new DFImageDecoding protocol), and narrows role of the DFImageFetching protocol which is now only responsible for fetching image data (NSData).

    ๐Ÿ”„ Changes


    • ๐Ÿ”ง #46 Add a separate stage for image decoding. Add multiple ways to configure and extend image decoding: add DFImageDecoding protocol, DFImageDecoder class; add decoder to DFImageManagerConfiguration; add dependency injector to set shared decoder.
    • ๐Ÿ‘ #41 Add GIF support for PHAsset. Also includes major changes in DFImageFetching protocol, which is now only responsible for fetching image data (NSData).
    • ๐Ÿ‘ #28 Add progressive image decoding, including progressive JPEG support.
    • โœ‚ Remove ALAssetsLibrary support due to the changes to the DFImageFetching protocol that now returns NSData instead of UIImage. It's easy to add you own application-specific ALAssetsLibrary support by either implementing DFImageFetching protocol and fetching NSData (and letting DFImageManager class do all the decoding, processing, caching and preheating), or by implementing DFImageManaging protocol itself.


    • #56 Xcode 7 compatibility
    • 0๏ธโƒฃ #54 Add shouldDecompressImages property to DFImageDecoder. Default value is YES.
    • ๐Ÿ‘ #53 Add Carthage support
    • 0๏ธโƒฃ #52 Add defaultOptions class method to DFMutableImageRequestOptions which allows user to modify request options on per-application level
    • #51 DFImageProcessor makes a decision of weather it should process GIF images, not DFImageManager
    • ๐Ÿšš #50 Add removeAllCachedImages to DFImageManaging protocol; Add optional removeAllCachedImages to DFImageFetching protocol
    • #49 Add shouldProcessImage:forRequest: method to DFImageProcessing protocol that would allow DFImageManager to skip processing step entirely
    • ๐Ÿ‘ #47 Better signature checks to identify image formats; Add WebP signature check
    • ๐Ÿ”จ Refactor DFImageManagerImageLoader (private class that was introduced in the previous version)
    • ๐Ÿ‘Œ Improve DFImageView performance (use DFImageTask directly)
    • โœ‚ Remove DFNetworkReachability and auto retry from DFImageView
  • v0.1.0

    September 17, 2015