diff --git a/CHANGELOG.md b/CHANGELOG.md index 786f5294e..fd5a1ca31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,28 @@ ----- +## [3.0.1 - New Age - Swift 3](https://github.com/onevcat/Kingfisher/releases/tag/3.0.1) (2016-09-14) + +#### Add +* Swift 3 compatibility. This version follows Swift 3 API design guideline as well as contains a lot of breaking changes from version 2.x. See [Kingfisher 3.0 Migration Guide](https://github.com/onevcat/Kingfisher/wiki/Kingfisher-3.0-Migration-Guide) for more about how to migrate your project to 3.0. Kingfisher 2.6.x is still supporting both Swift 2.2 and 2.3. +* Image Processor. Now you can specify an image processor and it will be used to process images after downloaded. It is useful when you need to apply some transforming or filter to the image. You can also use the processor to support any other image format, like WebP. See [Processor](https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet#processor) section in the wiki for more. The default processor should behave the same as before. [#420](https://github.com/onevcat/Kingfisher/pull/420) +* Built-in processors from simple round corner and resizing to filters like tint and blur. Check [Built-in processors of Kingfisher](https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet#built-in-processors-of-kingfisher) for more. +* Cache Serializer. [CacheSerializer](https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet#serializer) will be used to convert some data to an image object for retrieving from disk cache and vice versa for storing to disk cache. +* New indicator type. Now you should be able to use your own indicators. [#430](https://github.com/onevcat/Kingfisher/pull/430) +* ImageDownloadRequestModifier. Use this protocol to modify requests being sent to your server. + +#### Fix +* Resource is now a protocol instead of a struct. Use `ImageResource` for your original `Resource` type. And now `URL` conforms `Resource` so the APIs could be clearer. +* Now Kingfisher cache will store re-encoded image data instead of the original data by default. This is needed due to we want to store the processed data from `ImageProcessor`. If this is not what you want, you should supply your customized instanse of `CacheSerializer`. + +#### Remove +* KingfisherManager.init is removed since you should never create your own manager. +* cachedImageExistsforURL in `ImageCache` is removed since it introduced unnecessary coupling. Use `isImageCached` instead. +* requestModifier` is removed. Use `.requestModifier` and pass a `ImageDownloadRequestModifier`. +* kf_showIndicatorWhenLoading is removed since we have a better and flexible way to use indicator by `kf_indicatorType`. + +--- + ## [3.0.0 - New Age - Swift 3](https://github.com/onevcat/Kingfisher/releases/tag/3.0.0) (2016-09-14) #### Add diff --git a/Demo/Kingfisher-Demo/Info.plist b/Demo/Kingfisher-Demo/Info.plist index f70103986..4f5eb8556 100644 --- a/Demo/Kingfisher-Demo/Info.plist +++ b/Demo/Kingfisher-Demo/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 LSRequiresIPhoneOS UILaunchStoryboardName diff --git a/Demo/Kingfisher-macOS-Demo/Info.plist b/Demo/Kingfisher-macOS-Demo/Info.plist index 248757763..910652fc2 100644 --- a/Demo/Kingfisher-macOS-Demo/Info.plist +++ b/Demo/Kingfisher-macOS-Demo/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright diff --git a/Demo/Kingfisher-tvOS-Demo/Info.plist b/Demo/Kingfisher-tvOS-Demo/Info.plist index 5ba67acef..dbb048a52 100644 --- a/Demo/Kingfisher-tvOS-Demo/Info.plist +++ b/Demo/Kingfisher-tvOS-Demo/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 LSRequiresIPhoneOS UIMainStoryboardFile diff --git a/Demo/Kingfisher-watchOS-Demo Extension/Info.plist b/Demo/Kingfisher-watchOS-Demo Extension/Info.plist index 69962639e..7c64cf4a1 100644 --- a/Demo/Kingfisher-watchOS-Demo Extension/Info.plist +++ b/Demo/Kingfisher-watchOS-Demo Extension/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 NSExtension NSExtensionAttributes diff --git a/Demo/Kingfisher-watchOS-Demo/Info.plist b/Demo/Kingfisher-watchOS-Demo/Info.plist index 9e051e378..c088b9d7e 100644 --- a/Demo/Kingfisher-watchOS-Demo/Info.plist +++ b/Demo/Kingfisher-watchOS-Demo/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/Kingfisher.podspec b/Kingfisher.podspec index c0877ebc9..91526e44b 100644 --- a/Kingfisher.podspec +++ b/Kingfisher.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "Kingfisher" - s.version = "3.0.0" + s.version = "3.0.1" s.summary = "A lightweight and pure Swift implemented library for downloading and cacheing image from the web." s.description = <<-DESC diff --git a/Kingfisher.xcodeproj/project.pbxproj b/Kingfisher.xcodeproj/project.pbxproj index adef77498..6c96b876f 100644 --- a/Kingfisher.xcodeproj/project.pbxproj +++ b/Kingfisher.xcodeproj/project.pbxproj @@ -2334,11 +2334,11 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_VERSION = A; GCC_NO_COMMON_BLOCKS = YES; @@ -2362,11 +2362,11 @@ APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_VERSION = A; GCC_NO_COMMON_BLOCKS = YES; @@ -2538,11 +2538,11 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Info.plist; @@ -2567,11 +2567,11 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Info.plist; @@ -2594,11 +2594,11 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Info.plist; @@ -2620,11 +2620,11 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = Sources/Info.plist; @@ -2840,10 +2840,10 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = Sources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -2866,10 +2866,10 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CURRENT_PROJECT_VERSION = 835; + CURRENT_PROJECT_VERSION = 838; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 835; + DYLIB_CURRENT_VERSION = 838; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = Sources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/Sources/Info.plist b/Sources/Info.plist index 8c96e94ec..232b2713a 100644 --- a/Sources/Info.plist +++ b/Sources/Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 NSPrincipalClass diff --git a/Tests/KingfisherTests-macOS/Info.plist b/Tests/KingfisherTests-macOS/Info.plist index 6c3100692..ca2ea7f64 100644 --- a/Tests/KingfisherTests-macOS/Info.plist +++ b/Tests/KingfisherTests-macOS/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 diff --git a/Tests/KingfisherTests-tvOS/Info.plist b/Tests/KingfisherTests-tvOS/Info.plist index 6c3100692..ca2ea7f64 100644 --- a/Tests/KingfisherTests-tvOS/Info.plist +++ b/Tests/KingfisherTests-tvOS/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838 diff --git a/Tests/KingfisherTests/Info.plist b/Tests/KingfisherTests/Info.plist index 6c3100692..ca2ea7f64 100644 --- a/Tests/KingfisherTests/Info.plist +++ b/Tests/KingfisherTests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion - 835 + 838