diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0da215b59c..a32af2a52b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,14 @@
+
+## [1.11.2](https://github.com/rime/librime/compare/1.11.1...1.11.2) (2024-04-27)
+
+
+### Bug Fixes
+
+* caret_pos is before caret character ([f5df6cd](https://github.com/rime/librime/commit/f5df6cd)), closes [#860](https://github.com/rime/librime/issues/860)
+* **switch_translator:** skip switches with no state labels ([ce77835](https://github.com/rime/librime/commit/ce77835)), closes [#866](https://github.com/rime/librime/issues/866) [#640](https://github.com/rime/librime/issues/640)
+
+
+
## [1.11.1](https://github.com/rime/librime/compare/1.11.0...1.11.1) (2024-04-25)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ad68867f8..53f9d5374c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.12)
project(rime)
set(CMAKE_CXX_STANDARD 17)
-set(rime_version 1.11.1)
+set(rime_version 1.11.2)
set(rime_soversion 1)
add_definitions(-DRIME_VERSION="${rime_version}")
diff --git a/package.json b/package.json
index a637925840..5c5ddf23aa 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "librime",
- "version": "1.11.1",
+ "version": "1.11.2",
"description": "Rime Input Method Engine",
"main": "index.js",
"directories": {