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

hainenber pushed a change to branch 
feat/conditionally-run-codeql-analysis-per-detected-language
in repository https://gitbox.apache.org/repos/asf/superset.git


    from 8bd65656f45 feat: restore CodeQL analysis harness to ensure quality 
for both langs
     add 3e36b242a61 fix(datafusion): render temporal SQL that DataFusion 
accepts (#44700)
     add 8c3b985c22c fix(db2): set current_schema to the catalog name of the 
selected schema (#44706)
     add ba62c867258 chore(deps): bump brace-expansion from 5.0.9 to 5.0.12 in 
/superset-frontend/cypress-base (#44813)
     add 3f8a23622c7 perf(security): memoise the user subject lookup within a 
request (#44017)
     add 3f408238baa refactor(mcp): one plugin lifecycle contract and compact 
chart config schemas (#44746)
     add 5668faf18e6 fix(doris): quarter grain, SSL toggle, parameters URI, 
error mapping and column types (#44718)
     add 929c44097f8 chore(deps): bump the security group across 1 directory 
with 2 updates (#44824)
     add e93f8ce638c test(semantic-views): wait for views refetches to settle 
before selecting a view (#44792)
     add 21d46d52dfd chore(build): remove unused dependencies in `docs` and 
`superset-frontend` (#44697)
     add af794f8c93a chore(deps): bump the security group across 1 directory 
with 2 updates (#44831)
     add 8a7be3b327b fix: avoid provider calls when rendering datasource access 
denials (#44432)
     add 3b06cadca4c fix(csv-import): add primary key when MySQL requires one 
(#44411)
     add 88efac09c67 fix(mcp): align histogram and waterfall query contracts 
(#44744)
     add 65a6012843b ci(python): run the Python-next canary nightly, bump to 
3.13 (#44767)
     add e90b9fb751e chore(deps): bump dompurify from 3.4.15 to 3.4.16 in 
/superset-frontend in the security group across 1 directory (#44830)
     add 51378f529d8 fix(matrixify): fan metrics-axis selection into 
multi-query fields (#44629)
     add 883e43ee2da fix(sqllab): ignore non-object template_params in 
format_sql instead of 500 (#44826)
     add bbf0fa5f42f fix(core): stop discarding API errors that quote an HTML 
tag (#42489)
     add d80fcfc02a2 fix(i18n): make babel_update.sh .pot normalization 
actually run (#44395)
     add f02f53df234 fix(sql): reject client-side file-transfer statements in 
query execution (#44496)
     add fd524f4b217 fix(sqllab): preserve exact decimals in results and 
exports (#44739)
     add d2101c8dba2 fix(exasol): classify common server errors (#44721)
     add dc0e306a24c fix(elasticsearch): classify byte, short, half_float, 
scaled_float and unsigned_long columns (#44713)
     add 8baa9c1f2e3 fix(db2): accept sqlglot's parse_mod in the DB2 term 
parser (#44708)
     add 5cf8213354c fix(databricks): keep the user's OAuth2 token and extra 
connect_args; re-auth on HTTP 401 (#44705)
     add 855bb4e21c8 fix(gsheets): align service-account validation and 
serialize upload dates (#44695)
     add bbf00956d46 fix(mcp): prioritize exact tool names in BM25 search 
(#44682)
     add 90fc4735835 test(embedded-sdk): cross-document test rig for the 
navigation fix (#44608)
     add e91ce19a606 fix(auth): drain flash messages on the login page (#44605)
     add 924343e3ee6 fix(gantt): prevent y-axis category labels from being 
clipped (#44321)
     add d2fb52ac83e fix(auth): remove the legacy FAB password reset views and 
move password resets into the SPA (#44626)
     add 4cdd680f399 fix: increase dataset edit modal size (#38215) (#39257)
     add 4911dbe00b0 fix(doris): offer the connection form by matching the 
installed driver (#44736)
     add 3109cfaf6d6 chore(deps): bump @googleapis/sheets from 18.0.0 to 18.0.1 
in /superset-frontend (#44862)
     add 4f9c22db6dc chore(deps): bump github/codeql-action/analyze from 4.38.1 
to 4.38.2 (#44861)
     add 6418473be14 chore(deps): bump github/codeql-action/upload-sarif from 
4.38.1 to 4.38.2 (#44859)
     add 8b643519ca0 chore: add sadpandajoe as a codeowner for .asf.yaml 
(#44855)
     add b98e19f6eb2 chore: drop cypress-matrix-required from required status 
checks (#44854)
     add 74d885233de chore(deps): bump github/codeql-action/init from 4.38.1 to 
4.38.2 (#44860)
     add 8ab7a85a3d7 chore(e2e): remove Cypress infrastructure (#44829)
     add ee39954adb6 fix(oauth2): refresh a token rejected when a connection 
opens (#44765)
     add e5ec22ab3e9 feat(table): add multi-level column header groups (#43938)
     add a12d1b8e127 fix(mcp): enforce tool deadlines without blocking the 
server (#44581)
     add 0a0a1974c50 test(playwright): select existing dashboards without 
creating duplicates (#44856)
     add 33292f249da feat(mcp): support tab-scoped dashboard layouts (#44797)
     add 4ae8fe71225 fix: size 'Drill to detail' table header correctly (#44807)
     add 2c72d4d4fee fix(mcp): use DEFAULT_PAGE_SIZE constant in list_charts 
test (#44786)
     add 446853004a4 fix(mcp): keep a bubble chart's colors and row limit 
across updates (#44618)
     add 217e4c0223f fix(frontend): use html2canvas for chart image export on 
Safari (#44529)
     add c82f97b69d6 chore(deps): bump deck.gl and luma.gl from 9.2.5 to 9.4.0 
in /superset-frontend (#42608)
     add abdf2e6c702 fix(home): redirect users without an ID before rendering 
(#44456)
     add 3f6d4cd6896 chore(deps-dev): update google-cloud-storage requirement 
from >=1.37 to >=3.14.1 (#44693)
     add 6a832cb2102 fix(mcp): enforce dashboard filter scope on dataset, SQL 
and chart tool calls (#44800)
     add e7702020344 fix(postprocessing): preserve NULL index values through 
pivot() (#43547) (#43693)
     add f7badeb095b fix(mcp): execute_sql request limit caps, never raises, an 
explicit SQL LIMIT (#44604)
     add db56168a861 ci: require babel-extract to pass before merging master 
(#44543)
     add 342a8f1e4e0 fix(mcp): report a chart's live dataset id and name 
(#44681)
     add 21b937b59d7 fix(retention): skip models without purge policies before 
scanning (#44874)
     add 6d97cde59a6 fix(semantic-layers): export/import semantic-view charts 
by typed reference (#44396)
     add b94f88ffbb4 fix(semantic-layer): require explicit member identity 
reselection (#44370)
     add 9c7c96fe057 fix(logging): register LogRestApi only once (#44732)
     add edc91b86e5c chore(deps-dev): bump baseline-browser-mapping from 
2.11.25 to 2.11.26 in /superset-frontend (#44890)
     add 338e640df93 chore(deps): bump dompurify from 3.4.15 to 3.4.16 in 
/superset-frontend (#44889)
     add 4a199486599 chore(deps): bump dom-to-image-more from 3.10.2 to 3.11.0 
in /superset-frontend (#44888)
     add 6559b483f28 chore(deps): bump maplibre-gl from 6.8.0 to 6.11.2 in 
/superset-frontend (#44887)
     add dfccc2e1e9c chore(deps-dev): bump minimizer-webpack-plugin from 5.11.0 
to 5.12.0 in /superset-frontend (#44886)
     add c43770e12da chore(deps-dev): bump webpack-sources from 3.5.1 to 3.5.3 
in /superset-frontend (#44885)
     add 95faf3a6a04 chore(deps-dev): bump oxlint-tsgolint from 7.0.2002 to 
7.0.2003 in /docs (#44883)
     add 27c9213cca2 chore(deps-dev): bump oxlint-tsgolint from 7.0.2002 to 
7.0.2003 in /superset-websocket (#44882)
     add 25956d6c448 chore(superset-ui-chart-controls): forward-compat fixes 
for TypeScript 6.0 (#44877)
     add ba3500e0e9a feat(export/import): add annotation layer export/import 
support for charts and dashboards (#43232)
     add 1b0a37cf223 fix(users): stop update_me setting self-referential 
changed_by_fk (#44866)
     add 7bb29649416 chore(deps): bump dawidd6/action-download-artifact from 24 
to 25 (#44884)
     add 005edd74234 chore(build): de-vendor `helm/chart-testing-action` GHA 
(#44722)
     add 10d06859b83 fix(ci): floor pyfakefs at 5.7.4 to fix Python 3.13 
pytest-cov crash (#44853)
     add 0fdfd6660e0 docs(databases): add ClickHouse Managed Postgres (#44870)
     add e0483898728 test(explore): cover time range frames, comparison labels, 
and metric popover state (#44847)
     add c1bb129c218 fix(change-detector): classify changed files by language, 
not directory (#44895)
     add e606cadff7c chore(mcp): fix malformed tool and prompt docstrings 
(#44572)
     add ef64bacbaa0 feat(chart): cross-filter by x-axis label on charts with 
dimensions (#44869)
     add b0ac9ef61f6 test(explore): cover color scheme selection, BigNumber 
subheader/trendline, and WorldMap bubbles (#44846)
     add 8d25777b995 test(plugin-chart-table): cover server-side sort, query 
mode controls, and sort ordering (#44845)
     add 8849542bda1 test(explore): cover viz switch and control dependency 
logic (#44842)
     add 03b61cc2d89 test(explore): add fetchTopNValues unit tests (#44841)
     add e32493c9d93 test(explore): add saveModalReducer unit tests (#44839)
     add f6155b9e9ea fix(dashboard): show the configured refresh warning 
alongside the limit error (#44836)
     add 240a4267f85 test(explore): add datasourcesReducer unit tests (#44840)
     add bc3698b5d64 test(explore): port remaining deleted Cypress explore 
specs to RTL (#44838)
     add 2872d16ee65 test(frontend): await the userEvent calls that needed 
restructuring (#44799)
     add 7fea33761b8 fix(chart): wrap raw pandas TypeError/DataError from 
post-processing as QueryObjectValidationError (#44463)
     add 3f7d01aaafc fix(reports): catch TypeError when validating non-string 
extra.dashboard.anchor (#44404)
     add ece8b8bd7b2 fix(import): avoid UnboundLocalError when load_yaml fails 
during load_configs (SC-121288) (#44390)
     add 47ba8fc8014 fix(api): return 401 not 500 for auth errors in 
CurrentUserRestApi (SC-120417) (#44213)
     add ef2c05c0900 fix(security): guard is_guest_user against 
NoAuthorizationError on unauthenticated error paths (#43826)
     add f9d67e1a118 fix: downgrade deprecated query_object field warnings to 
info (#43520)
     add 396030d87e0 docs: remove stale Selenium references after 
Playwright-only switch (#44243)
     add 3fa06db85b6 fix(mcp): include feature_availability in 
instance://metadata resource (#44891)
     add 52d8b405c99 fix(echarts): recognize Date and ISO-string temporal 
x-axis values in getXAxisDomain (#44818)
     add 15bde2a3016 fix(native-filters): keep cascade dependency gate in sync 
with live filter type (#44366)
     add 11bdbc91f37 feat(ci): add Chromatic visual regression testing for 
Storybook (#44103)
     add 8d026b4a568 fix(mcp): skip dashboard live updates when websockets are 
disabled or realtime access is missing (#44796)
     add 7260916b905 test(dashboard): cover "View as table" end-to-end for a 
view-as-table-only role (#44881)
     add 646de3a46b5 test(clickhouse): cover GROUP BY ALL against a real 
instance (#40482) (#44879)
     add ba453d3cb43 fix(sec): sanitize HTML text before shown as impact item's 
label (#43825)
     add 2220f53d9db fix(chart): accept quarter and day in end-of time ranges 
(#43204)
     add 62ab4cae23d fix(sql-lab): avoid duplicate generated result column 
names (#44189)
     add 743a27f7ed3 fix(chart): sort Heatmap Y-axis by default when unset 
(#44588)
     add 87bb752814a fix(select): remove Space wrapper from optionRender to fix 
option label truncation (#44357)
     add d6689283942 fix(sql-lab): use function valueGetter for GridTable row 
numbers (#41574)
     add 10356c30edb fix(mcp): stop partial-update tools from advertising null 
defaults (#44573)
     add 6966c1f6ccb fix(cartodiagram): share Pie colors across locations in 
Explore (#44794)
     add 81466987cbb fix(mcp): use create_proxy in simple_proxy for fastmcp 4 
compatibility (#44787)
     add ea79c63e878 fix(post-processing): stop treating gaps as zero for 
cumprod, cummin and cummax (#44828)
     add f1ae8909d85 fix(import): remove duplicate config redefinition in 
load_configs (#44932)
     add afa98f3391a perf(deletion-retention): one window pass for repeat 
predicate (#44349)
     add 3a9becd5cba chore(deps): bump markdown from 3.10.3 to 3.11 (#44941)
     add a65fe06c513 chore(deps-dev): update google-cloud-storage requirement 
from >=3.14.1 to >=3.15.0 (#44940)
     add 3960407334b chore(deps): bump cachetools from 7.1.8 to 7.2.0 (#44939)
     add dbd3e28aa3e chore(deps-dev): update databricks-sql-connector 
requirement from <4.6.0,>=4.5.0 to >=4.6.0,<4.7.0 (#44937)
     add 8ba26679671 chore(deps): bump holidays from 0.104 to 0.105 (#44936)
     add 291d098917b chore(deps): bump sqlglot from 30.18.0 to 30.19.0 (#44935)
     add 98be2d17dad chore(deps-dev): bump clickhouse-connect from 1.8.0 to 
1.9.0 (#44934)
     add 549508b340b fix(mcp): preserve calling constraints in compact tool 
discovery (#44656)
     add f7d16223c62 Merge branch 'master' into 
feat/conditionally-run-codeql-analysis-per-detected-language
     add 770b157ffc9 feat(codeql): use change_detector's `languages` output as 
matrix for later CodeQL workflow runs

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |     2 +-
 .cursor/rules/dev-standard.mdc                     |     4 +-
 .dockerignore                                      |     1 -
 .envrc.example                                     |     1 -
 .github/CODEOWNERS                                 |     2 +-
 .github/actions/change-detector/action.yml         |     5 +
 .github/actions/chart-testing-action               |     1 -
 .github/actions/setup-backend/action.yml           |     5 +-
 .github/labeler.yml                                |     2 -
 .github/workflows/bashlib.sh                       |   130 +-
 .github/workflows/caches.js                        |     6 -
 .github/workflows/chromatic.yml                    |   134 +
 .github/workflows/codeql-analysis.yml              |    27 +-
 .github/workflows/docker.yml                       |     2 +-
 .github/workflows/python-nightly-canary.yml        |    94 +
 .github/workflows/superset-docs-deploy.yml         |     4 +-
 .github/workflows/superset-docs-verify.yml         |     2 +-
 .github/workflows/superset-e2e.yml                 |   203 +-
 .github/workflows/superset-helm-lint-test.yml      |    19 +-
 .github/workflows/superset-python-unittest.yml     |     7 +-
 .github/workflows/superset-translations.yml        |     2 +
 .gitmodules                                        |     3 -
 .pre-commit-config.yaml                            |     3 +-
 AGENTS.md                                          |    10 +-
 Makefile                                           |     8 -
 RESOURCES/STANDARD_ROLES.md                        |     6 -
 UPDATING.md                                        |   203 +-
 docker-compose.yml                                 |     2 -
 docker/.env                                        |     2 -
 docker/.env-local.example                          |     1 -
 docker/docker-bootstrap.sh                         |     7 -
 docker/docker-entrypoint-initdb.d/cypress-init.sh  |    28 -
 docker/docker-init.sh                              |    31 +-
 docker/pythonpath_dev/superset_config.py           |    13 -
 docs/admin_docs/configuration/alerts-reports.mdx   |    57 +-
 docs/admin_docs/configuration/cache.mdx            |    37 +-
 .../configuration/configuring-superset.mdx         |     2 +-
 .../configuration/dashboard-performance.mdx        |     4 +-
 docs/admin_docs/configuration/google-sheets.mdx    |    49 +
 .../importing-exporting-datasources.mdx            |    32 +
 docs/admin_docs/configuration/mcp-server.mdx       |   285 +-
 docs/developer_docs/api.mdx                        |     5 +
 .../contributing/development-setup.md              |    12 +-
 docs/developer_docs/contributing/howtos.md         |    41 +-
 .../guidelines/frontend-style-guidelines.md        |     2 +-
 docs/developer_docs/testing/backend-testing.md     |     3 +-
 docs/developer_docs/testing/e2e-testing.md         |    28 +-
 docs/developer_docs/testing/overview.md            |     2 +-
 docs/developer_docs/testing/testing-guidelines.md  |    31 +-
 docs/docs/quickstart.mdx                           |     3 +
 .../creating-your-first-dashboard.mdx              |    20 +
 docs/docs/using-superset/number-formatting.mdx     |    16 +
 docs/docs/using-superset/recently-archived.mdx     |    10 +
 .../using-superset/semantic-member-selections.mdx  |    62 +
 docs/docusaurus.config.ts                          |     1 -
 docs/package.json                                  |    12 +-
 docs/src/data/databases.json                       |    20 +
 docs/static/resources/openapi.json                 |    27 +-
 .../databases/supported/apache-doris.mdx           |     8 +
 .../version-6.1.0/databases/supported/mysql.mdx    |    18 +
 docs/yarn.lock                                     |    95 +-
 pyproject.toml                                     |    26 +-
 requirements/base.txt                              |     8 +-
 requirements/development.in                        |    11 +
 requirements/development.txt                       |    19 +-
 scripts/change_detector.py                         |    60 +
 scripts/cypress_run.py                             |   167 -
 scripts/docker-compose-up.sh                       |     4 -
 scripts/translations/babel_update.sh               |    15 +-
 superset-core/src/superset_core/queries/types.py   |     3 +
 .../src/superset_core/semantic_layers/types.py     |     1 +
 .../src/superset_core/semantic_layers/view.py      |    14 +
 superset-embedded-sdk/testrig/README.md            |    89 +
 superset-embedded-sdk/testrig/drive.mjs            |   655 +
 superset-embedded-sdk/testrig/embedded.html        |   127 +
 superset-embedded-sdk/testrig/host.html            |   239 +
 superset-embedded-sdk/testrig/server.mjs           |   199 +
 superset-frontend/.gitignore                       |     2 -
 superset-frontend/babel.config.js                  |     2 +-
 superset-frontend/cypress-base/.eslintrc           |    41 -
 superset-frontend/cypress-base/.gitignore          |     4 -
 superset-frontend/cypress-base/cypress.config.ts   |    84 -
 .../cypress-base/cypress/fixtures/charts.json      |    38 -
 .../cypress-base/cypress/fixtures/dashboards.json  |    46 -
 .../cypress-base/cypress/support/e2e.ts            |   455 -
 .../cypress-base/cypress/support/index.d.ts        |    92 -
 .../cypress-base/cypress/utils/index.ts            |   121 -
 .../cypress-base/cypress/utils/parsePostForm.ts    |    60 -
 .../cypress-base/cypress/utils/urls.ts             |    24 -
 .../cypress-base/cypress/utils/vizPlugins.ts       |   104 -
 superset-frontend/cypress-base/package-lock.json   | 15006 -------------------
 superset-frontend/cypress-base/package.json        |    57 -
 superset-frontend/cypress-base/tsconfig.json       |    16 -
 superset-frontend/cypress_build.sh                 |    46 -
 superset-frontend/eslint.config.minimal.js         |     1 -
 superset-frontend/jest.config.js                   |    12 +-
 superset-frontend/oxlint.json                      |     1 -
 superset-frontend/package-lock.json                |  1169 +-
 superset-frontend/package.json                     |    75 +-
 .../packages/superset-core/package.json            |     2 -
 .../src/sections/sections.tsx                      |     7 +
 .../superset-ui-chart-controls/src/types.ts        |     2 +
 .../src/utils/getColorFormatters.ts                |    84 +-
 .../src/utils/headerGroups.test.ts                 |  1065 ++
 .../src/utils/headerGroups.ts                      |   903 ++
 .../superset-ui-chart-controls/src/utils/index.ts  |     1 +
 .../packages/superset-ui-core/package.json         |     4 +-
 .../Matrixify/MatrixifyGridGenerator.test.ts       |    63 +
 .../components/Matrixify/MatrixifyGridGenerator.ts |    34 +-
 .../src/chart/models/ChartProps.ts                 |    10 +
 .../src/components/Select/AsyncSelect.test.tsx     |     8 +
 .../src/components/Select/AsyncSelect.tsx          |     3 +-
 .../src/components/Select/Select.test.tsx          |     9 +
 .../src/components/Select/Select.tsx               |     3 +-
 .../src/components/Table/VirtualTable.test.tsx     |    83 +
 .../src/components/Table/VirtualTable.tsx          |    20 +-
 .../superset-ui-core/src/query/extractExtras.ts    |    22 +
 .../src/query/getClientErrorObject.ts              |    29 +-
 .../packages/superset-ui-core/src/query/index.ts   |     2 +
 .../src/query/semanticSelection.ts}                |    35 +-
 .../superset-ui-core/src/query/types/Dashboard.ts  |     1 +
 .../superset-ui-core/src/query/types/Query.ts      |     1 +
 .../src/query/types/QueryFormData.ts               |    12 +-
 .../test/chart/models/ChartProps.test.ts           |    22 +-
 .../test/query/extractExtras.test.ts               |    62 +
 .../test/query/getClientErrorObject.test.ts        |    66 +
 .../playwright/components/core/Select.ts           |     8 +-
 .../playwright/components/modals/SaveChartModal.ts |    33 +-
 .../explore/cross-referenced-dashboards.spec.ts    |    29 +-
 .../playwright/tests/explore/explore-save.spec.ts  |     8 +-
 .../tests/mobile/mobile-dashboard.spec.ts          |    65 +-
 .../src/AgGridTable/components/CustomHeader.tsx    |     3 +-
 .../src/AgGridTable/index.tsx                      |   118 +-
 .../src/AgGridTableChart.tsx                       |     7 +-
 .../src/controlPanel.tsx                           |    33 +-
 .../src/styles/index.tsx                           |    28 +
 .../src/transformProps.ts                          |    24 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |     3 +
 .../src/utils/formatValue.ts                       |     3 +-
 .../src/utils/getCellStyle.ts                      |     8 +-
 .../src/utils/mainComparison.ts}                   |    33 +-
 .../src/utils/useColDefs.ts                        |    23 +-
 .../test/AgGridTableChart.test.tsx                 |   175 +
 .../test/controlPanel.test.ts                      |   107 +-
 .../test/controlPanel.test.tsx                     |    32 +-
 .../test/transformProps.test.ts                    |   198 +-
 .../test/utils/getCellStyle.test.ts                |    15 +
 .../test/utils/mainComparison.test.ts              |    43 +
 .../test/utils/useColDefs.test.ts                  |    40 +
 .../src/util/transformPropsUtil.ts                 |     8 +
 .../test/util/pieColors.test.ts                    |   203 +
 .../src/BigNumber/BigNumberViz.test.tsx            |    57 +
 .../BigNumberWithTrendline/transformProps.test.ts  |    72 +
 .../plugin-chart-echarts/src/Gantt/constants.ts    |     3 +
 .../src/Gantt/transformProps.ts                    |    35 +-
 .../src/Heatmap/controlPanel.tsx                   |    12 +-
 .../src/Heatmap/transformProps.ts                  |    17 +-
 .../plugin-chart-echarts/src/Heatmap/types.ts      |     6 +
 .../plugin-chart-echarts/src/Pie/transformProps.ts |     4 +-
 .../src/Timeseries/EchartsTimeseries.test.tsx      |   116 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |    29 +-
 .../src/Timeseries/transformProps.ts               |     7 +-
 .../src/Timeseries/transformers.ts                 |     6 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |     4 +
 .../plugin-chart-echarts/src/utils/formatters.ts   |    40 +-
 .../plugin-chart-echarts/src/utils/series.ts       |    93 +-
 .../test/Gantt/transformProps.test.ts              |   213 +-
 .../test/Heatmap/transformProps.test.ts            |    67 +-
 .../test/Timeseries/EchartsTimeseries.test.tsx     |    13 +-
 .../test/Timeseries/transformProps.test.ts         |    31 +
 .../test/Timeseries/transformers.test.ts           |    17 +
 .../test/utils/formatters.test.ts                  |   118 +
 .../plugin-chart-echarts/test/utils/series.test.ts |   166 +-
 .../plugin-chart-point-cluster-map/package.json    |     2 +-
 .../src/MapLibre.tsx                               |    62 +-
 .../test/MapLibre.test.tsx                         |    31 +
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    11 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |     5 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   210 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    38 +-
 .../plugin-chart-table/src/transformProps.ts       |    41 +-
 .../plugins/plugin-chart-table/src/types.ts        |     5 +
 .../plugin-chart-table/src/utils/headerGroups.ts}  |    20 +-
 .../test/DataTable/DataTable.test.tsx              |    64 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   414 +
 .../plugin-chart-table/test/buildQuery.test.ts     |    42 +
 .../plugin-chart-table/test/controlPanel.test.ts   |   199 +-
 .../plugin-chart-table/test/controlPanel.test.tsx  |    32 +-
 .../plugin-chart-table/test/headerGroups.test.ts   |   301 +
 .../plugin-chart-world-map/test/WorldMap.test.ts   |    14 +
 .../plugins/preset-chart-deckgl/package.json       |    27 +-
 .../src/DeckGLContainer.test.tsx                   |    95 +-
 .../preset-chart-deckgl/src/DeckGLContainer.tsx    |    17 +-
 .../src/components/DeckGLOverlayMapLibre.test.tsx  |    80 +
 .../src/components/DeckGLOverlayMapLibre.tsx       |     8 +-
 .../src/layers/Contour/Contour.tsx                 |     2 +-
 superset-frontend/scripts/check-custom-rules.js    |     4 -
 .../spec/helpers/sourceTreeScanner.ts              |     1 -
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |    28 +-
 .../src/components/Chart/ChartRenderer.test.tsx    |    52 +-
 .../src/components/Chart/ChartRenderer.tsx         |    23 +-
 .../Datasource/DatasourceModal/index.tsx           |    19 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |   115 +-
 .../FilterableTable/exactDecimals.test.tsx         |    92 +
 .../src/components/FilterableTable/index.tsx       |    41 +-
 .../components/FilterableTable/sortResults.test.ts |   238 +
 .../src/components/FilterableTable/sortResults.ts  |   180 +
 .../src/components/GridTable/index.tsx             |    10 +-
 .../RowCountLabel/RowCountLabel.test.tsx           |    16 +-
 .../DashboardBuilder/DashboardContainer.tsx        |     7 +-
 .../components/RefreshIntervalModal.test.tsx       |    37 +
 .../dashboard/components/RefreshIntervalModal.tsx  |     2 +-
 .../ViewAsTableRendering.test.tsx                  |   309 +
 .../FilterBar/FilterControls/FilterValue.test.tsx  |    42 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    70 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   161 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |   145 +-
 .../hooks/useFilterOperations.test.ts              |    62 +
 .../hooks/useFilterOperations.ts                   |    10 +-
 .../transformers/buildTarget.test.ts               |    44 +-
 .../FiltersConfigModal/transformers/buildTarget.ts |    37 +-
 .../transformers/customizationTransformer.ts       |    10 +-
 .../transformers/filterTransformer.ts              |    10 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |     2 +
 .../components/nativeFilters/utils.test.ts         |    27 +
 .../dashboard/components/nativeFilters/utils.ts    |    13 +
 .../util/charts/getFormDataWithExtraFilters.ts     |   163 +-
 .../util/getFormDataWithExtraFilters.test.ts       |   412 +-
 superset-frontend/src/dataMask/reducer.test.ts     |    58 +
 superset-frontend/src/dataMask/reducer.ts          |    18 +
 .../src/explore/actions/exploreActions.ts          |    10 +
 .../src/explore/components/Control.test.tsx        |    36 +-
 .../src/explore/components/Control.tsx             |     3 +-
 .../components/ControlPanelsContainer.test.tsx     |   477 +-
 .../explore/components/ControlPanelsContainer.tsx  |   112 +-
 .../controls/AnnotationLayerControl/index.test.tsx |    84 +-
 .../ColorSchemeControl/ColorSchemeControl.test.tsx |    76 +
 .../ColumnConfigControl.test.tsx                   |    86 +
 .../ColumnConfigControl/ColumnConfigControl.tsx    |    24 +-
 .../controls/ColumnConfigControl/constants.tsx     |     3 +-
 .../controls/ComparisonRangeLabel.test.tsx         |   252 +
 .../DateFilterControl/tests/CommonFrame.test.tsx   |    72 +
 .../tests/DateFilterLabel.test.tsx                 |   193 +
 .../DateFilterControl/tests/DateLabel.test.tsx     |    73 +
 .../DndMetricSelect.test.tsx                       |    90 +
 .../AdhocFilterControl/AdhocFilterControl.test.tsx |   102 +-
 .../AdhocFilterEditPopover.test.tsx                |    55 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |    17 +
 .../index.tsx                                      |    27 +-
 .../HeaderGroupsControl/HeaderGroupEditor.tsx      |   567 +
 .../HeaderGroupsControl.test.tsx                   |   906 ++
 .../HeaderGroupsControl/HeaderGroupsControl.tsx    |   289 +
 .../controls/HeaderGroupsControl/index.ts}         |    12 +-
 .../controls/HeaderGroupsControl/types.ts}         |    42 +-
 .../controls/HeaderGroupsControl/utils.test.ts     |   388 +
 .../controls/HeaderGroupsControl/utils.ts          |   215 +
 .../MatrixifyControl/utils/fetchTopNValues.test.ts |   165 +
 .../controls/MatrixifyDimensionControl.test.tsx    |   139 +-
 .../controls/MatrixifyDimensionControl.tsx         |    26 +-
 .../AdhocMetricPopoverTrigger.test.tsx             |   278 +
 .../components/controls/SelectControl.test.tsx     |    55 +
 .../src/explore/components/controls/index.ts       |     2 +
 .../src/explore/controlPanels/sections.tsx         |     7 +
 .../controlUtils/getSectionsToRender.test.ts       |   179 +
 .../explore/reducers/datasourcesReducer.test.ts    |   171 +
 .../src/explore/reducers/exploreReducer.test.ts    |   269 +-
 .../src/explore/reducers/exploreReducer.ts         |    29 +-
 .../src/explore/reducers/saveModalReducer.test.ts  |   184 +
 .../datasets/AddDataset/Footer/Footer.test.tsx     |     5 +-
 .../semanticViews/AddSemanticViewModal.test.tsx    |    22 +
 .../src/features/userInfo/UserInfoModal.test.tsx   |    62 +-
 .../src/features/userInfo/UserInfoModal.tsx        |    26 +-
 .../src/features/users/UserListModal.test.tsx      |   178 +
 .../src/features/users/UserListModal.tsx           |   108 +-
 superset-frontend/src/features/users/utils.ts      |     8 +-
 .../ArchivedList/ArchivedDatasetPurgeModal.tsx     |     3 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |    47 +-
 superset-frontend/src/pages/Home/index.tsx         |    20 +-
 superset-frontend/src/pages/Login/Login.test.tsx   |   135 +-
 superset-frontend/src/pages/Login/index.tsx        |    41 +-
 superset-frontend/src/types/bootstrapTypes.ts      |     1 +
 .../src/utils/downloadAsImage.test.ts              |   276 +
 superset-frontend/src/utils/downloadAsImage.tsx    |   113 +-
 .../src/utils/semanticViewStructure.test.ts        |    13 +
 .../src/utils/semanticViewStructure.ts             |    15 +-
 superset-frontend/src/utils/urlUtils.ts            |    17 +
 .../TimeTable/components/LeftCell/LeftCell.tsx     |    18 +-
 superset-frontend/webpack.config.js                |     1 -
 superset-websocket/package-lock.json               |    56 +-
 superset-websocket/package.json                    |     2 +-
 superset/annotation_layers/schemas.py              |    21 +
 superset/charts/api.py                             |     3 +
 superset/charts/schemas.py                         |    21 +-
 superset/commands/annotation_layer/exceptions.py   |     5 +
 superset/commands/annotation_layer/export.py       |   109 +
 .../annotation_layer/importers}/__init__.py        |     0
 .../importers/dispatcher.py                        |    20 +-
 .../annotation_layer/importers/v1/__init__.py      |    54 +
 .../annotation_layer/importers/v1/utils.py         |    73 +
 superset/commands/chart/export.py                  |   251 +-
 superset/commands/chart/importers/v1/__init__.py   |    99 +-
 superset/commands/chart/importers/v1/utils.py      |   381 +-
 superset/commands/dashboard/export.py              |     8 +-
 superset/commands/dashboard/export_example.py      |    31 +
 .../commands/dashboard/importers/v1/__init__.py    |    89 +-
 .../commands/deletion_retention/prune_audit.py     |    76 +-
 superset/commands/export/assets.py                 |    10 +-
 superset/commands/importers/v1/__init__.py         |    10 +-
 superset/commands/importers/v1/assets.py           |    74 +-
 superset/commands/importers/v1/examples.py         |    19 +
 superset/commands/importers/v1/utils.py            |     7 +-
 superset/commands/report/alert.py                  |    12 +-
 superset/commands/report/base.py                   |    10 +-
 superset/commands/sql_lab/estimate.py              |    10 +-
 superset/commands/sql_lab/export.py                |    14 +
 superset/commands/streaming_export/base.py         |    11 +-
 superset/common/query_context_processor.py         |    15 +-
 superset/common/query_object.py                    |    49 +-
 superset/common/tabular_query.py                   |     8 +-
 superset/config.py                                 |     5 +-
 superset/core/mcp/core_mcp_injection.py            |    24 +-
 superset/dashboards/api.py                         |    13 +-
 superset/dataframe.py                              |    38 +-
 superset/datasource/api.py                         |    52 +-
 superset/datasource/schemas.py                     |     9 +
 superset/db_engine_specs/base.py                   |     6 +
 superset/db_engine_specs/bigquery.py               |    35 +-
 superset/db_engine_specs/databricks.py             |    91 +-
 superset/db_engine_specs/datafusion.py             |    34 +-
 superset/db_engine_specs/db2.py                    |    12 +-
 superset/db_engine_specs/doris.py                  |   132 +-
 superset/db_engine_specs/elasticsearch.py          |    25 +
 superset/db_engine_specs/exasol.py                 |    76 +
 superset/db_engine_specs/gsheets.py                |    81 +-
 superset/db_engine_specs/mysql.py                  |   257 +-
 superset/db_engine_specs/postgres.py               |    34 +
 superset/db_engine_specs/trino.py                  |    18 +
 superset/exceptions.py                             |    18 +
 superset/initialization/__init__.py                |     3 +-
 superset/mcp_service/app.py                        |     2 +
 superset/mcp_service/auth.py                       |   105 +-
 superset/mcp_service/caching.py                    |    37 +-
 superset/mcp_service/chart/chart_helpers.py        |   163 +-
 superset/mcp_service/chart/chart_utils.py          |   128 +-
 superset/mcp_service/chart/compile.py              |    19 +-
 superset/mcp_service/chart/plugin.py               |   222 +-
 superset/mcp_service/chart/plugins/big_number.py   |    55 +-
 superset/mcp_service/chart/plugins/bubble.py       |    29 +-
 superset/mcp_service/chart/plugins/gantt.py        |    79 +-
 superset/mcp_service/chart/plugins/gauge.py        |    63 +-
 superset/mcp_service/chart/plugins/handlebars.py   |     4 +
 superset/mcp_service/chart/plugins/histogram.py    |    98 +-
 .../mcp_service/chart/plugins/mixed_timeseries.py  |    43 +
 superset/mcp_service/chart/plugins/table.py        |     1 +
 superset/mcp_service/chart/plugins/treemap.py      |   141 +-
 superset/mcp_service/chart/plugins/waterfall.py    |    35 +
 superset/mcp_service/chart/preview_utils.py        |   197 +-
 .../chart/prompts/create_chart_guided.py           |     4 +-
 superset/mcp_service/chart/query_result.py         |    19 +-
 superset/mcp_service/chart/registry.py             |    49 +-
 superset/mcp_service/chart/schemas.py              |   180 +-
 superset/mcp_service/chart/tool/generate_chart.py  |    18 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    29 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    34 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   128 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |     5 +-
 .../chart/tool/get_chart_type_schema.py            |     4 +-
 superset/mcp_service/chart/tool/list_charts.py     |   130 +-
 superset/mcp_service/chart/tool/update_chart.py    |    81 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    66 +-
 .../chart/validation/dataset_validator.py          |     4 +-
 superset/mcp_service/common/schema_discovery.py    |     2 +-
 superset/mcp_service/composite_token_verifier.py   |    26 +-
 superset/mcp_service/dashboard/schemas.py          |   198 +-
 .../dashboard/tool/apply_dashboard_filters.py      |     8 +
 .../dashboard/tool/generate_dashboard.py           |    18 +-
 .../dashboard/tool/get_dashboard_info.py           |    21 +-
 .../dashboard/tool/get_dashboard_layout.py         |   161 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |    18 +-
 superset/mcp_service/dashboard_scope.py            |  1365 ++
 superset/mcp_service/dashboard_scope_sql.py        |   516 +
 superset/mcp_service/dataset/schemas.py            |    45 +-
 .../dataset/tool/create_virtual_dataset.py         |    16 +-
 superset/mcp_service/dataset/tool/list_datasets.py |    18 +-
 superset/mcp_service/mcp_config.py                 |    30 +-
 superset/mcp_service/middleware.py                 |   180 +-
 superset/mcp_service/privacy.py                    |     1 +
 superset/mcp_service/semantic_layer/schemas.py     |     9 +
 .../semantic_layer/tool/get_compatible_metrics.py  |     3 +
 .../mcp_service/semantic_layer/tool/get_table.py   |    51 +-
 .../semantic_layer/tool/list_metrics.py            |     3 +
 superset/mcp_service/server.py                     |   176 +-
 superset/mcp_service/simple_proxy.py               |     6 +-
 superset/mcp_service/sql_lab/schemas.py            |    10 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |     1 +
 superset/mcp_service/system/prompts/quickstart.py  |     4 +-
 .../system/resources/instance_metadata.py          |    37 +-
 superset/mcp_service/system/system_utils.py        |    33 +-
 .../mcp_service/system/tool/get_instance_info.py   |    38 +-
 superset/mcp_service/system/tool/get_schema.py     |     7 +-
 superset/mcp_service/system/tool/health_check.py   |     5 +-
 superset/mcp_service/utils/response_size_utils.py  |   176 +
 superset/mcp_service/utils/schema_utils.py         |    27 +-
 superset/mcp_service/worker.py                     |   897 ++
 .../migrations/shared/migrate_viz/processors.py    |     6 +-
 superset/migrations/shared/utils.py                |     2 +-
 ..._add_uuid_to_annotation_layer_and_annotation.py |   144 +
 superset/models/annotations.py                     |    19 +-
 superset/models/core.py                            |   220 +-
 superset/models/helpers.py                         |     2 +
 superset/result_set.py                             |    16 +
 superset/security/manager.py                       |   174 +-
 superset/security/password_change.py               |    63 +-
 superset/semantic_layers/api.py                    |     3 +
 .../semantic_layers/bundle_schemas.py              |    24 +-
 superset/semantic_layers/import_export.py          |   240 +
 superset/semantic_layers/mapper.py                 |     6 +
 superset/semantic_layers/models.py                 |     3 +
 superset/sql/dialects/db2.py                       |    81 +-
 superset/sql/execution/cancellation.py             |   170 +
 superset/sql/execution/celery_task.py              |     3 +-
 superset/sql/execution/executor.py                 |   147 +-
 superset/sql/parse.py                              |   434 +-
 superset/sql_lab.py                                |     7 +-
 superset/sqllab/api.py                             |     7 +
 superset/subjects/utils.py                         |    40 +-
 superset/superset_typing.py                        |    11 +
 superset/tasks/deletion_retention.py               |    55 +-
 superset/tasks/query_cancel.py                     |     9 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   214 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |   239 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   227 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   231 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   200 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   220 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |   212 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   224 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   223 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   248 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |   206 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   213 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |   223 +-
 superset/translations/messages.pot                 |  2687 +---
 superset/translations/mi/LC_MESSAGES/messages.po   |   221 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   226 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |   233 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   232 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   232 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |   221 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   213 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   216 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   225 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |   231 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |   234 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |   236 +-
 superset/translations/th/LC_MESSAGES/messages.po   |   215 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   213 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   235 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   203 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   203 +-
 superset/utils/core.py                             |    36 +
 superset/utils/csv.py                              |    10 +
 superset/utils/date_parser.py                      |    25 +-
 superset/utils/dict_import_export.py               |     7 +
 superset/utils/oauth2.py                           |   136 +-
 superset/utils/pandas_postprocessing/cum.py        |     7 +-
 superset/utils/pandas_postprocessing/pivot.py      |    51 +-
 superset/utils/rls.py                              |     4 +-
 superset/views/auth.py                             |    11 +-
 superset/views/users/api.py                        |    29 +-
 superset/views/users/schemas.py                    |    39 +-
 superset/views/utils.py                            |     2 +-
 .../annotation_layers/commands_tests.py            |   750 +
 tests/integration_tests/charts/commands_tests.py   |  1515 ++
 .../charts/semantic_save_tests.py                  |    82 +-
 tests/integration_tests/commands_test.py           |    58 +
 tests/integration_tests/core_tests.py              |    30 +-
 .../integration_tests/dashboards/commands_tests.py |   585 +
 .../deletion_retention/prune_audit_tests.py        |    88 +
 tests/integration_tests/fixtures/importexport.py   |   104 +
 .../db_engine_specs/test_clickhouse.py             |    43 +
 .../charts/commands/importers/v1/import_test.py    |    32 +-
 .../charts/commands/importers/v1/utils_test.py     |    28 +-
 .../commands/chart/semantic_export_test.py         |   127 +
 .../dashboard/export_example_semantic_test.py      |   175 +
 .../deletion_retention/test_prune_audit.py         |    33 +-
 tests/unit_tests/commands/export_test.py           |    51 +
 .../commands/importers/v1/assets_test.py           |     4 +-
 .../unit_tests/commands/importers/v1/utils_test.py |    34 +
 tests/unit_tests/commands/report/alert_test.py     |    37 +
 tests/unit_tests/commands/report/create_test.py    |    36 +
 tests/unit_tests/commands/sql_lab/export_test.py   |   113 +
 .../sql_lab/streaming_export_command_test.py       |    74 +
 tests/unit_tests/commands/sql_lab/test_estimate.py |    30 +
 .../common/test_query_context_processor.py         |    45 +
 tests/unit_tests/conftest.py                       |    13 +-
 tests/unit_tests/connectors/sqla/utils_test.py     |    34 +
 tests/unit_tests/dataframe_test.py                 |    83 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |    87 +-
 .../unit_tests/db_engine_specs/test_databricks.py  |   202 +-
 .../unit_tests/db_engine_specs/test_datafusion.py  |    32 +-
 tests/unit_tests/db_engine_specs/test_db2.py       |    52 +-
 tests/unit_tests/db_engine_specs/test_doris.py     |   381 +-
 .../db_engine_specs/test_elasticsearch.py          |    41 +
 tests/unit_tests/db_engine_specs/test_exasol.py    |   191 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   259 +-
 tests/unit_tests/db_engine_specs/test_mariadb.py   |    83 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |   440 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    17 +
 tests/unit_tests/initialization/init_views_test.py |   113 +
 .../mcp_service/catalog/tool/test_get_catalog.py   |    13 +
 .../mcp_service/chart/test_chart_examples.py       |     3 +-
 .../mcp_service/chart/test_chart_helpers.py        |   113 +
 .../chart/test_chart_plugin_contract.py            |   762 +
 .../mcp_service/chart/test_chart_utils.py          |    55 +
 .../mcp_service/chart/test_gantt_chart.py          |    21 +-
 .../mcp_service/chart/test_gauge_chart.py          |     3 +-
 .../chart/test_histogram_boxplot_charts.py         |    62 +
 .../chart/test_live_chart_datasource.py            |   709 +
 .../mcp_service/chart/test_preview_utils.py        |    66 +
 .../unit_tests/mcp_service/chart/test_registry.py  |    56 +-
 .../mcp_service/chart/test_registry_filters.py     |     9 +
 .../mcp_service/chart/test_treemap_completeness.py |    76 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |    38 +
 .../chart/tool/test_get_chart_preview.py           |    37 +
 .../chart/tool/test_get_chart_type_schema.py       |    10 +
 .../mcp_service/chart/tool/test_list_charts.py     |     4 +-
 .../mcp_service/chart/tool/test_update_chart.py    |    43 +-
 .../chart/tool/test_update_chart_preview.py        |    21 +-
 .../dashboard/test_dashboard_schemas.py            |    18 +
 .../dashboard/tool/test_apply_dashboard_filters.py |    54 +-
 .../dashboard/tool/test_get_dashboard_datasets.py  |    13 +-
 .../dashboard/tool/test_get_dashboard_layout.py    |   744 +-
 .../dataset/tool/test_dataset_metric_mutations.py  |    13 +
 .../mcp_service/dataset/tool/test_query_dataset.py |    12 +-
 .../dataset/tool/test_update_dataset_metric.py     |    13 +
 .../tool/test_get_compatible_metrics.py            |    14 +-
 .../semantic_layer/tool/test_get_table.py          |    39 +
 .../semantic_layer/tool/test_list_metrics.py       |    10 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |    22 +-
 .../system/resources/test_instance_metadata.py     |   144 +
 .../system/tool/test_get_current_user.py           |     6 +-
 .../mcp_service/test_auth_user_resolution.py       |    48 +-
 .../mcp_service/test_chart_tool_inventory.py       |   236 +-
 .../mcp_service/test_composite_token_verifier.py   |   105 +-
 .../unit_tests/mcp_service/test_dashboard_scope.py |  1502 ++
 .../mcp_service/test_dashboard_scope_sql.py        |   674 +
 .../unit_tests/mcp_service/test_mcp_docstrings.py  |   128 +
 .../mcp_service/test_mcp_tool_registration.py      |   106 +
 tests/unit_tests/mcp_service/test_middleware.py    |    21 +
 .../test_tool_description_constraints.py           |   655 +
 .../unit_tests/mcp_service/test_tool_inventory.py  |    84 +-
 .../mcp_service/test_tool_search_transform.py      |   494 +-
 tests/unit_tests/mcp_service/test_worker.py        |   878 ++
 .../mcp_service/test_worker_metadata_pool.py       |  1000 ++
 .../unit_tests/migrations/viz/table_v1_v2_test.py  |    42 +
 tests/unit_tests/models/core_test.py               |   414 +
 tests/unit_tests/models/helpers_test.py            |    51 +
 tests/unit_tests/pandas_postprocessing/test_cum.py |    35 +
 .../unit_tests/pandas_postprocessing/test_pivot.py |   339 +
 tests/unit_tests/result_set_test.py                |   113 +-
 tests/unit_tests/scripts/change_detector_test.py   |    77 +
 .../scripts/translations/babel_update_test.py      |   355 +
 tests/unit_tests/security/manager_test.py          |   238 +
 tests/unit_tests/security/test_password_change.py  |   106 +-
 .../security/test_permission_instructions_link.py  |     4 +-
 .../test_superset_user_api_subject_sync.py         |    23 +
 tests/unit_tests/semantic_layers/api_test.py       |    10 +-
 .../semantic_layers/import_export_test.py          |   921 ++
 tests/unit_tests/semantic_layers/mapper_test.py    |     5 +
 tests/unit_tests/semantic_layers/models_test.py    |     2 +
 .../semantic_layers/selection_identity_test.py     |   293 +
 .../semantic_layers/values_endpoint_test.py        |    21 +-
 tests/unit_tests/sql/dialects/db2_tests.py         |    20 +
 tests/unit_tests/sql/execution/conftest.py         |     3 +
 .../unit_tests/sql/execution/test_cancellation.py  |   165 +
 tests/unit_tests/sql/execution/test_celery_task.py |     4 +-
 tests/unit_tests/sql/execution/test_executor.py    |   901 +-
 tests/unit_tests/sql/parse_tests.py                |   314 +
 tests/unit_tests/sql_lab_test.py                   |    41 +-
 tests/unit_tests/sqllab/api_test.py                |    45 +
 tests/unit_tests/subjects/test_utils.py            |    80 +
 tests/unit_tests/tasks/test_deletion_retention.py  |   171 +-
 tests/unit_tests/test_mcp_simple_proxy.py          |    45 +
 tests/unit_tests/utils/date_parser_tests.py        |    64 +
 tests/unit_tests/utils/oauth2_tests.py             |   190 +
 tests/unit_tests/views/test_auth_login.py          |    77 +
 tests/unit_tests/views/test_current_user_api.py    |   126 +-
 .../views/test_current_user_auth_errors.py         |   122 +
 589 files changed, 55354 insertions(+), 22560 deletions(-)
 delete mode 160000 .github/actions/chart-testing-action
 create mode 100644 .github/workflows/chromatic.yml
 create mode 100644 .github/workflows/python-nightly-canary.yml
 delete mode 100755 docker/docker-entrypoint-initdb.d/cypress-init.sh
 create mode 100644 docs/admin_docs/configuration/google-sheets.mdx
 create mode 100644 docs/docs/using-superset/semantic-member-selections.mdx
 delete mode 100644 scripts/cypress_run.py
 create mode 100644 superset-embedded-sdk/testrig/README.md
 create mode 100644 superset-embedded-sdk/testrig/drive.mjs
 create mode 100644 superset-embedded-sdk/testrig/embedded.html
 create mode 100644 superset-embedded-sdk/testrig/host.html
 create mode 100644 superset-embedded-sdk/testrig/server.mjs
 delete mode 100644 superset-frontend/cypress-base/.eslintrc
 delete mode 100644 superset-frontend/cypress-base/.gitignore
 delete mode 100644 superset-frontend/cypress-base/cypress.config.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/fixtures/charts.json
 delete mode 100644 
superset-frontend/cypress-base/cypress/fixtures/dashboards.json
 delete mode 100644 superset-frontend/cypress-base/cypress/support/e2e.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/support/index.d.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/index.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/utils/parsePostForm.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/urls.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/vizPlugins.ts
 delete mode 100644 superset-frontend/cypress-base/package-lock.json
 delete mode 100644 superset-frontend/cypress-base/package.json
 delete mode 100644 superset-frontend/cypress-base/tsconfig.json
 delete mode 100755 superset-frontend/cypress_build.sh
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/src/utils/headerGroups.test.ts
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/src/utils/headerGroups.ts
 copy superset-frontend/{src/views/ScrollToTop.tsx => 
packages/superset-ui-core/src/query/semanticSelection.ts} (50%)
 copy 
superset-frontend/{packages/superset-ui-core/src/validator/legacyValidateInteger.ts
 => plugins/plugin-chart-ag-grid-table/src/utils/mainComparison.ts} (56%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/mainComparison.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-cartodiagram/test/util/pieColors.test.ts
 copy 
superset-frontend/{packages/superset-ui-core/src/components/Input/index.tsx => 
plugins/plugin-chart-table/src/utils/headerGroups.ts} (71%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-table/test/headerGroups.test.ts
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/components/DeckGLOverlayMapLibre.test.tsx
 create mode 100644 
superset-frontend/src/components/FilterableTable/exactDecimals.test.tsx
 create mode 100644 
superset-frontend/src/components/FilterableTable/sortResults.test.ts
 create mode 100644 
superset-frontend/src/components/FilterableTable/sortResults.ts
 create mode 100644 
superset-frontend/src/dashboard/components/SliceHeaderControls/ViewAsTableRendering.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/ColumnConfigControl/ColumnConfigControl.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/ComparisonRangeLabel.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/DateFilterControl/tests/CommonFrame.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/DateFilterControl/tests/DateLabel.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupEditor.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupsControl.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupsControl.tsx
 copy 
superset-frontend/{packages/superset-ui-core/src/components/Input/index.tsx => 
src/explore/components/controls/HeaderGroupsControl/index.ts} (82%)
 copy 
superset-frontend/{plugins/preset-chart-deckgl/src/layers/Arc/buildQuery.test.ts
 => src/explore/components/controls/HeaderGroupsControl/types.ts} (57%)
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/utils.test.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/utils.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/MatrixifyControl/utils/fetchTopNValues.test.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricPopoverTrigger.test.tsx
 create mode 100644 
superset-frontend/src/explore/controlUtils/getSectionsToRender.test.ts
 create mode 100644 
superset-frontend/src/explore/reducers/datasourcesReducer.test.ts
 create mode 100644 
superset-frontend/src/explore/reducers/saveModalReducer.test.ts
 create mode 100644 superset-frontend/src/features/users/UserListModal.test.tsx
 create mode 100644 superset/commands/annotation_layer/export.py
 copy {scripts => superset/commands/annotation_layer/importers}/__init__.py 
(100%)
 copy superset/commands/{chart => annotation_layer}/importers/dispatcher.py 
(82%)
 create mode 100644 superset/commands/annotation_layer/importers/v1/__init__.py
 create mode 100644 superset/commands/annotation_layer/importers/v1/utils.py
 create mode 100644 superset/mcp_service/dashboard_scope.py
 create mode 100644 superset/mcp_service/dashboard_scope_sql.py
 create mode 100644 superset/mcp_service/worker.py
 create mode 100644 
superset/migrations/versions/2026-08-17_18-38_884a2115ebd3_add_uuid_to_annotation_layer_and_annotation.py
 copy tests/unit_tests/utils/db.py => 
superset/semantic_layers/bundle_schemas.py (56%)
 create mode 100644 superset/semantic_layers/import_export.py
 create mode 100644 superset/sql/execution/cancellation.py
 create mode 100644 tests/integration_tests/annotation_layers/commands_tests.py
 create mode 100644 tests/unit_tests/commands/chart/semantic_export_test.py
 create mode 100644 
tests/unit_tests/commands/dashboard/export_example_semantic_test.py
 create mode 100644 tests/unit_tests/commands/sql_lab/export_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_exasol.py
 create mode 100644 tests/unit_tests/initialization/init_views_test.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_chart_plugin_contract.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_live_chart_datasource.py
 create mode 100644 
tests/unit_tests/mcp_service/system/resources/test_instance_metadata.py
 create mode 100644 tests/unit_tests/mcp_service/test_dashboard_scope.py
 create mode 100644 tests/unit_tests/mcp_service/test_dashboard_scope_sql.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_docstrings.py
 create mode 100644 
tests/unit_tests/mcp_service/test_tool_description_constraints.py
 create mode 100644 tests/unit_tests/mcp_service/test_worker.py
 create mode 100644 tests/unit_tests/mcp_service/test_worker_metadata_pool.py
 create mode 100644 tests/unit_tests/scripts/translations/babel_update_test.py
 create mode 100644 tests/unit_tests/semantic_layers/import_export_test.py
 create mode 100644 tests/unit_tests/semantic_layers/selection_identity_test.py
 create mode 100644 tests/unit_tests/sql/execution/test_cancellation.py
 create mode 100644 tests/unit_tests/test_mcp_simple_proxy.py
 create mode 100644 tests/unit_tests/views/test_auth_login.py
 create mode 100644 tests/unit_tests/views/test_current_user_auth_errors.py

Reply via email to