This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch ci/require-babel-extract-check
in repository https://gitbox.apache.org/repos/asf/superset.git
from 42389287bbf Merge branch 'master' into ci/require-babel-extract-check
add 50bbcedf13b docs(mcp): document restore_chart and restore_dashboard
tools (#44207)
add ea1ffcf0adb fix: fixed inverseSelection (#40970)
add 350dd0d60ec fix(security): delete deprecated permissions left over
after upgrades (#44142)
add 7a9fe06762b fix(mcp): stop data tool responses crashing on binary and
NaT values (#44495)
add 9612437a9c8 fix(extensions): preserve chat state across display modes
(#44490)
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 5b004a8aa98 Merge branch 'master' into ci/require-babel-extract-check
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 | 76 +-
docs/admin_docs/configuration/mcp-server.mdx | 92 +-
.../extensions/extension-points/chat.md | 4 +
.../using-superset/exporting-dashboard-data.mdx | 116 +-
.../docs/using-superset/using-ai-with-superset.mdx | 2 +
docs/package.json | 2 +-
docs/static/resources/openapi.json | 78 +-
docs/yarn.lock | 8 +-
pyproject.toml | 14 +-
scripts/translations/check_pot_drift.py | 77 +-
superset-embedded-sdk/package-lock.json | 204 +--
superset-embedded-sdk/package.json | 4 +-
superset-frontend/package-lock.json | 186 +--
superset-frontend/package.json | 8 +-
.../packages/superset-ui-core/package.json | 2 +-
superset-frontend/src/core/chat/ChatHost.tsx | 20 +-
.../src/dashboard/actions/hydrate.test.ts | 85 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 28 +-
.../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 ++-
.../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 +-
.../components/Select/SelectFilterPlugin.tsx | 22 +-
superset-frontend/src/views/App.test.tsx | 125 ++
superset-frontend/src/views/App.tsx | 28 +-
superset-websocket/package-lock.json | 204 +--
superset-websocket/package.json | 4 +-
superset/commands/dashboard/update.py | 7 +-
superset/commands/distributed_lock/acquire.py | 9 +-
superset/commands/streaming_export/base.py | 41 +-
superset/config.py | 59 +-
superset/daos/dashboard.py | 5 +
superset/dashboards/api.py | 264 +++-
superset/dashboards/excel_export/download_link.py | 160 +++
superset/dashboards/excel_export/email.py | 29 +-
superset/dashboards/layout.py | 269 ++++
superset/db_engine_specs/mongodb.py | 63 +-
superset/key_value/types.py | 1 +
superset/mcp_service/SECURITY.md | 2 +-
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 | 390 +++---
superset/mcp_service/chart/tool/get_chart_data.py | 40 +-
.../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 +
superset/mcp_service/dashboard/schemas.py | 13 +-
.../dashboard/tool/generate_dashboard.py | 3 +-
superset/mcp_service/dataset/schemas.py | 13 +-
.../explore/tool/generate_explore_link.py | 3 +-
superset/mcp_service/middleware.py | 287 +++-
superset/mcp_service/semantic_layer/schemas.py | 11 +-
superset/mcp_service/sql_lab/schemas.py | 18 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 19 -
superset/mcp_service/utils/response_utils.py | 8 +-
superset/mcp_service/utils/serialization.py | 225 ++++
superset/migrations/shared/security_converge.py | 34 +
...4fb8bfc1_delete_deprecated_permissions_33272.py | 153 +++
...a4572f8a_rename_deprecated_permissions_33272.py | 193 +++
...e6_merge_deprecated_permissions_with_master.py} | 12 +-
...merge_deprecated_permissions_with_master_v2.py} | 12 +-
...merge_deprecated_permissions_with_master_v3.py} | 12 +-
superset/security/manager.py | 1 -
superset/tasks/export_dashboard_excel.py | 272 +++-
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 | 22 +-
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/export_storage.py | 76 ++
superset/utils/gcs.py | 101 ++
superset/utils/s3.py | 124 +-
tests/integration_tests/dashboards/api_tests.py | 435 ++++++-
tests/integration_tests/security_tests.py | 8 +
.../chart/streaming_export_command_test.py | 61 +
tests/unit_tests/commands/dashboard/update_test.py | 46 +
tests/unit_tests/dao/dashboard_test.py | 139 ++
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_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 | 180 ++-
.../chart/tool/test_get_chart_type_schema.py | 26 +
.../dashboard/tool/test_dashboard_generation.py | 63 +
.../explore/tool/test_generate_explore_link.py | 49 +
.../mcp_service/sql_lab/tool/test_execute_sql.py | 104 +-
.../mcp_service/test_error_classification.py | 679 ++++++++++
.../mcp_service/test_response_serialization.py | 321 +++++
.../mcp_service/utils/test_serialization.py | 294 +++++
.../migrations/shared/security_converge_test.py | 218 ++++
.../test_deprecated_permissions_33272.py | 420 ++++++
.../tasks/test_export_dashboard_excel.py | 681 +++++++++-
tests/unit_tests/utils/gcs_tests.py | 120 ++
tests/unit_tests/utils/s3_tests.py | 102 +-
141 files changed, 11988 insertions(+), 1165 deletions(-)
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-frontend/src/views/App.test.tsx
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/mcp_service/utils/serialization.py
create mode 100644
superset/migrations/versions/2026-09-10_00-00_1f5f4fb8bfc1_delete_deprecated_permissions_33272.py
create mode 100644
superset/migrations/versions/2026-09-10_00-01_3ce9a4572f8a_rename_deprecated_permissions_33272.py
copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py =>
2026-09-16_00-01_2ce579e91ae6_merge_deprecated_permissions_with_master.py} (79%)
copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py =>
2026-09-17_00-00_53a7abc31422_merge_deprecated_permissions_with_master_v2.py}
(76%)
copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py =>
2026-09-23_00-00_95d8a99c822e_merge_deprecated_permissions_with_master_v3.py}
(76%)
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/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/mcp_service/test_response_serialization.py
create mode 100644 tests/unit_tests/mcp_service/utils/test_serialization.py
create mode 100644 tests/unit_tests/migrations/shared/security_converge_test.py
create mode 100644
tests/unit_tests/migrations/test_deprecated_permissions_33272.py
create mode 100644 tests/unit_tests/utils/gcs_tests.py