You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/08/06 22:24:01 UTC

(superset) branch misc-charts-examples updated (e7fa8529ce2 -> 3b98869e0ac)

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

rusackas pushed a change to branch misc-charts-examples
in repository https://gitbox.apache.org/repos/asf/superset.git


    from e7fa8529ce2 Merge remote-tracking branch 'origin/remove-legacy-viz-pipeline' into HEAD
     add 50c84f220b3 docs: fix parameter name in Explorable.get_query_result docstring (#42646)
     add 9377659ffaa fix(dashboard): preserve duplicate chart holders in filter scopes (#42502)
     add e103d92b489 feat(versioning): version-history UI (#41551)
     add 1478e32bc26 fix(mcp): persist Handlebars template under camelCase key so it renders (#42725)
     add 4e9e884dd8c fix(sqllab): wrap process_template() in QueryEstimationCommand to prevent raw UndefinedError leak (#42757)
     add 7c037366238 fix(alerts): wrap Jinja rendering errors in AlertCommand._execute_query (#42714)
     add 33c386a2d6f fix(core): reduce metric expression log noise (#42619)
     add 043163b54c0 fix(mcp): reject unparseable time_range instead of silently matching full table (#42283)
     add a0895a1fbd3 fix(native-filters): allow X-clear on defaultToFirstItem filters with required warning (#42762)
     add 86b20761697 fix(mcp): handle missing metrics/columns and null data in chart preview (#42576)
     add da27b4ed809 chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions (#42542)
     add 22909bb039e fix(sqllab): retry table metadata preview after OAuth2 redirect (#42390)
     add 1a74c8ef678 chore(deps-dev): bump fast-uri from 3.1.4 to 3.1.5 in /superset-embedded-sdk (#42764)
     add e871ee27cfe fix(i18n-es): correct format-placeholder defects in Spanish catalog (#42728)
     add 5720e9c7fd3 chore(deps): require manual deck.gl upgrades (#42653)
     add 2f9bde55797 fix(sql): preserve quoted-identifier casing for the HANA dialect (#39328) (#42731)
     add 956231b9eec fix(dataset): make post-save column refresh best-effort for Jinja SQL (#42463)
     add d6c8fdd10d8 fix(explore): recompute currency_formats when dataset is saved from c… (#42480)
     add 1605676aa79 fix(reports): use zip extension for bundled CSV attachments (#42640)
     add 7324225c777 fix(filters): sort numeric filter values numerically, not lexicographically (#36775) (#42596)
     add ab124a333c9 fix(SafeMarkdown): let htmlSchemaOverrides replace matching default attribute rules (#42202)
     add 425c70ae37e chore(deps-dev): bump webpack from 5.109.1 to 5.109.2 in /superset-frontend (#42784)
     add 3cf83f0a5a1 chore(deps-dev): bump baseline-browser-mapping from 2.11.5 to 2.11.6 in /superset-frontend (#42783)
     add 4c33258b9d6 chore(deps): bump react-draggable from 4.7.0 to 4.7.1 in /superset-frontend (#42782)
     add 247f610ee10 chore(deps-dev): bump eslint-plugin-jest-dom from 5.5.0 to 5.6.0 in /superset-frontend (#42781)
     add ae8c4bd4511 chore(deps): bump baseline-browser-mapping from 2.11.5 to 2.11.6 in /docs (#42780)
     add a57c9b34c9c chore(deps-dev): bump webpack from 5.109.1 to 5.109.2 in /docs (#42779)
     add 0cc5c51ba3f chore(deps): bump selenium from 4.45.0 to 4.46.0 (#42777)
     add fcfee7efbce chore(deps-dev): bump fastmcp from 3.4.4 to 3.4.5 (#42776)
     add 0692607b4af chore(deps-dev): update taospy requirement from >=2.8.9 to >=2.8.10 (#42775)
     add 6713f1be45c chore(deps-dev): update teradatasql requirement from >=20.0.0.62 to >=20.0.0.63 (#42774)
     add 872311b3c2b chore(deps-dev): bump duckdb from 1.5.4 to 1.5.5 (#42773)
     add 816f37f5b97 chore(deps-dev): bump gevent from 26.4.0 to 26.7.0 (#42770)
     add efab63d42c5 chore(deps): bump docker/login-action from 4.5.2 to 4.6.0 (#42769)
     add 19399a50681 chore(deps-dev): bump jsdom from 30.0.0 to 30.0.1 in /superset-frontend (#42791)
     add 9c97d4859c6 fix(mcp): stop false-flagging successful responses with error_type:null as failures (#42580) (#42736)
     add e7338a2add9 fix(mcp): route FastMCP ValidationError through the validation error handler (#42578) (#42738)
     add 482a59ec72e fix(docker): replace stale superset_app hostname in dev WEBDRIVER_BASEURL (#42495)
     add f65b42408e5 fix(tasks): gate exception_type in task properties behind SHOW_STACKTRACE (#40587)
     add 2c7adcaef85 chore(deps): bump sqlglot from 30.12.0 to 30.14.0 (#42772)
     add 05193ed7e19 fix(models): guard three more backref cascades for SQLAlchemy 2.0 (#42787)
     add 657e2d2267a perf(TimeTable): skip rendering TableView while the window is resizing (#42097)
     add 47a4dabd14a feat(soft-delete): warn at startup when a retention task's Celery config is incomplete (#42641)
     add e880711bbbf fix(migrations): actually drop _customer_location_uc (list == set no-op) (#42642)
     add 126c93b4958 fix(versioning): pin shadow-row reads and restore to (id, uuid) (#42797)
     add 0e4e368768f feat(mcp): add observability to MCP service (#41921)
     add 633f3938808 feat(pivot-table): reintroduce show-values-as-fraction display option (#42761)
     add ad0538935da fix(pivot-table): blank ambiguous cross-metric totals and null values in fraction mode (#42810)
     add 32e4e3c6a88 fix(reports): enforce dashboard readiness and execution budget (#42624)
     add f5bca3bf3f1 fix(sqllab): stop OAuth2 banner from ballooning the database selector popover (#42652)
     add 3f011edabba fix(mcp): supply required DBEventLogger args so mcp_tool_error events are logged (#42579) (#42730)
     add 1de35d13611 fix(mcp): reject unknown fields in nested chart-config models too (#42626) (#42732)
     add 442995481c4 test(deckgl): Polygon chart with a column literally named "polygon" (#33669) (#42591)
     add d594a4d1578 fix(mcp): make streamable-http session mode configurable via MCP_STATELESS_HTTP (#42814)
     add b8c44a1ad5d fix(ci): restore master validation checks (#42807)
     add 4278f4b3d93 fix(explore): honor explicit List legend selection instead of flipping to scroll (#41749)
     add 3f413e6e104 chore(deps-dev): bump @swc/core from 1.15.46 to 1.15.47 in /superset-frontend (#42832)
     add 05af8eeff2c chore(deps): bump react-map-gl from 8.1.1 to 8.1.2 in /superset-frontend (#42831)
     add bbd7ac72789 chore(deps-dev): bump baseline-browser-mapping from 2.11.6 to 2.11.7 in /superset-frontend (#42830)
     add a7dd86adc64 chore(deps): bump github/codeql-action/analyze from 4.37.3 to 4.37.4 (#42828)
     add 450e43b8f25 chore(deps): bump baseline-browser-mapping from 2.11.6 to 2.11.7 in /docs (#42826)
     add 76e6909cfdd chore(deps): bump @swc/core from 1.15.46 to 1.15.47 in /docs (#42825)
     add 0fc0d21dd30 chore(deps): bump github/codeql-action/init from 4.37.3 to 4.37.4 (#42827)
     add 57d6e5c6373 feat(hooks):  add configurable post-creation hook for dashboards (#42837)
     add de93a19b3c7 fix(engine): update databend engine spec for dialect version >=0.4.6 (#28627)
     add a00e2952a13 style(frontend): apply oxfmt to existing files (#42813)
     add ea8fa58158a docs: scope AI pre-commit checks to changed files, to align with ci's pre-commit checks (#42835)
     add e4c306f5eb9 fix(deps): revert simple-zstd from 2.1.0 back to 1.4.2, again (#42804)
     add ba09f399ac0 feat(soft-delete): enable soft delete by default and purge for real (#42800)
     add 01a9fdc6216 chore(reports): thread cache-key/execution-id log context through screenshot capture logs (#42657)
     add 2ecce20e48f chore(viz): remove legacy explore_json + viz.py pipeline (#41714)
     add 3b98869e0ac Merge remote-tracking branch 'origin/master' into misc-charts-examples

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |  18 +-
 .github/workflows/check-python-deps.yml            |   2 +-
 .github/workflows/codeql-analysis.yml              |   4 +-
 .github/workflows/mirror-service-images.yml        |   4 +-
 ...sync-requirements-for-python-dep-upgrade-pr.yml |   2 +-
 AGENTS.md                                          |  15 +-
 UPDATING.md                                        |  82 ++-
 docker/pythonpath_dev/superset_config.py           |   8 +-
 docs/admin_docs/configuration/alerts-reports.mdx   |  55 +-
 docs/docs/using-superset/version-history.mdx       | 120 ++++
 docs/package.json                                  |   6 +-
 docs/scripts/generate-database-docs.mjs            |  55 +-
 docs/src/components/databases/DatabasePage.tsx     |  70 +-
 docs/src/components/databases/types.ts             |   9 +
 docs/static/feature-flags.json                     |  10 +-
 .../version-6.0.0/configuration/databases.mdx      |   4 +-
 docs/yarn.lock                                     | 172 ++---
 pyproject.toml                                     |  84 ++-
 pytest.ini                                         |   3 +
 requirements/base.txt                              |   5 +-
 requirements/development.txt                       |  15 +-
 superset-embedded-sdk/package-lock.json            |   6 +-
 superset-frontend/package-lock.json                | 422 ++++++-----
 superset-frontend/package.json                     |  12 +-
 .../packages/superset-ui-core/package.json         |   2 +-
 .../src/components/DropdownButton/index.tsx        |  20 +-
 .../src/components/DynamicEditableTitle/index.tsx  |  20 +-
 .../src/components/EmptyState/index.tsx            |   8 +-
 .../src/components/Modal/Modal.tsx                 |  78 +-
 .../src/components/SafeMarkdown/SafeMarkdown.tsx   |  73 +-
 .../src/components/Select/utils.test.ts            |  46 ++
 .../src/components/Select/utils.tsx                |  14 +-
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |  14 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |   1 +
 .../test/components/SafeMarkdown.test.tsx          | 105 +++
 .../components/modals/DeleteConfirmationModal.ts   |  46 +-
 .../playwright/tests/chart/chart-list.spec.ts      |  16 +-
 .../tests/dashboard/dashboard-list.spec.ts         |  17 +-
 .../playwright/tests/dataset/dataset-list.spec.ts  |  25 +-
 .../tests/version-history/activity-log.spec.ts     | 173 +++++
 .../plugin-chart-echarts/src/utils/series.ts       |  61 +-
 .../test/Gantt/transformProps.test.ts              |   9 +-
 .../test/Pie/transformProps.test.ts                |   4 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |  89 +--
 .../test/Timeseries/transformProps.test.ts         |  58 +-
 .../plugin-chart-echarts/test/utils/series.test.ts | 284 +++++---
 .../src/PivotTableChart.tsx                        |   2 +
 .../src/plugin/controlPanel.tsx                    |  28 +-
 .../src/plugin/transformProps.ts                   |   2 +
 .../src/plugin/utilities.ts                        |  45 +-
 .../src/react-pivottable/utilities.ts              | 154 +++-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |  17 +
 .../test/plugin/transformProps.test.ts             |  22 +
 .../test/plugin/utilities.test.ts                  |  70 +-
 .../test/react-pivottable/tableRenders.test.tsx    | 400 +++++++++++
 .../plugin-chart-point-cluster-map/package.json    |   2 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |  48 +-
 .../plugins/preset-chart-deckgl/package.json       |   2 +-
 .../preset-chart-deckgl/src/Multi/Multi.test.tsx   |  84 +++
 .../preset-chart-deckgl/src/Multi/Multi.tsx        | 119 +++-
 .../preset-chart-deckgl/src/Multi/MultiV1.test.tsx |  46 ++
 .../src/layers/Polygon/transformProps.test.ts      |  62 ++
 superset-frontend/spec/helpers/reducerIndex.ts     |   2 +
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |   1 +
 .../TableExploreTree/TreeNodeRenderer.tsx          |   6 +-
 .../components/TablePreview/TablePreview.test.tsx  | 108 +++
 .../src/SqlLab/components/TablePreview/index.tsx   |  33 +-
 .../Datasource/FoldersEditor/TreeItem.styles.ts    |  24 +-
 .../ErrorMessage/OAuth2RedirectMessage.test.tsx    |  12 +
 .../ErrorMessage/OAuth2RedirectMessage.tsx         |   2 +
 .../ListView/Filters/CompactSelectPanel.tsx        |   6 +-
 superset-frontend/src/constants.ts                 |   6 +
 superset-frontend/src/dashboard/actions/hydrate.ts |  14 +-
 .../AutoRefreshStatus/StatusIndicatorDot.tsx       |  14 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     | 179 ++++-
 .../DashboardBuilder/DashboardBuilder.tsx          | 235 ++++++-
 .../DashboardBuilder/DashboardContainer.tsx        |  15 +-
 .../DashboardBuilder/DashboardWrapper.tsx          |   2 +-
 .../src/dashboard/components/Header/index.tsx      |  19 +-
 .../Header/useHeaderActionsDropdownMenu.tsx        |  20 +-
 .../src/dashboard/components/dnd/DragHandle.tsx    |  10 +-
 .../components/gridComponents/Tab/Tab.tsx          |  11 +-
 .../FilterBar/ActionButtons/index.tsx              |  60 +-
 .../FilterBar/CrossFilters/CrossFilter.tsx         |  20 +-
 .../FilterBar/CrossFilters/CrossFilterTag.tsx      |  10 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |   8 +-
 .../CrossFilters/ScopingModal/ScopingModal.tsx     |  19 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |   4 +-
 .../FilterBar/UrlFilters/UrlFilterTag.tsx          |   8 +-
 .../components/nativeFilters/FilterBar/utils.ts    |   4 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |  10 +-
 .../components/nativeFilters/utils.test.ts         |  37 +-
 .../dashboard/components/nativeFilters/utils.ts    |  32 +-
 superset-frontend/src/dashboard/types.ts           |   3 +
 .../src/dashboard/util/calculateScopes.ts          |  15 +-
 .../src/dashboard/util/crossFilters.ts             |  30 +-
 .../util/getChartIdsInFilterScope.test.ts          |  42 +-
 .../src/dashboard/util/getChartIdsInFilterScope.ts |  92 ++-
 .../src/explore/actions/datasourcesActions.test.ts |  49 +-
 .../src/explore/actions/datasourcesActions.ts      |  27 +-
 .../src/explore/actions/exploreActions.ts          |  17 +-
 .../src/explore/components/Control.tsx             |   8 +-
 .../explore/components/ControlPanelsContainer.tsx  |   9 +-
 .../components/ExploreChartHeader/index.tsx        |  27 +-
 .../ExploreViewContainer.test.tsx                  |  36 +-
 .../components/ExploreViewContainer/index.tsx      | 142 +++-
 .../src/explore/components/SaveModal.test.tsx      |  35 +-
 .../src/explore/components/SaveModal.tsx           |  44 +-
 .../controls/AnnotationLayerControl/index.tsx      |   7 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |  48 ++
 .../controls/DatasourceControl/index.tsx           |  17 +-
 .../components/controls/VerticalRadioControl.tsx   |   8 +-
 .../components/controls/VizTypeControl/VizTile.tsx |  50 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |  36 +
 .../useExploreAdditionalActionsMenu.test.tsx       |  68 ++
 .../explore/exploreUtils/canOverwriteSlice.test.ts | 109 +++
 .../src/explore/exploreUtils/canOverwriteSlice.ts  |  71 ++
 superset-frontend/src/features/home/RightMenu.tsx  |  10 +-
 .../src/features/versionHistory/ActionRow.tsx      | 246 +++++++
 .../versionHistory/ChartVersionPreview.test.tsx    | 243 +++++++
 .../versionHistory/ChartVersionPreview.tsx         | 251 +++++++
 .../versionHistory/CurrentVersionSection.tsx       | 163 +++++
 .../DashboardVersionHistory.test.tsx               | 255 +++++++
 .../versionHistory/DashboardVersionHistory.tsx     | 282 ++++++++
 .../versionHistory/ExploreVersionHistory.test.tsx  | 338 +++++++++
 .../versionHistory/ExploreVersionHistory.tsx       | 361 ++++++++++
 .../features/versionHistory/PreviewBanner.test.tsx | 247 +++++++
 .../src/features/versionHistory/PreviewBanner.tsx  | 129 ++++
 .../features/versionHistory/RelatedUpdateRow.tsx   | 183 +++++
 .../versionHistory/RestoreConfirmModal.tsx         |  72 ++
 .../src/features/versionHistory/SaveGroupItem.tsx  | 386 ++++++++++
 .../versionHistory/VersionHistoryPanel.test.tsx    | 498 +++++++++++++
 .../versionHistory/VersionHistoryPanel.tsx         | 343 +++++++++
 .../src/features/versionHistory/api.test.ts        | 232 ++++++
 .../src/features/versionHistory/api.ts             | 396 +++++++++++
 .../features/versionHistory/canRestoreDashboard.ts |  41 ++
 .../src/features/versionHistory/display.test.ts    | 421 +++++++++++
 .../src/features/versionHistory/display.ts         | 398 +++++++++++
 .../src/features/versionHistory/grouping.test.ts   | 440 ++++++++++++
 .../src/features/versionHistory/grouping.ts        | 276 ++++++++
 .../features/versionHistory/openRelated.test.ts    | 130 ++++
 .../src/features/versionHistory/openRelated.ts     |  64 ++
 .../versionHistory/previewReselect.test.tsx        | 134 ++++
 .../src/features/versionHistory/reducer.test.ts    | 147 ++++
 .../src/features/versionHistory/reducer.ts         | 294 ++++++++
 .../versionHistory/sessionLogMiddleware.test.ts    | 226 ++++++
 .../versionHistory/sessionLogMiddleware.ts         | 155 ++++
 .../src/features/versionHistory/types.ts           | 231 ++++++
 .../useDashboardVersionPreview.test.tsx            | 716 +++++++++++++++++++
 .../versionHistory/useDashboardVersionPreview.ts   | 470 +++++++++++++
 .../versionHistory/useVersionActions.test.tsx      | 338 +++++++++
 .../features/versionHistory/useVersionActions.tsx  | 323 +++++++++
 .../versionHistory/useVersionActivity.test.ts      | 424 +++++++++++
 .../features/versionHistory/useVersionActivity.ts  | 281 ++++++++
 .../components/Select/SelectFilterPlugin.test.tsx  | 151 ++++
 .../components/Select/SelectFilterPlugin.tsx       |  28 +-
 .../src/hooks/apiResources/dashboards.ts           |   2 +-
 superset-frontend/src/types/Chart.ts               |   2 +
 superset-frontend/src/utils/navigationUtils.ts     |  38 +
 superset-frontend/src/views/store.ts               |  18 +-
 .../visualizations/TimeTable/TimeTable.test.tsx    |  51 +-
 .../src/visualizations/TimeTable/TimeTable.tsx     |  53 +-
 superset-frontend/webpack.proxy-config.js          |  18 +-
 superset/charts/api.py                             | 111 +++
 superset/commands/dataset/refresh.py               |  22 +-
 superset/commands/report/alert.py                  |   2 +-
 superset/commands/report/execute.py                | 472 ++++++++++++-
 superset/commands/report/execute_now.py            |  21 +-
 superset/commands/sql_lab/estimate.py              |  13 +-
 superset/config.py                                 |  56 +-
 superset/connectors/sqla/utils.py                  |  34 +-
 superset/daos/version.py                           |   3 +
 superset/databases/ssh_tunnel/models.py            |   4 +
 superset/db_engine_specs/base.py                   |  48 +-
 superset/db_engine_specs/d1.py                     |  12 +
 superset/db_engine_specs/databend.py               |  89 ++-
 superset/db_engine_specs/kusto.py                  |  11 +
 superset/db_engine_specs/mysql.py                  |   2 +
 superset/db_engine_specs/postgres.py               |   2 +
 superset/db_engine_specs/solr.py                   |  11 +
 superset/exceptions.py                             |  10 +
 superset/explorables/base.py                       |   2 +-
 superset/initialization/__init__.py                |  87 ++-
 superset/mcp_service/PRODUCTION.md                 |  48 +-
 superset/mcp_service/__main__.py                   |  17 +-
 superset/mcp_service/chart/chart_helpers.py        |  15 +-
 superset/mcp_service/chart/chart_utils.py          |   5 +-
 superset/mcp_service/chart/schemas.py              |  24 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |  78 ++
 .../mcp_service/chart/tool/get_chart_preview.py    |  44 +-
 .../chart/tool/get_chart_type_schema.py            |   4 +-
 .../mcp_service/common/time_range_validation.py    | 194 +++++
 superset/mcp_service/dashboard/schemas.py          |  11 +
 superset/mcp_service/dataset/schemas.py            |  49 +-
 superset/mcp_service/dataset/tool/query_dataset.py |   1 +
 superset/mcp_service/mcp_config.py                 |  47 ++
 superset/mcp_service/middleware.py                 | 325 +++++++--
 .../mcp_service/screenshot/pooled_screenshot.py    |   3 +
 superset/mcp_service/semantic_layer/schemas.py     |  28 +-
 superset/mcp_service/server.py                     |  21 +-
 superset/mcp_service/tag/tool/get_tag_info.py      |   3 +
 superset/migrations/shared/migrate_viz/base.py     |  25 +-
 ...755d4ca4ae_drop__customer_location_uc_take_2.py |  91 +++
 ...941d5352_restore_pivot_table_percent_display.py | 181 +++++
 ...6f2_merge_report_retry_state_columns_merge_.py} |  12 +-
 ...5192b583_merge_restore_pivot_table_percent_.py} |  12 +-
 ...0-00_c4a1b8e2d739_databend_secure_to_sslmode.py | 163 +++++
 ...1198e21f_merge_databend_sslmode_with_pivot_.py} |  12 +-
 superset/reports/models.py                         |  20 +-
 superset/reports/notifications/email.py            |  14 +-
 superset/sql/dialects/__init__.py                  |   2 +
 superset/sql/dialects/db2.py                       |   8 +
 superset/sql/dialects/hana.py                      |  47 ++
 superset/sql/parse.py                              |  12 +-
 superset/tasks/scheduler.py                        |  34 +-
 superset/tasks/schemas.py                          |  16 +-
 superset/translations/es/LC_MESSAGES/messages.po   | 308 ++++----
 superset/utils/core.py                             |  17 +-
 superset/utils/report_execution.py                 | 269 +++++++
 superset/utils/screenshot_utils.py                 | 387 ++++++++--
 superset/utils/screenshots.py                      |  62 +-
 superset/utils/webdriver.py                        | 783 +++++++++++++++++----
 superset/versioning/api_helpers.py                 |  13 +-
 superset/versioning/baseline/collection.py         |   7 +-
 superset/versioning/queries.py                     |  80 ++-
 superset/versioning/restore.py                     |   4 +
 superset/views/dashboard/views.py                  |   5 +-
 tests/integration_tests/charts/api_tests.py        | 135 ++++
 .../charts/version_restore_tests.py                |  22 +-
 tests/integration_tests/dashboard_tests.py         |  22 +
 .../dashboards/version_restore_tests.py            |  20 +-
 tests/integration_tests/reports/commands_tests.py  | 235 ++++++-
 tests/integration_tests/reports/scheduler_tests.py |  71 +-
 tests/integration_tests/superset_test_config.py    |   3 +
 .../integration_tests/versioning/id_reuse_tests.py | 353 ++++++++++
 tests/unit_tests/commands/dataset/refresh_test.py  | 186 +++++
 tests/unit_tests/commands/report/alert_test.py     |  32 +
 tests/unit_tests/commands/report/execute_test.py   | 468 +++++++++++-
 .../unit_tests/commands/report/test_execute_now.py |  45 +-
 tests/unit_tests/commands/sql_lab/test_estimate.py |  38 +
 tests/unit_tests/connectors/sqla/test_utils.py     | 103 ++-
 tests/unit_tests/db_engine_specs/test_base.py      | 101 ++-
 tests/unit_tests/db_engine_specs/test_databend.py  | 132 +++-
 tests/unit_tests/initialization_test.py            | 299 +++++++-
 .../mcp_service/chart/test_chart_helpers.py        |  60 ++
 .../mcp_service/chart/test_chart_schemas.py        |  27 +-
 .../mcp_service/chart/test_handlebars_chart.py     |   4 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  | 213 ++++++
 .../chart/tool/test_get_chart_preview.py           | 169 +++++
 .../common/test_time_range_validation.py           | 283 ++++++++
 .../dashboard/tool/test_manage_native_filters.py   | 114 +++
 .../mcp_service/dataset/tool/test_query_dataset.py | 134 +++-
 .../semantic_layer/tool/test_get_table.py          | 112 +++
 tests/unit_tests/mcp_service/test_mcp_config.py    |  21 +
 tests/unit_tests/mcp_service/test_mcp_e2e_smoke.py |  12 +-
 tests/unit_tests/mcp_service/test_mcp_server.py    |  93 ++-
 tests/unit_tests/mcp_service/test_middleware.py    | 395 ++++++++++-
 .../mcp_service/test_middleware_logging.py         | 559 ++++++++++++++-
 .../migrations/test_databend_secure_to_sslmode.py  | 253 +++++++
 .../test_restore_pivot_table_percent_display.py    | 286 ++++++++
 .../viz/upgrade_malformed_query_context_test.py    |  63 ++
 .../reports/notifications/email_tests.py           |  98 ++-
 .../unit_tests/sql/dialects/hana_tests.py          |  16 +-
 tests/unit_tests/sql/parse_tests.py                |  44 ++
 tests/unit_tests/tasks/test_deletion_retention.py  |  13 +-
 .../tasks/test_scheduler_soft_timeout.py           |  68 ++
 tests/unit_tests/tasks/test_schemas.py             |  69 ++
 tests/unit_tests/utils/map_type_tests.py           |   6 +-
 tests/unit_tests/utils/screenshot_test.py          |  21 +
 tests/unit_tests/utils/test_core.py                |  66 ++
 tests/unit_tests/utils/test_report_execution.py    | 209 ++++++
 tests/unit_tests/utils/test_screenshot_utils.py    | 270 +++++--
 tests/unit_tests/utils/webdriver_test.py           | 450 ++++++++++--
 tests/unit_tests/versioning/test_collection.py     |   3 +-
 274 files changed, 24840 insertions(+), 1944 deletions(-)
 create mode 100644 docs/docs/using-superset/version-history.mdx
 create mode 100644 superset-frontend/playwright/tests/version-history/activity-log.spec.ts
 create mode 100644 superset-frontend/src/explore/exploreUtils/canOverwriteSlice.test.ts
 create mode 100644 superset-frontend/src/explore/exploreUtils/canOverwriteSlice.ts
 create mode 100644 superset-frontend/src/features/versionHistory/ActionRow.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/ChartVersionPreview.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/ChartVersionPreview.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/CurrentVersionSection.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/DashboardVersionHistory.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/DashboardVersionHistory.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/ExploreVersionHistory.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/ExploreVersionHistory.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/PreviewBanner.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/PreviewBanner.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/RelatedUpdateRow.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/RestoreConfirmModal.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/SaveGroupItem.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/VersionHistoryPanel.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/VersionHistoryPanel.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/api.test.ts
 create mode 100644 superset-frontend/src/features/versionHistory/api.ts
 create mode 100644 superset-frontend/src/features/versionHistory/canRestoreDashboard.ts
 create mode 100644 superset-frontend/src/features/versionHistory/display.test.ts
 create mode 100644 superset-frontend/src/features/versionHistory/display.ts
 create mode 100644 superset-frontend/src/features/versionHistory/grouping.test.ts
 create mode 100644 superset-frontend/src/features/versionHistory/grouping.ts
 create mode 100644 superset-frontend/src/features/versionHistory/openRelated.test.ts
 create mode 100644 superset-frontend/src/features/versionHistory/openRelated.ts
 create mode 100644 superset-frontend/src/features/versionHistory/previewReselect.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/reducer.test.ts
 create mode 100644 superset-frontend/src/features/versionHistory/reducer.ts
 create mode 100644 superset-frontend/src/features/versionHistory/sessionLogMiddleware.test.ts
 create mode 100644 superset-frontend/src/features/versionHistory/sessionLogMiddleware.ts
 create mode 100644 superset-frontend/src/features/versionHistory/types.ts
 create mode 100644 superset-frontend/src/features/versionHistory/useDashboardVersionPreview.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/useDashboardVersionPreview.ts
 create mode 100644 superset-frontend/src/features/versionHistory/useVersionActions.test.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/useVersionActions.tsx
 create mode 100644 superset-frontend/src/features/versionHistory/useVersionActivity.test.ts
 create mode 100644 superset-frontend/src/features/versionHistory/useVersionActivity.ts
 create mode 100644 superset/mcp_service/common/time_range_validation.py
 create mode 100644 superset/migrations/versions/2026-07-31_10-00_16755d4ca4ae_drop__customer_location_uc_take_2.py
 create mode 100644 superset/migrations/versions/2026-08-05_00-00_1a27941d5352_restore_pivot_table_percent_display.py
 copy superset/migrations/versions/{2016-03-26_15-09_fee7b758c130_.py => 2026-08-05_20-00_0be4b8f436f2_merge_report_retry_state_columns_merge_.py} (77%)
 copy superset/migrations/versions/{2016-03-26_15-09_fee7b758c130_.py => 2026-08-05_23-03_4f145192b583_merge_restore_pivot_table_percent_.py} (76%)
 create mode 100644 superset/migrations/versions/2026-08-06_00-00_c4a1b8e2d739_databend_secure_to_sslmode.py
 copy superset/migrations/versions/{2016-03-26_15-09_fee7b758c130_.py => 2026-08-06_14-30_aaed1198e21f_merge_databend_sslmode_with_pivot_.py} (76%)
 create mode 100644 superset/sql/dialects/hana.py
 create mode 100644 superset/utils/report_execution.py
 create mode 100644 tests/integration_tests/versioning/id_reuse_tests.py
 create mode 100644 tests/unit_tests/commands/dataset/refresh_test.py
 create mode 100644 tests/unit_tests/mcp_service/common/test_time_range_validation.py
 create mode 100644 tests/unit_tests/migrations/test_databend_secure_to_sslmode.py
 create mode 100644 tests/unit_tests/migrations/test_restore_pivot_table_percent_display.py
 copy superset-core/src/superset_core/rest_api/api.py => tests/unit_tests/sql/dialects/hana_tests.py (73%)
 create mode 100644 tests/unit_tests/tasks/test_scheduler_soft_timeout.py
 create mode 100644 tests/unit_tests/tasks/test_schemas.py
 create mode 100644 tests/unit_tests/utils/test_report_execution.py