Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 143 additions & 0 deletions docs/content/posts/2026-05-08-release-2.2.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
---
title: "Apache Flink 2.2.1 Release Announcement"
date: "2026-05-08T00:00:00.000Z"
aliases:
- /news/2026/05/08/release-2.2.1.html
authors:
- snuyanzin:
name: "Sergey Nuyanzin"

---

The Apache Flink Community is pleased to announce the first bug fix release of the Flink 2.2 series.

This release includes 44 bug fixes, vulnerability fixes, and minor improvements for Flink 2.2.
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 see:
[JIRA](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315522&version=12356561).

We highly recommend all users upgrade to Flink 2.2.1 or higher.

# Release Artifacts

## Maven Dependencies

```xml
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients</artifactId>
<version>2.2.1</version>
</dependency>
```

## 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.2.1) (official images)
* [apache/flink](https://hub.docker.com/r/apache/flink/tags?page=1&name=2.2.1) (ASF repository)

## PyPi

* [apache-flink==2.2.1](https://pypi.org/project/apache-flink/2.2.1/)

# Release Notes



Release Notes - Flink - Version 2.2.1

<h2> Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-33217'>FLINK-33217</a>] - Flink SQL: UNNEST fails with on LEFT JOIN with NOT NULL type in array
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38585'>FLINK-38585</a>] - Pyflink&#39;s thread mode may not work when using shipped venv.zip archive as virtual env
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38624'>FLINK-38624</a>] - Flink 2.1 Job Failure: Type Mismatch Exception in StreamPhysicalOverAggregateRule (TIMESTAMP(3) vs TIMESTAMP(3) ROWTIME)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38703'>FLINK-38703</a>] - ConcurrentModificationException in FineGrainedResourceManager during reporting metrics
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38704'>FLINK-38704</a>] - Metrics reporter setup does not load Prometheus with correct configs/port
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38720'>FLINK-38720</a>] - Nested nullability might lead to class cast RexCall cannot be cast to class RexFieldAccess
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38797'>FLINK-38797</a>] - PyFlink CsvSchemaBuilder.set_null_value method missing return self
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38815'>FLINK-38815</a>] - The debug log will print the sensitive information of data security cookie certification in task manager and jobmanager
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38824'>FLINK-38824</a>] - Incorrect default values for primitive types
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38832'>FLINK-38832</a>] - Projection pushdown of count(*) in planner changes
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38916'>FLINK-38916</a>] - MultiJoin produces incorrect results for OR join conditions when parallelism is greater than 1
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38950'>FLINK-38950</a>] - Views with window TVFs and ORDER BY generate malformed SQL with duplicated ORDER BY clauses
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38951'>FLINK-38951</a>] - Upgrade pemja to 0.5.6
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38957'>FLINK-38957</a>] - ProcessTableFunction UDFs cannot be loaded via CompiledPlan
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38986'>FLINK-38986</a>] - SSL connection failures in BlobClientSslTest / NettyClientServerSslTest with latest JDK versions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39015'>FLINK-39015</a>] - Fix MultiJoin RowData behaviour for HeapStateBackend
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39017'>FLINK-39017</a>] - Flink WebUI Job graph node click interaction fails in Chrome 144+ (PointerEvents suppression)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39052'>FLINK-39052</a>] - ModuleNotFoundError: No module named &#39;pkg_resources&#39;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39130'>FLINK-39130</a>] - Allow native types to be used for MetricConfig
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39150'>FLINK-39150</a>] - Join operator crashes jobs when using custom types or custom type serializers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39162'>FLINK-39162</a>] - The data of the custom partitioner is corrupted when unaligned checkpoint is enabled
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39242'>FLINK-39242</a>] - Method getDataType does not exist error when getting columns from ResolvedSchema
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39293'>FLINK-39293</a>] - SqlParserException if I select from a view that uses MATCH_RECOGNIZE
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39355'>FLINK-39355</a>] - Table program cannot be compiled for JSON_OBJECT
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39360'>FLINK-39360</a>] - LIKE clause doesn&#39;t support some patterns
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39371'>FLINK-39371</a>] - CurrentDatabase fails for some patterns
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39394'>FLINK-39394</a>] - Job overview metrics (business/backpressure/data skew) are showing N/A when some nodes are finished
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39534'>FLINK-39534</a>] - Upgrade pemja to 0.5.7
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39547'>FLINK-39547</a>] - User-provided Scala library breaks table-planner
</li>
</ul>

<h2> Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38748'>FLINK-38748</a>] - Enhance the switching logic of AdaptiveScheduler from Restarting to CreatingExecutionGraph and accelerate the transition.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38810'>FLINK-38810</a>] - Use splittable timers in Interval Join
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38914'>FLINK-38914</a>] - Redirect users to deeplink when visiting an outdated or master docs page (instead of stable)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38924'>FLINK-38924</a>] - Redirect users to documentation home page when encountering a 404
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38925'>FLINK-38925</a>] - Update Matomo URL to the right domain
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-38955'>FLINK-38955</a>] - Add canonical tag to generated Javadoc and PyDocs
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39022'>FLINK-39022</a>] - Update default cipher suite value in SecurityOptions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/FLINK-39139'>FLINK-39139</a>] - Update lz4-java to 1.10.3
</li>
</ul>
14 changes: 7 additions & 7 deletions docs/data/flink.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
# under the License

2.2:
name: "Apache Flink 2.2.0"
binary_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.2.0/flink-2.2.0-bin-scala_2.12.tgz"
binary_release_asc_url: "https://downloads.apache.org/flink/flink-2.2.0/flink-2.2.0-bin-scala_2.12.tgz.asc"
binary_release_sha512_url: "https://downloads.apache.org/flink/flink-2.2.0/flink-2.2.0-bin-scala_2.12.tgz.sha512"
source_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.2.0/flink-2.2.0-src.tgz"
source_release_asc_url: "https://downloads.apache.org/flink/flink-2.2.0/flink-2.2.0-src.tgz.asc"
source_release_sha512_url: "https://downloads.apache.org/flink/flink-2.2.0/flink-2.2.0-src.tgz.sha512"
name: "Apache Flink 2.2.1"
binary_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.2.1/flink-2.2.1-bin-scala_2.12.tgz"
binary_release_asc_url: "https://downloads.apache.org/flink/flink-2.2.1/flink-2.2.1-bin-scala_2.12.tgz.asc"
binary_release_sha512_url: "https://downloads.apache.org/flink/flink-2.2.1/flink-2.2.1-bin-scala_2.12.tgz.sha512"
source_release_url: "https://www.apache.org/dyn/closer.lua/flink/flink-2.2.1/flink-2.2.1-src.tgz"
source_release_asc_url: "https://downloads.apache.org/flink/flink-2.2.1/flink-2.2.1-src.tgz.asc"
source_release_sha512_url: "https://downloads.apache.org/flink/flink-2.2.1/flink-2.2.1-src.tgz.sha512"

2.1:
name: "Apache Flink 2.1.1"
Expand Down
7 changes: 6 additions & 1 deletion docs/data/release_archive.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
release_archive:
flink:
- version_short: "1.20"
-
version_short: "2.2"
version_long: 2.2.1
release_date: 2026-05-08
-
version_short: "1.20"
version_long: 1.20.4
release_date: 2026-04-22
-
Expand Down