Skip to content
This repository has been archived by the owner on May 3, 2021. It is now read-only.

Releases: kean/DFImageManager

DFImageManager 0.5.0

19 Jul 18:07
Compare
Choose a tag to compare

Overview

DFImageManager 0.5.0 is a major release that brings WebP support, introduces some great new APIs, and features redesigned DFCompositeImageTask.

Changes

  • #14 WebP support
  • #22 Rename DFImageRequestID to DFImageTask, add new public interfaces (state, request, error and more)
  • #24 DFImageManager guarantees that the error is always created when the task fails
  • #25 Add -resume method to DFImageTask, tasks should not start running automatically
  • #26 Completely redesigned DFCompositeImageTask, simple interface, fully covered by unit tests
  • #27 Add - (void)getImageTasksWithCompletion:(void (^)(NSArray *tasks, NSArray *preheatingTasks))completion; method to DFImageManaging protocol
  • Minor performance improvements

DFImageManager 0.4.1

03 Jul 18:16
Compare
Choose a tag to compare
  • #21 Add documented way to determine whether the response came from memory cache. Remove undocumented way to do that from previous versions.

DFImageManager 0.4.0

09 Aug 07:52
Compare
Choose a tag to compare

Overview

DFImageManager now works great with Swift thanks to new nullability annotations. Some internals has also changed accordingly. Make sure that the way you use DFImageManager API complies with the new requirements.

Changes

Major

  • #11 Add nullability annotations
  • #13 DFImageManager's memory cache fast path is now completely transparent to the client
  • #17 Add invalidateAndCancel method to DFImageManaging protocol that cancel all outstanding requests and invalidate the image manager (new requests may not be started). DFImageManager internal tasks now hold strong references to the image manager
  • DFCompositeImageManager now raises NSInvalidArgumentException when there are no registered managers that can handle the request

Minor

  • #9 DFImageView no longer overrides contentMode set in Interface Builder
  • #18 DFImageView no longer implements DFImageViewDelegate protocol which makes this protocol available for the clients
  • DFImageContainerView is not longer part of the framework
  • Remove ALAssetsLibrary+DFImageManager category, shared assets library is now exposed by DFAssetsLibraryImageFetcher class method
  • DFAssetsLibraryImageFetchOperation is now a private class
  • DFPhotosKitImageFetchOperation is now a private class
  • DFImageManagerConfiguration fetcher property is now readwrite, not readonly (simplifies configuration)
  • Upgrade playground

DFImageManager 0.3.2

09 Jun 13:46
Compare
Choose a tag to compare
  • Fix synchronization issue in [DFImageManager startPreheatingImagesForRequests:] method
  • Fix "multiple definition types for selector warning"

DFImageManager 0.3.1

27 Mar 13:09
Compare
Choose a tag to compare
  • Fix deadlock in DFImageManager
  • Fix DFImageMaximumSize option for Photos Framework

DFImageManager 0.3.0

24 Mar 02:28
Compare
Choose a tag to compare
  • New, rock solid DFImageManager implementation based on finite state machines, 25% smaller. The FSM code is based on ImageManager implementation from Nuke (experimental DFImageManager analog written in Swift).
  • Add DFImageManagerErrorDomain and DFImageManagerErrorCancelled. The DFImageManager now guarantees that completion block for the request is called when the request is cancelled.
  • DFImageRequestID implements NSCopying protocol and can be used in dictionaries, sets, etc
  • DFAFURLImageFetcher now tracks progress of data tasks
  • Fix DFImageRequestOptions priority that can now be used on iOS 7 (@andrebraga)
  • Fix crash when using DFImageProcessingCornerRadiusKey (@andrebraga)
  • Fix an issue when UIImageView (DFImageManager) wasn't canceling requests.
  • Remove -cancelRequestWithID and -setPriority:forRequestWithID: methods from DFImageManagingCore protocol. There is a single way to cancel request or change its priority (using DFImageRequestID)
  • Remove -startPreheatingImageForResources:targetSize:contentMode:options: and -stopPreheatingImageForResources:targetSize:contentMode:options: methods from DFImageManaging protocol. There is now a single way to start/stop preheating using -start(stop)PreheatingImagesForRequests: methods.
  • Streamlined DFImageManaging protocol. Remove DFImageManagingCore protocol.
  • Remove allowsSynchronousMemoryCacheLookup option, this option is always on.

DFImageManager 0.2.1

20 Mar 11:58
Compare
Choose a tag to compare
  • Fix GIF demo
  • Fix cross-dissolve issue in DFImageContainerView
  • Improve performance
  • Remove DFProcessingImageFetcher and DFProcessingInput, rely on memory cache instead of reusing processing operations (which is much easier to implement)
  • Processing operations for preheating requests now have low priority
  • Further reduce the code base

DFImageManager 0.2.0

11 Mar 07:51
Compare
Choose a tag to compare

Overview

This is a delightful release that brings an AFNetworking integration. Combine the power of both frameworks!

Another great improvement is a support for CocoaPods dynamic frameworks. You can now use DFImageManager in your Swift projects.

This version also dramatically simplifies a lot of stuff. The project structure has changed, and new subspecs have been introduced.

AFNetworking

This release gives you a full power of AFNetworking. All you need to do is install optional DFImageManager/AFNetworking subspec, which replaces DFImageManager networking stack with AFNetworking. The integration is dead simple, the entire subspec is just 124 lines of code. In case you don't want to use AFNetworking, the DFImageManager still provides its basic networking implementation, which is included in DFImageManager/NSURLSession subspec.

Subspecs

Default subspecs:

  • DFImageManager/Core - core DFImageManager classes, now just under 1600 lines of code
  • DFImageManager/UI - UI components
  • DFImageManager/NSURLSession - basic networking on top of NSURLSession
  • DFImageManager/PhotosKit - Photos Framework support
  • DFImageManager/AssetsLibrary - ALAssetsLibrary support

Optional subspecs:

  • DFImageManager/AFNetworking - replaces networking stack with AFNetworking
  • DFImageManager/GIF - GIF support with a FLAnimatedImage dependency

Changes

  • Add DFImageManager/AFNetworking subspec which replaces networking stack with AFNetworking when installed #5
  • Add support for CocoaPods dynamic frameworks #4
  • Move UI components to new DFImageManager/UI subspec
  • Move NSURLSession support to new DFImageManager/NSURLSession subspec
  • Move Photos Framework support to new DFImageManager/PhotosKit subspec
  • Move ALAssetLibrary support to new DFImageManager/AssetsLibrary subspec
  • DFImageManager/GIF subspec is now optional
  • +[DFImageManager setSharedManager] method is now thread safe
  • Add +[DFImageManager addSharedManager] to simplify managers composing
  • DFImageManager now holds strong references to the operations created by image fetchers
  • Remove DFURLImageRequestOptions class, use DFURLRequestCachePolicyKey instead
  • Remove DFAssetsLibraryImageRequestOptions class, use DFAssetsLibraryImageSizeKey and DFAssetsLibraryAssetVersionKey instead
  • Remove DFPhotosKitImageRequestOptions class, use DFPhotosKitVersionKey, DFPhotosKitDeliveryModeKey, DFPhotosKitResizeModeKey instead
  • Remove DFMutableImageResponse class, DFImageResponse now has a sufficient initializer and no longer need to be copied
  • Rename DFCompositeImageFetchOperation to DFImageFetchTask (emphasize that it’s not an NSOperation subclass)
  • Rename DFCompositeImageRequestContext to DFImageFetchContext
  • Remove DFImageFetchOperation, DFOperation classes
  • DFPhotosKitImageFetchOperation no longer depends on DFImageManager classes
  • Remove DFImageInfoURLResponseKey
  • Rename DFImageManagerValueTransforming to DFProxyRequestTransforming, which now has a single responsibility. The DFProxyRequestTransforming now also allows you to modify the entire request, not just a resource; Remove DFImageManagerBlockValueTransformer class
  • Make DFURLSessionOperation private
  • Improved documentation