diff --git a/docs/config.toml b/docs/config.toml
index 581b92a26d..c609b7be5b 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -43,7 +43,7 @@ posts = "/:year/:month/:day/:title/"
# 4. Copy the invitation link by clicking on "Copy invite link".
FlinkSlackInviteUrl = "https://join.slack.com/t/apache-flink/shared_invite/zt-354yyl9vm-LJBlnpbcU~8K_TyIWUhfag"
- FlinkStableVersion = "2.1.0"
+ FlinkStableVersion = "2.1.1"
FlinkStableShortVersion = "2.1"
FlinkLTSShortVersion = "1.20"
StateFunStableVersion = "3.3.0"
diff --git a/docs/content/posts/2025-11-10-release-2.1.1.md b/docs/content/posts/2025-11-10-release-2.1.1.md
new file mode 100644
index 0000000000..6fae6e549a
--- /dev/null
+++ b/docs/content/posts/2025-11-10-release-2.1.1.md
@@ -0,0 +1,114 @@
+---
+title: "Apache Flink 2.1.1 Release Announcement"
+date: "2025-11-10T00:00:00.000Z"
+aliases:
+- /news/2025/11/10/release-2.1.1.html
+authors:
+- gaborgsomogyi:
+ name: "Gabor Somogyi"
+
+---
+
+The Apache Flink Community is pleased to announce the first bug fix release of the Flink 2.1 series.
+
+This release includes 25 bug fixes, vulnerability fixes, and minor improvements for Flink 2.1.
+Below you will find a list of all bugfixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes see:
+[JIRA](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12356162).
+
+We highly recommend all users upgrade to Flink 2.1.1 or higher.
+
+# Release Artifacts
+
+## Maven Dependencies
+
+```xml
+
+ org.apache.flink
+ flink-java
+ 2.1.1
+
+
+ org.apache.flink
+ flink-streaming-java
+ 2.1.1
+
+
+ org.apache.flink
+ flink-clients
+ 2.1.1
+
+```
+
+## Binaries
+
+You can find the binaries on the updated [Downloads page]({{< relref "downloads" >}}).
+
+## Docker Images
+
+* [library/flink](https://hub.docker.com/_/flink/tags?page=1&name=2.1.1) (official images)
+* [apache/flink](https://hub.docker.com/r/apache/flink/tags?page=1&name=2.1.1) (ASF repository)
+
+## PyPi
+
+* [apache-flink==2.1.1](https://pypi.org/project/apache-flink/2.1.1/)
+
+# Release Notes
+
+
+ Release Notes - Flink - Version 2.1.1
+
+
Bug
+
+
+- [FLINK-34094] - Document new AsyncScalarFunction
+
+- [FLINK-38149] - Convert COLUMN_LIST to DescriptorType
+
+- [FLINK-38219] - Manipulate state in MultiJoin with fixed row kind
+
+- [FLINK-38220] - Adjust JoinToMultiJoinRule to support different types of source
+
+- [FLINK-16686] - [State TTL] Make user class loader available in native RocksDB compaction thread
+
+- [FLINK-38020] - NonTimeRangeUnboundedPrecedingFunction failing with NPE
+
+- [FLINK-38035] - Security Vulnerability in PyFlink Logging Mechanism (PythonEnvUtils.java)
+
+- [FLINK-38137] - RocksDB State Backend Null Serialization Causes NPE and Asymmetric (De)Serialization Logic
+
+- [FLINK-38267] - Job cannot be recovered from unaligned checkpoint after rescaling when one task has multiple exchanges
+
+- [FLINK-38272] - The BatchJobRecoveryTest failed of azure cron adaptive scheduler pipeline
+
+- [FLINK-38286] - MAP function with duplicate keys produces non-deterministic results
+
+- [FLINK-38319] - TO_TIMESTAMP_LTZ only accepts literal values in PyFlink
+
+- [FLINK-38327] - NPE during recovery from file-merged checkpoint after FO
+
+- [FLINK-38332] - Upgrade pemja to 0.5.5
+
+- [FLINK-38336] - Unexpected data copy during failover for ForSt statebackend
+
+- [FLINK-38344] - The local files of the HistoryServer may risk never being deleted.
+
+- [FLINK-38347] - Checkpoint file-merging manager may delete the directory unexpectedly when some RPC messages lost
+
+- [FLINK-38370] - CommitterOperator does not checkpoint all pending committables
+
+- [FLINK-38400] - STDDEV/VAR function with FILTER condition may cause wrong result
+
+- [FLINK-38415] - IndexOutOfBoundsException occasionally occurs after rocksdb.use-ingest-db-restore-mode is enabled
+
+- [FLINK-38433] - Avoid delete ForSt's directory when there happened to be an existing one
+
+- [FLINK-38483] - Job cannot be recovered from unaligned checkpoint , exception: Cannot get old subtasks from a descriptor that represents no state
+
+
+
+ Improvement
+
+
+- [FLINK-38193] - Upgrade org.apache.commons:commons-lang3 from 3.12.0 to 3.18.0 to mitigate CVE-2025-48924
+
+
diff --git a/docs/data/flink.yml b/docs/data/flink.yml
index fb907ca919..9cb486d3af 100644
--- a/docs/data/flink.yml
+++ b/docs/data/flink.yml
@@ -16,13 +16,13 @@
# under the License
2.1:
- name: "Apache Flink 2.1.0"
- binary_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.1.0/flink-2.1.0-bin-scala_2.12.tgz"
- binary_release_asc_url: "https://downloads.apache.org/flink/flink-2.1.0/flink-2.1.0-bin-scala_2.12.tgz.asc"
- binary_release_sha512_url: "https://downloads.apache.org/flink/flink-2.1.0/flink-2.1.0-bin-scala_2.12.tgz.sha512"
- source_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.1.0/flink-2.1.0-src.tgz"
- source_release_asc_url: "https://downloads.apache.org/flink/flink-2.1.0/flink-2.1.0-src.tgz.asc"
- source_release_sha512_url: "https://downloads.apache.org/flink/flink-2.1.0/flink-2.1.0-src.tgz.sha512"
+ name: "Apache Flink 2.1.1"
+ binary_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.1.1/flink-2.1.1-bin-scala_2.12.tgz"
+ binary_release_asc_url: "https://downloads.apache.org/flink/flink-2.1.1/flink-2.1.1-bin-scala_2.12.tgz.asc"
+ binary_release_sha512_url: "https://downloads.apache.org/flink/flink-2.1.1/flink-2.1.1-bin-scala_2.12.tgz.sha512"
+ source_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.1.1/flink-2.1.1-src.tgz"
+ source_release_asc_url: "https://downloads.apache.org/flink/flink-2.1.1/flink-2.1.1-src.tgz.asc"
+ source_release_sha512_url: "https://downloads.apache.org/flink/flink-2.1.1/flink-2.1.1-src.tgz.sha512"
2.0:
name: "Apache Flink 2.0.0"
diff --git a/docs/data/release_archive.yml b/docs/data/release_archive.yml
index 4e4cd31197..077127369b 100644
--- a/docs/data/release_archive.yml
+++ b/docs/data/release_archive.yml
@@ -1,5 +1,9 @@
release_archive:
flink:
+ -
+ version_short: "2.1"
+ version_long: 2.1.1
+ release_date: 2025-11-10
-
version_short: "2.1"
version_long: 2.1.0