This is an automated email from the ASF dual-hosted git repository.

guoweijie pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/flink-web.git

commit f123213116fe587055013660c394c48aeb4aa829
Author: Weijie Guo <[email protected]>
AuthorDate: Mon Jul 15 20:21:11 2024 +0800

    Add 1.20 release announcement
---
 docs/config.toml                                |   4 +-
 docs/content/posts/2024-08-02-release-1.20.0.md | 553 ++++++++++++++++++++++++
 docs/data/flink.yml                             |  30 +-
 docs/data/release_archive.yml                   |   4 +
 4 files changed, 569 insertions(+), 22 deletions(-)

diff --git a/docs/config.toml b/docs/config.toml
index 337a21e19..d0337bcaf 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -43,8 +43,8 @@ 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-2k0fdioxx-D0kTYYLh3pPjMu5IItqx3Q";
 
-  FlinkStableVersion = "1.19.1"
-  FlinkStableShortVersion = "1.19"
+  FlinkStableVersion = "1.20.0"
+  FlinkStableShortVersion = "1.20"
   StateFunStableVersion = "3.3.0"
   StateFunStableShortVersion = "3.3"
   FlinkMLStableVersion = "2.3.0"
diff --git a/docs/content/posts/2024-08-02-release-1.20.0.md 
b/docs/content/posts/2024-08-02-release-1.20.0.md
new file mode 100644
index 000000000..744a18f4e
--- /dev/null
+++ b/docs/content/posts/2024-08-02-release-1.20.0.md
@@ -0,0 +1,553 @@
+---
+authors:
+- reswqa:
+  name: "Weijie Guo"
+  twitter: "WeijieGuo12"
+- 1996fanrui:
+  name: "Rui Fan"
+  twitter: "1996fanrui"
+
+date: "2024-08-02T08:00:00Z"
+subtitle: ""
+title: Announcing the Release of Apache Flink 1.20
+aliases:
+- /news/2024/08/02/release-1.20.0.html
+---
+
+The Apache Flink PMC is pleased to announce the release of Apache Flink 
1.20.0. As usual, we are
+looking at a packed release with a wide variety of improvements and new 
features. Overall, 142
+people contributed to this release completing 13 FLIPs and 300+ issues. Thank 
you!
+
+Let's dive into the highlights.
+
+# Standing on the Eve of Apache Flink 2.0
+
+Flink 1.0 was released eight years ago. Since several months, the community is 
actively planning and taking steps towards
+the next major release. The new 1.20 release is planned to be the last minor 
release before Flink 2.0, which is anticipated by the end of 2024.
+
+Start from Flink 1.19, the community has decided to officially deprecate 
multiple APIs that were approaching 
+end of life for a while. In 1.20, we further sorted through all relevant APIs 
that might need to be replaced
+or deprecated to clear the way for the 2.0 release:
+- Configuration Improvements: As Flink moves towards version 2.0, we have 
revisited all runtime & Table API/SQL 
+configuration options and identified several opportunities to enhance 
user-friendliness and maintainability.
+- Deprecate the Legacy 
[SinkFunction](https://nightlies.apache.org/flink/flink-docs-release-1.20/api/java/org/apache/flink/streaming/api/functions/sink/SinkFunction.html)
 API: Since its introduction in Flink 1.12, the [Unified Sink 
API](https://nightlies.apache.org/flink/flink-docs-release-1.20/api/java/org/apache/flink/api/connector/sink2/Sink.html)
+has undergone extensive development and testing. Over multiple release cycles, 
the API has demonstrated
+stability and robustness, aligning with the criteria set forth in 
[FLIP-197](https://cwiki.apache.org/confluence/x/J5eqCw) for API stability 
graduation.
+Therefore, we promote the Unified Sink API v2 to `@Public` and deprecate the 
legacy `SinkFunction` interface.
+
+It has been eight years since the Flink community's last major release, and we 
have great expectations for Flink 2.0.
+We are planning to release several high-impact features in `2.x`. Some of them 
are already introduced in Flink 1.20 in MVP (minimum viable product) state and 
discussed in more detail below.
+- Introduce a New Materialized Table for Simplifying Data Pipelines: 
[FLIP-435](https://cwiki.apache.org/confluence/x/HYySEQ) designed to simplify 
the development of
+data processing pipelines. With dynamic table, uniform SQL statements and 
freshness, users can define batch
+and streaming transformations to data in the same way, accelerate ETL pipeline 
development, and manage task scheduling
+automatically. See below for more details on this exciting feature.
+- Unified File Merging Mechanism for Checkpoints: The unified file merging 
mechanism for checkpointing is introduced to
+Flink 1.20 as an MVP feature, which allows scattered small checkpoint files to 
be written into larger files, reducing
+the number of file creations and file deletions and alleviating the pressure 
of file system metadata management raised by
+the file flooding problem (large number of small files are created) during 
checkpoints. For the whole story and more details, please refer to 
[FLIP-306](https://cwiki.apache.org/confluence/x/DwsNDw).
+
+# Flink SQL Improvements
+
+## Introduce Materialized Tables
+
+In Flink 1.20, We introduced Materialized Tables abstraction in Flink SQL, a 
new table type designed to simplify both batch and stream
+data pipelines, while providing a consistent development experience.
+
+Materialized tables are defined with a query and a data freshness 
specification. The engine automatically derives the table
+schema and creates a data refresh pipeline to maintain the query result with 
the requested freshness. Users are relieved from
+the burden of comprehending the concepts and differences between streaming and 
batch processing, and they do not have to directly
+maintain Flink streaming or batch jobs. All operations are done on 
Materialized tables, which can significantly accelerate ETL pipeline
+development.
+
+Here is an example to create a materialized table that is constantly refreshed 
with a data freshness of `3` minutes.
+
+```sql
+-- 1. Create table schema and data refresh pipeline
+CREATE MATERIALIZED TABLE dwd_orders
+(
+ PRIMARY KEY(ds, id) NOT ENFORCED
+)
+PARTITIONED BY (ds)
+FRESHNESS = INTERVAL '3' MINUTE
+AS SELECT 
+ o.ds
+ o.id,
+ o.order_number,
+ o.user_id,
+...
+FROM 
+ orders as o
+ LEFT JOIN products FOR SYSTEM_TIME AS OF proctime() AS prod
+ ON o.product_id = prod.id
+ LEFT JOIN order_pay AS pay
+ ON o.id = pay.order_id and o.ds = pay.ds;
+
+-- 2. Pause the data refresh pipeline
+ALTER MATERIALIZED TABLE dwd_orders SUSPEND;
+
+-- 3. Resume the data refresh pipeline
+ALTER MATERIALIZED TABLE dwd_orders RESUME
+-- Set table option via WITH clause
+WITH(
+ 'sink.parallesim' = '10'
+);
+
+-- Refresh historical partition manually
+ALTER MATERIALIZED TABLE dwd_orders REFRESH PARTITION(ds='20231023');
+```
+
+**More Information**
+* [FLINK-35187](https://issues.apache.org/jira/browse/FLINK-35187)
+* [FLIP-435](https://cwiki.apache.org/confluence/x/HYySEQ)
+* [Materialized Table 
Overview](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/table/materialized-table/overview/)
+
+
+## Introduce Catalog-Related Syntax
+
+With the growing adoption of Flink SQL, implementations of Flink's `Catalog` 
interface play an increasingly important role. Today, Flink features a JDBC and 
a Hive catalog implementation and other open source projects such as Apache 
Paimon integrate with this interface as well.
+
+Now in Flink 1.20, you can use the `DQL` syntax to obtain detailed metadata 
from existing catalogs, and the
+`DDL` syntax to modify metadata such as properties or comment in the specified 
catalog.
+
+```sql
+Flink SQL> CREATE CATALOG `cat` WITH ('type'='generic_in_memory', 
'default-database'='db');
+[INFO] Execute statement succeeded.
+
+Flink SQL> SHOW CREATE CATALOG `cat`;
++---------------------------------------------------------------------------------------------+
+|                                                                              
        result |
++---------------------------------------------------------------------------------------------+
+| CREATE CATALOG `cat` WITH (
+  'default-database' = 'db',
+  'type' = 'generic_in_memory'
+)
+|
++---------------------------------------------------------------------------------------------+
+1 row in set
+
+Flink SQL> DESCRIBE CATALOG `cat`;
++-----------+-------------------+
+| info name |        info value |
++-----------+-------------------+
+|      name |               cat |
+|      type | generic_in_memory |
+|   comment |                   |
++-----------+-------------------+
+3 rows in set
+
+Flink SQL> ALTER CATALOG `cat` SET ('default-database'='new-db');
+[INFO] Execute statement succeeded.
+
+Flink SQL> SHOW CREATE CATALOG `cat`;
++-------------------------------------------------------------------------------------------------+
+|                                                                              
            result |
++-------------------------------------------------------------------------------------------------+
+| CREATE CATALOG `cat` WITH (
+  'default-database' = 'new-db',
+  'type' = 'generic_in_memory'
+)
+|
++-------------------------------------------------------------------------------------------------+
+1 row in set
+```
+
+**More Information**
+* [FLINK-34914](https://issues.apache.org/jira/browse/FLINK-34914)
+* [FLIP-436](https://cwiki.apache.org/confluence/x/xAmpEQ)
+
+
+## Add DISTRIBUTED BY Clause
+
+Many SQL engines expose the concepts of `Partitioning`, `Bucketing`, or 
`Clustering`. We propose to introduce
+the concept of `Bucketing` to Flink.
+
+Buckets enable load balancing in an external storage system by splitting data 
into disjoint subsets. It depends
+heavily on the semantics of the underlying connector. However, a user can 
influence the bucketing behavior by
+specifying the number of buckets, the distribution algorithm, and (if the 
algorithm allows it) the columns which 
+are used for target bucket calculation. All bucketing components (i.e. bucket 
number, distribution algorithm, bucket key columns)
+are optional in the SQL syntax.
+
+Take the following SQL statements as an example:
+
+```sql
+-- declares a hash function on a fixed number of 4 buckets (i.e. HASH(uid) % 4 
= target bucket).
+CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED BY HASH(uid) INTO 4 
BUCKETS;
+
+-- leaves the selection of an algorithm up to the connector.
+CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED BY (uid) INTO 4 
BUCKETS;
+
+-- leaves the number of buckets up to the connector.
+CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED BY (uid);
+
+-- only defines the number of buckets.
+CREATE TABLE MyTable (uid BIGINT, name STRING) DISTRIBUTED INTO 4 BUCKETS;
+```
+
+**More Information**
+* [FLINK-33494](https://issues.apache.org/jira/browse/FLINK-33494)
+* [FLIP-376](https://cwiki.apache.org/confluence/x/loxEE)
+* 
[Documentation](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/table/sql/create/#distributed)
+
+# State & Checkpoint Improvements
+
+## Unified File Merging Mechanism for Checkpoints
+
+The unified file merging mechanism for checkpointing is introduced to Flink 
1.20 as an MVP ("minimum viable product") feature.
+It combines multiple small checkpoint files into fewer larger files, which 
reduces the number of file creation
+and file deletion operations and alleviates the pressure of file system 
metadata management during checkpoints.
+
+The mechanism can be enabled by setting 
`execution.checkpointing.file-merging.enabled` to `true`. For more advanced 
options
+and the principles behind this feature, please refer to the Checkpointing 
documentation.
+
+**More Information**
+* [FLINK-33494](https://issues.apache.org/jira/browse/FLINK-32070)
+* [FLIP-306](https://cwiki.apache.org/confluence/x/DwsNDw)
+* 
[Documentation](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/datastream/fault-tolerance/checkpointing/#unify-file-merging-mechanism-for-checkpoints-experimental)
+
+## Compaction of Small SST Files
+
+In some cases, the number of files produced by the RocksDB state backend grows 
indefinitely. In addition to the overhead caused by many small files,
+this behavior can cause the task state info to exceed the RPC message size 
limit and therefore lead to recovery or checkpoint failures.
+
+From release 1.20 on, Flink can merge such files in the background using the 
RocksDB API.
+
+**More Information**
+* [FLINK-26050](https://issues.apache.org/jira/browse/FLINK-26050)
+
+# Batch Processing Improvements
+
+## Support Job Recovery from JobMaster Failures for Batch Jobs
+
+In Flink 1.20, we introduced a batch job recovery mechanism to enable batch 
jobs to recover as much progress as possible 
+after a `JobMaster` failover, avoiding the need to rerun tasks that have 
already finished.
+
+**More Information**
+* [FLINK-33892](https://issues.apache.org/jira/browse/FLINK-33892)
+* [FLIP-383](https://cwiki.apache.org/confluence/x/QwqZE)
+* 
[Documentation](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/ops/batch/recovery_from_job_master_failure/)
+
+## Support Dynamic Parallelism Inference for HiveSource
+
+In Flink 1.20, we added support for dynamic source parallelism inference in 
batch jobs for the `Hive` source connector. 
+This allows the connector to dynamically determine parallelism based on the 
actual partitions with dynamic partition pruning. 
+Additionally, we have introduced a new configuration option - 
`table.exec.hive.infer-source-parallelism.mode` to enable users
+to choose between static and dynamic inference modes for source parallelism.
+
+It should be noted that in Flink 1.20, the previous configuration option 
`table.exec.hive.infer-source-parallelism` has been 
+marked as deprecated, but it will continue to serve as a switch for automatic 
parallelism inference until it is fully phased out.
+
+**More Information**
+* [FLINK-35293](https://issues.apache.org/jira/browse/FLINK-35293)
+* [FLIP-445](https://cwiki.apache.org/confluence/x/Hgr9EQ)
+
+# DataStream API Improvements
+
+The `DataSet` API has been already formally deprecated and will be removed in 
the Flink 2.0 version. 
+Flink users are recommended to migrate from the `DataSet` API to the 
`DataStream` API, `Table` API and `SQL` for their data 
+processing requirements.
+
+## Support Full Partition Processing on DataStream API
+
+Before 1.20, the `DataStream` API did not directly support aggregations on 
non-keyed streams (subtask-scope aggregations). 
+As a workaround, users could assign the subtask id to the records before 
turning the stream into a keyed stream which incurred additional overhead.
+Flink 1.20 adds built-in support for these operations via the 
`FullPartitionWindow` API.
+
+Suppose we want to count the number of records in each partition and output to 
a downstream operator. This can be done as follows:
+
+```java
+inputStream.fullWindowPartition()
+                .mapPartition(
+         new MapPartitionFunction<Record, Long>() {
+                    @Override
+                    public void mapPartition(
+                            Iterable<Record> values, Collector<Long> out)
+                            throws Exception {
+                        long counter = 0;
+                        for (Record value : values) {
+                            counter++;
+                        }
+                        out.collect(counter));
+                    }
+          })
+```
+
+**More Information**
+* [FLINK-34543](https://issues.apache.org/jira/browse/FLINK-34543)
+* [FLIP-380](https://cwiki.apache.org/confluence/x/0gt1E)
+
+# Important Configuration Changes for Flink 2.0
+
+As Apache Flink progresses to version 2.0, several configuration options are 
being changed or deprecated to 
+improve ease-of-use and maintainability.
+
+## Using Proper Type for Configuration Options
+
+Some configuration options like `client.heartbeat.interval` has been updated 
to the `Duration` type in a backward-compatible manner. 
+The full list is available in 
[FLINK-35359](https://issues.apache.org/jira/browse/FLINK-35359).
+
+The following configuration options have been updated to the `Enum` type in a 
backward-compatible manner:
+- `taskmanager.network.compression.codec`
+- `table.optimizer.agg-phase-strategy`
+
+The following configuration options have been updated to the `Int` type in a 
backward-compatible manner:
+- `yarn.application-attempts`
+
+**More Information**
+* [FLINK-35359](https://issues.apache.org/jira/browse/FLINK-35359)
+
+## Deprecate Multiple Configuration Options
+
+In preparation for the release of Flink 2.0, the community has decided to 
officially deprecate
+multiple configuration options that were approaching end of life for a while.
+
+The following configuration options have been deprecated and will be removed 
in Flink 2.0 as we are phasing out the hash-based blocking shuffle:
+- `taskmanager.network.sort-shuffle.min-parallelism`
+- `taskmanager.network.blocking-shuffle.type`
+
+The following configuration options have been deprecated and will be removed 
in Flink 2.0 as we are phasing out the legacy hybrid shuffle:
+- `taskmanager.network.hybrid-shuffle.spill-index-region-group-size`
+- `taskmanager.network.hybrid-shuffle.num-retained-in-memory-regions-max`
+- `taskmanager.network.hybrid-shuffle.enable-new-mode`
+
+The following configuration options have been deprecated to simply the 
configuration of network buffers:
+- `taskmanager.network.memory.buffers-per-channel`(will be removed in Flink 
2.0)
+- `taskmanager.network.memory.floating-buffers-per-gate`(will be removed in 
Flink 2.0)
+- `taskmanager.network.memory.max-buffers-per-channel`(will be removed in 
Flink 2.0)
+- `taskmanager.network.memory.max-overdraft-buffers-per-gate`(will be removed 
in Flink 2.0)
+- `taskmanager.network.memory.exclusive-buffers-request-timeout-ms` (Please 
use `taskmanager.network.memory.buffers-request-timeout` instead)
+
+The configuration option 
`taskmanager.network.batch-shuffle.compression.enabled` has been deprecated. 
Please set `taskmanager.network.compression.codec` to `NONE` to disable 
compression.
+
+The following Netty-related configuration options are no longer recommended 
for use and have been deprecated, we will remove them in Flink 2.0:
+- `taskmanager.network.netty.num-arenas`
+- `taskmanager.network.netty.server.numThreads`
+- `taskmanager.network.netty.client.numThreads`
+- `taskmanager.network.netty.server.backlog`
+- `taskmanager.network.netty.sendReceiveBufferSize`
+- `taskmanager.network.netty.transport`
+
+The following configuration options are unnecessary and have been deprecated:
+- `taskmanager.network.max-num-tcp-connections`(will be removed and hard-coded 
to `1` in Flink 2.0)
+- `fine-grained.shuffle-mode.all-blocking`(will be removed in Flink 2.0)
+
+These options were previously used for fine-tuning TPC testing but are no 
longer needed by the current Flink planner and will be removed in Flink 2.0:
+- `table.exec.range-sort.enabled`
+- `table.optimizer.rows-per-local-agg`
+- `table.optimizer.join.null-filter-threshold`
+- `table.optimizer.semi-anti-join.build-distinct.ndv-ratio`
+- `table.optimizer.shuffle-by-partial-key-enabled`
+- `table.optimizer.smj.remove-sort-enabled`
+- `table.optimizer.cnf-nodes-limit`
+
+These options were introduced for the now-obsolete `FilterableTableSource` 
interface and will be removed in Flink 2.0:
+- `table.optimizer.source.aggregate-pushdown-enabled`
+- `table.optimizer.source.predicate-pushdown-enabled`
+
+The configuration option `sql-client.display.max-column-width` has been 
deprecated. Please use `table.display.max-column-width` instead.
+
+**More Information**
+* [FLINK-35461](https://issues.apache.org/jira/browse/FLINK-35461)
+* [FLINK-35473](https://issues.apache.org/jira/browse/FLINK-35473)
+
+## New and Updated Configuration Options
+
+### State & Checkpointing Options
+In Flink 1.20, all the options about state and checkpointing are reorganized 
and categorized by prefixes as listed below:
+1. `execution.checkpointing.*`: all configuration options associated with 
checkpointing and savepoints.
+2. `execution.state-recovery.*`: all configuration options related to state 
recovery.
+3. `state.*`: all configuration options related to the state accessing.
+   a. `state.backend.*`: configuration options for individual state backends, 
such as RocksDB.
+   b. `state.changelog.*`: configuration options for the state changelog, as 
outlined in FLIP-158, including the options for the "Durable Short-term Log" 
(DSTL).
+   c. `state.latency-track.*`: configuration options related to the latency 
tracking of state access.
+
+### Batch Execution Options
+The following options have been moved from 
`org.apache.flink.table.planner.codegen.agg.batch.HashAggCodeGenerator`
+to `org.apache.flink.table.api.config` and promoted to `@PublicEvolving`.
+
+- `table.exec.local-hash-agg.adaptive.enabled`
+- `table.exec.local-hash-agg.adaptive.sampling-threshold`
+- `table.exec.local-hash-agg.adaptive.distinct-value-rate-threshold`
+
+### Lookup Hint Options
+The following options have been moved from 
`org.apache.flink.table.planner.hint.LookupJoinHintOptions`
+to `org.apache.flink.table.api.config.LookupJoinHintOptions` and promoted to 
`@PublicEvolving`.
+
+- `table`
+- `async`
+- `output-mode`
+- `capacity`
+- `timeout`
+- `retry-predicate`
+- `retry-strategy`
+- `fixed-delay`
+- `max-attempts`
+
+### Optimizer Options
+The following options have been moved from 
`org.apache.flink.table.planner.plan.optimize.RelNodeBlock`
+to `org.apache.flink.table.api.config.OptimizerConfigOptions` and promoted to 
`@PublicEvolving`
+
+- `table.optimizer.union-all-as-breakpoint-enabled`
+- `table.optimizer.reuse-optimize-block-with-digest-enabled`
+
+### Aggregate Optimizer Option
+`table.optimizer.incremental-agg-enabled` has been moved from 
`org.apache.flink.table.planner.plan.rules.physical.stream.IncrementalAggregateRule`
+to `org.apache.flink.table.api.config.OptimizerConfigOptions` and promoted to 
`@PublicEvolving`
+
+**More Information**
+* [FLINK-35461](https://issues.apache.org/jira/browse/FLINK-35461)
+* [FLINK-35473](https://issues.apache.org/jira/browse/FLINK-35473)
+* [Checkpointing 
Options](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/deployment/config/#checkpointing)
+* [Recovery 
Options](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/deployment/config/#recovery)
+* [State Backend 
Options](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/deployment/config/#state-backends)
+* [State Changelog 
Options](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/deployment/config/#state-changelog-options)
+* [Latency-track 
Options](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/deployment/config/#state-latency-tracking-options)
+
+# Upgrade Notes
+
+The Flink community tries to ensure that upgrades are as seamless as possible.
+However, certain changes may require users to make adjustments to certain parts
+of the program when upgrading to version 1.20. Please refer to the
+[release 
notes](https://nightlies.apache.org/flink/flink-docs-release-1.20/release-notes/flink-1.20/)
+for a comprehensive list of adjustments to make and issues to check during the
+upgrading process.
+
+# List of Contributors
+
+The Apache Flink community would like to express gratitude to all the
+contributors who made this release possible:
+
+Ahmed Hamdy,
+Alan Sheinberg,
+Aleksandr Pilipenko,
+Alexander Fedulov,
+Andrey Gaskov,
+Antonio Vespoli,
+Anupam Aggarwal,
+Barak Ben-Nathan,
+Benchao Li,
+Brad,
+Cheng Pan,
+Chesnay Schepler,
+DamonXue,
+Danny Cranmer,
+David Christle,
+David Moravek,
+David Schlosnagle,
+Dawid Wysakowicz,
+Dian Fu,
+Dmitriy Linevich,
+Elphas Toringepi,
+Emre Kartoglu,
+Fang Yong,
+Feng Jin,
+Ferenc Csaky,
+Frank Yin,
+Gabor Somogyi,
+Gyula Fora,
+HCTommy,
+Hangxiang Yu,
+Hanyu Zheng,
+Hao Li,
+Hong Liang Teoh,
+Hong Teoh,
+HuangXingBo,
+Jacky Lau,
+James Hughes,
+Jane Chan,
+Jeyhun Karimov,
+Jiabao Sun,
+Jim Hughes,
+Jing Ge,
+Jinzhong Li,
+JunRuiLee,
+Juntao Hu,
+JustinLee,
+Kartikey Pant,
+Kumar Mallikarjuna,
+Leonard Xu,
+Lorenzo Affetti,
+Luke Chen,
+Martijn Visser,
+Mason Chen,
+Matthias Pohl,
+Mingliang Liu,
+Panagiotis Garefalakis,
+Peter Huang,
+Peter Vary,
+Piotr Nowojski,
+Puneet Duggal,
+Qinghui Xu,
+Qingsheng Ren,
+Ravi Dutt Singh,
+Robert Metzger,
+Robert Young,
+Roc Marshal,
+Roman,
+Roman Boyko,
+Roman Khachatryan,
+Ron,
+Rui Fan,
+Ryan Skraba,
+Samrat,
+Sergey Nuyanzin,
+Shilun Fan,
+Stefan Richter,
+SuDewei,
+Timo Walther,
+Ufuk Celebi,
+Vincent Woo,
+Wang FeiFan,
+Weijie Guo,
+Wencong Liu,
+Wouter Zorgdrager,
+Xiangyu Feng,
+Xintong Song,
+Xuyang,
+Yanfei Lei,
+Yangze Guo,
+Yu Chen,
+Yubin Li,
+Yuepeng Pan,
+Yun Tang,
+Yuxin Tan,
+Zakelly,
+Zhanghao Chen,
+Zhen Wang,
+Zhenqiu Huang,
+Zhu Zhu,
+Zmm,
+ammar-master,
+anupamaggarwal,
+bvarghese1,
+caicancai,
+caodizhou,
+chenzihao,
+drymatini,
+dsaisharath,
+eason.qin,
+elon-X,
+fengli,
+gongzhongqiang,
+hejufang,
+jectpro7,
+jiangxin,
+liming.1018,
+lincoln lee,
+liuyongvs,
+lxliyou001,
+oleksandr.nitavskyi,
+plugatarev,
+rmoff, 
+slfan1989,
+spoon-lz,
+sunxia,
+sxnan,
+sychen,
+wforget,
+xiaogang,
+xingbo,
+yebukong,
+yunfengzhou-hub,
+yunhong,
+zhouyisha,
+马越
\ No newline at end of file
diff --git a/docs/data/flink.yml b/docs/data/flink.yml
index 54ab967ee..fea74aadb 100644
--- a/docs/data/flink.yml
+++ b/docs/data/flink.yml
@@ -15,6 +15,16 @@
 # specific language governing permissions and limitations
 # under the License
 
+1.20:
+  name: "Apache Flink 1.20.0"
+  binary_release_url: 
"https://www.apache.org/dyn/closer.lua/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz";
+  binary_release_asc_url: 
"https://downloads.apache.org/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz.asc";
+  binary_release_sha512_url: 
"https://downloads.apache.org/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz.sha512";
+  source_release_url: 
"https://www.apache.org/dyn/closer.lua/flink/flink-1.20.0/flink-1.20.0-src.tgz";
+  source_release_asc_url: 
"https://downloads.apache.org/flink/flink-1.20.0/flink-1.20.0-src.tgz.asc";
+  source_release_sha512_url: 
"https://downloads.apache.org/flink/flink-1.20.0/flink-1.20.0-src.tgz.sha512";
+  release_notes_url: 
"https://nightlies.apache.org/flink/flink-docs-release-1.20/release-notes/flink-1.20";
+
 1.19:
   name: "Apache Flink 1.19.1"
   binary_release_url: 
"https://www.apache.org/dyn/closer.lua/flink/flink-1.19.1/flink-1.19.1-bin-scala_2.12.tgz";
@@ -34,23 +44,3 @@
   source_release_asc_url: 
"https://downloads.apache.org/flink/flink-1.18.1/flink-1.18.1-src.tgz.asc";
   source_release_sha512_url: 
"https://downloads.apache.org/flink/flink-1.18.1/flink-1.18.1-src.tgz.sha512";
   release_notes_url: 
"https://nightlies.apache.org/flink/flink-docs-release-1.18/release-notes/flink-1.18";
-
-1.17:
-  name: "Apache Flink 1.17.2"
-  binary_release_url: 
"https://www.apache.org/dyn/closer.lua/flink/flink-1.17.2/flink-1.17.2-bin-scala_2.12.tgz";
-  binary_release_asc_url: 
"https://downloads.apache.org/flink/flink-1.17.2/flink-1.17.2-bin-scala_2.12.tgz.asc";
-  binary_release_sha512_url: 
"https://downloads.apache.org/flink/flink-1.17.2/flink-1.17.2-bin-scala_2.12.tgz.sha512";
-  source_release_url: 
"https://www.apache.org/dyn/closer.lua/flink/flink-1.17.2/flink-1.17.2-src.tgz";
-  source_release_asc_url: 
"https://downloads.apache.org/flink/flink-1.17.2/flink-1.17.2-src.tgz.asc";
-  source_release_sha512_url: 
"https://downloads.apache.org/flink/flink-1.17.2/flink-1.17.2-src.tgz.sha512";
-  release_notes_url: 
"https://nightlies.apache.org/flink/flink-docs-release-1.17/release-notes/flink-1.17";
-
-1.16:
-  name: "Apache Flink 1.16.3"
-  binary_release_url: 
"https://www.apache.org/dyn/closer.lua/flink/flink-1.16.3/flink-1.16.3-bin-scala_2.12.tgz";
-  binary_release_asc_url: 
"https://downloads.apache.org/flink/flink-1.16.3/flink-1.16.3-bin-scala_2.12.tgz.asc";
-  binary_release_sha512_url: 
"https://downloads.apache.org/flink/flink-1.16.3/flink-1.16.3-bin-scala_2.12.tgz.sha512";
-  source_release_url: 
"https://www.apache.org/dyn/closer.lua/flink/flink-1.16.3/flink-1.16.3-src.tgz";
-  source_release_asc_url: 
"https://downloads.apache.org/flink/flink-1.16.3/flink-1.16.3-src.tgz.asc";
-  source_release_sha512_url: 
"https://downloads.apache.org/flink/flink-1.16.3/flink-1.16.3-src.tgz.sha512";
-  release_notes_url: 
"https://nightlies.apache.org/flink/flink-docs-release-1.16/release-notes/flink-1.16";
diff --git a/docs/data/release_archive.yml b/docs/data/release_archive.yml
index 49557b903..c6c947032 100644
--- a/docs/data/release_archive.yml
+++ b/docs/data/release_archive.yml
@@ -1,5 +1,9 @@
 release_archive:
   flink:
+    -
+      version_short: "1.20"
+      version_long: 1.20.0
+      release_date: 2024-08-02
     -
       version_short: "1.19"
       version_long: 1.19.1

Reply via email to