Skip to content

Commit

Permalink
Update podspec, changelog and readme
Browse files Browse the repository at this point in the history
  • Loading branch information
kean committed Aug 23, 2015
1 parent ee660a7 commit c4faead
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 6 deletions.
1 change: 0 additions & 1 deletion CHANGELOG

This file was deleted.

70 changes: 70 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
[Changelog](https://github.com/kean/DFImageManager/releases) for all versions

# DFImageManager 0.7.0

`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

### 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
- #54 Add shouldDecompressImages property to DFImageDecoder. Default value is YES.
- #53 Add Carthage support
- #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
- Add "Design" section in readme file, update examples


# DFImageManager 0.6.0

`DFImageManager 0.6.0` focuses on consistency and performance. It features some minor improvements in the API and some major improvements in the implementation. The main changes were made to the DFImageManager class that was made much more approachable.

## Changes

### Major

- #38 DFImageRequest and DFImageRequestOptions are now immutable, options are created using builder
- #37 Improve DFImageTaskCompletion completion block. Remove dictionary with DFImageInfo* keys; error (NSError *) is now a separate argument; add response (DFImageResponse) and completedTask (DFImageTask) parameters. It's now easier to discover all options.
- #34 DFImageManager implementation is now much more approachable, and also more robust and performant (request execution management is moved from DFImageManager to a separate private class).
- #32 DFImageTask now changes state synchronously on the callers thread (when you resume or cancel task). As a "side effect" DFImageManager invalidation is now thread safe.
- #19 NSProgress is now used instead of blocks. Includes support for implicit progress composition, cancellation using progress objects, and more.

### Minor

- #39 Improve DFCompositeImageManager dispatch logic for preheating requests
- #36 Multiple preheating performance improvements. DFImageManager now automatically removes obsolete preheating tasks without even resuming them.
- #35 UI classes now accept nullable resources and requests (more convenient)
- #33 BUGFIX: Remove setNeedsUpdateConstrains call from DFImageView
- #30 UIImageView df_setImage: family of methods now return DFImageTask
- Make nullability annotations explicit; fixe nullability annotations in couple of places
- Other minor improvements that include consistent dot-syntax usage, making some properties copying and more
- Remove deprecated methods


# DFImageManager 0.5.0

`DFImageManager 0.5.0` brings [WebP](https://developers.google.com/speed/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
4 changes: 2 additions & 2 deletions DFImageManager.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "DFImageManager"
s.version = "0.6.0"
s.summary = "Advanced iOS framework for loading images. Zero config, yet immense customization and extensibility."
s.version = "0.7.0"
s.summary = "Advanced iOS framework for loading images. Zero config, yet immense customization and flexibility."
s.homepage = "https://github.com/kean/DFImageManager"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = "Alexander Grebenyuk"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

Advanced iOS framework for loading, caching, processing, displaying and preheating images. It uses latest advancements in iOS SDK and doesn't reinvent existing technologies. It provides a powerful API that will extend the capabilities of your app.

The DFImageManager is not just a loader, it is a pipeline for executing image requests using pluggable components. It also features [multiple subspecs](#install_using_cocopods) that automatically integrate things like [AFNetworking](https://github.com/AFNetworking/AFNetworking), [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage), [libwebp](https://developers.google.com/speed/webp/docs/api) and more.
DFImageManager is not just a loader, it's a pipeline for executing image requests using pluggable components. It also features [multiple subspecs](#install_using_cocopods) that automatically integrate things like [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage), [AFNetworking](https://github.com/AFNetworking/AFNetworking), [libwebp](https://developers.google.com/speed/webp/docs/api) and more.

1. [Getting Started](#h_getting_started)
2. [Usage](#h_usage)
Expand All @@ -31,7 +31,7 @@ The DFImageManager is not just a loader, it is a pipeline for executing image re
- Uses latest advancements in [Foundation URL Loading System](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html) including [NSURLSession](https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSession_class/) that supports [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2)
- Has basic built-in networking implementation, and optional [AFNetworking integration](#install_using_cocopods) (which should be your primary choice). Combine the power of both frameworks!
- Groups similar requests and never executes them twice
- [Intelligent preheating](https://github.com/kean/DFImageManager/wiki/Image-Preheating-Guide) of images that are close to the viewport
- [Intelligent preheating](https://github.com/kean/DFImageManager/wiki/Image-Preheating-Guide) of images close to the viewport
- Progress tracking using `NSProgress`

##### Caching
Expand All @@ -47,10 +47,10 @@ The DFImageManager is not just a loader, it is a pipeline for executing image re

##### Displaying
- Use UI components and UIKit categories
- Automatically manage requests priorities

##### Advanced
- Customize different parts of the framework using dependency injection
- Add custom image decoders
- Compose image tasks using `DFCompositeImageTask`. You might use it to show a low-resolution placeholder first and swap to a higher-res one when it is loaded. Or implement custom [revalidation policies](https://github.com/kean/DFImageManager/wiki/Advanced-Image-Caching-Guide#custom-revalidation-using-dfcompositeimagetask)
- Create custom image managers
- [Compose image managers](https://github.com/kean/DFImageManager/wiki/Extending-Image-Manager-Guide#using-dfcompositeimagemanager) into a tree of responsibility
Expand Down

0 comments on commit c4faead

Please sign in to comment.