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