Hi Community,今年 Apache SeaTunnel 6 月份月报准时来啦!总体上来看,6 月整个月 Apache SeaTunnel 共合入 125 个 PR,明显高于 5 月的 87 个。整体上看,6 月不是单纯的“修修补补”,而是沿着三条主线同步推进:
- 控制面与引擎抽象继续上探:多表同步的表级故障隔离、StateStore 抽象、任务繁忙度监控、非终态作业状态上报,说明 Zeta 正从“能跑作业”走向“更可治理、更易恢复、更易观察”。
- Connector-V2 持续扩展边界:BigQuery Sink、MQTT Source、Salesforce Source、Vitess CDC、Google Cloud Bigtable 等新连接器/新能力陆续落地,生态覆盖面继续扩大。
- 文件与 SQL 处理链路增强:文件格式 schema evolution、Calcite SQL transform plugin、Base64 SQL functions 等特性,显示 SeaTunnel 正在补齐“复杂数据加工层”能力,而不只是做简单同步。
1. 当月总体画像
1.1 四大维度统计
- 功能特性:18
- 性能优化:0
- Bug 修复:40
- 架构改进:67
相比 5 月,6 月最明显的变化是:架构改进类 PR 激增。这意味着社区不只是上线新 connector,而是在系统性补齐文档、稳定性、抽象层和工程治理。
1.2 模块分布
seatunnel-connectors-v2:35docs:27seatunnel-engine:22seatunnel-connectors-v2/connector-cdc:14seatunnel-e2e:12seatunnel-api:3.github/ci:2other:10
这里有一个值得注意的信号:docs 在 6 月出现了高占比,说明社区开始把越来越多“隐性知识”沉淀为显式文档,例如 Zeta 状态存储与恢复、CDC 生产 cookbook、REST API 生命周期说明等。这类工作不直接提升吞吐,但直接提升 SeaTunnel 的可用性与可维护性。
2. 贡献者排行榜
| Rank | GitHub 用户名 | 合入 PR 数 | 主要贡献内容分类(计数) |
|---|---|---|---|
| 1 | DanielLeens | 27 | 功能特性×1; 性能优化×0; Bug 修复×5; 架构改进×21 |
| 2 | zhangshenghang | 26 | 功能特性×1; 性能优化×0; Bug 修复×11; 架构改进×14 |
| 3 | nzw921rx | 19 | 功能特性×2; 性能优化×0; Bug 修复×6; 架构改进×11 |
| 4 | davidzollo | 7 | 功能特性×0; 性能优化×0; Bug 修复×2; 架构改进×5 |
| 5 | dybyte | 4 | 功能特性×3; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 6 | yzeng1618 | 4 | 功能特性×1; 性能优化×0; Bug 修复×1; 架构改进×2 |
| 7 | QuakeWang | 4 | 功能特性×0; 性能优化×0; Bug 修复×4; 架构改进×0 |
| 8 | JeremyXin | 4 | 功能特性×0; 性能优化×0; Bug 修复×2; 架构改进×2 |
| 9 | DanielCarter-stack | 4 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×3 |
| 10 | yuluo-yx | 2 | 功能特性×0; 性能优化×0; Bug 修复×2; 架构改进×0 |
| 11 | ricky2129 | 2 | 功能特性×1; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 12 | MyeoungDev | 2 | 功能特性×2; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 13 | ss666 | 2 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 14 | CosmosNi | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 15 | LeonYoah | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 16 | Marx-Carvalho | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 17 | hawk9821 | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 18 | 77amyfly | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 19 | JAEKWANG97 | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 20 | NixonWahome | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 21 | GabrielBBaldez | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 22 | niumy0701 | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 23 | 15037143579 | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 24 | CloverDew | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 25 | xxzuo | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 26 | Muktha9491 | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 27 | programmerloverun | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 28 | zooo-code | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 29 | zhiliang-wu | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 30 | doyong365 | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 31 | loupipalien | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
3. 关键变化一览
如果把 6 月所有 PR 放到一张技术地图里,大致可以分为四组:
3.1 多表同步进入“可降级、可隔离、可治理”阶段
#10600支持 table-level fault isolation,意味着多表同步不再只能“全成或全挂”。- 这类能力很关键,因为 SeaTunnel 的多表同步已经从“单一链路优化”走向“批量任务治理”。
3.2 文件与 SQL 处理能力明显增强
#10744为 file connector 增加 schema evolution 支持(ADD/DROP/RENAME/UPDATE column)。#11062引入 Calcite SQL transform plugin,并开放 UDF SPI。#11114增加 Base64 SQL functions,说明 SQL transform 已经不只是“做投影/过滤”,而是逐步成为通用数据加工层。
3.3 Zeta 正在摆脱对 Hazelcast IMap 的强耦合
#10812通过 StateStore 抽象解耦 Hazelcast IMap,这是典型的架构级演进。- 这一动作对未来的状态后端切换、混合存储、TTL/Iterable/Counter 等能力抽象都非常关键。
3.4 Connector 生态继续扩大,但重心从“数量”转向“可用性”
- 新增:BigQuery Sink、MQTT Source、Salesforce Source、Vitess CDC、Bigtable Source/Sink。
- 同时伴随大量修复:Paimon、CDC、JdbcHiveIT、UI NaN 显示、E2E 稳定性、JDK8 兼容等。
4. 关键技术变更深度分析
本节挑选 5 项最能代表 Apache SeaTunnel 项目 6 月技术方向的变更,分别从背景、实现原理、影响范围三个角度做分析。
4.1 #10600 表级故障隔离:多表同步从“全局失败”转向“局部可控”
PR 规模:23 files changed, 1648 insertions(+), 144 deletions(-)。
背景与痛点:
- 多表同步是 SeaTunnel 的核心使用场景之一,但此前如果单张表在 sink 阶段失败,往往会把整个作业拖死。
- 在生产环境里,这会形成典型的“长尾问题”:99 张表正常,1 张表异常,却要整体重跑,成本极高。
核心设计:新增 MultiTableCommonOptions 与 MultiTableFailurePolicy 等抽象,把“多表失败策略”显式配置化。
关键代码片段:
diff --git a/seatunnel-api/src/main/java/org/apache/seatunnel/api/options/MultiTableCommonOptions.java b/seatunnel-api/src/main/java/org/apache/seatunnel/api/options/MultiTableCommonOptions.java
new file mode 100644
@@ -0,0 +1,46 @@
+public class MultiTableCommonOptions {
+
+ @Experimental
+ public static final Option<MultiTableFailurePolicy> MULTI_TABLE_FAILURE_POLICY =
+ Options.key("multi_table.failure_policy")
+ .enumType(MultiTableFailurePolicy.class)
实现原理:
- 通过把“失败策略”从隐式逻辑提升为显式 option,作业可以按表做容错决策。
- 这意味着运行时不再只有“失败即终止”一种分支,而是可能出现“记录失败表、继续推进其它表”的策略。
影响范围:
- 对 connector:多表 sink / writer 需要感知失败策略与失败表元信息。
- 对引擎:任务协调层需要保留失败上下文并在 job 生命周期中传播。
- 对用户:这是一个面向生产治理的强增强,尤其适合大批量 schema 相近的多表同步任务。
4.2 #10744 文件 connector 支持 schema evolution:文件链路首次具备结构变更感知
PR 规模:4 files changed, 168 insertions(+), 2 deletions(-)。
背景与痛点:
- 传统文件 sink 对 schema 变化的容忍度很低,尤其在 CDC 场景下,一旦源端 DDL 变化,文件写入很容易失败或者写出不可读文件。
- SeaTunnel 把文件 connector 纳入 schema evolution 范式,意味着文件链路不再只是“静态落盘”。
关键代码片段:
diff --git a/seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/config/FileBaseSinkOptions.java b/seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/config/FileBaseSinkOptions.java
@@ -336,4 +336,14 @@ public class FileBaseSinkOptions extends FileBaseOptions {
+ public static final Option<Boolean> SCHEMA_EVOLUTION_ENABLED =
+ Options.key("schema_evolution_enabled")
+ .booleanType()
+ .defaultValue(false)
+ .withDescription(
+ "Whether to enable schema evolution for the file sink. "
+ + "When true, ALTER TABLE events (ADD/DROP/RENAME/UPDATE column) "
+ + "from CDC sources are applied to the sink schema at runtime. "
+ + "Files are rotated at each schema change boundary. Default: false.");
实现原理:
- 新增
schema_evolution_enabled开关,把 ALTER TABLE 事件显式引入 file sink 的运行时处理逻辑。 - 采用“schema 变更边界触发文件轮转”的策略,避免同一文件中出现多套不兼容 schema。
影响范围:
- 对 CDC to file 场景价值最高,例如 MySQL-CDC -> Parquet/ORC。
- 对下游消费系统更友好,因为文件天然以 schema 变更边界切分。
4.3 #11062 Calcite SQL Transform Plugin:SeaTunnel 的 SQL 加工能力进入插件化阶段
PR 规模:40 files changed, 8257 insertions(+), 1 deletion(-),是 6 月最重的一批功能开发之一。
背景与痛点:
- SeaTunnel 过去的 transform 更偏向固定功能算子,而复杂计算、内置函数扩展、自定义 UDF 能力相对分散。
- 引入 Calcite SQL transform plugin,本质上是在 SeaTunnel 内部补上一层更通用的“声明式计算面”。
关键代码片段:
diff --git a/seatunnel-api/src/main/java/org/apache/seatunnel/api/transform/CalciteUdf.java b/seatunnel-api/src/main/java/org/apache/seatunnel/api/transform/CalciteUdf.java
new file mode 100644
@@ -0,0 +1,54 @@
+/**
+ * SPI for Calcite SQL transform UDFs. Implementations must provide a <b>public static</b> {@code
+ * eval} method whose signature determines the SQL function's input/output types.
+ *
+ * <p>The {@code eval} method <b>must be static</b> because Calcite's code generation calls it
+ * directly without creating an instance.
实现原理:
- 新增
CalciteUdfSPI,明确了 UDF 的发现机制与静态eval约束。 - 补齐文档、E2E 与多组示例配置,说明这不是“API 雏形”,而是可以实际落地的 transform 子系统。
影响范围:
- 对用户:可以用统一 SQL 方式表达更复杂的转换逻辑。
- 对生态:插件化 UDF 为后续函数库扩展、企业自定义函数沉淀提供了标准入口。
4.4 #10812 StateStore 抽象:Zeta 去 Hazelcast 耦合的关键一步
PR 规模:28 files changed, 2071 insertions(+), 92 deletions(-)。
背景与痛点:
- 当引擎状态强绑定到 Hazelcast IMap 时,后续要切换/扩展状态后端会非常困难。
- 这类问题在系统做大后会变成架构债:测试难、替换难、局部优化也受限。
关键代码片段:
diff --git a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/common/statestore/ExpiringStateStore.java b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/common/statestore/ExpiringStateStore.java
new file mode 100644
@@ -0,0 +1,43 @@
+/**
+ * Storage capability for TTL-based writes.
+ *
+ * <p>This is intended only for implementations where TTL-based storage is a natural fit, such as
+ * Hazelcast-backed stores.
+ */
+public interface ExpiringStateStore<K, V> extends StateStore<K, V> {
实现原理:
- 将状态能力拆分为
StateStore、ExpiringStateStore、IterableStateStore等接口族,而不是直接把 Hazelcast 语义泄漏到所有上层逻辑。 - 这意味着上层代码面向“能力接口”编程,而底层可替换为不同状态实现。
影响范围:
- 对引擎架构极其重要,是后续做混合状态存储、独立状态服务或更细粒度 TTL/计数器能力的前提。
4.5 #10485 BigQuery Sink Connector:云数仓生态继续补齐
PR 规模:40 files changed, 3169 insertions(+), 1 deletion(-)。
背景与痛点:
- GCP 用户过去若想把 SeaTunnel 纳入云数仓链路,BigQuery sink 是非常关键的一环。
- 这个 PR 不只是“接了一个新 connector”,而是补齐了对应配置、序列化、异常码、文档与插件映射。
关键代码片段:
diff --git a/seatunnel-connectors-v2/connector-bigquery/src/main/java/org/apache/seatunnel/connectors/bigquery/option/BigQuerySinkOptions.java b/seatunnel-connectors-v2/connector-bigquery/src/main/java/org/apache/seatunnel/connectors/bigquery/option/BigQuerySinkOptions.java
new file mode 100644
@@ -0,0 +1,83 @@
+public class BigQuerySinkOptions {
+
+ public static final String IDENTIFIER = "BigQuery";
+
+ public static final Option<String> PROJECT_ID =
+ Options.key("project_id")
+ .stringType()
+ .noDefaultValue()
影响范围:
- SeaTunnel 与 GCP 数据生态的衔接进一步增强。
- 对多云/跨云数据集成平台是典型利好。
5. 性能与稳定性数据如何验证
6 月的大部分关键变更并不是单纯“吞吐提升型”优化,而是治理能力、抽象能力、兼容性、恢复能力的增强。因此性能对比不宜只看 rows/s,而应该按变更类型设计观测口径:
- 表级故障隔离(#10600):
- 验证指标:多表作业在单表失败时的成功表保留率、失败表记录完整性、整体重跑成本。
- 文件 schema evolution(#10744):
- 验证指标:DDL 变更后作业是否持续运行、文件切分边界是否正确、下游读取是否可持续。
- Calcite SQL plugin(#11062):
- 验证指标:复杂 SQL transform 的表达能力、UDF 可发现性、端到端执行成功率。
- StateStore 抽象(#10812):
- 验证指标:恢复链路是否稳定、不同状态能力接口的兼容覆盖率、引擎行为是否回归。
换句话说,6 月更适合用 可靠性测试、恢复测试、配置兼容性测试、E2E 覆盖率 来评价,而不是仅看吞吐数字。
6. 版本演进趋势与技术方向
从 6 月的合入内容看,SeaTunnel 的技术路线越来越清晰:
6.1 从“连接器框架”走向“数据集成平台”
- 新 connector 仍在持续增加,但更值得注意的是:文件 schema evolution、SQL transform plugin、表级故障隔离、StateStore 抽象,这些都已经超出“单个 connector 功能”的范畴。
6.2 Zeta 正在补齐平台级治理能力
- 非终态作业状态上报、任务繁忙度监控、状态存储抽象、恢复与 cookbook 文档完善,说明 Zeta 正从“执行引擎”向“可治理执行平台”演进。
6.3 文档和 cookbook 不再是边缘工作
- 6 月 docs 占比很高,不是因为“写了很多说明书”,而是社区开始系统沉淀复杂主题:状态存储、CDC 生产实践、REST API 生命周期等。
- 这会直接降低企业落地门槛,提高 SeaTunnel 的可采纳性。
附录:2026 年 6 月全部合入 PR 清单(125 条)
| 合入日期 | PR | 标题 | 提交者 | 分类 | 模块 |
|---|---|---|---|---|---|
| 2026-06-01 | 10960 | [Fix][Connector-V2] Fix parquet read failure when column name contains Avro-illegal characters | yuluo-yx | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-01 | 10485 | [Feature][Connector] Add BigQuery Sink Connector | dybyte | 功能特性 | seatunnel-connectors-v2 |
| 2026-06-01 | 10600 | [Feature][Core] Support table-level fault isolation for multi-table synchronization | yzeng1618 | 功能特性 | seatunnel-engine |
| 2026-06-02 | 10989 | [Improve][e2e] Improve the stability of redis e2e testing e2e | nzw921rx | 架构改进 | seatunnel-e2e |
| 2026-06-02 | 10744 | [Feature][Connector-File] Add schema evolution support (ADD/DROP/RENAME/UPDATE column) for all file formats | ricky2129 | 功能特性 | seatunnel-engine |
| 2026-06-03 | 10998 | [Fix][Connector-V2] Adapt JdbcHiveIT to JdbcCatalogUtils getTables signature | yzeng1618 | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-03 | 10991 | [Fix][Connector-V2] Fix Paimon branch save mode DDL | QuakeWang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-04 | 11003 | [Fix][Connector-V2] Fix Paimon option rule declarations | QuakeWang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-04 | 10977 | [STIP-28][Feature][Zeta] Enhance OptionRule to support rich declarative validation beyond presence checks | nzw921rx | 架构改进 | seatunnel-engine |
| 2026-06-04 | 10996 | [Improve][Connector-V2][Jdbc] Support Oracle append values insert mode | zhangshenghang | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-04 | 10994 | [Fix][Engine] Fix JDK 8 NoSuchMethodError in StainTracePayload#append | davidzollo | Bug 修复 | seatunnel-engine |
| 2026-06-05 | 11006 | [Improve][Docs] Fix Kafka connector documentation errors | CosmosNi | 架构改进 | docs |
| 2026-06-05 | 11014 | Add new collaborator because of yzeng has become a committer | davidzollo | 架构改进 | other |
| 2026-06-05 | 11004 | [Fix][Connector-V2][CDC-MySQL] Honor int_type_narrowing option on MyS… | ricky2129 | Bug 修复 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-05 | 10843 | [Bug] [Postgres-CDC] Fix snapshot table schema lookup | LeonYoah | Bug 修复 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-05 | 10133 | [Feature][Zeta] Report non-terminal job states | dybyte | 功能特性 | seatunnel-engine |
| 2026-06-05 | 10555 | [Improve][Checkpoint] Add Javadoc for CheckpointCoordinator lifecycle | Marx-Carvalho | 架构改进 | seatunnel-engine |
| 2026-06-07 | 11010 | [Improve][API] Add Map condition validators for configuration option … | nzw921rx | 架构改进 | seatunnel-api |
| 2026-06-07 | 11018 | [Docs] Add connector FAQ writing guidelines | davidzollo | 架构改进 | docs |
| 2026-06-07 | 10981 | docs: add Zeta state storage and recovery guide (P0-1) | DanielLeens | 架构改进 | seatunnel-engine |
| 2026-06-07 | 10982 | docs: add CDC production cookbook for full and incremental synchronization (P0-2) | DanielLeens | 架构改进 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-07 | 10983 | docs: add REST API job lifecycle cookbook | DanielLeens | 架构改进 | docs |
| 2026-06-08 | 11019 | [Fix][E2E][Jdbc] Fix IRIS e2e container startup failure by upgrading image and adding wait strategy | hawk9821 | Bug 修复 | seatunnel-e2e |
| 2026-06-08 | 10965 | [Bug] [UI] Fix NaN display in job detail Overview table when tablePaths does not match metrics keys | 77amyfly | Bug 修复 | seatunnel-engine |
| 2026-06-08 | 10935 | [Feature][Connector-V2] Add MQTT source connector | JAEKWANG97 | 功能特性 | seatunnel-connectors-v2 |
| 2026-06-08 | 10980 | [Docs] add FAQ sections to connector pages (EN + zh-CN) | davidzollo | 架构改进 | docs |
| 2026-06-09 | 10950 | [Improve][Connector-V2] Enhance JDBC chunk splitter logging | zhangshenghang | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-09 | 11022 | [Improve][API] Allow exclusive/bundled options to coexist with optional value constraints | nzw921rx | 架构改进 | seatunnel-api |
| 2026-06-09 | 10938 | [Feature][Connector] Add Salesforce Source Connector | NixonWahome | 功能特性 | seatunnel-connectors-v2 |
| 2026-06-10 | 11009 | [Fix][Connector-V2] Respect Paimon alter table ignore flag | QuakeWang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-10 | 11024 | [Improve][Zeta] Add logical state store observability metrics | JeremyXin | 架构改进 | seatunnel-engine |
| 2026-06-10 | 11001 | [Improve][Transform-v2] fix transform-v2 UT flaky test | nzw921rx | 架构改进 | other |
| 2026-06-11 | 11053 | [Feature][Connector-V2][MongoDB-CDC] Support latest-offset startup mode without initial snapshot | GabrielBBaldez | 功能特性 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-11 | 10984 | docs: add guide for submitting jobs to a remote Zeta cluster (Docker/K8s/EKS) | DanielLeens | 架构改进 | seatunnel-engine |
| 2026-06-11 | 10572 | [Feature][Core] Support monitoring the busyness level of Zeta engine tasks | zhangshenghang | 功能特性 | seatunnel-engine |
| 2026-06-11 | 10869 | [Improve][connector-elasticsearch] Improved elasticsearch source enumerator splits allocation algorithm for subtasks | JeremyXin | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-11 | 10378 | [Fix][Connector-file] Fix the new schema cannot be fetched when the parquet file is read | JeremyXin | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-11 | 11063 | [Fix][Docs] Fix zh user page link | zhangshenghang | Bug 修复 | docs |
| 2026-06-11 | 10760 | [Fix][Transform-V2] Avoid eager zeta udf open and fix null table context | davidzollo | Bug 修复 | seatunnel-engine |
| 2026-06-11 | 11064 | [Docs] Fix Http source code fence | DanielCarter-stack | 架构改进 | docs |
| 2026-06-12 | 11068 | [Fix][Connector-V2] Fix Cassandra null timestamp conversion | zhangshenghang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-12 | 11066 | [Docs] Fix zeta engine jar storage typos | DanielCarter-stack | 架构改进 | seatunnel-engine |
| 2026-06-12 | 11070 | [Docs] localize zh transform titles and summaries | DanielLeens | 架构改进 | docs |
| 2026-06-12 | 11048 | [Feature][API] Add EXTENSION operator for pluggable validation in ConditionOperator | nzw921rx | 功能特性 | seatunnel-engine |
| 2026-06-12 | 11073 | [Chore]Restore SeaTunnelEngineLocalExample | niumy0701 | 架构改进 | other |
| 2026-06-12 | 11033 | [Docs]Repair document links | 15037143579 | 架构改进 | seatunnel-engine |
| 2026-06-13 | 11056 | [Fix][Connector-V2] Ignore BOM in file source readers | yuluo-yx | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-13 | 11000 | [Improve][Engine] fix engine UT flaky test | nzw921rx | 架构改进 | seatunnel-engine |
| 2026-06-13 | 11035 | [Docs] Clarify REST API defaults and add connector troubleshooting cookbooks | DanielLeens | 架构改进 | docs |
| 2026-06-13 | 10951 | [Fix][Connector-v2][CDC] Fix job hang caused by checkpoint failure during schema evolution under multi-parallelism on Flink1.13 | CloverDew | Bug 修复 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-13 | 11078 | [Fix][Connector-V2] Support SFTP keyfile option | zhangshenghang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-13 | 10985 | [Docs] add multi-table transform capability boundary guide | DanielLeens | 架构改进 | docs |
| 2026-06-13 | 10949 | [Fix][E2E] Stabilize engine failover test and rebalance connector shards | DanielLeens | Bug 修复 | seatunnel-engine |
| 2026-06-13 | 10691 | [Docs][Core] Add Javadoc to TaskExecutionService inner classes | xxzuo | 架构改进 | seatunnel-engine |
| 2026-06-13 | 11054 | [Test][SqlServer-CDC] Add multi-table e2e testcase | davidzollo | 架构改进 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-15 | 10505 | [Feature][Connector-V2] Add recursive_file_scan option for file connectors | MyeoungDev | 功能特性 | seatunnel-connectors-v2 |
| 2026-06-16 | 11071 | [Fix][Zeta] Fix checkpoint barrier trigger test race | zhangshenghang | Bug 修复 | seatunnel-engine |
| 2026-06-16 | 11102 | [Fix][E2E] Stabilize multiple flaky tests | nzw921rx | Bug 修复 | seatunnel-engine |
| 2026-06-16 | 11105 | [Fix][Docs] Remove duplicate connector FAQ sidebar entry | DanielCarter-stack | Bug 修复 | docs |
| 2026-06-17 | 11111 | [Docs] Fix Typesense sink common options link | DanielCarter-stack | 架构改进 | docs |
| 2026-06-18 | 11118 | [Docs] Fix RocketMQ transform links | zhangshenghang | 架构改进 | docs |
| 2026-06-18 | 11119 | [Docs] Fix Kafka source example text | zhangshenghang | 架构改进 | docs |
| 2026-06-18 | 11098 | [Fix][Connector-V2] Fix HTTP cursor pagination no-progress loop | zhangshenghang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-18 | 11110 | [Fix][Connector-V2] Fix Oracle CDC schema cache matching | zhangshenghang | Bug 修复 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-18 | 11108 | [Feature][Connector-V2][CDC] Add include/exclude filtering for schema change event types #11044 | ss666 | 功能特性 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-18 | 11067 | [Fix][Connector-V2] Fix Parquet INT96 mixed-case field matching | zhangshenghang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-19 | 11106 | [Improve][Connector-V2] Migrate jdbc validation to declarative OptionRule | nzw921rx | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-19 | 11109 | [Improve][Core] Support transform and value constraint option rules in CLI | yzeng1618 | 架构改进 | other |
| 2026-06-19 | 11132 | [Fix][Connector-V2] Fix Paimon stream source state restore | QuakeWang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-19 | 10670 | [Feature][Connector-V2] Support Pulsar sink multi-table writes | Muktha9491 | 功能特性 | seatunnel-connectors-v2 |
| 2026-06-19 | 11130 | [Docs] Add zh DynamicCompile Scala example | zhangshenghang | 架构改进 | docs |
| 2026-06-19 | 11124 | [Docs] Polish architecture overview diagrams for current docs | DanielLeens | 架构改进 | docs |
| 2026-06-19 | 11114 | [Feature][Transform-V2] Add Base64 SQL functions | MyeoungDev | 功能特性 | seatunnel-e2e |
| 2026-06-20 | 10849 | [Feature][Connector-V2] Add Google Cloud Bigtable Source and Sink con… | programmerloverun | 功能特性 | seatunnel-connectors-v2 |
| 2026-06-20 | 10863 | [Improve][Transform-V2] Improve embedding model invocation reliability | yzeng1618 | 架构改进 | other |
| 2026-06-20 | 11062 | [Feature][Transform-V2] Add Calcite SQL transform plugin | nzw921rx | 功能特性 | seatunnel-e2e |
| 2026-06-20 | 11138 | [Test][E2E] Stabilize Db2 container readiness for JDBC IT | DanielLeens | 架构改进 | seatunnel-e2e |
| 2026-06-20 | 11148 | [Docs] Fix IMap persistence grammar | zhangshenghang | 架构改进 | docs |
| 2026-06-20 | 11147 | [Docs] Fix default engine grammar | zhangshenghang | 架构改进 | docs |
| 2026-06-20 | 11145 | [Docs] Fix Pulsar source fetching typo | zhangshenghang | 架构改进 | docs |
| 2026-06-20 | 11146 | [Docs] Polish Pulsar sink routing mode docs | zhangshenghang | 架构改进 | docs |
| 2026-06-20 | 11135 | [Docs] Fix zh JVM tuning guide link | zhangshenghang | 架构改进 | docs |
| 2026-06-20 | 11143 | [Test][E2E] Wait for SFTP continuous job exit after cancel | DanielLeens | 架构改进 | seatunnel-e2e |
| 2026-06-21 | 11104 | [Improve][Zeta] Add ReportMetricsOperation observability exports | dybyte | 架构改进 | seatunnel-engine |
| 2026-06-21 | 11149 | [Docs] Update CNCF landscape license link | zhangshenghang | 架构改进 | docs |
| 2026-06-21 | 11058 | [Docs] Add first-job entry and getting started recipes | davidzollo | 架构改进 | docs |
| 2026-06-21 | 10812 | [Feature][Zeta] Decouple Hazelcast IMap via StateStore Abstraction | dybyte | 功能特性 | seatunnel-engine |
| 2026-06-22 | 11127 | [Fix][API] Add missing OptionRule validation for CatalogFactory creation path | nzw921rx | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-22 | 11154 | [Test][E2E] Stabilize schema evolution add-column assertions | DanielLeens | 架构改进 | seatunnel-e2e |
| 2026-06-22 | 11164 | [Docs] Fix Chinese engine architecture page rendering | zhangshenghang | 架构改进 | docs |
| 2026-06-22 | 11075 | [Fix][seatunnel-translation-base] Remove connector-specific test dependencies from translation base | JeremyXin | Bug 修复 | other |
| 2026-06-22 | 11152 | [Docs] Improve new user onboarding flow | DanielLeens | 架构改进 | docs |
| 2026-06-22 | 11129 | [Fix][Connector-V2] Support MongoDB CDC SRV URI | zhangshenghang | Bug 修复 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-22 | 10811 | [Fix][Connector-V2][MySQL-CDC] Fix BinlogOffset.compareTo ignoring restartSkipRows when GTID sets are equal | zooo-code | Bug 修复 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-22 | 11117 | [Fix][Transform-V2] Align Scala compiler with Spark Scala version | zhangshenghang | Bug 修复 | other |
| 2026-06-23 | 11160 | [Fix][Connector-V2] Add missing MULTI_TABLE_SINK_REPLICA option to PulsarSinkFactory | nzw921rx | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-23 | 11177 | [CI][Core] Inject GitHub token for website build workflow | DanielLeens | 架构改进 | .github/ci |
| 2026-06-23 | 11131 | [Feature][Connector-V2] Maxcompute Source Round-Robin Split Assignment | zhiliang-wu | 功能特性 | seatunnel-connectors-v2 |
| 2026-06-23 | 11175 | [Fix][Doc] Fix connector doc dead link | nzw921rx | Bug 修复 | other |
| 2026-06-25 | 11165 | [Fix][API] Fix backward compatibility issue in CatalogFactory optionRule validation | nzw921rx | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-25 | 11168 | [Fix][Connector-V2] Add Pulsar multi-table sink replica option | DanielLeens | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-27 | 11192 | [Fix][CI] Use workflow token for backend website build | zhangshenghang | Bug 修复 | .github/ci |
| 2026-06-27 | 11199 | Add heye1005 in ASF collaborators | DanielLeens | 架构改进 | other |
| 2026-06-27 | 11197 | [Docs] Fix inconsistent transform documentation | zhangshenghang | 架构改进 | docs |
| 2026-06-27 | 11196 | [Fix][Connector-V2] Fix Hudi null struct field conversion | zhangshenghang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-27 | 11195 | [Improve][Connector-V2][Redis] Align OptionRule with docs and dedupe config validation | ss666 | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-27 | 11122 | [Improve][Connector-V2] Migrate Elasticsearch validation to declarative OptionRule | nzw921rx | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-27 | 11158 | [Improve][Connector-V2] Migrate RocketMQ Source validation to declarative OptionRule | nzw921rx | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-27 | 11095 | [Improve][Transform-V2] Migrate transforms validation to declarative OptionRule | nzw921rx | 架构改进 | other |
| 2026-06-27 | 10802 | [Docs][Connector-V2] STIP-23 Phase 3: Add timer flush feature flag to all sink connector docs | nzw921rx | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-28 | 11059 | [Feature][Connector-V2] Add Vitess CDC source connector | DanielLeens | 功能特性 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-28 | 11204 | [Test][E2E] Stabilize MySQL CDC schema change waits | DanielLeens | 架构改进 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-28 | 11194 | [Test][E2E] Stabilize Flink MySQL schema evolution assertions | DanielLeens | 架构改进 | seatunnel-e2e |
| 2026-06-29 | 11183 | [Docs] Fix Jira API token guide link | DanielLeens | 架构改进 | docs |
| 2026-06-29 | 10724 | [SEATUNNEL-10685] prevent timestamp_ntz from being saved as timestamp_ltz | doyong365 | 架构改进 | seatunnel-connectors-v2 |
| 2026-06-29 | 9996 | [Improve][Transform-V2][Embedding]Enhance multimodal embeddings | loupipalien | 架构改进 | seatunnel-e2e |
| 2026-06-29 | 11213 | [Test][E2E] Retry SQL Server XA setup until login is ready | DanielLeens | 架构改进 | seatunnel-e2e |
| 2026-06-29 | 11210 | [Test][E2E] Reduce Databend CDC parallelism for CI stability | DanielLeens | 架构改进 | seatunnel-connectors-v2/connector-cdc |
| 2026-06-29 | 11205 | [Test][E2E] Stabilize Kafka exactly-once record reads | DanielLeens | 架构改进 | seatunnel-e2e |
| 2026-06-29 | 11190 | [Fix][Connector-V2] Avoid Xugu pooled connection isValid checks | DanielLeens | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-29 | 11121 | [Fix][API] Fix validateSingleChoice and extension exceptions bypassing error aggregation | nzw921rx | Bug 修复 | seatunnel-api |
| 2026-06-30 | 11180 | [Fix][Connector-V2] Clean up stale SFTP pooled sessions | DanielLeens | Bug 修复 | seatunnel-connectors-v2 |
| 2026-06-30 | 11217 | [Docs] Fix connector documentation links | zhangshenghang | 架构改进 | docs |
| 2026-06-30 | 11200 | [Test][E2E] Stabilize JDBC schema change assertions | DanielLeens | 架构改进 | seatunnel-e2e |
| 2026-06-30 | 11202 | [Fix][E2E] Wait for Postgres CDC WAL stream readiness | DanielLeens | Bug 修复 | seatunnel-connectors-v2/connector-cdc |