diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs-releases/current/all-release.md b/i18n/zh-CN/docusaurus-plugin-content-docs-releases/current/all-release.md
index ff24ef4d5a656..12276ea002840 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs-releases/current/all-release.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs-releases/current/all-release.md
@@ -11,7 +11,7 @@
:::tip 最新发布
-🎉 4.1.1 版本已于 2026 年 05 月 24 日正式发布,详情可查看[版本发布](./v4.1/release-4.1.1)。4.1 系列通过 AI 与搜索能力的深度融合、离线计算的稳定性提升、性能与易用性的双重优化,进一步拓宽了数据库的应用边界,可更好地支撑企业从传统 BI 分析到 AI 智能检索、从实时查询到大规模离线批处理的全场景数据分析需求。无论是互联网、金融、零售等行业的实时报表、用户行为分析,还是政务、医疗领域的文档检索、大规模数据批处理,新版本 Doris 都将为用户提供更高效、更可靠的数据分析体验。
+🎉 4.1.2 版本已于 2026 年 06 月 17 日正式发布,详情可查看[版本发布](./v4.1/release-4.1.2)。4.1 系列通过 AI 与搜索能力的深度融合、离线计算的稳定性提升、性能与易用性的双重优化,进一步拓宽了数据库的应用边界,可更好地支撑企业从传统 BI 分析到 AI 智能检索、从实时查询到大规模离线批处理的全场景数据分析需求。无论是互联网、金融、零售等行业的实时报表、用户行为分析,还是政务、医疗领域的文档检索、大规模数据批处理,新版本 Doris 都将为用户提供更高效、更可靠的数据分析体验。
🎉 4.0.6 版本已于 2026 年 06 月 08 日正式发布,详情可查看[版本发布](./v4.0/release-4.0.6)。Apache Doris 4.0 围绕 “AI 驱动、搜索增强、离线提效” 三大核心方向实现重要升级:正式引入向量索引(Vector Index)与 AI 函数,可在同一引擎中完成结构化分析、全文检索与向量相似性搜索的一体化处理(HSAP);全新的 SEARCH() 函数提供类 Elasticsearch 的轻量 DSL 语法,让文本检索更灵活高效;通过 Spill Disk 落盘能力提升大规模 ETL/ELT 与多表物化视图的稳定性;并借助 TopN 延迟物化与默认开启的 SQL Cache 显著提升查询性能,为用户构建更高效、更灵活的企业级数据分析平台。
@@ -30,6 +30,8 @@
+- [2026-06-17, Apache Doris 4.1.2 版本发布](./v4.1/release-4.1.2.md)
+
- [2026-06-08, Apache Doris 4.0.6 版本发布](./v4.0/release-4.0.6.md)
- [2026-05-24, Apache Doris 4.1.1 版本发布](./v4.1/release-4.1.1.md)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs-releases/current/v4.1/release-4.1.2.md b/i18n/zh-CN/docusaurus-plugin-content-docs-releases/current/v4.1/release-4.1.2.md
new file mode 100644
index 0000000000000..2d4d24281bbf5
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs-releases/current/v4.1/release-4.1.2.md
@@ -0,0 +1,200 @@
+---
+{
+ "title": "Release 4.1.2",
+ "language": "zh-CN",
+ "description": "Apache Doris 4.1.2 版本发布说明"
+}
+---
+
+# 新功能
+
+## 查询与执行
+- 支持 ARRAY_CROSS_PRODUCT 函数 (#64031)
+- 新增 exponential_moving_average 聚合函数 (#63499)
+- 支持 murmur_hash3_128 函数 (#63196)
+- 新增 datasketches HLL sketch 聚合函数 (#63143)
+- 跳过为超长字符串列收集统计信息 (#62686)
+- 新增 information_schema role mappings 表 (#62077)
+- 为 cosine_similarity 新增 FE 常量折叠并规范化测试模式 (#60403)
+
+## 云原生
+- 在 MTMV 刷新任务中显示 compute group (#63206)
+
+## 安全与认证
+- 集成 OIDC 认证、MySQL 登录桥接与角色映射 (#61819)
+
+# 改进
+
+## 查询与执行
+- 使用真实经过时间计算 workload group 指标刷新间隔 (#63537)
+- 在多个聚合函数与数组函数中支持 TIMESTAMPTZ (#62756)
+
+## 存储与压缩
+- 默认开启 packed file 与空 rowset 优化 (#63475)
+- 支持可配置的 S3 credentials provider (#62788)
+- 新增 enable_recycler 配置以动态跳过 recycler (#63286)
+
+# 问题修复
+
+## 索引与搜索
+- 修复 file cache miss 时读取 packed 倒排索引文件的问题 (#64383)
+- 修复 ANN IVF/PQ 召回率,避免初始化时预留过大的 ANN build-buffer,并跳过 ANN 索引构建... (#64082)
+- 防护 LogicalView.computeOutput() 应对 schema 漂移(IndexOutOfBoundsException)(#64007)
+- 修复 ANN 范围搜索的状态泄漏与错误的 slot index 跟踪 (#63666)
+- 在 SHOW CREATE 输出中将 variant_sparse_hash_shard_count 限制为 >=1 (#63661)
+- 将 Variant 搜索绑定到嵌套索引 (#63660)
+- 拒绝在无倒排索引的列上使用 Lucene 语法的 SEARCH (#63637)
+- 深拷贝逻辑关系时保留 operative slots (#63315)
+- 在 view 定义中保留 variant 子字段,修复当 view select 包含...时查询 view 结果错误 (#62907)
+- 修复 tokenize 函数在首个参数为常量时结果错误 (#62699)
+- 允许对带别名的 variant 子列使用 MATCH (#63772)
+- 提升 AI 函数性能 (#62494)
+
+## 查询与执行
+- 拒绝在相关标量子查询中使用 TopN (#64251)
+- 优化浮点 fmod 快速路径 (#64161)
+- 将角色映射关键字 RULE/CEL/MAPPING 设为非保留字 (#64104)
+- 阻止 runtime filter 不安全地下推穿过 outer join (#64102)
+- 修复零日期的 datediff 折叠 (#64084)
+- 使 convert_tz 折叠与 BE 的 DST 处理对齐 (#64029)
+- 将 struct_element 合并到 element_at (#64027)
+- 修复 TopN runtime filter 激活 (#63969)
+- 在 SIGNBIT 常量折叠中保留负零符号 (#63954)
+- 修复 assert row join 下推的别名处理 (#63892)
+- 修复对已裁剪 variant 子路径的数组下标访问 (#63891)
+- 使 COM_RESET_CONNECTION 行为与 MySQL 对齐 (#63884)
+- 在数值常量折叠中保留 NaN (#63870)
+- 避免读取大 snapshot split 时潜在的 OOM (#63833)
+- 在 variant_hirachinal 中将 variant 子列转为 json 以获得稳定输出 (#63828)
+- 修复 show variables 中已变更变量的输出 (#63734)
+- 修复 computeDestIdToInstanceId 在多输入 fragment 时选错 ExchangeNode (#63615)
+- 避免 JSON modify 路径中的无符号下溢 (#63579)
+- 处理缺失 precision/frac 的遗留 DecimalV2 segment (#63569)
+- 在 sparse 路径中保留 TIMESTAMPTZ 值 (#63522)
+- 使遗留 literal 的 compareLiteral 与 Nereids ComparableLiteral 语义对齐 (#63481)
+- 拒绝对 variant 参数使用 COUNT DISTINCT (#63479)
+- 按值比较 JSON 数值 (#63396)
+- 移除不安全的 JsonbWriter key 重载 (#63355)
+- 阻止 view 定义中无效的别名重写 (#63353)
+- 拒绝非正的 topn count 参数 (#63350)
+- 修复 json contains 的重复数组候选 (#63301)
+- 拒绝 json keys 中的 super 通配符路径 (#63300)
+- 向 MySQL 客户端以字符串形式上报 TIMESTAMPTZ (#63292)
+- 为 join 重写新增 null reject 补偿 (#63268)
+- 拒绝 JSONB literal 中落单的 UTF-16 代理项(RFC 8259 §8.2)(#63255)
+- 修复最外层表达式为 cast 的 alias function 并拒绝非法表达式 (#63254)
+- 在 TopN runtime predicate 中支持 TIMESTAMPTZ (#63220)
+- 拒绝将 JSONB 与 variant 作为分布列 (#63211)
+- 将恒为真谓词的裁剪移到分区裁剪之后,放入 PlanPostProc... (#63111)
+- 修复 coalesce 函数输出 null 的问题 (#63092)
+- 保留首个重复的 Variant JSON path (#63082)
+- 避免 union 查询未使用的 MV 分区 (#63081)
+- 修复整型类型推导并在参数/类型解析时优先使用 Variable.realExpression (#62524)
+- 修复 agg-union 查询计划中的冗余聚合 (#62231)
+- 将 ConnectContext 传入 canUseNereidsDistributePlanner 方法,而非调用 ConnectContext.get() (#60529)
+
+## 存储与压缩
+- 为 from-to cdc WAL 搜索新增超时与陈旧 reader 释放 (#64013)
+- 在 commit rowset 时校验 recycle rowset key 状态 (#63985)
+- 降低 sparse variant 解析内存 (#63970)
+- 避免保留完整的 segment key bounds buffer (#63968)
+- flush 后释放 packed file writer buffer (#63967)
+- 在 delete bitmap capture 前归一化 SC rowset 图 (#63960)
+- 支持 cdc_client JVM 选项并采用外部管理的 cdc_client (#63898)
+- 移除 udf cache 的 expiration_time 属性 (#63897)
+- 销毁前排空 txn lazy committer worker (#63876)
+- 在 distributionPrune 中按分区过滤 nereidsPrunedTabletIds (#63851)
+- 为异步任务保持 prefetch reader 存活 (#63796)
+- 避免重试对象存储的 SlowDown 错误 (#63776)
+- 移除单副本 compaction (#63771)
+- 按查询缓存 cluster id 并移除 getBackendId 热路径上的冗余锁 (#63636)
+- 修复 master 上 meta tool 的构建 (#63540)
+- 对 STOP_TOKEN 跳过陈旧 tablet cache 检查 (#63520)
+- 为 histogram 指标保留 label,修复 prometheus 指标名错误 (#63485)
+- 在 LocationPath 中归一化默认 HDFS 路径 (#63476)
+- 存储 segment stats 前截断 segment key bounds (#63469)
+- 运行前填补 schema change 的版本空洞 (#63443)
+- 禁用 row store 列的 dict 编码 (#63438)
+- 移除 assert_cast 的 pure 属性 (#63417)
+- 修复重启后立即 clear_file_cache 导致 file cache size 百分比溢出 (#63410)
+- 在一个 BE 宕机时验证 DML 与三副本建表 (#63401)
+- 修复预聚合 context 在 join 分支间的泄漏 (#63357)
+- 清理空的 v3 cache 目录 (#63344)
+- 避免并发 tablet stat 迭代失败 (#63298)
+- 允许在未选择数据库时 show tablet (#63280)
+- 读取 FE 持久化的 CDC offset 时恢复 split-bound 的 Java 类型 (#63219)
+- clone instance 支持 storage vault (#63217)
+- 将 overwrite 分区路由延迟到 incremental open (#63209)
+- 修复分区回收后简单聚合的缓存 (#63175)
+- 增强统计 analyze 任务的 OOM 错误信息 (#63172)
+- 修复 vertical compaction 期间 RowSourceBuffer 中错误的内存可用性检查 (#63152)
+- 为 cdc source job 实现异步 chunk 切分 (#63079)
+- 用带注解的 wrapper 替换 std::mutex/std::lock_guard 以支持线程安全分析 (#63070)
+- 避免 force-finished publish 任务的 NPE (#63069)
+- 为 DataQueue 新增 SubQueue 抽象与线程安全注解 (#62947)
+- 跳过对异步 rowset warmup 的等待 (#62764)
+- 为 RestoreJob 缓存版本并主动获取 tablet stats (#62704)
+- create/list snapshot 支持 storage vault (#62523)
+- 在多跳 outer join MV 重写中从 INNER JoinEdge 推断 null-reject (#62492)
+- 避免延迟的 holder 清理遇到已移除 cache cell 时崩溃 (#62437)
+- 修复 PartitionRebalancer 向缺少所需存储介质的 BE 生成无效迁移 (#62206)
+- 为 meta-service 新增系统级限流 (#61516)
+- 在 CloudTabletRebalancer 中用 tabletId 替换 Tablet 引用 (#61233)
+- 新增异步 lru 更新机制并修复 cache reader 中的部分命中 (#61083)
+- 避免 NewOlapScanner 中 FileCache 计数器重复累加 (#61072)
+- show proc 应显示分区的 cached version (#60807)
+- 避免云模式下错误的 tablet 诊断告警 (#60805)
+
+## 导入
+- 修复 nullable date literal 绑定与 date *_diff 折叠 (#64127)
+- 为自动分区保持 load 行数指标单调 (#64109)
+- 修复 postgres cdc 多表 publication 的数据丢失与 binlog 重复 key (#64075)
+- 加载 JSON 时按名称匹配 STRUCT 子字段 (#64011)
+- 更换 lzo 下载链接 (#63785)
+- 修复 cdc-client 中 postgres 历史日期 timestamp 的处理 (#63618)
+- 新增按任务级别的 routine load 指标 (#63576)
+- 修复 BeIdComparator 中 int 溢出导致 stream load 失败 (#63565)
+- 为 sub txn load 新增 txn 写放大 brpc 指标 (#63545)
+- 对 workload DDL 强制使用显式 compute group 形式 (#63505)
+- 支持用户指定 mysql server_id 并按 reader 分配 (#63490)
+- 修复一批 typo/日志/校验/可见性问题 (#63480)
+- 避免 snapshot chunk 读取期间跨表 DML 的 NPE (#63435)
+- 在终态任务上执行 cancel 时保持 isCanceled 置位 (#63427)
+- 丢弃 JdbcPostgreSQLClient 中因 JDBC LIKE 通配符泄漏的邻表行 (#63402)
+- 优化 row-store 场景下 row-store memtable flush 的内存 (#63342)
+- 修复 stream load 重定向时未消费 request body 导致的 broken pipe 风险 (#63332)
+- 将 esdk-obs-java-bundle 固定到 3.21.11 以修复版本范围解析失败 (#63278)
+- 为 streaming insert 任务新增按任务级别的 lag 指标 (#63194)
+- 修复 routine load Kafka meta 请求中的 NPE (#63180)
+- 移除核心类型与工具中的无用代码 (#62994)
+- CancelTaskById 不应被无关的 streaming 任务阻塞 (#62940)
+- 在 replay 与 ALTER 后重新计算派生字段 (#62936)
+- 跨 FE checkpoint 持久化 cdc_stream TVF offset (#62902)
+- 避免修改共享的 variant 列 (#64092)
+- 从当前 cluster 选择 txn insert backend (#63634)
+- 修复在 metadata_failure_recovery 模式启动 FE 时 host 不匹配 (#62748)
+- 去重待处理的一次性 warm up 任务 (#62384)
+
+## 湖仓
+- 将 iceberg varint 类型映射为 unsupported 类型 (#64331)
+- 修复 iceberg 写入特殊分区错误 (#64225)
+- 修复无法获取已迁移 Iceberg 表 format type 的问题 (#64134)
+- 数据位置使用对象存储路径 (#64028)
+- 拒绝对 iceberg COW 表执行行级 DML (#63950)
+- 修复 iceberg v3 row lineage 的 count distinct 结果错误 (#63826)
+- 修复 LocalExchangeSharedState::sub_total_mem_usage 中的 DCHECK (#63742)
+- 为 position delete 文件补充缺失的 Iceberg field ID (#63483)
+- 为查询加载行数时填充 Hive meta cache (#63470)
+- 修复 iceberg sink writer 的 spill 上报错误 (#62899)
+- Rest 与 S3Table 支持 IAM role (#60498)
+
+## 安全与认证
+- 在 MysqlProto.readLenEncodedString 中限制长度 (#63604)
+- 将 HDFS connection 纳入 file handle cache key (#63516)
+- 修复 arrow flight client 的 IP 鉴权 (#63506)
+- 在 simplify in predicate 中保留收窄的 datetimev2 cast (#63343)
+- 修复 arrow::Status inline static empty msg 的 core (#63191)
+- 支持多 root 认证插件加载并规范化 OIDC access token 认证 (#62159)
+- 在审计日志中改进 ALTER USER 与 CREATE USER 命令的用户密码脱敏 (#62141)
+- 改进 LDAP 认证的弹性与诊断 (#61673)
+- 集成认证链并简化 fallback 配置 (#61362)
diff --git a/releasenotes/all-release.md b/releasenotes/all-release.md
index 57479d3af4ead..faceae1759671 100644
--- a/releasenotes/all-release.md
+++ b/releasenotes/all-release.md
@@ -9,7 +9,7 @@
This document presents a summary of Apache Doris versions released within one year, listed in reverse chronological order.
:::tip Latest Release
-🎉 Version 4.1.1 is released. Check out the 🔗[Release Notes](./v4.1/release-4.1.1) here. Apache Doris 4.1 takes a major step forward with new AI support (vector search, AI Functions) and better full-text search capabilities. These upgrades help users stay ahead in the AI and agent era, enabling companies to handle everything from traditional BI analysis to AI-driven workloads.
+🎉 Version 4.1.2 is released. Check out the 🔗[Release Notes](./v4.1/release-4.1.2) here. Apache Doris 4.1 takes a major step forward with new AI support (vector search, AI Functions) and better full-text search capabilities. These upgrades help users stay ahead in the AI and agent era, enabling companies to handle everything from traditional BI analysis to AI-driven workloads.
@@ -32,6 +32,8 @@ This document presents a summary of Apache Doris versions released within one ye
+- [2026-06-17, Apache Doris 4.1.2 is released](./v4.1/release-4.1.2.md)
+
- [2026-06-08, Apache Doris 4.0.6 is released](./v4.0/release-4.0.6.md)
- [2026-05-24, Apache Doris 4.1.1 is released](./v4.1/release-4.1.1.md)
diff --git a/releasenotes/v4.1/release-4.1.2.md b/releasenotes/v4.1/release-4.1.2.md
new file mode 100644
index 0000000000000..bafb6c7da320c
--- /dev/null
+++ b/releasenotes/v4.1/release-4.1.2.md
@@ -0,0 +1,200 @@
+---
+{
+ "title": "Release 4.1.2",
+ "language": "en",
+ "description": "Here's the Apache Doris 4.1.2 release notes:"
+}
+---
+
+# New Features
+
+## Query & Execution
+- Support function ARRAY_CROSS_PRODUCT (#64031)
+- Add exponential_moving_average aggregate function (#63499)
+- Support murmur_hash3_128 function (#63196)
+- Add datasketches HLL sketch aggregate functions (#63143)
+- Skip collecting stats for long string columns (#62686)
+- Add information_schema role mappings table (#62077)
+- Add FE constant folding for cosine_similarity and standardize test patterns (#60403)
+
+## Cloud Native
+- Show compute group for MTMV refresh task (#63206)
+
+## Security & Authentication
+- Integrate OIDC authentication, MySQL login bridge, and role mapping (#61819)
+
+# Improvement
+
+## Query & Execution
+- Use real elapsed time to compute workload group metrics refresh interval (#63537)
+- Support TIMESTAMPTZ in multiple aggregate and array functions (#62756)
+
+## Storage & Compaction
+- Enable packed file and empty rowset optimization by default (#63475)
+- Support configurable S3 credentials providers (#62788)
+- Add enable_recycler config to skip recycler dynamically (#63286)
+
+# Bugfix
+
+## Index & Search
+- Fix reading packed inverted index file on file cache miss (#64383)
+- Fix ANN IVF/PQ recall, avoid init-time large ANN build-buffer reservation, and skip ANN index bui... (#64082)
+- Guard LogicalView.computeOutput() against schema drift (IndexOutOfBoundsException) (#64007)
+- Fix ANN range search state leakage and incorrect slot index tracking. (#63666)
+- Clamp variant_sparse_hash_shard_count to >=1 in SHOW CREATE output (#63661)
+- Bind Variant search to nested indexes (#63660)
+- Reject Lucene-syntax SEARCH on columns without inverted index (#63637)
+- Preserve operative slots when deep copying logical relations (#63315)
+- Preserve variant subfields in view definitions to fix select view result wrong when view select h... (#62907)
+- Fix tokenize function incorrect result when first argument is const (#62699)
+- Allow MATCH on aliased variant subcolumns (#63772)
+- Improving AI function performance (#62494)
+
+## Query & Execution
+- Reject TopN in correlated scalar subquery (#64251)
+- Optimize floating fmod fast path (#64161)
+- Make role-mapping keywords RULE/CEL/MAPPING non-reserved (#64104)
+- Prevent unsafe runtime filter pushdown through outer joins (#64102)
+- Fix datediff folding for zero date (#64084)
+- Align convert_tz folding with BE DST handling (#64029)
+- Merge struct_element into element_at (#64027)
+- Fix TopN runtime filter activation (#63969)
+- Preserve negative zero sign in SIGNBIT constant folding (#63954)
+- Fix assert row join pushdown alias handling (#63892)
+- Fix array subscript on pruned variant subpath (#63891)
+- Align COM_RESET_CONNECTION behavior with MySQL (#63884)
+- Preserve NaN in numeric constant folding (#63870)
+- Avoid potential OOM when reading large snapshot splits (#63833)
+- Cast variant subcolumn as json in variant_hirachinal for stable output (#63828)
+- Fix changed variable output in show variables (#63734)
+- Fix computeDestIdToInstanceId picking wrong ExchangeNode for multi-input fragments (#63615)
+- Avoid unsigned underflow in JSON modify path (#63579)
+- Handle legacy DecimalV2 segments with missing precision/frac (#63569)
+- Preserve TIMESTAMPTZ values in sparse path (#63522)
+- Align legacy literal compareLiteral with Nereids ComparableLiteral semantics (#63481)
+- Reject COUNT DISTINCT on variant arguments (#63479)
+- Compare JSON numeric values by value (#63396)
+- Remove unsafe JsonbWriter key overload (#63355)
+- Prevent invalid alias rewrite in view definitions (#63353)
+- Reject non-positive topn count argument (#63350)
+- Fix json contains duplicate array candidates (#63301)
+- Reject super wildcard path in json keys (#63300)
+- Report TIMESTAMPTZ as string to MySQL clients (#63292)
+- Add null reject compensation for join rewrite (#63268)
+- Reject lone UTF-16 surrogates in JSONB literals (RFC 8259 §8.2) (#63255)
+- Fix alias function with cast outermost expr and reject illegal expressions (#63254)
+- Support TIMESTAMPTZ in TopN runtime predicate (#63220)
+- Reject JSONB and variant distribution columns (#63211)
+- Move the pruning of predicates that are always true after partition pruning into the PlanPostProc... (#63111)
+- Fix coalesce function output null (#63092)
+- Keep first duplicate Variant JSON path (#63082)
+- Avoid unioning query-unused MV partitions (#63081)
+- Fix integer typing and prefer Variable.realExpression for argument/type resolution (#62524)
+- Fix redundant aggregation in agg-union query plan (#62231)
+- Pass ConnectContext to canUseNereidsDistributePlanner method instead of call ConnectContext.get() (#60529)
+
+## Storage & Compaction
+- Add from-to cdc WAL-search timeout and stale-reader release (#64013)
+- Validate recycle rowset key state during commit rowset (#63985)
+- Reduce sparse variant parse memory (#63970)
+- Avoid retaining full segment key bounds buffers (#63968)
+- Release packed file writer buffer after flush (#63967)
+- Normalize SC rowset graph before delete bitmap capture (#63960)
+- Support cdc_client JVM opts and adopt externally-managed cdc_client (#63898)
+- Remove the udf cache expiration_time property (#63897)
+- Drain txn lazy committer workers before destruction (#63876)
+- Filter nereidsPrunedTabletIds per partition in distributionPrune (#63851)
+- Keep prefetch reader alive for async tasks (#63796)
+- Avoid retrying object storage SlowDown errors (#63776)
+- Remove single replica compaction (#63771)
+- Cache cluster id per query and drop redundant locks on getBackendId hot path (#63636)
+- Fix meta tool build on master (#63540)
+- Skip stale tablet cache check for STOP_TOKEN (#63520)
+- Preserve labels for histogram metrics to fix wrong metric name for prometheus (#63485)
+- Normalize default HDFS paths in LocationPath (#63476)
+- Truncate segment key bounds before storing segment stats (#63469)
+- Fill schema change version holes before running (#63443)
+- Disable dict encoding in row store columns (#63438)
+- Remove pure attribute from assert_cast (#63417)
+- Fix clear_file_cache right after reboot causing file cache size percent overflow (#63410)
+- Verify DML and 3-replica create table when one BE is down (#63401)
+- Fix pre-aggregation context leakage across join branches (#63357)
+- Clean empty v3 cache dirs (#63344)
+- Avoid concurrent tablet stat iteration failures (#63298)
+- Allow show tablet without selected database (#63280)
+- Restore split-bound Java types when reading FE-persisted CDC offset (#63219)
+- Support storage vault for clone instance (#63217)
+- Delay overwrite partition routing until incremental open (#63209)
+- Fix simple aggregate cache after partition recycle (#63175)
+- Enhance OOM error message for statistics analyze tasks (#63172)
+- Fix incorrect memory availability check in RowSourceBuffer during vertical compaction (#63152)
+- Async chunk splitting for cdc source job (#63079)
+- Replace std::mutex/std::lock_guard with annotated wrappers for thread safety analysis (#63070)
+- Avoid NPE for force-finished publish task (#63069)
+- Add SubQueue abstraction and thread-safety annotations to DataQueue (#62947)
+- Skip wait for async rowset warmup (#62764)
+- Cache version and get tablet stats actively for RestoreJob (#62704)
+- Support storage vault for create/list snapshot (#62523)
+- Infer null-reject from INNER JoinEdge for multi-hop outer join MV rewrite (#62492)
+- Avoid crash when late holder cleanup sees removed cache cell (#62437)
+- Fix PartitionRebalancer generating invalid moves to BEs without required storage medium (#62206)
+- Add system rate limit for meta-service (#61516)
+- Replace Tablet references with tabletId in CloudTabletRebalancer (#61233)
+- Add async lru update machanism and fix partial hit in cache reader (#61083)
+- Avoid duplicated FileCache counter accumulation in NewOlapScanner (#61072)
+- Show proc should display partition cached version (#60807)
+- Avoid false tablet diagnosis alarms in cloud mode (#60805)
+
+## Load
+- Fix nullable date literal binding and date *_diff folding (#64127)
+- Keep load row metrics monotonic for auto partition (#64109)
+- Fix postgres cdc multi-table publication data loss and binlog duplicate key (#64075)
+- Match STRUCT sub-fields by name when loading JSON (#64011)
+- Change lzo download link (#63785)
+- Fix postgres historical-date timestamp handling in cdc-client (#63618)
+- Add per-job routine load metrics (#63576)
+- Fix int overflow in BeIdComparator causing stream load failure (#63565)
+- Add txn write amplification brpc metrics for sub txn load (#63545)
+- Enforce explicit compute group form for workload DDLs (#63505)
+- Support user-specified mysql server_id with per-reader assignment (#63490)
+- Misc fixes for typo/log/validation/visibility (#63480)
+- Avoid NPE on cross-table DML during snapshot chunk read (#63435)
+- Keep isCanceled set when cancel runs on terminal task (#63427)
+- Drop neighbour-table rows leaked by JDBC LIKE wildcards in JdbcPostgreSQLClient (#63402)
+- Optimize row-store memtable flush memory in the row-store scenario (#63342)
+- Fix broken pipe risk on stream load redirect with unconsumed request body (#63332)
+- Pin esdk-obs-java-bundle to 3.21.11 to fix version range resolution failure (#63278)
+- Add per-job lag metric to streaming insert jobs (#63194)
+- Fix NPE in routine load Kafka meta request (#63180)
+- Remove dead code across core types and utilities (#62994)
+- CancelTaskById should not be blocked by unrelated streaming jobs (#62940)
+- Recompute derived fields after replay and ALTER (#62936)
+- Persist cdc_stream TVF offset across FE checkpoint (#62902)
+- Avoid mutating shared variant columns (#64092)
+- Select txn insert backend from current cluster (#63634)
+- Fix host not match if start fe in metadata_failure_recovery (#62748)
+- Deduplicate pending one-shot warm up jobs (#62384)
+
+## Lakehouse
+- Mapping iceberg varint type to unsupported type (#64331)
+- Fix iceberg write special partition error. (#64225)
+- Fix can't get migrated Iceberg tables format type (#64134)
+- Use object store path for data location (#64028)
+- Reject iceberg COW table row-level DML (#63950)
+- Fix iceberg v3 row lineage count distinct error result (#63826)
+- Fix DCHECK in LocalExchangeSharedState::sub_total_mem_usage (#63742)
+- Add missing Iceberg field IDs for position delete files. (#63483)
+- Fill Hive meta cache when loading row count for queries (#63470)
+- Fix iceberg sink writer with spill report error (#62899)
+- Rest & S3Table Support Iam-role (#60498)
+
+## Security & Authentication
+- Bound length in MysqlProto.readLenEncodedString (#63604)
+- Include HDFS connection in file handle cache key (#63516)
+- Fix arrow flight client ip auth (#63506)
+- Preserve narrowing datetimev2 casts in simplify in predicate (#63343)
+- Fix arrow::Status inline static empty msg core (#63191)
+- Support multi-root auth plugin loading and normalize OIDC access token auth (#62159)
+- Improve masking of user's password for ALTER USER and CREATE USER commands in audit logs (#62141)
+- Improve LDAP authentication resiliency and diagnostics (#61673)
+- Integrate authentication chain and simplify fallback config (#61362)
diff --git a/sidebarsReleases.json b/sidebarsReleases.json
index 9c58912259c36..ad96d160f983b 100644
--- a/sidebarsReleases.json
+++ b/sidebarsReleases.json
@@ -5,6 +5,7 @@
"type": "category",
"label": "v4.1",
"items": [
+ "v4.1/release-4.1.2",
"v4.1/release-4.1.1",
"v4.1/release-4.1.0"
]
diff --git a/src/constant/download.data.ts b/src/constant/download.data.ts
index 67eb2fd45a033..93f95eb7070d1 100644
--- a/src/constant/download.data.ts
+++ b/src/constant/download.data.ts
@@ -30,7 +30,7 @@ export enum ToolsEnum {
export const ORIGIN = 'https://download.selectdb.com/';
export enum VersionEnum {
- Latest = '4.1.1',
+ Latest = '4.1.2',
Prev = '4.0.6',
Earlier = '3.1.4',
}
@@ -40,6 +40,40 @@ export enum DownloadTypeEnum {
Source = 'Source',
}
export const DORIS_VERSIONS: Option[] = [
+ {
+ label: '4.1.2',
+ value: '4.1.2',
+ majorVersion: '4.1',
+ children: [
+ {
+ label: CPUEnum.X64,
+ value: CPUEnum.X64,
+ gz: `${ORIGIN}apache-doris-4.1.2-bin-x64.tar.gz`,
+ asc: `${ORIGIN}apache-doris-4.1.2-bin-x64.tar.gz.asc`,
+ sha512: `${ORIGIN}apache-doris-4.1.2-bin-x64.tar.gz.sha512`,
+ source: 'https://dist.apache.org/repos/dist/release/doris/4.1/4.1.2/',
+ version: '4.1.2',
+ },
+ {
+ label: CPUEnum.X64NoAvx2,
+ value: CPUEnum.X64NoAvx2,
+ gz: `${ORIGIN}apache-doris-4.1.2-bin-x64-noavx2.tar.gz`,
+ asc: `${ORIGIN}apache-doris-4.1.2-bin-x64-noavx2.tar.gz.asc`,
+ sha512: `${ORIGIN}apache-doris-4.1.2-bin-x64-noavx2.tar.gz.sha512`,
+ source: 'https://dist.apache.org/repos/dist/release/doris/4.1/4.1.2/',
+ version: '4.1.2',
+ },
+ {
+ label: CPUEnum.ARM64,
+ value: CPUEnum.ARM64,
+ gz: `${ORIGIN}apache-doris-4.1.2-bin-arm64.tar.gz`,
+ asc: `${ORIGIN}apache-doris-4.1.2-bin-arm64.tar.gz.asc`,
+ sha512: `${ORIGIN}apache-doris-4.1.2-bin-arm64.tar.gz.sha512`,
+ source: 'https://dist.apache.org/repos/dist/release/doris/4.1/4.1.2/',
+ version: '4.1.2',
+ },
+ ],
+ },
{
label: '4.1.1',
value: '4.1.1',