diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3c89e4782..4853e8504 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,14 @@
-----
+## [4.0.0 - Swift 4](https://github.com/onevcat/Kingfisher/releases/tag/4.0.0) (2017-09-14)
+
+#### Add
+* Supports for Swift 4. The new major version of Kingfisher should be source compatible with Kingfisher 3. Please make sure you have no warning left with Kingfisher related APIs before migrating to version 4, since all deprecated methods are removed from our code base. [#704](https://github.com/onevcat/Kingfisher/pull/704)
+* A cleaner API to track whether an image is cached and its cache type. Use `imageChachedType` and `CacheType.cached` instead of `isImageCached` and `CacheCheckResult`. [#704](https://github.com/onevcat/Kingfisher/pull/704/commits/38860911310931842f2d44e020204e894b7b2ae8)
+
+---
+
## [3.13.1 - Evil Setting](https://github.com/onevcat/Kingfisher/releases/tag/3.13.1) (2017-09-14)
#### Fix
diff --git a/Demo/Kingfisher-Demo/Info.plist b/Demo/Kingfisher-Demo/Info.plist
index ae1f30985..c16ae3003 100644
--- a/Demo/Kingfisher-Demo/Info.plist
+++ b/Demo/Kingfisher-Demo/Info.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
LSRequiresIPhoneOS
UILaunchStoryboardName
diff --git a/Demo/Kingfisher-macOS-Demo/Info.plist b/Demo/Kingfisher-macOS-Demo/Info.plist
index 33c4f4ec4..14ebcdbb4 100644
--- a/Demo/Kingfisher-macOS-Demo/Info.plist
+++ b/Demo/Kingfisher-macOS-Demo/Info.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
LSMinimumSystemVersion
$(MACOSX_DEPLOYMENT_TARGET)
NSHumanReadableCopyright
diff --git a/Demo/Kingfisher-tvOS-Demo/Info.plist b/Demo/Kingfisher-tvOS-Demo/Info.plist
index 2acf83b2b..da52c9e8c 100644
--- a/Demo/Kingfisher-tvOS-Demo/Info.plist
+++ b/Demo/Kingfisher-tvOS-Demo/Info.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
LSRequiresIPhoneOS
UIMainStoryboardFile
diff --git a/Demo/Kingfisher-watchOS-Demo Extension/Info.plist b/Demo/Kingfisher-watchOS-Demo Extension/Info.plist
index 79181105d..7a1812836 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.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
NSExtension
NSExtensionAttributes
diff --git a/Demo/Kingfisher-watchOS-Demo/Info.plist b/Demo/Kingfisher-watchOS-Demo/Info.plist
index 1f33feb6f..593f78721 100644
--- a/Demo/Kingfisher-watchOS-Demo/Info.plist
+++ b/Demo/Kingfisher-watchOS-Demo/Info.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
UISupportedInterfaceOrientations
UIInterfaceOrientationPortrait
diff --git a/Kingfisher.podspec b/Kingfisher.podspec
index 108ced7f3..0d828e9fb 100644
--- a/Kingfisher.podspec
+++ b/Kingfisher.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "Kingfisher"
- s.version = "3.13.1"
+ s.version = "4.0.0"
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 9f066f65c..706a1eaa7 100644
--- a/Kingfisher.xcodeproj/project.pbxproj
+++ b/Kingfisher.xcodeproj/project.pbxproj
@@ -2396,11 +2396,11 @@
APPLICATION_EXTENSION_API_ONLY = YES;
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_VERSION = A;
GCC_NO_COMMON_BLOCKS = YES;
@@ -2426,11 +2426,11 @@
APPLICATION_EXTENSION_API_ONLY = YES;
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_VERSION = A;
GCC_NO_COMMON_BLOCKS = YES;
@@ -2626,11 +2626,11 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Sources/Info.plist;
@@ -2658,11 +2658,11 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Sources/Info.plist;
@@ -2688,11 +2688,11 @@
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Sources/Info.plist;
@@ -2717,11 +2717,11 @@
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Sources/Info.plist;
@@ -2970,10 +2970,10 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -2997,10 +2997,10 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
- CURRENT_PROJECT_VERSION = 1120;
+ CURRENT_PROJECT_VERSION = 1147;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1120;
+ DYLIB_CURRENT_VERSION = 1147;
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 63ec82210..7bd0defec 100644
--- a/Sources/Info.plist
+++ b/Sources/Info.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
NSPrincipalClass
diff --git a/Tests/KingfisherTests-macOS/Info.plist b/Tests/KingfisherTests-macOS/Info.plist
index ccbd162dc..a69190f89 100644
--- a/Tests/KingfisherTests-macOS/Info.plist
+++ b/Tests/KingfisherTests-macOS/Info.plist
@@ -15,10 +15,10 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
diff --git a/Tests/KingfisherTests-tvOS/Info.plist b/Tests/KingfisherTests-tvOS/Info.plist
index ccbd162dc..a69190f89 100644
--- a/Tests/KingfisherTests-tvOS/Info.plist
+++ b/Tests/KingfisherTests-tvOS/Info.plist
@@ -15,10 +15,10 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147
diff --git a/Tests/KingfisherTests/Info.plist b/Tests/KingfisherTests/Info.plist
index ccbd162dc..a69190f89 100644
--- a/Tests/KingfisherTests/Info.plist
+++ b/Tests/KingfisherTests/Info.plist
@@ -15,10 +15,10 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 3.13.1
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
- 1120
+ 1147