diff --git a/docs/content/2026-news.md b/docs/content/2026-news.md
index 9a9339a2..fecda3b5 100644
--- a/docs/content/2026-news.md
+++ b/docs/content/2026-news.md
@@ -1,6 +1,41 @@
# Changelog - 2026
+## 25.1.0 - 2026-02-12
+
+### New Features
+
+- **Dirty Stash**: Add global shared state between workers via `dirty.stash`
+ ([PR #3503](https://github.com/benoitc/gunicorn/pull/3503))
+ - In-memory key-value store accessible by all workers
+ - Supports get, set, delete, clear, keys, and has operations
+ - Useful for sharing state like feature flags, rate limits, or cached data
+
+- **Dirty Binary Protocol**: Implement efficient binary protocol for dirty arbiter IPC
+ using TLV (Type-Length-Value) encoding
+ ([PR #3500](https://github.com/benoitc/gunicorn/pull/3500))
+ - More efficient than JSON for binary data
+ - Supports all Python types: str, bytes, int, float, bool, None, list, dict
+ - Better performance for large payloads
+
+### Documentation
+
+- Fix Markdown formatting in /configure documentation
+
+---
+
+## 25.0.3 - 2026-02-07
+
+### Bug Fixes
+
+- Fix RuntimeError when StopIteration is raised inside ASGI response body
+ coroutine (PEP 479 compliance)
+
+- Fix deprecation warning for passing maxsplit as positional argument in
+ `re.split()` (Python 3.13+)
+
+---
+
## 25.0.2 - 2026-02-06
### Bug Fixes
diff --git a/docs/content/news.md b/docs/content/news.md
index 06e3e7cc..23545dd0 100644
--- a/docs/content/news.md
+++ b/docs/content/news.md
@@ -1,6 +1,29 @@
# Changelog
+## 25.1.0 - 2026-02-12
+
+### New Features
+
+- **Dirty Stash**: Add global shared state between workers via `dirty.stash`
+ ([PR #3503](https://github.com/benoitc/gunicorn/pull/3503))
+ - In-memory key-value store accessible by all workers
+ - Supports get, set, delete, clear, keys, and has operations
+ - Useful for sharing state like feature flags, rate limits, or cached data
+
+- **Dirty Binary Protocol**: Implement efficient binary protocol for dirty arbiter IPC
+ using TLV (Type-Length-Value) encoding
+ ([PR #3500](https://github.com/benoitc/gunicorn/pull/3500))
+ - More efficient than JSON for binary data
+ - Supports all Python types: str, bytes, int, float, bool, None, list, dict
+ - Better performance for large payloads
+
+### Documentation
+
+- Fix Markdown formatting in /configure documentation
+
+---
+
## 25.0.3 - 2026-02-07
### Bug Fixes
diff --git a/gunicorn/__init__.py b/gunicorn/__init__.py
index 5af18f22..13db58b9 100644
--- a/gunicorn/__init__.py
+++ b/gunicorn/__init__.py
@@ -2,7 +2,7 @@
# This file is part of gunicorn released under the MIT license.
# See the NOTICE for more information.
-version_info = (25, 0, 3)
+version_info = (25, 1, 0)
__version__ = ".".join([str(v) for v in version_info])
SERVER = "gunicorn"
SERVER_SOFTWARE = "%s/%s" % (SERVER, __version__)