diff --git a/CHANGELOG.md b/CHANGELOG.md
index 77f4f57..779db05 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
 # Changelog
 Changelog for FrostFS Contract
 
+
 ## [Unreleased]
 
 ### Added
@@ -9,6 +10,21 @@ Changelog for FrostFS Contract
 ### Updated
 ### Fixed
 
+## [0.21.0]
+
+### Added
+- Mention domain name in error messages in the nns contract (#92)
+- Emit DeleteRecord event on record deletion in the nns contract (#114)
+
+### Changed
+- Allow to register TLD automatically (#114)
+- Use frostfsid claims as a permission to create TLD (#115)
+- Ensure subject keys are unique (#118, #129)
+
+### Fixed
+- Terminate session in `ReadIteratorItems()` (#85)
+- Declare `nns.getAllRecords` as safe (#131)
+
 ## [0.20.0]
 
 ### Added
diff --git a/VERSION b/VERSION
index 1847373..759e855 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-v0.20.0
+v0.21.0
diff --git a/common/version.go b/common/version.go
index b177416..d599646 100644
--- a/common/version.go
+++ b/common/version.go
@@ -4,15 +4,15 @@ import "github.com/nspcc-dev/neo-go/pkg/interop/native/std"
 
 const (
 	major = 0
-	minor = 20
+	minor = 21
 	patch = 0
 
 	// Versions from which an update should be performed.
 	// These should be used in a group (so prevMinor can be equal to minor if there are
 	// any migration routines.
 	prevMajor = 0
-	prevMinor = 19
-	prevPatch = 3
+	prevMinor = 20
+	prevPatch = 0
 
 	Version = major*1_000_000 + minor*1_000 + patch