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/04/22 19:15:44 UTC

(superset) branch docs/superset-6.1-catchup-2 updated (5cd2816dcf8 -> f88decbb167)

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

rusackas pushed a change to branch docs/superset-6.1-catchup-2
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 5cd2816dcf8 docs: Superset 6.1 documentation catch-up — batch 2
     add be680408c95 fix(sqllab): enhance table explore tree with schema pinning, column sorting, and table schema refresh (#39396)
     add 690a411cf32 chore(ci): require PMC review for CI-executed scripts (#39462)
     add 3d85e8e23b0 chore: publish wheels (#36746)
     add 4ae16cb1408 chore(deps-dev): bump typescript-eslint from 8.58.0 to 8.58.2 in /docs (#39426)
     add f0ef9f5e9c7 chore(deps-dev): bump webpack from 5.105.4 to 5.106.2 in /docs (#39401)
     add cd6ce881a57 chore(deps): bump dompurify from 3.3.3 to 3.4.0 in /docs (#39398)
     add a7310b1fce0 chore(deps): bump @docusaurus/core from 3.9.2 to 3.10.0 in /docs (#39188)
     add e535dce0302 chore(deps-dev): bump prettier from 3.8.1 to 3.8.3 in /docs (#39400)
     add ce5b2aa4243 chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#39320)
     add a9487cbc84a chore(deps): bump aws-actions/amazon-ecr-login from 2.1.2 to 2.1.3 (#39403)
     add 03725d1aaa5 chore(deps): bump dompurify from 3.3.3 to 3.4.0 in /superset-frontend (#39399)
     add fca64de8e94 chore(deps-dev): bump prettier from 3.8.2 to 3.8.3 in /superset-frontend (#39372)
     add 55625c911f6 chore(deps-dev): bump timezone-mock from 1.4.0 to 1.4.2 in /superset-frontend (#38049)
     add fbd062165e2 chore(deps): bump @swc/core from 1.15.24 to 1.15.26 in /docs (#39374)
     add 51ea2c297d0 fix(dataset): calculated columns in virtual datasets fail when used as dynamic aggregation filter dimensions (#39004)
     add 0857611a4e8 fix(mcp): Add defensive validator for ColumnInfo.is_nullable (#39365)
     add 16387b08153 fix(sqllab): remove duplicate tooltip on share query link icon (#39289)
     add 5cff6578121 fix(mcp): default XY chart x-axis to dataset primary datetime column (#39421)
     add e5f9a6bf4bc chore(lint): convert superset-ui-core chart-composition to function components (#39455)
     add 7d3881f1da7 docs: Added instructions on configuring Superset SECRET_KEY (#25646)
     add dc9b459b27f chore(deps): bump actions/setup-node from 6.3.0 to 6.4.0 (#39481)
     add 899e9294b24 chore(deps): bump maplibre-gl from 5.22.0 to 5.23.0 in /superset-frontend (#39475)
     add 9fe3f634ec6 perf(sql-lab): debounce schema browser search (#39489)
     add bf7ec853fa5 fix(big-number): use correct default font size for subtitle/subheader (#39493)
     add 4f2fa41f4ef fix(a11y): WCAG 3.1.2 — set HTML lang attribute dynamically from locale (#39243)
     add 52ba4fd0cb9 chore(deps): bump antd from 6.3.5 to 6.3.6 in /docs (#39480)
     add 06818008c22 chore(deps-dev): bump eslint from 10.2.0 to 10.2.1 in /superset-websocket (#39473)
     add 78fb09695b8 fix(chart): word cloud secondary sort prevents Druid TopN optimization when sort_by_metric enabled (#39073)
     add d3de16c5f51 fix(dashboard): restore groupby in buildExistingColumnsSet and guard null customization config (#39416)
     add c4cf03f8995 fix(import): import tags during CLI native asset import (#39495)
     add 6948e73ec7b feat(mcp): add get_chart_sql tool and expose chart filters in get_chart_info (#38700)
     add 5fb89b865da fix(oauth2): silence lock acquisition errors on token refresh (#39463)
     add 6535fdd5567 chore: simplify Trino's OAuth detection (#39496)
     add e1bdb94efc2 chore(deps-dev): bump globals from 17.4.0 to 17.5.0 in /docs (#39479)
     add 11607dde04b feat(sqllab): syntax validation for sqlite-based DB engine specs (#38698)
     add 4f19bc4c5f7 fix(table): ensure dimensions appear before metrics in column order (#39346)
     add 151d7d76da2 fix(charts): set g.form_data for metric() Jinja macro on GET chart data endpoint (#39347)
     add 230b25dd729 fix(deckgl): UI fixes on deck.gl exclude layers (#38958)
     add a222dab781e feat(dashboard): pre-filter time grain (#38922)
     add 191337e08d8 fix(db oauth2): Improve OAuth2 flow (#39499)
     add 29806780dc4 chore(mcp): remove dead parse_request decorator and utility code (#39498)
     add a9761932bcb fix(security): patch CVEs in cryptography, mako, pyarrow, pyopenssl, requests (#39523)
     add b4000a025d7 chore(deps): bump @swc/core from 1.15.26 to 1.15.30 in /docs (#39478)
     add a4a67296af0 chore(deps): bump ag-grid-community from 35.0.1 to 35.2.1 in /superset-frontend (#39382)
     add 0f2769ca3e7 fix(a11y): WCAG 3.2.3 — add aria-labels to navigation landmarks (#39244)
     add 919daabe54b fix(mcp): clear stale query_context in update_chart so filters and row_limit are applied (#39413)
     add 33deb028a6d chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /docs (#39427)
     add c1a3de719a9 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#39474)
     add 5e3a7ba106c chore(deps): bump mapbox-gl from 3.20.0 to 3.21.0 in /superset-frontend (#39091)
     add bd8d3ffb2da chore(deps): bump ag-grid-community from 35.0.1 to 35.2.1 in /superset-frontend/packages/superset-ui-core (#39371)
     add e45330c2fd3 chore(deps-dev): bump oxlint from 1.56.0 to 1.60.0 in /superset-frontend (#39375)
     add b302071723c chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.9.2 to 0.9.3 in /superset-frontend (#39264)
     add a89f9bcb98a chore(deps-dev): bump @typescript-eslint/parser from 8.58.2 to 8.59.0 in /superset-websocket (#39513)
     add 67bc910eb58 chore(deps-dev): bump @typescript-eslint/parser from 8.58.2 to 8.59.0 in /docs (#39515)
     add 69d2da9c614 chore(deps): bump react-arborist from 3.4.3 to 3.5.0 in /superset-frontend (#39516)
     add af7a62ab3fc chore(deps): bump baseline-browser-mapping from 2.10.19 to 2.10.20 in /docs (#39477)
     add d7a8c1934a4 chore(deps-dev): bump typescript-eslint from 8.58.2 to 8.59.0 in /superset-websocket (#39511)
     add dd18b2eb540 chore(deps): update react requirement from ^19.2.1 to ^19.2.5 in /superset-frontend/plugins/legacy-plugin-chart-chord (#39215)
     add ef290b28e24 chore(deps): bump mapbox-gl from 3.20.0 to 3.22.0 in /superset-frontend (#39510)
     add e77cfc93ed5 chore(deps): bump geostyler-openlayers-parser from 5.4.1 to 5.7.0 in /superset-frontend (#39518)
     add a51bbd46dcc chore(deps-dev): bump oxlint from 1.56.0 to 1.60.0 in /superset-frontend (#39151)
     add 003c2321921 chore(deps-dev): bump typescript-eslint from 8.58.2 to 8.59.0 in /docs (#39517)
     add fb3e129d623 chore(deps-dev): bump @types/jquery from 3.5.33 to 4.0.0 in /superset-frontend (#38239)
     add c3734985431 chore(deps-dev): bump the storybook group across 1 directory with 11 updates (#38503)
     add 05fc5bb424f chore(deps): bump react-checkbox-tree from 1.8.0 to 2.0.1 in /superset-frontend (#39476)
     add e6853894ab1 chore(mcp): extract shared chart helpers and ASCII rendering into separate modules (#39438)
     add e1ed5003a89 docs: Superset 6.1 documentation catch-up — batch 5 (#39454)
     add 44177b4e350 feat(explore): add CSV/XLS download to drill-to-detail modal (#37109)
     add 1903b919d69 fix(echarts): increase default axis title margins to prevent label overlap (#39447)
     add 73c4240ba47 feat(ui-core): export LeftOutlined icon from @superset-ui/core (#39563)
     add 18d89f25ce4 fix(dashboard): apply full transitive ancestor chain for dependent filters (#39504)
     add 5af17c7976e fix(OpenSearch): OpenSearch dialect for sqlglot (#39538)
     add 9f42ccececd chore(deps): bump caniuse-lite from 1.0.30001788 to 1.0.30001790 in /docs (#39541)
     add f672b143db0 chore(deps): bump react-checkbox-tree from 1.8.0 to 2.0.1 in /superset-frontend (#39261)
     add e9030b7fac9 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#39546)
     add 72d39bea857 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend (#39545)
     add f6c5219e896 fix(security): add UserSAMLModelView to USER_MODEL_VIEWS (#39568)
     add 4ee3a0fc074 feat(user_info): include Groups in user data payload when include_perms is True and show Groups on user_info page (#39450)
     add 7174695be74 chore(deps-dev): bump @swc/core from 1.15.24 to 1.15.30 in /superset-frontend (#39550)
     add ae61000a128 chore(deps): bump markdown-to-jsx from 9.7.15 to 9.7.16 in /superset-frontend (#39552)
     add 9366868f8f9 chore(deps): bump nanoid from 5.1.7 to 5.1.9 in /superset-frontend (#39554)
     add 7934665ac11 chore(deps): bump uuid from 13.0.0 to 14.0.0 in /superset-frontend (#39555)
     add b2468d37524 chore(deps): bump geostyler from 18.3.1 to 18.5.0 in /superset-frontend (#39549)
     add 07c8e7f3033 chore(deps): bump @deck.gl/mapbox from 9.2.11 to 9.3.1 in /superset-frontend (#39551)
     add e16656c6cfb chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#39548)
     add f88decbb167 docs: Superset 6.1 documentation catch-up — batch 2

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (5cd2816dcf8)
            \
             N -- N -- N   refs/heads/docs/superset-6.1-catchup-2 (f88decbb167)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |    5 +
 .github/labeler.yml                                |    5 +
 .github/workflows/embedded-sdk-release.yml         |    2 +-
 .github/workflows/embedded-sdk-test.yml            |    2 +-
 .github/workflows/ephemeral-env-pr-close.yml       |    2 +-
 .github/workflows/ephemeral-env.yml                |    4 +-
 .github/workflows/github-action-validator.yml      |    2 +-
 .github/workflows/pre-commit.yml                   |    2 +-
 .github/workflows/release.yml                      |    2 +-
 .github/workflows/superset-docs-deploy.yml         |    2 +-
 .github/workflows/superset-docs-verify.yml         |    4 +-
 .github/workflows/superset-e2e.yml                 |    8 +-
 .github/workflows/superset-extensions-cli.yml      |    2 +-
 .github/workflows/superset-frontend.yml            |    4 +-
 .github/workflows/superset-playwright.yml          |    4 +-
 .../workflows/superset-python-integrationtest.yml  |    2 +-
 .github/workflows/superset-translations.yml        |    2 +-
 .github/workflows/tag-release.yml                  |    4 +-
 .github/workflows/tech-debt.yml                    |    2 +-
 .gitignore                                         |    1 +
 RELEASING/README.md                                |    2 +-
 docs/admin_docs/configuration/aws-iam.mdx          |  162 +++
 .../configuration/configuring-superset.mdx         |    8 +
 .../importing-exporting-datasources.mdx            |   27 +
 docs/admin_docs/configuration/mcp-server.mdx       |   27 +
 .../creating-your-first-dashboard.mdx              |   80 ++
 docs/docs/using-superset/embedding.mdx             |  130 ++
 docs/docs/using-superset/exploring-data.mdx        |   21 +
 .../docs/using-superset/using-ai-with-superset.mdx |   42 +-
 docs/package.json                                  |   37 +-
 docs/tsconfig.json                                 |    1 +
 .../configuration/configuring-superset.mdx         |    8 +
 docs/yarn.lock                                     | 1314 +++++++++----------
 pyproject.toml                                     |    6 +-
 requirements/base.in                               |   10 +
 requirements/base.txt                              |   21 +-
 requirements/development.txt                       |   12 +-
 superset-frontend/oxlint.json                      |   99 +-
 superset-frontend/package-lock.json                | 1330 ++++++++++++--------
 superset-frontend/package.json                     |   51 +-
 .../src/sections/chartTitle.tsx                    |    6 +-
 .../packages/superset-ui-core/package.json         |   12 +-
 .../src/chart-composition/ChartFrame.tsx           |   63 +-
 .../src/chart-composition/legend/WithLegend.tsx    |  167 ++-
 .../src/chart-composition/tooltip/TooltipFrame.tsx |   28 +-
 .../src/components/Icons/AntdEnhanced.tsx          |    2 +
 .../superset-ui-core/src/query/types/Dashboard.ts  |    1 +
 .../test/time-comparison/getTimeOffset.test.ts     |   42 +-
 .../test/time-comparison/parseDttmToDate.test.ts   |  114 +-
 .../superset-ui-core/test/utils/copy.test.ts       |   20 +-
 .../plugins/legacy-plugin-chart-chord/package.json |    2 +-
 .../plugins/legacy-preset-chart-nvd3/package.json  |    2 +-
 .../src/transformProps.ts                          |    5 +
 .../src/BigNumber/BigNumberTotal/transformProps.ts |    5 +-
 .../src/BigNumber/BigNumberViz.tsx                 |   11 +-
 .../src/BigNumber/constants.tsx}                   |   10 +-
 .../plugin-chart-echarts/src/Bubble/constants.ts   |    4 +-
 .../src/Bubble/controlPanel.tsx                    |    4 +-
 .../src/Timeseries/EchartsTimeseries.test.tsx      |    4 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |    4 +-
 .../src/Timeseries/constants.ts                    |    4 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |    4 +-
 .../test/MixedTimeseries/transformProps.test.ts    |    4 +-
 .../src/react-pivottable/TableRenderers.tsx        |    2 +-
 .../plugin-chart-point-cluster-map/package.json    |    6 +-
 .../plugins/plugin-chart-word-cloud/package.json   |    2 +-
 .../src/plugin/buildQuery.ts                       |    5 +-
 .../src/plugin/controlPanel.tsx                    |   16 +
 .../test/buildQuery.test.ts                        |   75 +-
 .../plugins/preset-chart-deckgl/package.json       |    6 +-
 .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx     |   19 +
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |    1 +
 .../TableExploreTree/TreeNodeRenderer.tsx          |   94 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |  147 ++-
 .../components/TableExploreTree/useTreeData.ts     |  136 +-
 .../src/SqlLab/reducers/getInitialState.test.ts    |    1 +
 ...ckglLayerVisibilityCustomizationPlugin.test.tsx |  107 +-
 .../DeckglLayerVisibilityCustomizationPlugin.tsx   |   82 +-
 .../DeckglLayerVisibility}/images/thumbnail.png    |  Bin
 .../components/DeckglLayerVisibility/index.ts      |    3 +-
 .../components/DeckglLayerVisibility/types.ts      |   26 +-
 .../useDeckLayerMetadata.test.ts                   |   30 +-
 .../DeckglLayerVisibility/useDeckLayerMetadata.ts  |    3 +-
 .../src/components/AlteredSliceTag/utils/index.ts  |    4 +-
 .../components/Chart/DrillBy/DrillByModal.test.tsx |   75 ++
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |   65 +-
 .../Chart/DrillBy/useResultsTableView.tsx          |    9 +
 .../Chart/DrillDetail/DownloadDropdown.test.tsx    |   57 +
 .../Chart/DrillDetail/DownloadDropdown.tsx         |   82 ++
 .../Chart/DrillDetail/DrillDetailPane.test.tsx     |   67 +-
 .../Chart/DrillDetail/DrillDetailPane.tsx          |   75 ++
 .../DrillDetailTableControls.stories.tsx           |    5 +
 .../DrillDetail/DrillDetailTableControls.test.tsx  |   13 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |   52 +-
 .../actions/chartCustomizationActions.test.ts      |  273 ++++
 .../dashboard/actions/chartCustomizationActions.ts |    9 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |   10 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |  132 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    8 +-
 .../components/filterscope/FilterScope.test.tsx    |   48 +-
 .../FilterControls/FilterControl.test.tsx          |   99 ++
 .../FilterBar/FilterControls/FilterControl.tsx     |    7 +
 .../FilterControls/FilterControlShared.test.tsx}   |   26 +-
 .../FilterControls/FilterControlShared.tsx         |   24 +-
 .../FilterControls/FilterValue.timeGrain.test.ts   |   60 +
 .../FilterBar/FilterControls/FilterValue.tsx       |   74 +-
 .../FilterBar/FilterControls/state.test.ts         |  177 +++
 .../FilterBar/FilterControls/state.ts              |   40 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |    1 +
 .../FiltersConfigForm/FilterScope/utils.test.ts    |    7 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |  135 +-
 .../FiltersConfigForm/TimeGrainPreFilter.test.tsx  |  203 +++
 .../FiltersConfigForm/utils.test.ts                |   27 +
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |   10 +
 .../transformers/filterTransformer.ts              |    3 +
 .../nativeFilters/FiltersConfigModal/types.ts      |    1 +
 .../nativeFilters/FiltersConfigModal/utils.ts      |    3 +
 .../components/nativeFilters/dependencyGraph.ts    |   75 ++
 .../components/nativeFilters/state.test.ts         |   98 +-
 .../dashboard/components/nativeFilters/state.ts    |    8 +-
 .../components/nativeFilters/utils.test.ts         |   21 +-
 .../dashboard/components/nativeFilters/utils.ts    |    5 +
 .../src/dashboard/reducers/dashboardInfo.test.ts   |  145 +++
 .../src/dashboard/reducers/dashboardInfo.ts        |   12 +-
 .../src/dashboard/reducers/nativeFilters.test.ts   |   94 +-
 .../util/charts/getFormDataWithExtraFilters.ts     |   14 +-
 .../util/getFormDataWithExtraFilters.test.ts       |  141 +++
 .../util/migrateChartCustomization.test.ts         |   83 ++
 .../dashboard/util/migrateChartCustomization.ts    |   20 +-
 .../src/dashboard/util/permissionUtils.test.ts     |    1 +
 superset-frontend/src/dataMask/reducer.test.ts     |   67 +
 superset-frontend/src/dataMask/reducer.ts          |    5 +-
 .../explore/components/DataTableControl/index.tsx  |   61 +-
 .../components/DataTableControls.tsx               |   34 +-
 .../components/SingleQueryResultPane.tsx           |    6 +
 .../src/explore/components/DataTablesPane/types.ts |   11 +-
 .../ConditionalFormattingControl.test.tsx          |   30 +-
 .../FormattingPopoverContent.tsx                   |    2 +-
 .../src/features/alerts/AlertReportModal.tsx       |    8 +-
 superset-frontend/src/features/home/Menu.tsx       |    3 +-
 superset-frontend/src/features/home/SubMenu.tsx    |    2 +-
 .../TimeGrain/TimeGrainFilterPlugin.test.tsx       |  145 +++
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |   15 +-
 .../TimeGrainPreFilter.integration.test.tsx        |  165 +++
 .../TimeGrainsTransformer.integration.test.ts      |  116 ++
 .../src/filters/components/TimeGrain/types.ts      |    1 +
 .../src/pages/ChartCreation/ChartCreation.test.tsx |    2 +
 superset-frontend/src/pages/SqlLab/SqlLab.test.tsx |    1 +
 .../src/pages/UserInfo/UserInfo.test.tsx           |   13 +-
 superset-frontend/src/pages/UserInfo/index.tsx     |    5 +-
 superset-frontend/src/setup/setupApp.ts            |    8 +-
 superset-frontend/src/types/bootstrapTypes.ts      |    1 +
 superset-frontend/src/utils/downloadAsImage.tsx    |    3 +-
 superset-frontend/src/utils/localStorageHelpers.ts |    2 +
 superset-frontend/src/views/App.tsx                |    8 +
 superset-websocket/package-lock.json               |  348 ++---
 superset-websocket/package.json                    |    6 +-
 superset/charts/data/api.py                        |    6 +-
 superset/commands/importers/v1/assets.py           |   29 +-
 superset/config.py                                 |    9 +
 superset/connectors/sqla/models.py                 |   34 +-
 superset/db_engine_specs/base.py                   |    8 +-
 superset/db_engine_specs/gsheets.py                |   27 -
 superset/db_engine_specs/trino.py                  |   25 +-
 superset/exceptions.py                             |   21 +
 superset/mcp_service/CLAUDE.md                     |    2 -
 superset/mcp_service/app.py                        |    5 +-
 superset/mcp_service/auth.py                       |   45 +-
 superset/mcp_service/chart/ascii_charts.py         |  863 +++++++++++++
 superset/mcp_service/chart/chart_helpers.py        |   81 ++
 superset/mcp_service/chart/chart_utils.py          |   35 +-
 superset/mcp_service/chart/schemas.py              |  269 +++-
 superset/mcp_service/chart/tool/__init__.py        |    2 +
 superset/mcp_service/chart/tool/generate_chart.py  |   11 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |   60 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |   27 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |  912 +-------------
 superset/mcp_service/chart/tool/get_chart_sql.py   |  512 ++++++++
 superset/mcp_service/chart/tool/update_chart.py    |   58 +-
 .../mcp_service/chart/tool/update_chart_preview.py |   31 +-
 .../chart/validation/dataset_validator.py          |    3 +-
 .../chart/validation/runtime/__init__.py           |    2 +
 .../validation/runtime/chart_type_suggester.py     |    8 +
 .../chart/validation/runtime/format_validator.py   |    3 +-
 .../chart/validation/schema_validator.py           |   17 +-
 .../explore/tool/generate_explore_link.py          |   12 +-
 superset/mcp_service/mcp_config.py                 |    6 -
 superset/mcp_service/sql_lab/schemas.py            |   21 +
 superset/mcp_service/utils/schema_utils.py         |  370 +-----
 ...46d_add_sort_by_series_to_word_cloud_charts.py} |   51 +-
 superset/security/manager.py                       |    1 +
 superset/sql/dialects/__init__.py                  |    3 +-
 .../__init__.py => sql/dialects/opensearch.py}     |   21 +-
 superset/sql/parse.py                              |    4 +-
 superset/sql_validators/__init__.py                |    3 +-
 superset/sql_validators/sqlite.py                  |  142 +++
 superset/utils/oauth2.py                           |   13 +-
 superset/views/base.py                             |    1 +
 superset/views/utils.py                            |    1 +
 tests/integration_tests/users/api_tests.py         |    2 +
 tests/unit_tests/charts/test_chart_data_api.py     |   71 ++
 .../commands/importers/v1/assets_test.py           |  114 ++
 .../dashboards/commands/importers/v1/utils_test.py |   85 ++
 tests/unit_tests/db_engine_specs/test_base.py      |  328 +++--
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   25 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |   58 +
 .../mcp_service/chart/test_chart_helpers.py        |  108 ++
 .../mcp_service/chart/test_chart_utils.py          |   56 +
 .../mcp_service/chart/tool/test_get_chart_sql.py   |  592 +++++++++
 .../mcp_service/chart/tool/test_update_chart.py    |   27 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |   54 +
 .../mcp_service/utils/test_schema_utils.py         |  517 +-------
 tests/unit_tests/models/helpers_test.py            |   76 +-
 tests/unit_tests/sql/dialects/opensearch_tests.py  |  240 ++++
 tests/unit_tests/sql_validators/#sqlite_test.py#   |  303 +++++
 tests/unit_tests/sql_validators/sqlite_test.py     |  303 +++++
 tests/unit_tests/utils/oauth2_tests.py             |   40 +
 217 files changed, 10736 insertions(+), 4411 deletions(-)
 create mode 100644 docs/admin_docs/configuration/aws-iam.mdx
 create mode 100644 docs/docs/using-superset/embedding.mdx
 copy superset-frontend/{src/components/AuditInfo/types.ts => plugins/plugin-chart-echarts/src/BigNumber/constants.tsx} (87%)
 copy superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src => src/chartCustomizations/components/DeckglLayerVisibility}/images/thumbnail.png (100%)
 create mode 100644 superset-frontend/src/components/Chart/DrillDetail/DownloadDropdown.test.tsx
 create mode 100644 superset-frontend/src/components/Chart/DrillDetail/DownloadDropdown.tsx
 create mode 100644 superset-frontend/src/dashboard/actions/chartCustomizationActions.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControl.test.tsx
 copy superset-frontend/src/{explore/components/DataTableControl/FilterInput.test.tsx => dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControlShared.test.tsx} (59%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.timeGrain.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/state.test.ts
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/TimeGrainPreFilter.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/dependencyGraph.ts
 create mode 100644 superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.test.tsx
 create mode 100644 superset-frontend/src/filters/components/TimeGrain/TimeGrainPreFilter.integration.test.tsx
 create mode 100644 superset-frontend/src/filters/components/TimeGrain/TimeGrainsTransformer.integration.test.ts
 create mode 100644 superset/mcp_service/chart/ascii_charts.py
 create mode 100644 superset/mcp_service/chart/chart_helpers.py
 create mode 100644 superset/mcp_service/chart/tool/get_chart_sql.py
 copy superset/migrations/versions/{2023-12-15_17-58_06dd9ff00fe8_add_percent_calculation_type_funnel_.py => 2026-04-13_19-28_fd0c8583b46d_add_sort_by_series_to_word_cloud_charts.py} (58%)
 copy superset/{mcp_service/utils/__init__.py => sql/dialects/opensearch.py} (63%)
 create mode 100644 superset/sql_validators/sqlite.py
 create mode 100644 tests/unit_tests/charts/test_chart_data_api.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_helpers.py
 create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_get_chart_sql.py
 create mode 100644 tests/unit_tests/sql/dialects/opensearch_tests.py
 create mode 100644 tests/unit_tests/sql_validators/#sqlite_test.py#
 create mode 100644 tests/unit_tests/sql_validators/sqlite_test.py