ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Apache Superset 4.0.1 补丁版本解析:Bug 修复清单与源码级定位指南

2026/9/18 23:59:59 拓冰建站 浏览量
Apache Superset 4.0.1 补丁版本解析:Bug 修复清单与源码级定位指南 Apache Superset 4.0.1 补丁版本解析Bug 修复清单与源码级定位指南【免费下载链接】supersetApache Superset is a Data Visualization and Data Exploration Platform项目地址: https://gitcode.com/gh_mirrors/supers/superset本指南以 Apache Superset 仓库中的 CHANGELOG/4.0.1.md 为核心逐条解读 4.0.1发布于 2024-04-30这一补丁版本修复的 27 项缺陷与 6 项工程化改进并结合仓库源码定位各修复点的真实实现位置。读完本文你将了解 4.0.1 修复了哪些影响 Explore、Dashboard、SQL Lab 的已知问题以及这些修复分别在哪些模块落地便于在升级后验证或继续追踪后续版本。版本定位紧随 4.0 大版本之后的快速补丁Apache Superset 4.0.1 是 CHANGELOG/4.0.0.md2024-04-01 发布 4.0 之后的快速跟进补丁版本。从 4.0 到 4.0.1 仅相隔约一个月补丁内容以“Fixes修复”为主、辅以少量工程化 “Others其他” 变更没有新增数据库迁移也没有引入新特性属于典型的稳定化发布。4.0 大版本本身完成了大量重构移除 Filter Box、旧 Sunburst、Filter Set、Profile 等遗留功能Sunburst 迁移至 ECharts新增 IBM i 引擎规范 superset/db_engine_specs/ibmi.py、Period Over Period 大数字对比图等因此 4.0.1 的密集修复集中在新前端交互、SQL 解析和图表渲染这些刚经历重构的区域符合大版本后的常规修复节奏。Fixes27 项缺陷修复全景4.0.1 共修复 27 项问题可归纳为前端交互、SQL 解析、数据库引擎规范、后端服务与安全等几个领域。以下按主题分组说明。Explore 与图表构建器拖拽、指标与时间列Explore 是 4.0 重构的高发区本次修复了以下关键交互问题指标拖拽排序失效#28269 fix(explore): cannot reorder dnd of Metrics修复了 Explore 中 Metrics 无法通过拖拽调整顺序的问题配套的工程改进是隐藏不可拖拽的指标与维度列表#27717。时间列 mixin 问题#28241 fix(explore): temporal column mixin修复了时间列在部分场景下的混入/识别异常。仅允许已保存的指标与列#27539 fix(explore): Allow only saved metrics and columns限制 Explore 中只能选择已保存的指标与列。Explore REST API 校验增强#27395。Dashboard标签页、拖放与可访问性Dashboard 侧本次修复了多项编辑态交互问题无法将标签页拖入列#28242 fix(dashboard): unable to drop tabs in columns修复 Dashboard 编辑态下标签页Tab无法拖放进入列容器的问题。错误提示缺少空值检查#27845 fix(dashboard): missing null check in error extra修复 error extra 展示时的空指针问题。编辑态 HoverMenu 边框#27593 fix(Dashboard): Add border to row when hovering HoverMenu in edit mode编辑模式下悬停行时增加边框提示。过滤与搜索表单的 aria-label#27968 fix(Dashboard): Add aria-label to filters and search forms改善仪表盘过滤器和搜索表单的无障碍标注。useTruncation 无限循环与跨链接#27701 fix: useTruncation infinite loop, reenable dashboard cross links on ChartList修复 ChartList 中文本截断 Hook 的无限循环并重新启用仪表盘交叉链接。过滤与选择组件AsyncSelect 与动态过滤前端过滤组件有多项行为修复涉及 superset-frontend 中的选择控件动态过滤器在 blur/clear 时不显示全部值#28036 fix: Dynamic filter does not show all values on blur/clear events。allowNewOptionsfalse 时仍接受粘贴的未知值#28017 fix: Select is accepting unknown pasted values whenallowNewOptionsis false修复 Select 在关闭允许新建选项时仍接受粘贴未知值的问题。AsyncSelect 粘贴未加载值的 onChange 错误#27996 fix: Incorrect onChange value when an unloaded value is pasted into AsyncSelect修复粘贴尚未加载的值时 onChange 返回值不正确的问题。单选模式下重复选择仍触发 onChange[#27706](https://github.com/apache/superset/pull/277064.0.0 列表已在 4.0 修复4.0.1 继续完善该组件的边界行为。SQL 解析与 Jinja 模板latest_partition 提取SQL 解析是 4.0.1 修复的重头戏集中在 superset/sql_parse.py放宽 latest[_sub]_partition 提取逻辑#28152 fix(sql_parse): Provide more lenient logic when extracting latest[_sub]_partition在提取latest_partition/latest_sub_partition宏时提供更宽松的解析逻辑。支持 Jinja format() 过滤器#28117 fix(sql_parse): Support Jinja format() filter when extracting latest[_sub]_partition修复含format()过滤器时的分区提取。Jinja 宏提取去除首尾空白#27842 chore(sql_parse): Strip leading/trailing whitespace in Jinja macro extraction。从源码看这些修复落在extract_tables_from_jinja_sql()superset/sql_parse.py该函数先用 Jinja 语法树找出latest_partition/latest_sub_partition宏调用、从宏参数中还原表名再把宏替换为无害 SQLNULL后交给 SQLGlot 解析——4.0.1 的“放宽逻辑”与“支持 format() 过滤器”正是为了让这两步在更多书写方式下都能正确工作。此外4.0 中引入的 SQLGlot 回归也在 4.0.1 前的补丁中被持续修复如 #27217。数据库引擎规范Dremio、MariaDB 与通配符Dremio 别名修复#28222。新增 MariaDB 引擎规范#27919 中MariaDBEngineSpec直接继承自MySQLEngineSpec让 MariaDB 连接复用 MySQL 的方言与行为。默认按引擎规范处理通配符#27843 chore: Default to engine specification regarding using wildcard通配符%处理默认交由各引擎规范决定避免对特定数据库误替换。图表插件柱状图、横向图例与标签柱状图横向图例内边距#27883。行数与行数标签歧义#27700 fix: row limits row count labels are confusing修复“行数限制”与“返回行数”标签容易混淆的问题。Gauge 图区间计算#272854.0 中修复设置最小值时仪表盘图区间计算不正确的场景已在 4.0 修正。告警与报表日志保留与通知选项日志保留 None 选项合法化#27554 fix(AlertsReports): making log retention None option valid修复告警/报表日志保留策略选择 “None” 时校验失败的问题。去除重复的通知方式选项#27239。其他功能修复前端 locale 传递#27926 与前端国际化流程。响应数据允许 constructor 属性#25407 fix(frontend): allow constructor property in response data修复前端在处理响应数据时因constructor属性名而出现异常的问题。客户端图表超时对齐服务器配置#28018 中定义默认值为 60 秒int(timedelta(minutes1).total_seconds())注释明确指出该值应低于负载均衡器超时并要求 WSGI 服务器超时小于等于此值。本次修复让前端图表请求与后端超时保持一致。时间偏移 LIMIT 处理#27934 与 superset/utils/pandas_postprocessing。DrillBy 无过滤器图表启用#27941 fix(drillby): Enable DrillBy in charts w/o filters (dimensions)修复没有过滤器的图表无法启用钻取Drill By的问题与 4.0 中默认开启的DRILL_BY特性标志相关见 CHANGELOG/4.0.0.md 中的 #26637。values_for_column的%替换#28271它通过SELECT DISTINCT ... LIMIT查询某列的唯一值并返回列表本次修复关注%在%%转义如identifier_preparer._double_percents分支中的sql.replace(%%, %)场景下的正确替换。地图克里米亚回归乌克兰#28226 与superset-frontend/plugins/legacy-plugin-chart-country-map。Others工程化与内部改进“Others” 部分共 6 项体现社区在可观测性与工程规范上的持续投入Codecov SHA 检测#28278 chore: allow codecov to detect SHA允许 Codecov 识别提交 SHA用于覆盖率报告的追踪。Explore 隐藏不可拖拽的指标与列列表#27717 chore(explore): Hide non-droppable metric and column list与 #28269 的拖拽修复配套。SQL Lab 执行不再剥离注释#27725 中strip_comments参数的使用。通配符处理默认交给引擎规范#27843 chore: Default to engine specification regarding using wildcard见上文引擎规范部分。SQLGlot 错误信息更有意义#27858。Jinja 宏提取去首尾空白#27842 chore(sql_parse): Strip leading/trailing whitespace in Jinja macro extraction配合 #28152、#28117 完善宏提取。升级与验证建议本版本为纯修复型补丁不包含数据库迁移升级路径平缓升级前仍建议阅读仓库根目录的 UPDATING.md4.0 系列曾在该文件中记录破坏性变更。若你正受 Explore 拖拽、Dashboard 标签页拖放、动态过滤器、latest_partition宏提取等问题困扰4.0.1 即为对应修复版本。验证时建议覆盖Explore 中指标拖拽排序、Dashboard 编辑态标签页拖入列、含 Jinjaformat()过滤器的分区表 SQL、MariaDB 连接行为、以及前端图表请求超时与SUPERSET_WEBSERVER_TIMEOUT的一致性默认 60 秒见 superset/config.py。结语Apache Superset 4.0.1 是一份“小而稳”的补丁发布27 项修复 6 项工程改进聚焦于 4.0 大版本重构后暴露的交互与解析问题。理解这些修复点与源码的对应关系可以帮助你在升级后快速验证关键场景并为追踪后续 4.x 版本的演进打下基础。完整清单可直接查阅仓库中的 CHANGELOG/4.0.1.md历史大版本变更见 CHANGELOG/4.0.0.md。【免费下载链接】supersetApache Superset is a Data Visualization and Data Exploration Platform项目地址: https://gitcode.com/gh_mirrors/supers/superset创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考