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

(superset) branch mcp-chart-explore-url updated (d694de88567 -> 0f65ec35ca1)

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

aminghadersohi pushed a change to branch mcp-chart-explore-url
in repository https://gitbox.apache.org/repos/asf/superset.git


    from d694de88567 fix(mcp): relocate extract_permalink_key_from_url and fix UUID datasource
     add 75d94ff466a fix(SafeMarkdown): block script-executing link protocols regardless of EscapeMarkdownHtml (#40622)
     add cd5bdf11acc fix(playwright): de-flake list-view delete and bulk-export specs (#39980)
     add 9a31362fa5e fix(reports): stamp email subject date at send time, not import time (#40693)
     add 7d69f76127a fix(mcp): API key authentication for MCP — transport, validation, and RBAC (#39604)
     add 6f97d9817e1 fix(database): preserve engine_information when creating database connection (#38107)
     add 80a3df3550e ci: run full Python-version matrix on push, current-only on PRs (#40722)
     add 3f94c9db2d5 chore(deps): bump query-string from 9.3.1 to 9.4.0 in /superset-frontend (#40742)
     add cbd731e6614 chore(deps-dev): bump webpack from 5.107.1 to 5.107.2 in /superset-frontend (#40741)
     add 09cd2c26cdc chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#40740)
     add 6662529306e chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#40739)
     add 0ad09d5cd0e chore(deps): bump dompurify from 3.4.8 to 3.4.7 in /superset-frontend/packages/superset-ui-core (#40737)
     add ddeec68c88a chore(deps): bump dompurify from 3.4.5 to 3.4.7 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#40735)
     add 0d1b702ce8d feat(extensions): static supply-chain controls — denylist + version policy (#40668)
     add 7d323dc0ae3 fix(filters): Enable decimal values in Range filter slider (#34742)
     add 639866625db fix(echarts): Show full labels in bar chart tooltips (#34759)
     add f5f4a415981 chore(deps-dev): bump @babel/register from 7.29.3 to 7.29.7 in /superset-frontend (#40757)
     add 937eff6d52c chore(deps-dev): bump oxlint from 1.66.0 to 1.67.0 in /superset-frontend (#40755)
     add 04939c94cc4 chore(deps-dev): bump @babel/node from 7.29.0 to 7.29.7 in /superset-frontend (#40752)
     add 94c1a1b1f20 chore(deps-dev): bump @babel/runtime-corejs3 from 7.29.2 to 7.29.7 in /superset-frontend (#40751)
     add ccce0cab187 chore(deps): bump content-disposition from 2.0.0 to 2.0.1 in /superset-frontend (#40750)
     add 74060987082 fix(dashboard-filter): Consider dashboard filters to charts not declared in the dashboard position (#40774)
     add 79c74af2e9d ci: cache npm downloads in frontend-heavy workflows (#40744)
     add 875673f6707 fix(asyncEvent): use Map for job listener/retry registries (#40747)
     add 42367afb25c fix(reports): add per-tile animation wait to prevent partial ECharts renders in tiled screenshots (#40694)
     add 98c096df056 chore(deps): bump @babel/runtime from 7.29.2 to 7.29.7 in /superset-frontend (#40753)
     add 45a616439bb chore(deps): update dayjs requirement from ^1.11.20 to ^1.11.21 in /superset-frontend/packages/superset-ui-core (#40736)
     add aa4092ba682 fix(mcp): add select_columns lean defaults to get_dashboard_info, get_chart_info, get_dataset_info (#40473)
     add fa42b13eb83 fix(dataset): preserve numeric column types when pydruid infers STRING from first-row value (#40677)
     add 601f9c2b8c3 fix(embedded): add guest token to streaming exports (#40712)
     add 55bb75efe6d fix(dashboard): prevent filter dropdown button from disappearing during layout recalculations (#38193)
     add 645aa3b1df4 chore(deps-dev): bump eslint-plugin-prettier from 5.5.5 to 5.5.6 in /superset-frontend (#40795)
     add 81192048572 fix(dashboard): sort Dynamic Group By display values alphabetically (#40220)
     add 108e40cbb61 feat(duration-format): replace pretty-ms with native Intl.DurationFormat for localized duration formatting (#39330)
     add 550c80f640a chore(lint): convert ChartRenderer, Chart, DrillByChart to function components (#39459)
     add 70ee6e21eb6 chore(deps-dev): bump @babel/core from 7.29.0 to 7.29.7 in /superset-frontend (#40800)
     add b069b6caf6c chore(deps-dev): bump terser-webpack-plugin from 5.6.0 to 5.6.1 in /superset-frontend (#40797)
     add 20024ce3af2 chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.10.2 to 0.10.4 in /superset-frontend (#40796)
     add 44777cc1109 chore(deps): bump @ant-design/icons from 6.2.3 to 6.2.5 in /superset-frontend (#40794)
     add 2aca35cb68d chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#40793)
     add e956f82224b fix(dashboard): prevent divider display controls from reverting on second save (#40696)
     add 1623ceda73d fix(result_set): preserve JSON/JSONB data as objects instead of strings (#38172)
     add 19d01521bf5 fix(dashboard): replace chartsInScope references at import time (#38171)
     add 81bc3088e22 fix(dashboard): prevent stale favorite status errors after navigation (#38156)
     add 863e93539ae fix(dashboard): clean up JSON formatting and contribution suffix in V… (#40683)
     add 0984839788f ci: required-check anchors for cypress-matrix and playwright-tests (unblock docs-only PRs) (#40780)
     add 7eaaffde896 ci: cache npm downloads in the translations workflow (#40779)
     add 7f452e40966 chore(deps): bump @ant-design/icons from 6.2.3 to 6.2.5 in /docs (#40792)
     add 5a6306983e5 docs: add social media links to website footer and README (#38108)
     add 4715cfd3725 chore(deps-dev): bump eslint-plugin-prettier from 5.5.5 to 5.5.6 in /docs (#40791)
     add 2babb480818 chore(deps): bump ioredis from 5.10.1 to 5.11.0 in /superset-websocket (#40734)
     add 3d7021fdf95 chore(deps): bump hot-shots from 14.3.1 to 15.0.0 in /superset-websocket (#40789)
     add 151df43d9d0 fix(docker): prevent static asset 404s by waiting for webpack dev server (#38161)
     add 0f65ec35ca1 Merge branch 'master' into mcp-chart-explore-url

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |   6 +-
 .github/workflows/pre-commit.yml                   |   7 +-
 .github/workflows/superset-e2e.yml                 |  64 ++
 .github/workflows/superset-extensions-cli.yml      |   4 +-
 .github/workflows/superset-playwright.yml          |   2 +
 .../workflows/superset-python-integrationtest.yml  |   4 +-
 .github/workflows/superset-python-unittest.yml     |   4 +-
 .github/workflows/superset-translations.yml        |   2 +
 README.md                                          |   5 +
 UPDATING.md                                        |  19 +
 docker-compose.yml                                 |  25 +
 docs/docusaurus.config.ts                          |  17 +
 docs/i18n/en/docusaurus-theme-classic/footer.json  |   2 +-
 docs/package.json                                  |   4 +-
 docs/src/styles/main.css                           |  46 +-
 docs/static/img/community/reddit-symbol.svg        | Bin 0 -> 1995 bytes
 docs/static/img/community/slack-symbol.svg         | Bin 0 -> 1911 bytes
 docs/yarn.lock                                     |  38 +-
 superset-frontend/jest.config.js                   |   2 +-
 superset-frontend/package-lock.json                | 453 +++++++------
 superset-frontend/package.json                     |  28 +-
 .../packages/superset-core/package.json            |   2 +-
 .../src/utils/D3Formatting.ts                      |   2 +-
 .../packages/superset-ui-core/package.json         |  10 +-
 .../DropdownContainer/DropdownContainer.tsx        |  31 +-
 .../src/components/SafeMarkdown/SafeMarkdown.tsx   |  49 +-
 .../TableCollection/TableCollection.test.tsx       |   6 +
 .../src/components/TableCollection/index.tsx       |  26 +-
 .../superset-ui-core/src/number-format/README.md   |   6 +-
 .../factories/createDurationFormatter.ts           |  47 +-
 .../utils/getIntlDurationFormatter.ts}             |  14 +-
 .../src/number-format/utils/parseMilliseconds.ts   |  57 ++
 .../superset-ui-core/src/query/types/Dashboard.ts  |   1 -
 .../test/components/SafeMarkdown.test.tsx          |  58 ++
 .../factories/createDurationFormatter.test.ts      |  25 +-
 .../utils/getIntlDurationFormatter.test.ts         |  38 ++
 .../number-format/utils/parseMilliseconds.test.ts  | 148 +++++
 .../packages/superset-ui-core/types/intl.d.ts      |  73 ++
 .../playwright/components/ListView/BulkSelect.ts   |  84 ++-
 .../playwright/components/ListView/index.ts        |   1 +
 .../components/modals/DeleteConfirmationModal.ts   |  32 +-
 .../playwright/pages/ChartListPage.ts              |  33 +-
 .../playwright/pages/DashboardListPage.ts          |  33 +-
 .../playwright/pages/DatasetListPage.ts            |  39 +-
 .../playwright/tests/chart/chart-list.spec.ts      | 103 ++-
 .../tests/dashboard/dashboard-list.spec.ts         | 137 ++--
 .../playwright/tests/dataset/dataset-list.spec.ts  | 128 ++--
 superset-frontend/playwright/utils/constants.ts    |   7 +-
 .../plugins/legacy-preset-chart-nvd3/package.json  |   4 +-
 .../plugins/plugin-chart-echarts/package.json      |   2 +-
 .../src/Timeseries/transformProps.ts               |   6 +-
 .../test/Timeseries/transformProps.test.ts         |  97 +++
 .../plugins/plugin-chart-handlebars/package.json   |   2 +-
 .../plugins/preset-chart-deckgl/package.json       |   2 +-
 superset-frontend/spec/helpers/setup.ts            |   4 +
 .../DynamicGroupBy/DynamicGroupByPlugin.test.tsx   |  81 +++
 .../DynamicGroupBy/DynamicGroupByPlugin.tsx        |  19 +-
 .../components/DynamicGroupBy/types.ts             |   1 -
 superset-frontend/src/components/Chart/Chart.tsx   | 506 +++++++-------
 .../src/components/Chart/ChartRenderer.test.tsx    |  83 +--
 .../src/components/Chart/ChartRenderer.tsx         | 732 ++++++++++-----------
 .../src/components/Chart/DrillBy/DrillByChart.tsx  |   4 +-
 .../src/components/ListView/ListView.test.tsx      |   5 +-
 .../src/components/ListView/ListView.tsx           |  19 +-
 superset-frontend/src/components/ListView/utils.ts |  22 +-
 .../useStreamingExport.test.ts                     |  32 +
 .../StreamingExportModal/useStreamingExport.ts     |   5 +
 .../src/dashboard/actions/dashboardState.test.ts   | 331 +++++++++-
 .../src/dashboard/actions/dashboardState.ts        | 100 ++-
 .../FilterControls/GroupByFilterCard.test.tsx      |  41 ++
 .../FilterBar/FilterControls/GroupByFilterCard.tsx |  36 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   2 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx | 133 ++++
 .../FiltersConfigModal/FiltersConfigModal.tsx      |  18 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |  12 -
 .../util/migrateChartCustomization.test.ts         |  24 +-
 .../dashboard/util/migrateChartCustomization.ts    |   7 +-
 .../components/useGridResultTable.tsx              |  37 +-
 .../DataTablesPane/test/DataTablesPane.test.tsx    |  40 ++
 .../databases/DatabaseModal/index.test.tsx         |  37 ++
 .../src/features/databases/DatabaseModal/index.tsx |   7 +
 .../src/features/tasks/TaskStatusIcon.tsx          |   4 +
 .../src/features/tasks/timeUtils.test.ts           |   6 +-
 superset-frontend/src/features/tasks/timeUtils.ts  |  72 +-
 .../components/Range/RangeFilterPlugin.test.tsx    | 159 ++++-
 .../filters/components/Range/RangeFilterPlugin.tsx |  26 +
 .../src/middleware/asyncEvent.test.ts              |  28 +
 superset-frontend/src/middleware/asyncEvent.ts     |  37 +-
 superset-frontend/src/pages/ChartList/index.tsx    |   3 +
 .../src/pages/DashboardList/index.tsx              |   3 +
 superset-frontend/src/pages/DatasetList/index.tsx  |   6 +
 superset-frontend/src/pages/TaskList/index.tsx     |   7 +-
 superset-frontend/src/preamble.test.ts             | 113 ++++
 superset-frontend/src/preamble.ts                  |   3 +-
 superset-frontend/src/setup/setupFormatters.ts     |  15 +-
 superset-websocket/package-lock.json               | 105 ++-
 superset-websocket/package.json                    |   4 +-
 superset/charts/data/dashboard_filter_context.py   |  30 +-
 superset/commands/dashboard/importers/v1/utils.py  | 148 +++--
 superset/config.py                                 |  11 +
 superset/dataframe.py                              |  18 +-
 superset/db_engine_specs/base.py                   |  33 +
 superset/db_engine_specs/druid.py                  |  26 +
 superset/extensions/utils.py                       |  79 +++
 superset/mcp_service/auth.py                       | 291 ++++----
 superset/mcp_service/chart/schemas.py              |  44 ++
 superset/mcp_service/chart/tool/get_chart_info.py  |  17 +-
 superset/mcp_service/composite_token_verifier.py   | 199 ++++++
 superset/mcp_service/dashboard/schemas.py          |  49 ++
 .../dashboard/tool/get_dashboard_info.py           |  17 +-
 superset/mcp_service/dataset/schemas.py            |  86 +++
 .../mcp_service/dataset/tool/get_dataset_info.py   |  16 +-
 superset/mcp_service/mcp_config.py                 | 189 ++++--
 superset/mcp_service/middleware.py                 |   8 +-
 superset/mcp_service/server.py                     |  10 +-
 superset/reports/notifications/email.py            |  16 +-
 superset/result_set.py                             |  56 +-
 superset/security/manager.py                       |  75 ++-
 superset/translations/ar/LC_MESSAGES/messages.po   |  80 ++-
 superset/translations/ca/LC_MESSAGES/messages.po   |  86 ++-
 superset/translations/cs/LC_MESSAGES/messages.po   |  86 ++-
 superset/translations/de/LC_MESSAGES/messages.po   |  82 ++-
 superset/translations/en/LC_MESSAGES/messages.po   |  72 +-
 superset/translations/es/LC_MESSAGES/messages.po   |  88 ++-
 superset/translations/fa/LC_MESSAGES/messages.po   |  82 ++-
 superset/translations/fi/LC_MESSAGES/messages.po   |  99 ++-
 superset/translations/fr/LC_MESSAGES/messages.po   |  86 ++-
 superset/translations/it/LC_MESSAGES/messages.po   |  74 ++-
 superset/translations/ja/LC_MESSAGES/messages.po   |  84 ++-
 superset/translations/ko/LC_MESSAGES/messages.po   |  73 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |  84 ++-
 superset/translations/messages.pot                 |  66 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |  84 ++-
 superset/translations/nl/LC_MESSAGES/messages.po   |  80 ++-
 superset/translations/pl/LC_MESSAGES/messages.po   |  80 ++-
 superset/translations/pt/LC_MESSAGES/messages.po   |  74 ++-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |  80 ++-
 superset/translations/ru/LC_MESSAGES/messages.po   |  92 ++-
 superset/translations/sk/LC_MESSAGES/messages.po   |  86 ++-
 superset/translations/sl/LC_MESSAGES/messages.po   |  80 ++-
 superset/translations/th/LC_MESSAGES/messages.po   |  99 ++-
 superset/translations/tr/LC_MESSAGES/messages.po   |  76 ++-
 superset/translations/uk/LC_MESSAGES/messages.po   |  84 ++-
 superset/translations/zh/LC_MESSAGES/messages.po   |  77 ++-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |  77 ++-
 superset/utils/screenshot_utils.py                 |   8 +
 superset/utils/webdriver.py                        |   1 +
 tests/integration_tests/result_set_tests.py        |  34 +-
 .../charts/test_dashboard_filter_context.py        |  80 ++-
 tests/unit_tests/connectors/sqla/utils_test.py     |   1 +
 .../dashboards/commands/importers/v1/utils_test.py | 174 +++++
 tests/unit_tests/db_engine_specs/test_base.py      |  21 +
 tests/unit_tests/db_engine_specs/test_druid.py     | 116 ++++
 tests/unit_tests/extensions/test_utils.py          |  96 +++
 .../mcp_service/chart/tool/test_get_chart_info.py  |  91 ++-
 .../dashboard/tool/test_dashboard_tools.py         |  72 ++
 .../mcp_service/dataset/tool/test_dataset_tools.py |  59 ++
 tests/unit_tests/mcp_service/test_auth_api_key.py  | 366 +++++++----
 tests/unit_tests/mcp_service/test_auth_rbac.py     |  14 +-
 .../mcp_service/test_auth_user_resolution.py       |   4 +-
 .../mcp_service/test_composite_token_verifier.py   | 345 ++++++++++
 tests/unit_tests/mcp_service/test_mcp_config.py    | 213 ++++++
 tests/unit_tests/mcp_service/test_mcp_server.py    |  23 +
 .../mcp_service/test_tool_search_transform.py      |  14 +-
 .../reports/notifications/email_tests.py           |  21 +-
 tests/unit_tests/result_set_test.py                | 121 ++++
 .../security/test_granular_export_permissions.py   |  11 +
 tests/unit_tests/utils/test_screenshot_utils.py    |  26 +
 168 files changed, 7901 insertions(+), 2603 deletions(-)
 create mode 100644 docs/static/img/community/reddit-symbol.svg
 create mode 100644 docs/static/img/community/slack-symbol.svg
 copy superset-frontend/{src/dashboard/util/isEmbedded.ts => packages/superset-ui-core/src/number-format/utils/getIntlDurationFormatter.ts} (72%)
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/utils/parseMilliseconds.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/utils/getIntlDurationFormatter.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/utils/parseMilliseconds.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/types/intl.d.ts
 create mode 100644 superset-frontend/src/chartCustomizations/components/DynamicGroupBy/DynamicGroupByPlugin.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/GroupByFilterCard.test.tsx
 create mode 100644 superset-frontend/src/preamble.test.ts
 create mode 100644 superset/mcp_service/composite_token_verifier.py
 create mode 100644 tests/unit_tests/extensions/test_utils.py
 create mode 100644 tests/unit_tests/mcp_service/test_composite_token_verifier.py