v1.2.1

diff --git a/CHANGELOG.md b/CHANGELOG.md
index a16729c..86498ad 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,8 @@
 
 ## [Unreleased]
 
+## [1.2.1] - 2025-03-17
+
 ### Added since 1.2.0
 
 * Add support for outputting all frames of an image sequence in `avifdec`. 
@@ -1225,7 +1227,8 @@
 - Constants `AVIF_VERSION`, `AVIF_VERSION_MAJOR`, `AVIF_VERSION_MINOR`, `AVIF_VERSION_PATCH`
 - `avifVersion()` function
 
-[Unreleased]: https://github.com/AOMediaCodec/libavif/compare/v1.2.0...HEAD
+[Unreleased]: https://github.com/AOMediaCodec/libavif/compare/v1.2.1...HEAD
+[1.2.1]: https://github.com/AOMediaCodec/libavif/compare/v1.2.0...v1.2.1
 [1.2.0]: https://github.com/AOMediaCodec/libavif/compare/v1.1.1...v1.2.0
 [1.1.1]: https://github.com/AOMediaCodec/libavif/compare/v1.1.0...v1.1.1
 [1.1.0]: https://github.com/AOMediaCodec/libavif/compare/v1.0.0...v1.1.0
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 515b5f9..c694a3e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,7 @@
     cmake_policy(SET CMP0169 OLD)
 endif()
 
-project(libavif LANGUAGES C VERSION 1.2.0)
+project(libavif LANGUAGES C VERSION 1.2.1)
 
 # The root directory of the avif source
 set(AVIF_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
@@ -56,7 +56,7 @@
 #     Increment PATCH.
 set(LIBRARY_VERSION_MAJOR 16)
 set(LIBRARY_VERSION_MINOR 2)
-set(LIBRARY_VERSION_PATCH 0)
+set(LIBRARY_VERSION_PATCH 1)
 set(LIBRARY_VERSION "${LIBRARY_VERSION_MAJOR}.${LIBRARY_VERSION_MINOR}.${LIBRARY_VERSION_PATCH}")
 set(LIBRARY_SOVERSION ${LIBRARY_VERSION_MAJOR})
 
diff --git a/README.md b/README.md
index e04c519..c96737a 100644
--- a/README.md
+++ b/README.md
@@ -148,7 +148,7 @@
 libraries (recommended):
 
 ```sh
-git clone -b v1.2.0 https://github.com/AOMediaCodec/libavif.git
+git clone -b v1.2.1 https://github.com/AOMediaCodec/libavif.git
 cmake -S libavif -B libavif/build -DAVIF_CODEC_AOM=SYSTEM -DAVIF_BUILD_APPS=ON
 cmake --build libavif/build --parallel
 ```
@@ -158,7 +158,7 @@
 For development and debugging purposes:
 
 ```sh
-git clone -b v1.2.0 https://github.com/AOMediaCodec/libavif.git
+git clone -b v1.2.1 https://github.com/AOMediaCodec/libavif.git
 cmake -S libavif -B libavif/build -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=OFF -DAVIF_CODEC_AOM=LOCAL -DAVIF_LIBYUV=LOCAL -DAVIF_LIBSHARPYUV=LOCAL -DAVIF_JPEG=LOCAL -DAVIF_ZLIBPNG=LOCAL -DAVIF_BUILD_APPS=ON
 cmake --build libavif/build --parallel
 ```
diff --git a/include/avif/avif.h b/include/avif/avif.h
index 581dbe0..c05b4c8 100644
--- a/include/avif/avif.h
+++ b/include/avif/avif.h
@@ -79,8 +79,8 @@
 // to leverage in-development code without breaking their stable builds.
 #define AVIF_VERSION_MAJOR 1
 #define AVIF_VERSION_MINOR 2
-#define AVIF_VERSION_PATCH 0
-#define AVIF_VERSION_DEVEL 1
+#define AVIF_VERSION_PATCH 1
+#define AVIF_VERSION_DEVEL 0
 #define AVIF_VERSION \
     ((AVIF_VERSION_MAJOR * 1000000) + (AVIF_VERSION_MINOR * 10000) + (AVIF_VERSION_PATCH * 100) + AVIF_VERSION_DEVEL)