Releases: kean/DFImageManager
DFImageManager 0.5.0
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
DFImageRequestIDtoDFImageTask, add new public interfaces (state,request,errorand more) - #24
DFImageManagerguarantees that the error is always created when the task fails - #25 Add
-resumemethod toDFImageTask, 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 toDFImageManagingprotocol - Minor performance improvements
DFImageManager 0.4.1
- #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
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
invalidateAndCancelmethod toDFImageManagingprotocol that cancel all outstanding requests and invalidate the image manager (new requests may not be started).DFImageManagerinternal tasks now hold strong references to the image manager DFCompositeImageManagernow raisesNSInvalidArgumentExceptionwhen there are no registered managers that can handle the request
Minor
- #9
DFImageViewno longer overridescontentModeset in Interface Builder - #18
DFImageViewno longer implementsDFImageViewDelegateprotocol which makes this protocol available for the clients DFImageContainerViewis not longer part of the framework- Remove
ALAssetsLibrary+DFImageManagercategory, shared assets library is now exposed byDFAssetsLibraryImageFetcherclass method DFAssetsLibraryImageFetchOperationis now a private classDFPhotosKitImageFetchOperationis now a private classDFImageManagerConfigurationfetcher property is now readwrite, not readonly (simplifies configuration)- Upgrade playground
DFImageManager 0.3.2
- Fix synchronization issue in
[DFImageManager startPreheatingImagesForRequests:]method - Fix "multiple definition types for selector warning"
DFImageManager 0.3.1
- Fix deadlock in DFImageManager
- Fix DFImageMaximumSize option for Photos Framework
DFImageManager 0.3.0
- New, rock solid
DFImageManagerimplementation based on finite state machines, 25% smaller. The FSM code is based onImageManagerimplementation from Nuke (experimental DFImageManager analog written in Swift). - Add
DFImageManagerErrorDomainandDFImageManagerErrorCancelled. TheDFImageManagernow guarantees that completion block for the request is called when the request is cancelled. DFImageRequestIDimplementsNSCopyingprotocol and can be used in dictionaries, sets, etcDFAFURLImageFetchernow tracks progress of data tasks- Fix
DFImageRequestOptions prioritythat 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
-cancelRequestWithIDand-setPriority:forRequestWithID:methods fromDFImageManagingCoreprotocol. There is a single way to cancel request or change its priority (usingDFImageRequestID) - Remove
-startPreheatingImageForResources:targetSize:contentMode:options:and-stopPreheatingImageForResources:targetSize:contentMode:options:methods fromDFImageManagingprotocol. There is now a single way to start/stop preheating using-start(stop)PreheatingImagesForRequests:methods. - Streamlined
DFImageManagingprotocol. RemoveDFImageManagingCoreprotocol. - Remove
allowsSynchronousMemoryCacheLookupoption, this option is always on.
DFImageManager 0.2.1
- Fix GIF demo
- Fix cross-dissolve issue in
DFImageContainerView - Improve performance
- Remove
DFProcessingImageFetcherandDFProcessingInput, 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
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 codeDFImageManager/UI- UI componentsDFImageManager/NSURLSession- basic networking on top of NSURLSessionDFImageManager/PhotosKit- Photos Framework supportDFImageManager/AssetsLibrary- ALAssetsLibrary support
Optional subspecs:
DFImageManager/AFNetworking- replaces networking stack with AFNetworkingDFImageManager/GIF- GIF support with a FLAnimatedImage dependency
Changes
- Add
DFImageManager/AFNetworkingsubspec which replaces networking stack with AFNetworking when installed #5 - Add support for CocoaPods dynamic frameworks #4
- Move UI components to new
DFImageManager/UIsubspec - Move NSURLSession support to new
DFImageManager/NSURLSessionsubspec - Move Photos Framework support to new
DFImageManager/PhotosKitsubspec - Move ALAssetLibrary support to new
DFImageManager/AssetsLibrarysubspec DFImageManager/GIFsubspec is now optional+[DFImageManager setSharedManager]method is now thread safe- Add
+[DFImageManager addSharedManager]to simplify managers composing DFImageManagernow holds strong references to the operations created by image fetchers- Remove
DFURLImageRequestOptionsclass, useDFURLRequestCachePolicyKeyinstead - Remove
DFAssetsLibraryImageRequestOptionsclass, useDFAssetsLibraryImageSizeKeyandDFAssetsLibraryAssetVersionKeyinstead - Remove
DFPhotosKitImageRequestOptionsclass, useDFPhotosKitVersionKey,DFPhotosKitDeliveryModeKey,DFPhotosKitResizeModeKeyinstead - Remove
DFMutableImageResponseclass,DFImageResponsenow has a sufficient initializer and no longer need to be copied - Rename
DFCompositeImageFetchOperationtoDFImageFetchTask(emphasize that it’s not anNSOperationsubclass) - Rename
DFCompositeImageRequestContexttoDFImageFetchContext - Remove
DFImageFetchOperation,DFOperationclasses DFPhotosKitImageFetchOperationno longer depends onDFImageManagerclasses- Remove
DFImageInfoURLResponseKey - Rename
DFImageManagerValueTransformingtoDFProxyRequestTransforming, which now has a single responsibility. TheDFProxyRequestTransformingnow also allows you to modify the entire request, not just a resource; RemoveDFImageManagerBlockValueTransformerclass - Make
DFURLSessionOperationprivate - Improved documentation