This is an automated email from the ASF dual-hosted git repository.
sadpandajoe pushed a change to branch fix-normalize-columns-toggle-warning
in repository https://gitbox.apache.org/repos/asf/superset.git
from cd0d5b8c06a fix(dataset): warn immediately when normalize_columns is
toggled on
add 61fffbe0c08 chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in
/superset-frontend (#44525)
add c14ac29f477 fix(mcp): complete Treemap round-trip and previews (#44152)
add 3b4e5f5d0c6 chore(deps): bump markdown-to-jsx from 9.10.2 to 9.10.3 in
/superset-frontend (#44570)
add 7fe03a536b6 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in
/superset-frontend (#44569)
add 6403e16fe56 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in
/superset-embedded-sdk (#44568)
add d1f395914f1 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in
/superset-embedded-sdk (#44567)
add 6c9138a6b7c chore(deps-dev): bump baseline-browser-mapping from
2.11.23 to 2.11.24 in /superset-frontend (#44566)
add 4b180bddad7 chore(deps): bump baseline-browser-mapping from 2.11.23 to
2.11.24 in /docs (#44565)
add 4290d94d6c9 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in
/superset-websocket (#44564)
add 3e80a53e14f chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in
/superset-websocket (#44563)
add f8f293d2666 chore(deps): bump benchmark-action/github-action-benchmark
from 1.22.1 to 1.22.2 (#44520)
add 689ab4a77af fix(translations): regenerate messages.pot after the
connection-move reword (#44574)
add 02dbfd2ab5b fix(dashboard): don't register an active tab for childless
TABS components (#44345)
add 838376dbc28 fix(mongodb): treat the Mongo database as the SQL Lab
schema so Data Preview returns rows (#44141)
add 6323b37f50a fix(dashboard): prevent and repair self-nested layout
components (#44303)
add 7c7b3adf745 fix(export): keep the acting user in streaming CSV exports
(#44425)
add c0c688d3e4b fix(mcp): return a specific error per failure class on
tool calls (#44387)
add a071d23b41f fix(dashboard): guest sessions, pluggable storage, and
streamed downloads for the Excel export (#43805)
add d7a918b814c fix(ci): make check_pot_drift extract from an isolated git
snapshot (#44578)
add 775f7c5a1fd fix(db2): Use DATE_TRUNC to improve timegrain expressions
(#43236)
add 298aa2f0ba4 fix(dataset): bump changed_on on column refresh so chart
cache invalidates (#43921)
add 082961ba168 fix(chart): require edit rights for query-context-only
updates (#44494)
add 3b355b6a854 fix(chart): allow semantic view datasource when saving
charts (#44169)
add 390bf299ff9 fix(i18n): stop f-strings in gettext leaking a bogus msgid
on Python 3.12 (#44584)
add 8141d666d6d fix(dashboard): show loading spinner for charts outside an
in-flight auto-refresh batch (#44272)
add d4370cd46eb chore(deps): bump the rjsf group in /superset-frontend
with 3 updates (#44593)
add 0ad50dc77e7 chore(deps-dev): bump jsdom from 30.0.1 to 30.1.0 in
/superset-frontend (#44596)
add b4cc82b7662 chore(deps-dev): bump jsdom from 30.0.1 to 30.1.0 in
/superset-embedded-sdk (#44592)
add 687dcbc63eb chore(deps): bump swagger-ui-react from 5.32.15 to 5.33.0
in /docs (#44594)
add ad7fcac11f9 fix(export): stamp ZIP entries with the export time
(#44391)
add 92a3b7d7e33 chore(deps): bump google-auth-library from 11.0.2 to
11.1.0 in /superset-frontend (#44599)
add 45d76f6abaf chore(deps): bump react-draggable from 4.7.1 to 4.7.2 in
/superset-frontend (#44597)
add 2ac6e2468d5 chore(deps-dev): bump webpack-bundle-analyzer from 5.3.3
to 5.4.0 in /superset-frontend (#44598)
add 613033b294b chore(build): replace external file-related deps with
native Node modules (#42939)
add 25cb6fc02d2 chore(deps): bump the ag-grid group in /superset-frontend
with 2 updates (#44595)
add 732248e4755 fix(logging): record dashboard_id and slice_id for REST
mutation endpoints (#44553)
add 9ad6917600d chore(cypress): remove dead dashboard drill-to-detail
Cypress suite (#44537)
add f5d663c480d fix(versioning): narrow nullable uuid/description reads
flagged by mypy in versioning tests (#44424)
add e357014559b fix(dashboard): initialize label colors before mounting
charts (#44557)
add e04d38a85f2 fix(mypy): resolve the dataset-scope and datasource-perm
errors from the full-repo lint (#44610)
add e633385c29b Merge branch 'master' into
fix-normalize-columns-toggle-warning
No new revisions were added by this update.
Summary of changes:
.github/workflows/frontend-bundle-size-nightly.yml | 2 +-
.github/workflows/superset-frontend.yml | 2 +-
UPDATING.md | 58 +-
docs/admin_docs/configuration/mcp-server.mdx | 77 +-
docs/developer_docs/contributing/howtos.md | 2 +-
.../using-superset/exporting-dashboard-data.mdx | 116 +-
docs/package.json | 4 +-
docs/static/resources/openapi.json | 78 +-
docs/yarn.lock | 688 +++++-----
pyproject.toml | 28 +-
scripts/translations/check_pot_drift.py | 77 +-
superset-embedded-sdk/package-lock.json | 288 ++--
superset-embedded-sdk/package.json | 6 +-
.../cypress/e2e/dashboard/drilltodetail.test.ts | 614 ---------
.../e2e/dashboard/shared_dashboard_functions.ts | 201 ---
.../cypress-base/cypress/e2e/dashboard/utils.ts | 559 --------
.../cypress-base/cypress/e2e/explore/chart.test.js | 2 +-
.../cypress-base/cypress/e2e/explore/utils.ts | 4 +-
.../cypress-base/cypress/support/directories.ts | 678 ----------
.../cypress-base/cypress/utils/urls.ts | 2 -
superset-frontend/package-lock.json | 408 +++---
superset-frontend/package.json | 29 +-
.../packages/generator-superset/package.json | 1 -
.../generator-superset/test/plugin-chart.test.ts | 6 +-
.../packages/superset-ui-core/package.json | 8 +-
.../dashboard/dashboard-drill-to-detail.spec.ts | 3 -
superset-frontend/scripts/build.js | 21 +-
superset-frontend/scripts/copyAssets.js | 56 -
.../src/dashboard/actions/hydrate.test.ts | 85 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 28 +-
.../DashboardBuilder/DashboardContainer.test.tsx | 145 ++-
.../DashboardBuilder/DashboardContainer.tsx | 12 +-
.../Header/useHeaderAutoRefresh.test.tsx | 58 +-
.../components/Header/useHeaderAutoRefresh.ts | 2 +-
.../components/gridComponents/Chart/Chart.test.tsx | 59 +
.../components/gridComponents/Chart/Chart.tsx | 4 +-
.../components/gridComponents/Tabs/Tabs.test.tsx | 95 ++
.../components/gridComponents/Tabs/Tabs.tsx | 22 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 2 +-
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 616 ++++++++-
.../components/menu/DownloadMenuItems/index.tsx | 210 ++-
.../dashboard/contexts/AutoRefreshContext.test.tsx | 69 +
.../src/dashboard/contexts/AutoRefreshContext.tsx | 31 +-
.../src/dashboard/reducers/dashboardLayout.test.ts | 62 +
.../src/dashboard/reducers/dashboardLayout.ts | 26 +
.../src/dashboard/reducers/dashboardState.test.ts | 23 +
.../src/dashboard/util/getDropPosition.test.ts | 83 ++
.../src/dashboard/util/getDropPosition.ts | 13 +
.../util/removeUnreachableComponents.test.ts | 283 ++++
.../dashboard/util/removeUnreachableComponents.ts | 225 ++++
.../util/updateComponentParentsList.test.ts | 17 +
.../dashboard/util/updateComponentParentsList.ts | 7 +-
.../explore/components/ExploreChartPanel/index.tsx | 12 +-
superset-websocket/package-lock.json | 204 +--
superset-websocket/package.json | 4 +-
superset/charts/api.py | 18 +-
superset/cli/importexport.py | 8 +-
superset/commands/chart/update.py | 11 +-
superset/commands/dashboard/update.py | 7 +-
superset/commands/distributed_lock/acquire.py | 9 +-
superset/commands/streaming_export/base.py | 41 +-
superset/common/query_context_processor.py | 18 +-
superset/config.py | 59 +-
superset/connectors/sqla/models.py | 53 +-
superset/daos/dashboard.py | 5 +
superset/dashboards/api.py | 279 +++-
superset/dashboards/excel_export/download_link.py | 160 +++
superset/dashboards/excel_export/email.py | 29 +-
superset/dashboards/layout.py | 269 ++++
superset/databases/api.py | 6 +-
superset/datasets/api.py | 11 +-
superset/db_engine_specs/db2.py | 27 +-
superset/db_engine_specs/ibmi.py | 21 +
superset/db_engine_specs/mongodb.py | 63 +-
superset/importexport/api.py | 9 +-
superset/key_value/types.py | 1 +
superset/mcp_service/chart/chart_helpers.py | 35 +
superset/mcp_service/chart/chart_utils.py | 124 ++
superset/mcp_service/chart/compile.py | 50 +-
superset/mcp_service/chart/plugins/treemap.py | 10 +-
superset/mcp_service/chart/preview_utils.py | 14 +-
superset/mcp_service/chart/query_result.py | 113 +-
superset/mcp_service/chart/schemas.py | 357 +++--
superset/mcp_service/chart/tool/get_chart_data.py | 9 +
.../mcp_service/chart/tool/get_chart_preview.py | 30 +-
.../chart/tool/get_chart_type_schema.py | 21 +-
superset/mcp_service/chart/tool/update_chart.py | 30 +-
.../mcp_service/chart/tool/update_chart_preview.py | 51 +-
superset/mcp_service/chart/treemap_preview.py | 297 +++++
superset/mcp_service/constants.py | 28 +
.../dashboard/tool/generate_dashboard.py | 3 +-
superset/mcp_service/dataset_scope.py | 6 +-
.../explore/tool/generate_explore_link.py | 3 +-
superset/mcp_service/middleware.py | 287 +++-
superset/models/dashboard.py | 3 +
superset/queries/saved_queries/api.py | 7 +-
superset/security/manager.py | 38 +-
superset/tasks/export_dashboard_excel.py | 272 +++-
superset/themes/api.py | 7 +-
superset/translations/ar/LC_MESSAGES/messages.po | 9 +-
superset/translations/ca/LC_MESSAGES/messages.po | 9 +-
superset/translations/cs/LC_MESSAGES/messages.po | 9 +-
superset/translations/de/LC_MESSAGES/messages.po | 9 +-
superset/translations/en/LC_MESSAGES/messages.po | 9 +-
superset/translations/es/LC_MESSAGES/messages.po | 9 +-
superset/translations/fa/LC_MESSAGES/messages.po | 9 +-
superset/translations/fi/LC_MESSAGES/messages.po | 9 +-
superset/translations/fr/LC_MESSAGES/messages.po | 9 +-
superset/translations/it/LC_MESSAGES/messages.po | 9 +-
superset/translations/ja/LC_MESSAGES/messages.po | 9 +-
superset/translations/ko/LC_MESSAGES/messages.po | 9 +-
superset/translations/lv/LC_MESSAGES/messages.po | 9 +-
superset/translations/messages.pot | 36 +-
superset/translations/mi/LC_MESSAGES/messages.po | 9 +-
superset/translations/nl/LC_MESSAGES/messages.po | 9 +-
superset/translations/pl/LC_MESSAGES/messages.po | 9 +-
superset/translations/pt/LC_MESSAGES/messages.po | 9 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 9 +-
superset/translations/ro/LC_MESSAGES/messages.po | 9 +-
superset/translations/ru/LC_MESSAGES/messages.po | 9 +-
superset/translations/sk/LC_MESSAGES/messages.po | 9 +-
superset/translations/sl/LC_MESSAGES/messages.po | 9 +-
superset/translations/sr/LC_MESSAGES/messages.po | 9 +-
.../translations/sr_Latn/LC_MESSAGES/messages.po | 9 +-
superset/translations/ta/LC_MESSAGES/messages.po | 9 +-
superset/translations/th/LC_MESSAGES/messages.po | 9 +-
superset/translations/tr/LC_MESSAGES/messages.po | 9 +-
superset/translations/uk/LC_MESSAGES/messages.po | 9 +-
superset/translations/zh/LC_MESSAGES/messages.po | 9 +-
.../translations/zh_TW/LC_MESSAGES/messages.po | 9 +-
superset/utils/core.py | 27 +-
superset/utils/export_storage.py | 76 ++
superset/utils/gcs.py | 101 ++
superset/utils/log.py | 101 +-
superset/utils/s3.py | 124 +-
tests/integration_tests/base_tests.py | 14 +-
tests/integration_tests/charts/api_tests.py | 120 ++
tests/integration_tests/charts/commands_tests.py | 133 +-
tests/integration_tests/dashboards/api_tests.py | 462 ++++++-
.../dashboards/soft_delete_tests.py | 7 +
tests/integration_tests/datasets/api_tests.py | 15 +-
tests/integration_tests/reports/commands_tests.py | 65 +-
tests/integration_tests/security_tests.py | 8 +
.../versioning/activity_write_after_read_tests.py | 5 +-
.../versioning/conditional_token_lock_tests.py | 16 +-
.../versioning/creation_row_tests.py | 35 +-
.../versioning/restore_fails_closed_tests.py | 23 +-
.../charts/semantic_view_chart_filter_test.py | 9 +-
tests/unit_tests/charts/test_filters.py | 96 ++
tests/unit_tests/commands/chart/create_test.py | 33 +-
.../chart/streaming_export_command_test.py | 61 +
tests/unit_tests/commands/chart/update_test.py | 66 +-
tests/unit_tests/commands/dashboard/update_test.py | 46 +
.../common/test_query_context_processor.py | 35 +
tests/unit_tests/connectors/sqla/models_test.py | 234 ++++
tests/unit_tests/dao/dashboard_test.py | 139 ++
tests/unit_tests/dao/test_query_stop_race.py | 68 +-
tests/unit_tests/dashboards/api_test.py | 116 ++
tests/unit_tests/dashboards/layout_test.py | 325 +++++
.../dashboards/test_excel_export_download_link.py | 65 +
tests/unit_tests/db_engine_specs/test_db2.py | 35 +-
tests/unit_tests/db_engine_specs/test_ibmi.py | 76 ++
tests/unit_tests/db_engine_specs/test_mongodb.py | 205 ++-
.../distributed_lock/distributed_lock_tests.py | 22 +
.../mcp_service/chart/test_treemap_completeness.py | 1373 ++++++++++++++++++++
.../mcp_service/chart/tool/test_get_chart_data.py | 155 +++
.../chart/tool/test_get_chart_type_schema.py | 26 +
.../dashboard/tool/test_dashboard_generation.py | 63 +
.../mcp_service/dataset/tool/test_dataset_tools.py | 4 +-
.../explore/tool/test_generate_explore_link.py | 49 +
.../mcp_service/test_error_classification.py | 679 ++++++++++
tests/unit_tests/models/dashboard_test.py | 41 +-
tests/unit_tests/semantic_layers/models_test.py | 225 ++++
tests/unit_tests/subjects/test_raise_for_access.py | 122 ++
.../tasks/test_export_dashboard_excel.py | 681 +++++++++-
tests/unit_tests/utils/create_zip_tests.py | 84 ++
tests/unit_tests/utils/gcs_tests.py | 120 ++
tests/unit_tests/utils/log_tests.py | 150 ++-
tests/unit_tests/utils/s3_tests.py | 102 +-
179 files changed, 12608 insertions(+), 3849 deletions(-)
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/drilltodetail.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/shared_dashboard_functions.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/utils.ts
delete mode 100644
superset-frontend/cypress-base/cypress/support/directories.ts
delete mode 100644 superset-frontend/scripts/copyAssets.js
create mode 100644
superset-frontend/src/dashboard/util/removeUnreachableComponents.test.ts
create mode 100644
superset-frontend/src/dashboard/util/removeUnreachableComponents.ts
create mode 100644 superset/dashboards/excel_export/download_link.py
create mode 100644 superset/dashboards/layout.py
create mode 100644 superset/mcp_service/chart/treemap_preview.py
create mode 100644 superset/utils/export_storage.py
create mode 100644 superset/utils/gcs.py
create mode 100644 tests/unit_tests/dashboards/layout_test.py
create mode 100644
tests/unit_tests/dashboards/test_excel_export_download_link.py
create mode 100644 tests/unit_tests/db_engine_specs/test_ibmi.py
create mode 100644
tests/unit_tests/mcp_service/chart/test_treemap_completeness.py
create mode 100644 tests/unit_tests/mcp_service/test_error_classification.py
create mode 100644 tests/unit_tests/utils/create_zip_tests.py
create mode 100644 tests/unit_tests/utils/gcs_tests.py