Release Managers
Jiangjie Qin Xintong Song Martijn Visser Jark Wu
Release Sync
- The release sync is scheduled 8am Wed (GMT+2) / 2pm Wed (GMT+8) / 11pm Tues (GMT-7). Not every week will we have release sync. Please subscribe to the Google Calendar for updates.
- Everyone is welcome to join the release sync via Google Meet.
Timeline Plan
- Preview Release: End of Sep, 2024
- Feature Freeze: End of Nov, 2024
- Release: End of Dec, 2024 or Early Jan 2025
Work Items
Status (Updated: 10/08)
Done | Will make it | In danger | Very unlikely | Won't make it | State unclear | Total | |
---|---|---|---|---|---|---|---|
Breaking changes | 17 | 0 | 0 | 0 | 3 | 0 | 20 |
Features | 1 | 12 | 2 | 0 | 0 | 0 | 15 |
Breaking Changes (Targeting to finish by the Preview Release)
Name / JIRA / FLIP | Contributor | Reviewer | State | Last Update | Description / Note | |
---|---|---|---|---|---|---|
Programming API | Remove DataSet API | Xu Huang |
| PR in review | ||
Remove Deprecated methods/fields/classes in DataStream API | Xu Huang |
| Waiting for CI | |||
Xu Huang |
|
| ||||
Yanquan Lyu | Qingsheng Ren |
|
| |||
| All deprecated APIs classes had been moved to another package, as internal interfaces. | |||||
Remove deprecated methods in Table API |
| Can't finish the work within the preview release(this part of the work will be processed as much as possible in 2.0) | ||||
Yanquan Lyu |
|
| ||||
Matthias Pohl | | Replace | ||||
Replace | ||||||
Configuration |
| All of the following configurations have been completely removed:
| ||||
Introduce a clean configuration layer FLIP-381: Deprecate configuration getters/setters that return/set complex Java objects FLIP-391: Deprecate RuntimeContext#getExecutionConfig |
| Goals: 2. Avoid exposing unnecessary configuration (i.e. the entire ExecutionConfig) to user functions | ||||
| Use a YAML compliant configuration parser. Note: While this can be introduced as an optional feature in 1.x (i.e., first parse with standard YAML parser, fall back to custom parsing as a backup), the goal for 2.0 would be to remove the custom parsing logic. | |||||
Revisit all config option types and default values | | |||||
State | | |||||
Zakelly Lan | | Update RocksDB statebackend package Since the public apis in old package are not deprecated in 1.20, we can only do deprecation in 2.0. So there will be no breaking changes in 2.0. | ||||
Zhanghao Chen |
| Removed deprecated APIs in 2.0-preview | ||||
| Remove deprecated fields from ExceptionHistory API (all-exceptions , timestamp , root-exception , truncated ) | |||||
Removes location field from REST API (was replaced by endpoint field) | ||||||
Java Version | Make Java 17 default |
| ||||
Drop support for Java 8 |
| Support for Java 8 has been dropped |
Features (Targeting to finish by the Feature Freeze)
Name / JIRA / FLIP | Contributor | Reviewer | State | Last Update | Description / Note | |
---|---|---|---|---|---|---|
Introduce DataStream API V2 |
| This is an either in-place or smooth replacement of DataStream API. It differs from the current DataStream API mainly in the following aspects.
Progress: Basic stateless & stateful ds v2 framework: Done Generalized Watermark: FLIP in preparation | ||||
Delta Join |
| Delta join is a new kind of stream-stream join implementation without maintaining any states. Progress: FLIP in preparation. | ||||
State compatibility for SQL jobs |
| State compatibility of upgrading Flink version for SQL jobs. This can be a good API story and milestone for Flink SQL for 2.x series. | ||||
lincoln lee |
| SQL operator implementations based on the new Disaggregated State Management. Progress: Join operator has been supported. Will support other 2 commly used operator before release. | ||||
Disaggregated State Management |
| Disaggregated State Backend/Management in the cloud-native era.
Note: Only the public API related part is must-have for release 2.0. Progress: The new db and async state API & implementation are done. Local disk cache is done. Now working on checkpoint & recovery part. | ||||
| Clarify the scopes of configuration options, i.e. job config, cluster config or both, to avoid misuses of configuration. The scopes should be displayed in Flink configuration documentation. | |||||
FLIP-461: Synchronize rescaling with checkpoint creation to minimize reprocessing for the AdaptiveScheduler | Zdenek Tison |
| ||||
FLIP-370: Support Balanced Tasks Scheduling | Rui Fan |
| ||||
FLIP-398: Improve Serialization Configuration And Usage In Flink |
| In development:
| ||||
FLIP-472: Aligning timeout logic in the AdaptiveScheduler's WaitingForResources and Executing states | Zdenek Tison |
| ||||
Upgrade checkstyle |
| The major work about Checkstyle upgrade was done in 1.20 (Checkstyle was bumped to 9.3), in 2.0 the only thing to be done is just version bump | ||||
Adaptive optimization for batch jobs |
| FLIP-468 is done FLIP-469 is in development, target to finish in 2024-12 | ||||
FLIP-470: Support Adaptive Broadcast Join |
| in development, target to finish in 2024-12 | ||||
FLIP-475: Support Adaptive Skewed Join Optimization |
| in development, target to finish in 2024-12 | ||||
| ||||||
Deprecate support for Java 11 (to-be discussed via FLIP) |
| |||||
Status / Follow-ups
11/05/24
- Status
- 2.0-preview released
- Features
- Testability Blockers
- 6 Testability Blockers(2 resolved compared to last time), 5 of which are not being looked into
- 6 Testability Blockers(2 resolved compared to last time), 5 of which are not being looked into
- Previous Actions
- Start a FLIP discussion for deprecating Java 11 Martijn Visser
- Update the deprecation process, to require migrating of internal usages before the deprecation. Xintong Song
- Discussion
- Feature Freeze Date
10/09/24
- Status
- Breaking Changes
- 17 completed
- 2 will be completed in release 2.0
- 1 will not happen in release 2.0
- No open blocker issues with FixVersion 2.0-preview
- Testability Blockers
- Breaking Changes
- Previous Actions
- Ping contributors of work items listed as Breaking Changes to create Jira tickets under "2.0-preview" Xintong Song
- Start a FLIP discussion for deprecating Java 11 Martijn Visser
- Update the deprecation process, to require migrating of internal usages before the deprecation. Xintong Song
- Discussion
- Action
- Look into - FLINK-36437Getting issue details... STATUS Jark Wu
09/25/24
- Status
- Previous Actions
- Create a Jira ticket for checking deprecated APIs before the Preview Release Jiangjie Qin
- Find a solution for PyFlink tests depending on external connectors that uses deprecated APIs. Xintong Song Dian Fu
- Review PR for - FLINK-36207Getting issue details... STATUS Xintong Song
- Share the list of tasks for deprecated API removal - FLINK-36306Getting issue details... STATUS Weijie Guo
- Looking into the preview release process - FLINK-36360Getting issue details... STATUS Xintong Song
- Start working on the release announcement (Sep. 25) Xintong Song
- Ping contributors of work items listed as Breaking Changes to create Jira tickets under "2.0-preview" Xintong Song
- Start a FLIP discussion for deprecating Java 11 Martijn Visser
- Update the deprecation process, to require migrating of internal usages before the deprecation. Xintong Song
- Discussion
- Progress of dropping Java 8 supports and making Java 17 the default?
- Preview release process
-
FLINK-36360Getting issue details...
STATUS
- Tried basically everything except for publishing the artifacts and building the images
- Connector migration plan
- 2.0-preview: Kafka connector
- 2.0.0: a few most commonly used connectors
- 2.3.0 (1 year since ): 80% of first-party connectors
- Release Announcement
- I've started collecting contents and working on the first draft
- Will soon open a PR, based on which everyone can proposed contents to add
- Time Plan
- Sep. 30 - Breaking changes due
- Oct. 1~7 - Public holidays in China
- Oct. 8 - Branch cutting, RC Vote, etc.
09/11/24
- Status
- Previous Actions
- Revisit and remove REST API and Metrics related legacy work items Xintong Song
- Create a 2.0-Preview Jira version Xintong Song
- Start a FLIP discussion for deprecating Java 11 Martijn Visser
- Update the deprecation process, to require migrating of internal usages before the deprecation. Xintong Song
- Create a Jira ticket for checking deprecated APIs before the Preview Release Jiangjie Qin
- Discussion
- Risks for the preview release
- PyFlink tests depends on external connectors, which depend on deprecated APIs. Removing deprecated APIs causes CI failures. This blocks many tasks including removal of Scala APIs and deprecated config options, and replacing Time with Duration.
- Offline reached out to Dian Fu after the release sync. According to him, the related test cases are for testing the connectors. As the connectors are moved from Flink's main repo to external repos, the tests should be moved too. He will work on it.
- To quickly unblock other tasks, developers can disable the problematic pyflink test cases for now. They will be re-enabled after moved to external connector repos.
- PyFlink tests depends on external connectors, which depend on deprecated APIs. Removing deprecated APIs causes CI failures. This blocks many tasks including removal of Scala APIs and deprecated config options, and replacing Time with Duration.
-
-
FLINK-36207Getting issue details...
STATUS
- Blocked by Scala removal. Weijie Guo is currently working on it, and should finish it by this weekend.
- We'll disable Japicmp for @Deprecated APIs until the Flink 2.0 release.
- We'll recheck if every breaking change is expected, by turning the check back on locally before the release and check all the reported issues. - FLINK-36261Getting issue details... STATUS
- "2.0-preview" Jira version
- Tickets targeting the preview release should set the fixVersion to 2.0-preview
- Tickets resolved before the preview release should set the fixVersion to 2.0-preview
- For breaking changes that will be postponed to Release 3.0
- Release process for Flink 2.0 (& Preview)
- We need to start looking into the release process right away
- We need to enrich the release guide for major releases.
- We need to do a dry-run for branch cutting, building, etc., except for the final deploying / publishing stage.
- We will start working on the release announcement 1-2 weeks later, so we know better which features going to make it
- We need to start looking into the release process right away
- Risks for the preview release
- Actions
- Find a solution for PyFlink tests depending on external connectors that uses deprecated APIs. Xintong Song Dian Fu
- Review PR for - FLINK-36207Getting issue details... STATUS Xintong Song
- Share the list of tasks for deprecated API removal Weijie Guo
- Ping contributors of work items listed as Breaking Changes to create Jira tickets under "2.0-preview" Xintong Song
- Looking into the preview release process Xintong Song
- Start working on the release announcement (Sep. 25)
08/28/24
- Status
- Discussion
- Work items
- Java version supports
- Support Java 21
- Make Java 17 (Preview Release)
- Drop Java 8 (Preview Release)
- Start a FLIP discussion for deprecating Java 11. Martijn Visser
- We will not remove support for Java 11 directly, because it's still the default java version in 1.20 and has not been deprecated.
- REST API and Metrics related legacy work items can be removed.
- Will remove after revisiting and checking for APIs already deprecated and can be simply removed. Xintong Song
- We'll keep collecting new features.
- Java version supports
- Preview Release
- Complete breaking changes in the Preview Release, by the end of September
- For Source/SinkFunction and legacy TableSource/SinkFunctions, there are a lot internal usages (planner, 1st-party connectors, tests, etc.) that may not be migrated soonish. We will first move the public APIs to internal interfaces, and gradually remove them later.
- We should update the deprecation process, to require migrating of internal usages before the deprecation. Xintong Song
- Create a 2.0-Preview Jira version Xintong Song
- Create a Jira ticket for checking deprecated APIs before the Preview Release. Jiangjie Qin
- Add scripts for gathering all deprecated APIs
- Make sure all deprecated APIs are either removed, or we understand why they are not removed.
- We can leverage the scripts to generated API differences between versions (e.g., 2.0-Preview vs. 2.0.0)
- Complete breaking changes in the Preview Release, by the end of September
- Work items
08/14/24
- Status
- Discussion
- Preview Release
- Try to include all API breaking changes
- Won't do
- Feature freeze
- Feature testing
- Resolve all blockers
- Will do
- PMC vote (e.g., legal checks)
- Announce and promote
- Maybe define a new version "2.0-Preview" on Jira and mark all API-breaking changes are blocker for it?
- Time Plan
- Preview release: End of Sep.
- Feature freeze: End of Nov.
- Formal release: End of Dec. or early Jan.
- Work Items
- API-breaking: targeting to finish by the preview release
- Non-breaking: targeting to finish by the feature freeze date, following time-based rules
- Preview Release
- Follow-ups
- Update work item list: separate into two lists, and remove outdated items
- Create the "2.0-Preview" release and move relevant tickets to it?
- Start collecting feature plans