diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3b91d8d74..a837a7e1b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,21 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-# [4.12.0]() (Upcoming)
+# [4.12.1]() (Upcoming)
+
+### Bug Fixes
+
+*
+
+### Features
+
+* bump snapshot version to 4.12.1 [#2058](https://github.com/web3j/web3j/pull/2058)
+
+### BREAKING CHANGES
+
+*
+
+# [4.12.0](https://github.com/hyperledger/web3j/releases/tag/v4.12.0) (2024-05-23)
### Bug Fixes
@@ -12,6 +26,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
### Features
* bump snapshot version to 4.11.4 [#2049](https://github.com/web3j/web3j/pull/2049)
+* Fixed DefaultFunctionEncoder calculating offset for nested StaticArray [#2054](https://github.com/web3j/web3j/pull/2054)
### BREAKING CHANGES
diff --git a/README.md b/README.md
index 9419959b0..3ec9adbcb 100644
--- a/README.md
+++ b/README.md
@@ -118,7 +118,7 @@ Java:
org.web3j
core
- 4.11.2
+ 4.12.0
```
@@ -128,7 +128,7 @@ Android:
org.web3j
core
- 4.8.7-android
+ 4.8.9-android
```
@@ -138,13 +138,13 @@ Gradle
Java:
```groovy
-implementation ('org.web3j:core:4.11.2')
+implementation ('org.web3j:core:4.12.0')
```
Android:
```groovy
-implementation ('org.web3j:core:4.8.7-android')
+implementation ('org.web3j:core:4.8.9-android')
```
Build instructions
diff --git a/build.gradle b/build.gradle
index c4ad35db8..de26630a3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -30,7 +30,7 @@ ext {
// test dependencies
equalsverifierVersion = '3.16.1'
junitVersion = '5.5.2'
- web3jUnitVersion = '4.11.3'
+ web3jUnitVersion = '4.12.0'
junitBenchmarkVersion = '0.7.2'
logbackVersion = '1.5.6'
mockitoJunitVersion = '3.1.0'
diff --git a/gradle.properties b/gradle.properties
index fd3f1e11f..6f1a039bc 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,2 @@
group=org.web3j
-version=4.12.0-SNAPSHOT
+version=4.12.1-SNAPSHOT