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

wenjin272 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-agents.git


The following commit(s) were added to refs/heads/main by this push:
     new 54bda560 [dist] Add Flink 2.3 distribution and make it the default 
(#856)
54bda560 is described below

commit 54bda560f4ff72c418b1c65c7ea15662ff9d6c30
Author: Eugene <[email protected]>
AuthorDate: Mon Jul 6 14:24:46 2026 +0800

    [dist] Add Flink 2.3 distribution and make it the default (#856)
    
    Add Flink 2.3 support and bump the default Flink version to 2.3.0. Central
    2.3.0 jars are Java 11 bytecode, so the default still builds on JDK 11 — no
    Java 17 requirement. dist modules follow a symmetric rule: the default
    version (2.3) is bare and inherits the root flink.version; every other
    version pins its own version + provided deps.
    
    - dist: new flink-2.3 module; flink-2.2 now pins 2.2.1 + deps; root default 
2.2.1 -> 2.3.0
    - e2e: flink-2.3 default + flink-2.2 profile; e2e.sh default -> 2.3
    - ci: add {flink 2.3, java 17} to it-java and it-python matrices
    - python: bundle 2.3 thin jar into wheel manifest + build-backend test
    - misc: ut.sh help, update_flink_version, faq/long_term_memory version notes
    
    Verified: full build on JDK 11, all 5 dist versions (1.20/2.0/2.1/2.2/2.3) 
pass.
---
 .github/workflows/ci.yml                           |  6 +++
 dist/flink-2.2/pom.xml                             | 44 ++++++++++++++++++++++
 dist/{flink-2.2 => flink-2.3}/pom.xml              |  4 +-
 dist/pom.xml                                       |  2 +
 .../docs/development/memory/long_term_memory.md    |  2 +-
 docs/content/docs/faq/faq.md                       |  2 +-
 .../pom.xml                                        | 14 ++++++-
 pom.xml                                            |  2 +-
 python/_build_backend/tests/test_backend.py        |  7 ++++
 python/jar_manifest.json                           |  6 +++
 tools/e2e.sh                                       |  2 +-
 tools/ut.sh                                        |  4 +-
 12 files changed, 85 insertions(+), 10 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 198c1452..6d27d2ec 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -171,6 +171,9 @@ jobs:
           - os: 'ubuntu-latest'
             python-version: '3.12'
             flink-version: "2.2"
+          - os: 'ubuntu-latest'
+            python-version: '3.12'
+            flink-version: "2.3"
     steps:
       - uses: actions/checkout@v4
       - name: Install java
@@ -216,6 +219,9 @@ jobs:
           - os: 'ubuntu-latest'
             java-version: "21"
             flink-version: "2.2"
+          - os: 'ubuntu-latest'
+            java-version: "17"
+            flink-version: "2.3"
     steps:
       - uses: actions/checkout@v4
       - name: Install java
diff --git a/dist/flink-2.2/pom.xml b/dist/flink-2.2/pom.xml
index 4cdb742f..151d2eaf 100644
--- a/dist/flink-2.2/pom.xml
+++ b/dist/flink-2.2/pom.xml
@@ -28,6 +28,50 @@ under the License.
     <artifactId>flink-agents-dist-flink-2.2</artifactId>
     <name>Flink Agents : Dist : Flink 2.2</name>
 
+    <properties>
+        <flink.version>${flink.2.2.version}</flink.version>
+    </properties>
+
+    <dependencies>
+        <!-- Flink dependencies -->
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-streaming-java</artifactId>
+            <version>${flink.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-runtime</artifactId>
+            <version>${flink.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-clients</artifactId>
+            <version>${flink.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-table-api-java</artifactId>
+            <version>${flink.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-table-api-java-bridge</artifactId>
+            <version>${flink.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-python</artifactId>
+            <version>${flink.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
     <build>
         <plugins>
             <plugin>
diff --git a/dist/flink-2.2/pom.xml b/dist/flink-2.3/pom.xml
similarity index 97%
copy from dist/flink-2.2/pom.xml
copy to dist/flink-2.3/pom.xml
index 4cdb742f..8deaaf88 100644
--- a/dist/flink-2.2/pom.xml
+++ b/dist/flink-2.3/pom.xml
@@ -25,8 +25,8 @@ under the License.
         <version>0.3-SNAPSHOT</version>
     </parent>
 
-    <artifactId>flink-agents-dist-flink-2.2</artifactId>
-    <name>Flink Agents : Dist : Flink 2.2</name>
+    <artifactId>flink-agents-dist-flink-2.3</artifactId>
+    <name>Flink Agents : Dist : Flink 2.3</name>
 
     <build>
         <plugins>
diff --git a/dist/pom.xml b/dist/pom.xml
index 47d393ed..9ee655bb 100644
--- a/dist/pom.xml
+++ b/dist/pom.xml
@@ -34,6 +34,7 @@ under the License.
         <flink.2.0.version>2.0.2</flink.2.0.version>
         <flink.2.1.version>2.1.3</flink.2.1.version>
         <flink.2.2.version>2.2.1</flink.2.2.version>
+        <flink.2.3.version>2.3.0</flink.2.3.version>
     </properties>
 
     <modules>
@@ -42,6 +43,7 @@ under the License.
         <module>flink-2.0</module>
         <module>flink-2.1</module>
         <module>flink-2.2</module>
+        <module>flink-2.3</module>
     </modules>
 
     <dependencies>
diff --git a/docs/content/docs/development/memory/long_term_memory.md 
b/docs/content/docs/development/memory/long_term_memory.md
index 46ffc3ac..727e5b44 100644
--- a/docs/content/docs/development/memory/long_term_memory.md
+++ b/docs/content/docs/development/memory/long_term_memory.md
@@ -35,7 +35,7 @@ Declare the following resources in your agent plan:
 - An [EmbeddingModel]({{< ref "docs/development/embedding_models" >}}) for 
vector generation
 - A [VectorStore]({{< ref "docs/development/vector_stores" >}}) for persistent 
storage
 
-> **Java prerequisite:** Mem0 invokes the chat and embedding models on its own 
thread executor, which relies on the async-friendly pemja fix. When Mem0 
Long-Term Memory is configured together with Java actions, the runtime requires 
a Flink version of `1.20.5`, `2.0.2`, `2.1.3`, `2.2.1` or higher; otherwise it 
throws at startup. Either upgrade Flink or use the Python API.
+> **Java prerequisite:** Mem0 invokes the chat and embedding models on its own 
thread executor, which relies on the async-friendly pemja fix. When Mem0 
Long-Term Memory is configured together with Java actions, the runtime requires 
a Flink version of `1.20.5`, `2.0.2`, `2.1.3`, `2.2.1`, `2.3.0` or higher; 
otherwise it throws at startup. Either upgrade Flink or use the Python API.
 
 ## Configuration
 
diff --git a/docs/content/docs/faq/faq.md b/docs/content/docs/faq/faq.md
index 76ed3e03..bc0cb279 100644
--- a/docs/content/docs/faq/faq.md
+++ b/docs/content/docs/faq/faq.md
@@ -87,7 +87,7 @@ This is important because:
 - **For Java users on JDK 21+**: Async execution is available.
 - **For Java users on JDK < 21**: Async execution is not available and falls 
back to synchronous execution.
 
-> **Cross-language async note**: Async execution for cross-language resources 
requires the pemja 0.5.7 fix, available in Flink 1.20.5+ / 2.0.2+ / 2.1.3+ / 
2.2.1+. Current builds target Flink 2.2.0, so cross-language calls still run 
synchronously for now; this is resolved automatically once running on a Flink 
version that includes the fix.
+> **Cross-language async note**: Async execution for cross-language resources 
requires the pemja 0.5.7 fix, available in Flink 1.20.5+ / 2.0.2+ / 2.1.3+ / 
2.2.1+ / 2.3+. Current builds target Flink 2.3.0, which includes the fix, so 
cross-language async is enabled by default; on older Flink versions it falls 
back to synchronous execution automatically.
 
 ### Native Integration Support Matrix
 
diff --git a/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml 
b/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml
index bfbdf1e6..479a47ba 100644
--- a/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml
+++ b/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml
@@ -33,9 +33,10 @@ under the License.
         <flink.2.0.version>2.0.2</flink.2.0.version>
         <flink.2.1.version>2.1.3</flink.2.1.version>
         <flink.2.2.version>2.2.1</flink.2.2.version>
+        <flink.2.3.version>2.3.0</flink.2.3.version>
 
-        <flink.version>${flink.2.2.version}</flink.version>
-        
<flink.agents.dist.artifactId>flink-agents-dist-flink-2.2</flink.agents.dist.artifactId>
+        <flink.version>${flink.2.3.version}</flink.version>
+        
<flink.agents.dist.artifactId>flink-agents-dist-flink-2.3</flink.agents.dist.artifactId>
     </properties>
 
     <dependencies>
@@ -199,6 +200,15 @@ under the License.
                 
<flink.agents.dist.artifactId>flink-agents-dist-flink-2.1</flink.agents.dist.artifactId>
             </properties>
         </profile>
+
+        <!-- Flink 2.2 Profile -->
+        <profile>
+            <id>flink-2.2</id>
+            <properties>
+                <flink.version>${flink.2.2.version}</flink.version>
+                
<flink.agents.dist.artifactId>flink-agents-dist-flink-2.2</flink.agents.dist.artifactId>
+            </properties>
+        </profile>
     </profiles>
 
 </project>
diff --git a/pom.xml b/pom.xml
index 4728fa58..108841ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,7 @@ under the License.
         <maven.compiler.target>${target.java.version}</maven.compiler.target>
         <spotless.version>2.27.1</spotless.version>
         <spotless.skip>false</spotless.skip>
-        <flink.version>2.2.1</flink.version>
+        <flink.version>2.3.0</flink.version>
         <kafka.version>4.0.0</kafka.version>
         <fluss.version>0.9.0-incubating</fluss.version>
         <junit5.version>5.10.1</junit5.version>
diff --git a/python/_build_backend/tests/test_backend.py 
b/python/_build_backend/tests/test_backend.py
index a8fc9b6d..9bec750f 100644
--- a/python/_build_backend/tests/test_backend.py
+++ b/python/_build_backend/tests/test_backend.py
@@ -180,6 +180,7 @@ def maven_server(tmp_path_factory) -> tuple[str, Path]:
         ("flink-agents-dist-flink-2.0", "thin"),
         ("flink-agents-dist-flink-2.1", "thin"),
         ("flink-agents-dist-flink-2.2", "thin"),
+        ("flink-agents-dist-flink-2.3", "thin"),
     ]
 
     for artifact_id, classifier in artifacts:
@@ -243,6 +244,12 @@ def test_download_jars_from_local_server(tmp_path, 
monkeypatch, maven_server) ->
                 "dest": "flink_agents/lib/flink-2.2/",
                 "sha256": expected_sha,
             },
+            {
+                "artifact_id": "flink-agents-dist-flink-2.3",
+                "classifier": "thin",
+                "dest": "flink_agents/lib/flink-2.3/",
+                "sha256": expected_sha,
+            },
         ],
     }
     _write_manifest(tmp_path / "jar_manifest.json", manifest)
diff --git a/python/jar_manifest.json b/python/jar_manifest.json
index 5077c4d1..4ee74ddc 100644
--- a/python/jar_manifest.json
+++ b/python/jar_manifest.json
@@ -31,6 +31,12 @@
       "classifier": "thin",
       "dest": "flink_agents/lib/flink-2.2/",
       "sha256": "PLACEHOLDER"
+    },
+    {
+      "artifact_id": "flink-agents-dist-flink-2.3",
+      "classifier": "thin",
+      "dest": "flink_agents/lib/flink-2.3/",
+      "sha256": "PLACEHOLDER"
     }
   ]
 }
diff --git a/tools/e2e.sh b/tools/e2e.sh
index bc04762e..5a5c7713 100755
--- a/tools/e2e.sh
+++ b/tools/e2e.sh
@@ -15,7 +15,7 @@
 #  limitations under the License.
 #
 
-DEFAULT_FLINK_VERSION="2.2"
+DEFAULT_FLINK_VERSION="2.3"
 
 function run_test {
   local description="$1"
diff --git a/tools/ut.sh b/tools/ut.sh
index a40303e4..76876c79 100755
--- a/tools/ut.sh
+++ b/tools/ut.sh
@@ -43,8 +43,8 @@ Options:
   -e, --e2e         Run e2e tests
   -b, --both        Run both Java and Python tests (default)
   -f, --flink       Specify Flink version to test (can be used multiple times)
-                    Supported versions: 2.2, 1.20
-                    Examples: -f 2.2, -f 1.20, -f 2.2 -f 1.20
+                    Supported versions: 2.3, 2.2, 2.1, 2.0, 1.20
+                    Examples: -f 2.3, -f 1.20, -f 2.3 -f 1.20
                     Default: run all versions if not specified
   -v, --verbose     Show verbose output
   -h, --help        Display this help message

Reply via email to