diff --git a/docs/content/posts/2025-11-10-release-2.0.1.md b/docs/content/posts/2025-11-10-release-2.0.1.md
new file mode 100644
index 0000000000..c380004848
--- /dev/null
+++ b/docs/content/posts/2025-11-10-release-2.0.1.md
@@ -0,0 +1,169 @@
+---
+title: "Apache Flink 2.0.1 Release Announcement"
+date: "2025-11-10T00:01:00.000Z"
+aliases:
+- /news/2025/11/10/release-2.0.1.html
+authors:
+- zakelly:
+ name: "Zakelly Lan"
+
+---
+
+The Apache Flink Community is pleased to announce the first bug fix release of the Flink 2.0 series.
+
+This release includes 51 bug fixes, vulnerability fixes, and minor improvements for Flink 2.0.
+Below you will find a list of all bug fixes and improvements (excluding improvements to the build infrastructure and build stability). For a complete list of all changes, please see:
+[JIRA](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12355557).
+
+We highly recommend all users upgrade to Flink 2.0.1 or higher.
+
+# Release Artifacts
+
+## Maven Dependencies
+
+```xml
+
+ org.apache.flink
+ flink-java
+ 2.0.1
+
+
+ org.apache.flink
+ flink-streaming-java
+ 2.0.1
+
+
+ org.apache.flink
+ flink-clients
+ 2.0.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.0.1) (official images)
+* [apache/flink](https://hub.docker.com/r/apache/flink/tags?page=1&name=2.0.1) (ASF repository)
+
+## PyPi
+
+* [apache-flink==2.0.1](https://pypi.org/project/apache-flink/2.0.1/)
+
+# Release Notes
+
+ Release Notes - Flink - Version 2.0.1
+
+
Bug
+
+
+- [FLINK-16686] - [State TTL] Make user class loader available in native RocksDB compaction thread
+
+- [FLINK-30687] - FILTER not effect in count(*)
+
+- [FLINK-33926] - Can't start a job with a jar in the system classpath in native k8s mode
+
+- [FLINK-35117] - AsyncScalarFunction has a dependency issue.
+
+- [FLINK-37284] - ForwardForConsecutiveHashPartitioner cannot be chained in Adaptive batch.
+
+- [FLINK-37309] - Skewed join optimization not working as expected
+
+- [FLINK-37337] - Deploy script SQL Client in Embedded Mode to Kubernetes Results in FileNotFoundException
+
+- [FLINK-37350] - Memory leak caused by skewed join optimization strategy
+
+- [FLINK-37460] - Using State Processor API and Kafka Sink with Exactly once delivery leads to org.apache.kafka.common.errors.InvalidPidMappingException
+
+- [FLINK-37505] - Pyflink is not able to handle the new YAML based configs
+
+- [FLINK-37545] - StackOverflowError when using MetricGroup in custom WatermarkStrategy
+
+- [FLINK-37556] - OpenTelemetry reporter does not package all required classes
+
+- [FLINK-37557] - ResolvedSchema#getPrimaryKeyIndexes does not filter for physical columns
+
+- [FLINK-37576] - Batch job failed when submit JobGraph contains broadcast edge
+
+- [FLINK-37605] - SinkWriter may incorrectly infer end of input during rescale
+
+- [FLINK-37609] - Bump parquet libs to 1.15.1
+
+- [FLINK-37628] - Wrong reference counting in ForSt file cache
+
+- [FLINK-37670] - Watermark alignment can deadlock job if there are no more splits to be assigned
+
+- [FLINK-37747] - GlobalCommitterOperator cannot commit after scaling writer/committer
+
+- [FLINK-37760] - Bump parquet version to 1.15.2
+
+- [FLINK-37783] - TieredStorage doesn't work when Buffer Debloating is enabled
+
+- [FLINK-37803] - LocalTime without seconds is incorrectly serialized to SQL as a value literal
+
+- [FLINK-37820] - AsyncScalarFunction UDFs cannot be loaded via CompiledPlan
+
+- [FLINK-37833] - Code generated for binary key in BatchExecExchange causes incorrect shuffle
+
+- [FLINK-37856] - Sink option hints are not present in compiled plan
+
+- [FLINK-37867] - ForSt StateBackend fail to clean up files of the half-uploaded checkpoint when using path copying
+
+- [FLINK-37868] - Respect the `maxTransferBytes` when using path copying in ForSt
+
+- [FLINK-37870] - Unaligned checkpoint is disabled for all connections unexpectedly
+
+- [FLINK-38030] - Table.explainSql throw exception: xxx cannot be cast to class org.apache.flink.table.catalog.AbstractCatalog
+
+- [FLINK-38035] - Security Vulnerability in PyFlink Logging Mechanism (PythonEnvUtils.java)
+
+- [FLINK-38082] - User's async function timeout call may result in unexpected retries
+
+- [FLINK-38098] - When submitting a task with the flink run command, adding the -sae parameter will cause the task to be killed
+
+- [FLINK-38137] - RocksDB State Backend Null Serialization Causes NPE and Asymmetric (De)Serialization Logic
+
+- [FLINK-38195] - Some markdown syntax errors in tableApi page
+
+- [FLINK-38267] - Job cannot be recovered from unaligned checkpoint after rescaling when one task has multiple exchanges
+
+- [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-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-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
+
+- [FLINK-35622] - Filter out noisy "Coordinator of operator xxxx does not exist" exceptions in batch mode
+
+- [FLINK-37810] - update log4j to 2.24.3 to fix critical vulnerabilities
+
+
+
+ Improvement
+
+
+- [FLINK-33977] - Adaptive scheduler may not minimize the number of TMs during downscaling
+
+- [FLINK-37568] - Improve the method flatten of class GlobalConfiguration
+
+- [FLINK-37623] - Async state support for `process()` in Datastream API
+
+- [FLINK-37333] - Use ForwardForUnspecifiedPartitioner when adaptive broadcast join takes effect
+
+
\ No newline at end of file
diff --git a/docs/data/flink.yml b/docs/data/flink.yml
index 9cb486d3af..18ec7ff7aa 100644
--- a/docs/data/flink.yml
+++ b/docs/data/flink.yml
@@ -25,13 +25,13 @@
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"
- binary_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz"
- binary_release_asc_url: "https://downloads.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz.asc"
- binary_release_sha512_url: "https://downloads.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz.sha512"
- source_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.0.0/flink-2.0.0-src.tgz"
- source_release_asc_url: "https://downloads.apache.org/flink/flink-2.0.0/flink-2.0.0-src.tgz.asc"
- source_release_sha512_url: "https://downloads.apache.org/flink/flink-2.0.0/flink-2.0.0-src.tgz.sha512"
+ name: "Apache Flink 2.0.1"
+ binary_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.0.1/flink-2.0.1-bin-scala_2.12.tgz"
+ binary_release_asc_url: "https://downloads.apache.org/flink/flink-2.0.1/flink-2.0.1-bin-scala_2.12.tgz.asc"
+ binary_release_sha512_url: "https://downloads.apache.org/flink/flink-2.0.1/flink-2.0.1-bin-scala_2.12.tgz.sha512"
+ source_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.0.1/flink-2.0.1-src.tgz"
+ source_release_asc_url: "https://downloads.apache.org/flink/flink-2.0.1/flink-2.0.1-src.tgz.asc"
+ source_release_sha512_url: "https://downloads.apache.org/flink/flink-2.0.1/flink-2.0.1-src.tgz.sha512"
1.20:
name: "Apache Flink 1.20.3"
diff --git a/docs/data/release_archive.yml b/docs/data/release_archive.yml
index 077127369b..c56247172f 100644
--- a/docs/data/release_archive.yml
+++ b/docs/data/release_archive.yml
@@ -1,5 +1,9 @@
release_archive:
flink:
+ -
+ version_short: "2.0"
+ version_long: 2.0.1
+ release_date: 2025-11-10
-
version_short: "2.1"
version_long: 2.1.1