zhuzhurk commented on code in PR #754: URL: https://github.com/apache/flink-web/pull/754#discussion_r1797534041
########## docs/content/posts/2024-10-01-release-2.0-preview.md: ########## @@ -0,0 +1,1264 @@ +--- +authors: +- xtsong: + name: "Xintong Song" +date: "2024-10-01T08:00:00Z" +subtitle: "" +title: Preview Release of Apache Flink 2.0 +aliases: +- /news/2024/10/01/release-2.0-preview.html +--- + +The Apache Flink community is actively preparing Flink 2.0, the first major release since Flink 1.0 launched 8 years ago. As a significant milestone, Flink 2.0 is set to introduce numerous innovative features and improvements, along with some compatibility-breaking changes. To facilitate early adaption of these changes for our users and partner projects (e.g., connectors), and to offer a sneak peek into the exciting new features while gathering feedback, we are now providing a preview release of Flink 2.0. + +**NOTICE:** Flink 2.0 Preview is not a stable release and should not be used in production environments. While this preview includes most of the breaking changes planned for Flink 2.0, the final release may still subject to additional modifications. + +# Breaking Changes + +## API + +The following sets of APIs have been completely removed. +- **DataSet API.** Please migrate to [DataStream API](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/overview/), or [Table API/SQL](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/overview/) if applicable. See also [How to Migrate from DataSet to DataStream](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/dataset_migration). +- **Scala DataStream and DataSet API.** Please migrate to the Java [DataStream API](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/overview/). +- **SourceFuction, SinkFunction and Sink V1.** Please migrate to [Source](https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/api/connector/source/Source.java) and [Sink V2](https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/api/connector/sink2/Sink.java). +- **TableSoure and TableSink.** Please migrate to [DynamicTableSource](https://github.com/apache/flink/blob/master/flink-table/flink-table-common/src/main/java/org/apache/flink/table/connector/source/DynamicTableSource.java) and [DynamicTableSink](https://github.com/apache/flink/blob/master/flink-table/flink-table-common/src/main/java/org/apache/flink/table/connector/sink/DynamicTableSink.java). See also [User-defined Sources & Sinks](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sourcessinks/). +- **TableSchema, TableColumn and Types.** Please migrate to [Schema](https://github.com/apache/flink/blob/master/flink-table/flink-table-common/src/main/java/org/apache/flink/table/api/Schema.java), [Column](https://github.com/apache/flink/blob/master/flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/Column.java) and [DataTypes](https://github.com/apache/flink/blob/master/flink-table/flink-table-common/src/main/java/org/apache/flink/table/api/DataTypes.java) respectively. + +Some deprecated methods have been removed from **DataStream API**. See also the list of [removed programming APIs](#list-of-removed-programming-apis). + +Some deprecated fields have been removed from **REST API**. See also the list of [removed REST APIs](#list-of-removed-rest-apis). + +**NOTICE:** You may find some of the removed APIs still exist in the code base, usually in a different package. They are for internal usages only and can be changed / removed anytime without notifications. Please **DO NOT USE** them. + +### Connector Adaption Plan + +As SourceFunction, SinkFunction and SinkV1 being removed, existing connectors depending on these APIs will not work on the Flink 2.x series. Here's the plan for adapting the first-party connectors. +1. A new version of Kafka connector, adapted to the API changes, will be released right after the release of Flink 2.0 Preview. +2. JDBC and ElasticSearch connectors will be adapted by the formal release of Flink 2.0. +3. We plan to gradually migrate the remaining first-party connectors within 3 subsequent minor releases (i.e., by Flink 2.3). + +## Configuration + +Configuration options meet the following criteria are removed. See also the list of [removed configuration options](#list-of-removed-configuration-options). +- Annotated as `@Public` and have been deprecated for at least 2 minor releases. +- Annotated as `@PublicEvolving` and have been deprecated for at least 1 minor releases. + +The legacy configuration file `flink-conf.yaml` is no longer supported. Please use `config.yaml` with standard YAML format instead. A migration tool is provided to convert a legacy `flink-conf.yaml` into a new `config.yaml`. See [Migrate from flink-conf.yaml to config.yaml](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/config/#migrate-from-flink-confyaml-to-configyaml) for more details. + +Dedicated APIs for configuring specific options are removed from `StreamExecutionEnvironment` and `ExecutionConfig`. All options should now be set via `Configuration` and `ConfigOption`. See also the list of [removed programming APIs](#list-of-removed-programming-apis). Review Comment: LGTM. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org