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- #90 Fix an issue with incomplete image downloads (thanks to @HamzaGhazouani)
-
v2.0.0 Changes
December 27, 2015 -
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, 2015Overview
๐ 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
Big
- 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
Small
- #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, 2015Overview
๐
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 includesDFImageManager/Core
andDFImageManager/NSURLSession
subpecs.๐ Changes
Major
- #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
Minor
- #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, 2015Overview
๐
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
Major
- #64 Image decompression and scaling are now made in a single step (x2-4 times faster depending on scale, significantly reduces memory usage)
Minor
- #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, 2015Overview
๐
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 newDFImageDecoding
protocol), and narrows role of theDFImageFetching
protocol which is now only responsible for fetching image data (NSData).๐ Changes
Major
- ๐ง #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.
Minor
- #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