diff --git a/CHANGELOG.md b/CHANGELOG.md
index 915858e6e..87b096943 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,13 @@
-----
+## [8.1.1 - Clean Completion](https://github.com/onevcat/Kingfisher/releases/tag/8.1.1) (2024-11-20)
+
+#### Fix
+* Resolved an issue where the completion handler could be called multiple times under certain circumstances, potentially leading to crashes if the download task is cancelled. [#2319](https://github.com/onevcat/Kingfisher/pull/2319) @onevcat
+
+---
+
## [8.1.0 - Live Photo](https://github.com/onevcat/Kingfisher/releases/tag/8.1.0) (2024-10-13)
#### Add
diff --git a/Kingfisher.podspec b/Kingfisher.podspec
index d63c4a966..9872bc4f0 100644
--- a/Kingfisher.podspec
+++ b/Kingfisher.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "Kingfisher"
- s.version = "8.1.0"
+ s.version = "8.1.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 89d1c8457..fd19a6d1c 100644
--- a/Kingfisher.xcodeproj/project.pbxproj
+++ b/Kingfisher.xcodeproj/project.pbxproj
@@ -1108,11 +1108,11 @@
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
- CURRENT_PROJECT_VERSION = 3016;
+ CURRENT_PROJECT_VERSION = 3035;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 3016;
+ DYLIB_CURRENT_VERSION = 3035;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = YES;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
@@ -1172,11 +1172,11 @@
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
- CURRENT_PROJECT_VERSION = 3016;
+ CURRENT_PROJECT_VERSION = 3035;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 3016;
+ DYLIB_CURRENT_VERSION = 3035;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = YES;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
diff --git a/Sources/Info.plist b/Sources/Info.plist
index 9f016b448..c45e938e2 100644
--- a/Sources/Info.plist
+++ b/Sources/Info.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 8.1.0
+ 8.1.1
CFBundleSignature
????
CFBundleVersion
- 3016
+ 3035
NSPrincipalClass
diff --git a/Tests/KingfisherTests/Info.plist b/Tests/KingfisherTests/Info.plist
index a4c8e2f04..81f1a00b4 100644
--- a/Tests/KingfisherTests/Info.plist
+++ b/Tests/KingfisherTests/Info.plist
@@ -15,10 +15,10 @@
CFBundlePackageType
BNDL
CFBundleShortVersionString
- 8.1.0
+ 8.1.1
CFBundleSignature
????
CFBundleVersion
- 3016
+ 3035